Locales, layoutContext, and hreflang in JSkelet
Build /en and /tr chrome with content dictionaries and alternate links — without a client locale store fighting the URL.
Blog
Architecture notes and product writing. Posts are English; this chrome follows your language.
Build /en and /tr chrome with content dictionaries and alternate links — without a client locale store fighting the URL.
From jskelet init to a cached public page and a mount() island — the smallest loop that proves complete HTML plus selective JavaScript.
How JSkelet keeps signed-in HTML out of the public cache while editors use classic form POSTs, sessions, and 303 redirects.
JSkelet keeps full HTML in process memory with TTL and background revalidation. Editors publish instantly; visitors keep reading warm pages — no SSG pipeline required.
TTL and stale-while-revalidate only work if publish paths name their keys. Patterns for list + detail invalidation in JSkelet apps.
Want shadcn-like tokens and components in a JSkelet admin? Use CSS variables and HTML-string helpers — not Radix and a second runtime.
JSkelet ships readable pages without a client framework. Wake small mount() islands for theme toggles, search, and widgets — never for the article body.
Map App Router pages to route tables, client components to islands, and ISR to JSkelet’s HTML cache. A practical order that keeps SEO URLs stable.
Search crawlers still prefer real markup in the first response. With JSkelet, semantic headings, crawlable links, and server HTML beat a blank shell that waits on JavaScript.
LCP loves complete HTML. INP loves less main-thread work. JSkelet ships server HTML, a small island budget, and cache-first public GETs for content sites.