Posts
4 posts
All posts.
Multilingual Content Authoring
Inkstone uses Hugo’s content language fallback model. The default site language lives at root URLs (/posts/foo/); secondary languages get a subdirectory (/zh-cn/posts/foo/). Filename convention There are two ways to mark content language: content/posts/foo.md # default language content/posts/foo.zh-cn.md # Chinese version content/posts/foo.en.md # explicit English (when default is zh-cn) Or use directory layout: content/en/posts/foo.md content/zh-cn/posts/foo.md The theme works with either; pick the one that matches your editing flow. Language switcher The header has a language toggle. It only appears for pages that have a translation. If a Chinese post has no English version, the toggle is hidden on the Chinese page — no broken links, no stub pages.
Mixing CJK and Latin Text
This post is the English companion to a real CJK demo. Inkstone is opinionated about mixed-script typography — here’s what the theme does for you when an article mixes 中文 with English. What Inkstone does for CJK Word counting respects characters, not whitespace tokens. With hasCJKLanguage = true set site-wide, Hugo’s .WordCount counts CJK characters individually instead of trying (and failing) to whitespace-tokenize them. Reading time uses 501 chars/min on CJK pages, the constant Hugo derives from CJK reading speed studies. Latin pages stay on the 213 word/min default. Font stack prefers LXGW WenKai, falling back through Noto Serif SC to system serif — chosen to keep CJK and Latin glyphs at compatible weights. Line-height bumps to 1.7 on CJK pages (vs. 1.6 for pure Latin) to compensate for taller character bodies. Why this matters in practice Mixed-script paragraphs are where naive themes break. A sentence like “我读了 Borges 的 Ficciones” has three writing systems and an italic stretch — and most themes either let the browser produce a fake oblique on CJK glyphs (ugly) or force a single font for everything (worse).
Typography & Prose
Inkstone is built for longreads. This post showcases the prose typography rules that the theme applies to every article body. Headings The theme uses LXGW WenKai for body text in CJK contexts and falls back to Noto Serif SC and system serif fonts. Headings inherit the same family by default but can be re-styled per project via assets/css/variable.css design tokens. Third-level heading Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Welcome to Inkstone
This is the first post in the Inkstone demo site. It exists to show off the theme’s prose typography, callouts, and a handful of inline shortcodes. Why Inkstone? Inkstone is built around three convictions: Reading is the primary mode. Every layout decision serves the reader, not the author’s ego. Bilingual is the default. Mixed Chinese/English content gets proper line-height, character-counted reading time, and a font fallback chain that doesn’t render Latin glyphs in a CJK font. Progressive enhancement is non-negotiable. Search, lightbox, theme toggle all degrade gracefully when JS is disabled. Setup tip