Skip to content

Commit 6532103

Browse files
DylanPierceyclaude
andcommitted
docs(newsletter): add August 2026 edition
Adds the August newsletter with async shorthand methods, bundle size, Marko Run, diagnostics, and persisted pages headlines, plus project velocity and community sections. Wires it into the archive, nav, and July's forward link. Also teaches the board-reconcile script to infer Task from unprefixed titles and maps the eslint repo to Language Tools. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 1e2b242 commit 6532103

7 files changed

Lines changed: 537 additions & 267 deletions

File tree

.marko-run/routes.d.ts

Lines changed: 294 additions & 257 deletions
Large diffs are not rendered by default.

cspell.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"version": "0.2",
33
"$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json",
44
"words": [
5-
"codemod",
65
"activedescendant",
76
"afterbegin",
87
"afterend",
@@ -22,6 +21,7 @@
2221
"cheatsheet",
2322
"cheatsheets",
2423
"codegen",
24+
"codemod",
2525
"codespan",
2626
"contenteditable",
2727
"datepicker",
@@ -58,6 +58,7 @@
5858
"merr",
5959
"microtask",
6060
"mlog",
61+
"navigations",
6162
"nbsp",
6263
"noindex",
6364
"noopener",
@@ -82,6 +83,7 @@
8283
"shikijs",
8384
"sortability",
8485
"srcset",
86+
"svallory",
8587
"tabindex",
8688
"tablist",
8789
"taglib",
@@ -96,7 +98,8 @@
9698
"webkitdirectory",
9799
"webp",
98100
"webpro",
99-
"WHATWG"
101+
"WHATWG",
102+
"zagjs"
100103
],
101104
"ignoreRegExpList": [],
102105
"files": ["*", "docs/**/*", "src/**/*"],

docs/newsletter.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ The Marko newsletter is a monthly summary of shipped work, written for the devel
88
## Archive
99

1010
- 2026
11+
- [August](newsletter/august-2026.md)
1112
- [July](newsletter/july-2026.md)
1213
- [June](newsletter/june-2026.md)
1314
- [May](newsletter/may-2026.md)

docs/newsletter/august-2026.md

Lines changed: 210 additions & 0 deletions
Large diffs are not rendered by default.

docs/newsletter/july-2026.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,3 +141,4 @@ The same author wrote `@tanstack/marko-virtual`, a [Marko 6 adapter for TanStack
141141
## Further Reading
142142

143143
- [June 2026](june-2026.md)
144+
- [August 2026](august-2026.md)

skills/board-reconcile/reconcile.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ const EPIC_BY_REPO = {
4545
"language-server": "Language Tools",
4646
"htmljs-parser": "Language Tools",
4747
prettier: "Language Tools",
48+
eslint: "Language Tools",
4849
"tree-sitter": "Language Tools",
4950
zed: "Language Tools",
5051
vite: "Integrations",
@@ -236,6 +237,22 @@ const prefixOf = (title) => {
236237
return m ? m[1] : null;
237238
};
238239

240+
// Fallback for titles without a conventional-commit prefix. Ordered: the
241+
// first matching rule wins. Anything unmatched still defaults to Chore and is
242+
// listed by `check` for a person to read.
243+
const TASK_BY_TITLE = [
244+
// agent-feedback backlog bookkeeping (adding or dropping items) is tooling work.
245+
[/^agent-feedback:|\bagent-feedback item\b/i, "Chore"],
246+
[/^(docs?|cheatsheet|documentation)\b|^(document|note|say|record|explain|clarify)\b|\bwon't-fix\b|\bcheat ?sheet\b|\bdocs\b|\breadme\b/i, "Docs"],
247+
[/\b(sizes\.json|snapshots?|devDependency|fixtures?|ci)\b/i, "Chore"],
248+
[/^(fix|error|report|guard|escape|decode|keep|stop|forward|resolve|diagnose|disambiguate|bound|match|only|await|detect|correct|handle|prevent|avoid|preserve|restore|reject|mint|emit|hoist|name|drop|mark|decide)\b|\bfix(es)?\b/i, "Fix"],
249+
[/^(add|support|suggest|serve|persisted pages|implement|introduce|allow|enable)\b/i, "Feat"],
250+
];
251+
const taskFromTitle = (title) => {
252+
for (const [re, task] of TASK_BY_TITLE) if (re.test(title ?? "")) return task;
253+
return null;
254+
};
255+
239256
function parseMonth(ym) {
240257
if (!/^\d{4}-\d{2}$/.test(ym ?? "")) {
241258
throw new Error("Expected a month as YYYY-MM, e.g. 2026-07");
@@ -357,8 +374,11 @@ function plan(merged, board, iterationTitle) {
357374
continue;
358375
}
359376
const prefix = prefixOf(pr.title);
360-
const task = prefix ? TASK_BY_PREFIX[prefix] : null;
361-
if (!task) unprefixed.push({ ref, title: pr.title });
377+
let task = prefix ? TASK_BY_PREFIX[prefix] : null;
378+
if (!task) {
379+
task = taskFromTitle(pr.title);
380+
unprefixed.push({ ref, title: pr.title, task: task ?? DEFAULT_TASK });
381+
}
362382
const existing = board.byRef.get(ref);
363383
rows.push({
364384
ref,
@@ -434,12 +454,10 @@ function report(month, merged, board, planned, iterationTitle) {
434454
}
435455
if (unprefixed.length) {
436456
console.log(
437-
`\n ${unprefixed.length} title(s) with no conventional-commit prefix, defaulting to ${DEFAULT_TASK}:`,
457+
`\n ${unprefixed.length} title(s) with no conventional-commit prefix (Task inferred from the title, else ${DEFAULT_TASK}):`,
438458
);
439-
for (const u of unprefixed.slice(0, 40))
440-
console.log(` ${u.ref}\t${u.title}`);
441-
if (unprefixed.length > 40)
442-
console.log(` ... and ${unprefixed.length - 40} more`);
459+
for (const u of unprefixed)
460+
console.log(` ${u.task.padEnd(5)} ${u.ref}\t${u.title}`);
443461
}
444462
if (stale.length) {
445463
console.log(

src/tags/app-menu/app-menu.marko

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ div#site-menu class=styles.menu
2525
li
2626
strong -- Newsletter
2727
ul
28+
Page="/docs/newsletter/august-2026" -- August
2829
Page="/docs/newsletter/july-2026" -- July
2930
Page="/docs/newsletter/june-2026" -- June
30-
Page="/docs/newsletter/may-2026" -- May
3131
Page="/docs/newsletter" -- ...more
3232
li
3333
strong -- Introduction

0 commit comments

Comments
 (0)