- Add CLI mode distinction (gocv vs gocv serve) - Add goldmark dependency for Markdown parsing - Create content reading logic from ./content directory - Implement Markdown to HTML conversion - Add sample content/index.md for testing - Update .gitignore for build artifacts Co-Authored-By: Claude (glm-5) <noreply@anthropic.com>
1.5 KiB
1.5 KiB
Implementation Plan
Project Constraints
- Pure Go binary (no external system dependencies for PDF).
- Config via
config.yamlonly (no CLI flags). - Hardcoded paths:
./content(input),./output(build artifacts). - Modes:
gocv(CLI),gocv serve(Daemon). - Commit at every loop iteration. Do not push. Do not tag.
Current Status
- Project backbone exists (HTTP server, graceful shutdown, config reading).
- Markdown parsing logic implemented (using goldmark).
- HTML Template engine integrated (Hugo-like theme selection).
- PDF Generation implemented (Pure Go library selected and integrated).
- CLI Mode (
gocv) generates static files to./outputand exits. - Serve Mode (
gocv serve) hosts HTML and serves PDF on demand. - File Watcher implemented for live reload in Serve Mode.
- Dockerfile created for multi-stage build.
Active Task
- Analyze existing backbone code and integrate Markdown parsing.
- Integrate HTML template engine with theme selection.
Known Issues / Blockers
- Identify best Pure Go PDF library that supports HTML/CSS (or define CSS subset).
- Current output is raw HTML fragments without full HTML document structure.
Completed Log
- Initial project structure defined.
- Basic HTTP server and signal handling implemented.
- CLI mode vs Serve mode distinction implemented (checks os.Args[1] for "serve").
- Content reading from
./contentdirectory implemented. - Markdown to HTML conversion using goldmark library.