A Markdown to Word (DOCX) conversion tool specifically designed for technical book authors. It bridges the gap between Markdown writing and professional publishing requirements.
- Frontend: React 19, TypeScript, Vite 6.
- Styling: CSS-in-JS/Theming (constants/theme.ts), Bootstrap CSS mentioned in mandates but currently using a custom modular architecture with centralized theming.
- Core Libraries:
docx(Word generation),marked(Markdown parsing),mermaid(Chart rendering). - Testing: Vitest, React Testing Library.
- Registry Pattern: Used for Docx generation (
services/docx/registry.ts). Handlers for different block types are registered inservices/docx/builders/index.ts. - AST Parsing: Markdown is parsed into tokens using
markedand then processed intoParsedBlockobjects inservices/parser/ast.ts.
main: Production (Squash Merge fromdev).dev: Integration branch.- Feature Branch:
dev_feature_yyyyMMdd_XXXX(branched fromdev). - Version Bumping:
- Minor for new features.
- Patch for bug fixes.
- Version Bump Checklist (MUST Update All):
package.json:versionfield.README.md: Title line & Version Badge.README_EN.md: Title line & Version Badge.CHANGELOG.md: Add new section.constants/defaultContent.ts: Update example version numbers in code blocks.
- Follow existing patterns in
services/docx/builders/. - Use TypeScript for all new code.
- Ensure new features have corresponding tests in
tests/.
- The project uses a custom Regex + AST approach for parsing.
- Always check
services/types.tsfor data structures. - Word document styling is defined in
constants/theme.tsandservices/docx/builders/common.ts. - Documentation:
docs/PROJECT_OVERVIEW.md: High-level feature summary.docs/ARCHITECTURE.md: Technical architecture and workflows.docs/DEVELOPMENT_GUIDE.md: Setup and dev workflow.