mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-29 20:05:25 +08:00
29 lines
1.5 KiB
Markdown
29 lines
1.5 KiB
Markdown
# LangBot Blog → Wiki article synchronization
|
|
|
|
`langbot-app/langbot-landing-page/src/content/blog` is the canonical article source. The Wiki publishes generated copies under `{en,zh,ja}/articles/` and stores every rendered image locally under `images/articles/` so Wiki pages do not depend on third-party hotlinks.
|
|
|
|
## Run locally
|
|
|
|
From the Wiki checkout, with the landing-page repository available as a sibling checkout:
|
|
|
|
```bash
|
|
node scripts/sync-blog-articles.mjs --source ../langbot-landing-page
|
|
node scripts/sync-blog-articles.mjs --check --source ../langbot-landing-page
|
|
node scripts/sync-blog-articles.mjs --check
|
|
npm test
|
|
```
|
|
|
|
The synchronizer:
|
|
|
|
- requires matching English and Chinese slug sets;
|
|
- uses the canonical Japanese article when one exists and a clearly marked English fallback otherwise;
|
|
- groups navigation into product updates, engineering, tutorials/integrations, and announcements with localized labels;
|
|
- copies source images and downloads external images into the Wiki repository;
|
|
- rewrites Markdown image URLs to Wiki-local paths;
|
|
- escapes prose that would otherwise be parsed as MDX expressions;
|
|
- replaces the generated article directories and updates the `docs.json` article tabs deterministically.
|
|
|
|
Do not edit generated article pages or mirrored images manually. Fix the canonical Blog post or the synchronizer, then regenerate.
|
|
|
|
A daily GitHub Actions workflow provides drift recovery. Article publishing work should still synchronize and verify the Wiki in the same task so a new Blog post does not wait for the scheduled run.
|