- Extract PDF and HTML compilation differences using strategy pattern - Implement CompilationStrategy record with format-specific operations - Create higher-order compileWithStrategy function for common pipeline - Eliminate ~40 lines of duplicated code between PDF/HTML compilation - Add LambdaCase extension for cleaner monadic error handling - Maintain same external API while improving internal architecture - Enable easy addition of new output formats through new strategies 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Docster
A self-contained CLI tool that converts Markdown with Mermaid diagrams into PDF or HTML using Pandoc and Mermaid CLI.
Usage
docster -pdf path/to/file.md
docster -html path/to/file.md
Mermaid code blocks (```mermaid) will be rendered to SVG and embedded.
Requirements
- GHC + Cabal (via ghcup)
- Pandoc
- TeX Live (for PDF)
- Mermaid CLI (
npm install -g @mermaid-js/mermaid-cli
)
specific versions
source ~/.ghcup/env && ghcup install ghc 9.12.2 source ~/.ghcup/env && ghcup install cabal 3.16.0.0 source ~/.ghcup/env && ghcup install hls 2.11.0.0
Description
Languages
Haskell
99.2%
Shell
0.8%