Compare commits
4 Commits
6b49db5801
...
eb374d20f5
| Author | SHA1 | Date | |
|---|---|---|---|
| eb374d20f5 | |||
| 57f4f9f165 | |||
| f016950ac7 | |||
| f4dab3e354 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -18,4 +18,5 @@ stack-setup-2.yaml
|
||||
analytics-charts.md
|
||||
architecture-deep-dive.md
|
||||
devcontainer.org
|
||||
.devcontainer/
|
||||
root.json
|
||||
|
||||
@ -6,8 +6,9 @@ A self-contained CLI tool that converts Markdown with Mermaid diagrams into PDF
|
||||
|
||||
docster -pdf path/to/file.md
|
||||
docster -html path/to/file.md
|
||||
docster -docx path/to/file.md
|
||||
|
||||
Mermaid code blocks (```mermaid) will be rendered to SVG and embedded.
|
||||
Mermaid code blocks (```mermaid) will be rendered to SVG (HTML) or PNG (PDF/DOCX) and embedded.
|
||||
|
||||
## Installation
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
cabal-version: 3.0
|
||||
name: docster
|
||||
version: 0.1.0.0
|
||||
synopsis: A self-contained CLI tool that converts Markdown with Mermaid diagrams to PDF/HTML
|
||||
description: Docster converts Markdown documents containing Mermaid diagrams into PDF or HTML files
|
||||
using Pandoc and Mermaid CLI. It automatically renders Mermaid code blocks to SVG
|
||||
synopsis: A self-contained CLI tool that converts Markdown with Mermaid diagrams to PDF, HTML, or DOCX
|
||||
description: Docster converts Markdown documents containing Mermaid diagrams into PDF, HTML, or DOCX files
|
||||
using Pandoc and Mermaid CLI. It automatically renders Mermaid code blocks to SVG (HTML) or PNG (PDF/DOCX)
|
||||
and embeds them in the output.
|
||||
homepage: https://github.com/yourusername/docster
|
||||
license: BSD-3-Clause
|
||||
@ -41,7 +41,7 @@ library
|
||||
process >=1.6 && <1.7,
|
||||
hashable >=1.4 && <1.6,
|
||||
containers >=0.6 && <0.8,
|
||||
pandoc >=3.0 && <3.2,
|
||||
pandoc >=3.0 && <3.8,
|
||||
pandoc-types >=1.23 && <1.25,
|
||||
bytestring >=0.11 && <0.13,
|
||||
temporary >=1.3 && <1.4,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
|
||||
-- | Document compilation functionality for PDF and HTML output
|
||||
-- | Document compilation functionality for PDF, HTML, and DOCX output
|
||||
module Docster.Compiler
|
||||
( -- * Compilation Functions
|
||||
compileToPDF
|
||||
|
||||
@ -79,6 +79,8 @@ generateDiagramPaths (DiagramConfig _ (OutputDir outDir) format) (DiagramId diag
|
||||
in (svgFile, T.pack $ takeFileName svgFile)
|
||||
PDF -> let pngFile = outDir </> diagIdStr <> ".png"
|
||||
in (pngFile, T.pack pngFile)
|
||||
DOCX -> let pngFile = outDir </> diagIdStr <> ".png"
|
||||
in (pngFile, T.pack pngFile)
|
||||
|
||||
-- | Puppeteer configuration content for disabling sandbox
|
||||
puppeteerConfigContent :: Text
|
||||
@ -90,6 +92,7 @@ callMermaidProcess format mmdFile outputFile = do
|
||||
let baseArgs = case format of
|
||||
HTML -> ["-i", mmdFile, "-o", outputFile]
|
||||
PDF -> ["-i", mmdFile, "-o", outputFile, "--scale", "3"]
|
||||
DOCX -> ["-i", mmdFile, "-o", outputFile]
|
||||
|
||||
-- Create temporary puppeteer config file
|
||||
result <- bracket
|
||||
|
||||
@ -38,6 +38,7 @@ transformDocument config docName (Pandoc meta blocks) = do
|
||||
case dcOutputFormat config of
|
||||
PDF -> return $ Right $ substituteUnicodeSymbols (Pandoc meta newBlocks)
|
||||
HTML -> return $ Right $ Pandoc meta newBlocks
|
||||
DOCX -> return $ Right $ Pandoc meta newBlocks
|
||||
|
||||
-- | Process a single block with heading tracking state
|
||||
processBlockStateful :: DiagramConfig -> Block -> TransformM Block
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user