- 01 Nov, 2026 14 commits
-
-
Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
The owner edits content freely; accessors are what the suite pins. Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
layout: drop the tutorial leftovers — Go Back div, Vercel utm footer; footer PLN links home, banner says what's on screen Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
Drop the share-token machinery (parseShareId/shareTokenOf, the CMS field, the generator script, meta frontmatter). Draft folder slugs are unique by construction; a readable short id beats an unenumerable token for a personal blog, and the route ships noindex either way. Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
article css + enhance: facade styles, click-to-render wiring, wide code, centered lightbox, balanced pager Code blocks break out of the 68ch measure toward 120 mono columns on wide screens (capped clear of the TOC rail); the lightbox reasserts margin:auto centering a global reset was killing; pager titles get text-wrap:balance and a wider cap instead of a 24ch squeeze. Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
markdown: ::audio / ::youtube / ::soundcloud directives — native player tag + click-to-render embed facades Directive target lives in the label (micromark's extension has no ::name[label](url) destination form); titles with parens/dashes must be quoted in attributes. Facades ship as static HTML — YouTube touches i.ytimg.com for the still only, SoundCloud touches nothing — and ArticleEnhance swaps in the nocookie/w.soundcloud player on click. Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored -
jest: own the transform pipeline — next/jest force-ignores /node_modules/ even in PnP cache paths, so ESM deps shipped untransformed and the whole suite never ran Co-Authored-By:Claude Opus 5 <noreply@anthropic.com>
PLN (Algolia) authored
-
- 07 Oct, 2026 21 commits
-
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
Pin the prod rule that drafts mint nothing at the root or /blog aliases even when they carry localized slugs; the prod listing assertions in the drafts suite become membership-based so coexisting fixture suites stay honest. The deliberate collision is exercised at test level only.
PLN (Algolia) authored -
PLN (Algolia) authored
-
The root form is canonical (DESIGN.md): the alias keeps serving the same page but declares alternates.canonical at me.nech.pl/<slug>, once per post across the language variant too.
PLN (Algolia) authored -
me.nech.pl/<KEY> resolves at build time to a post in one of its languages, reusing PostArticle wholesale. generateStaticParams runs the collision guard so a future slug can never silently shadow a route; drafts mint nothing here in prod and the page re-checks.
PLN (Algolia) authored -
Each language file may declare its own localized slug (the folder name stays the canonical slug). A post's resolvable set: canonical folder slug to the default language, localized slugs to their language. lib/keys.js gathers the reserved root names (routes, legacy pages, public/ files, hardcoded floor) and fails loudly on a colliding or twice-claimed key.
PLN (Algolia) authored -
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
PLN (Algolia) authored
-
- 06 Oct, 2026 5 commits
-
-
PLN (Algolia) authored
-
The 8x6nki / szm8ld share-id gates stay explicit. New coverage: available-language reporting, requested-language fetch with the untranslated banner flag, prod filtering still keyed on NODE_ENV, and the language-nav banner/switcher data. The both-languages path runs on a synthetic _fixture-bilingual post (removed after the suite) — real posts are single-language by design.
PLN (Algolia) authored -
Sveltia/Decap i18n structures (single_file, multiple_files, multiple_folders) can neither produce <slug>/<locale>.md nor carry a shared non-localized meta file, so the folder is exposed as three monolingual entry collections pinned to their file by the path template: blog -> <slug>/meta.md, blog-fr -> <slug>/fr.md, blog-en -> <slug>/en.md. app_id and PKCE untouched.
PLN (Algolia) authored -
lib/blog.js now reads content/blog/<slug>/ (meta.md + fr.md/en.md): listing shows the requested language with fallback to the first available one, getBlogPost(slug, lang) reports untranslated posts via an untranslated field, and the draft/share accessors keep parsing <slug>-<token> from meta.md. Draft filtering stays keyed on the shared draftsVisible() rule, now exported from lib/content. /blog/[slug] renders the default language with an FR/EN switch when a post exists in both; a new /blog/[slug]/[lang] route serves the other language (static params only mint languages with content). A missing language renders an honest banner linking to the one that exists. yarn post scaffolds the folder shape. Flat collections are untouched.
PLN (Algolia) authored -
Each post is now a folder: meta.md (shared metadata) + one file per language (fr.md / en.md) carrying the localized title and body. Language files go where the existing prose actually is: hello-world and hello-world-again are French, next is English. Share tokens (8x6nki, szm8ld) move to meta.md so the unlisted /blog/d/ URLs keep working; the post image stays in public/images (no move needed).
PLN (Algolia) authored
-