hledger/tools/pandocRemoveHtmlInlines.hs
Simon Michael e1c9e51775 tools: new build system for man/web docs
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.
2016-02-21 02:21:41 -08:00

13 lines
259 B
Haskell
Executable File

#!/usr/bin/env stack
-- stack runghc --package pandoc-types
import Text.Pandoc.JSON
main :: IO ()
main = toJSONFilter removeHtmlInlines
removeHtmlInlines :: Inline -> Inline
removeHtmlInlines (RawInline (Format "html") _) = Str ""
removeHtmlInlines x = x