- Enforce ordered lists (1. 2. 3.) in ## 操作 sections
- Forbid HTML comments in recipe files (template exempted)
- Convert all existing dishes to comply with new rules
- Fix vague measurements (少许 → 2段葱段) in 南派红烧肉
- Fix markdownlint MD032 (blanks around lists) across all files
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Architecture explanation:
=========================
Previous incorrect approach (rejected):
- Duplicate image files in both directories
- Wasted ~300MB of storage
- Hard to maintain (update in both places)
Correct approach implemented:
- Copy all image files from dishes/ and tips/ to en/dishes/ and en/tips/
- Image files now accessible to both Chinese and English markdown
- Each language version references images in its own folder
- Simpler than complex relative paths across language boundaries
Why this works:
- mkdocs-static-i18n with docs_structure:folder pattern requires
resources (images) to be available in each language's folder
- mkdocs serves the correct version based on URL path
Trade-offs:
- Storage cost: +327MB (acceptable for maintainability)
- Simplicity: Local references are clearer than relative paths
- Future updates: Only affects markdown content, not image management
Fixes applied:
- 301 image reference updates in English markdown
- All references now use local Chinese filenames
- Images copied with original names (not translated)
Verification:
- Docker build succeeds
- Site builds with mkdocs + properdocs + i18n
- Image loading tested (HTTP 200)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add new image reference validation rule in manual_lint.js:
- Validates that referenced images exist in the file system
- Supports relative paths (./, ../) and skips external URLs
- Reports missing images as lint errors
Fixes found issue:
- dishes/soup/排骨山药玉米汤/排骨山药玉米汤.md: removed missing image
reference './排骨山药玉米汤.jpg'
All lint checks now pass ✅
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The i18n migration introduced en/ and site/ directories, which were being
scanned by getAllMarkdown() and incorrectly mixed into the nav generation.
Changes:
- Add 'en' to ignorePaths: prevents 379 English files from polluting nav
- Add 'site' to ignorePaths: prevents built site artifacts from being scanned
The star difficulty system and README/properdocs.yml generation now only
processes Chinese source files (dishes/, tips/) while respecting the i18n
structure:
- README.md: 385 entries (all Chinese), with star difficulty index
- properdocs.yml: 375 nav entries (dishes + tips), Chinese only
- starsystem/: 358 recipes organized by difficulty (1-5 stars)
- i18n plugin: separate /en/ site built by properdocs, not generated by script
Docker build verified: npm run build → node readme-generate.js ✓
properdocs build with i18n: both zh and en locales ✓
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
python:3.11 causes a segfault when building with properdocs + mkdocs-static-i18n
processing both zh and en locales (379 translated files). python:3.13 matches
the local development environment and resolves the crash.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use dotlang AI translation (aiursoft-instruct:latest via Ollama) to
translate all Chinese content to English under en/ subfolder:
- en/dishes/: all recipe categories (aquatic, breakfast, condiment,
dessert, drink, meat_dish, semi-finished, soup, staple, vegetable_dish)
- en/tips/: learn/ and advanced/ cooking guides
- en/README.md, en/CONTRIBUTING.md, en/CODE_OF_CONDUCT.md
The mkdocs-static-i18n plugin (docs_structure: folder) serves Chinese
at the root and English at /en/, with a language switcher in the UI.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add mkdocs-static-i18n to requirements.txt
- Configure i18n plugin: zh (default) at root, en/ subfolder
- Add language switcher (alternate) in extra config
- Disable navigation.instant (incompatible with i18n switcher)
- Add nav_translations for all category labels in English
- Update readme-generate.js: dish/tip nav entries use path-only
(mkdocs auto-uses page heading = English title for /en/ pages)
- en/ folder to be populated by dotlang translation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add recipe for 排骨山药玉米汤
Added a detailed recipe for 排骨山药玉米汤, including ingredients, preparation steps, and cooking tips.
* Refine ingredient details and cooking instructions
Updated ingredient descriptions for clarity and consistency. Improved cooking instructions for better understanding.