mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-08 07:09:28 +03:00
e1c9e51775
Goal: Generate man pages and web docs from one source. Current plan: The master docs for each package are now the pandoc-style manpage-markdown files in the package directories - hledger/hledger.1.md, hledger-lib/hledger_journal.5.md, etc. Parts of these will be marked as web-only, and parts as man-only, using divs recognisable by custom pandoc filters. When generating man pages we strip the web-only parts, and all html blocks, inline html and hyperlinks. When generating web docs we strip the man-only parts and apply any other tweaks needed for easy presentation, perhaps combining them into a single web page similar to the old user manual. Shake: This was hard to do with GNU Make, and so I've introduced Shake, which is working very well. Both coexist for now but it's probably time to switch.
13 lines
291 B
Haskell
Executable File
13 lines
291 B
Haskell
Executable File
#!/usr/bin/env stack
|
|
-- stack runghc --package pandoc-types
|
|
|
|
import Text.Pandoc.Builder
|
|
import Text.Pandoc.JSON
|
|
|
|
main :: IO ()
|
|
main = toJSONFilter removeManonlyBlocks
|
|
|
|
removeManonlyBlocks :: Block -> Block
|
|
removeManonlyBlocks (Div ("",["manonly"],[]) _) = Plain []
|
|
removeManonlyBlocks x = x
|