mirror of
https://github.com/garrytan/gbrain.git
synced 2026-07-30 19:49:14 +00:00
Master already widened slugifySegment (sync.ts) and validatePageSlug (operations.ts) to CJK in v0.32.7, but the other two validators #782 targeted stayed ASCII-only: SlugRegistry's SLUG_RE rejected any CJK desiredSlug from BrainWriter, and synthesize.ts's SUMMARY_SLUG_RE (whose comment claimed it was kept in sync with validatePageSlug) rejected CJK output roots. Hoist the segment grammar into cjk.ts as PAGE_SLUG_SEG and compose all three regex sites from it, so the four slug validators share one grammar. Each site keeps its own shape (SlugRegistry's >=2-segment dir/name form, validatePageSlug's case-insensitive flag). Scope stays CJK (matching v0.32.7), not full \p{L} Unicode as #782 proposed — all-scripts slugs (lookalike/RTL spoofing) is a maintainer policy call. Co-authored-by: tamagodo-fu <tamagodo-fu@users.noreply.github.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>