Building this site with Next.js and Gin
This site uses Next.js for its public pages and Go with Gin for content management.
One content library
Documents live in Markdown files. Each document has a stable ID, and its Simplified Chinese, Traditional Chinese, and English versions share that ID.
henryweb.site → Public blog
api.henryweb.site → Public read-only API
knowledge.henryweb.site → Private workspace
Drafts and publishing
Blog visibility and graph visibility are independent. A document can appear in either place, both, or neither.
Saving changes updates the working draft. The public blog only changes after the current language version is previewed and published. Withdrawing an article removes its public version while keeping the private document.
Writing and translation
The workspace editor manages titles, summaries, slugs, languages, and visibility. Markdown is still the editable source, and the workspace can export it for backup.
Translations belong to the same document. When the source changes, the workspace marks linked translations as potentially outdated. It never silently replaces an author’s translation.
What comes next
Keep writing about real problems and the evidence that helped solve them. Add features when the need is clear.