From a04c15a422cac279e75b012db9614cdc85aa1188 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Wed, 1 Jul 2015 11:21:34 -0700 Subject: New method for building man pages. + Removed `--man1`, `--man5` options (breaking change). + Removed `Text.Pandoc.ManPages` module (breaking API change). + Version bump to 1.15 because of the breaking changes, even though they involve features that have only been in pandoc for a day. + Makefile target for `man/man1/pandoc.1`. This uses pandoc to create the man page from README using a custom template and filters. + Added `man/` directory with template and filters needed to build man page. + We no longer have two man pages: pandoc.1 and pandoc_markdown.5. Now there is just pandoc.1, which has all the content from README. This change was needed because of the extensive cross-references between parts of the README. + Removed old `data/pandoc.1.template` and `data/pandoc_markdown.5.template`. --- man/capitalizeHeaders.hs | 18 ++++++++++++++++++ man/pandoc.1.template | 10 ++++++++++ man/removeLinks.hs | 9 +++++++++ man/removeNotes.hs | 9 +++++++++ 4 files changed, 46 insertions(+) create mode 100644 man/capitalizeHeaders.hs create mode 100644 man/pandoc.1.template create mode 100644 man/removeLinks.hs create mode 100644 man/removeNotes.hs (limited to 'man') diff --git a/man/capitalizeHeaders.hs b/man/capitalizeHeaders.hs new file mode 100644 index 000000000..d3909df76 --- /dev/null +++ b/man/capitalizeHeaders.hs @@ -0,0 +1,18 @@ +import Text.Pandoc.JSON +import Text.Pandoc.Walk +import Data.Char (toUpper) + +main :: IO () +main = toJSONFilter capitalizeHeaders + +capitalizeHeaders :: Block -> Block +capitalizeHeaders (Header 1 attr xs) = Header 1 attr $ walk capitalize xs +capitalizeHeaders x = walk capitalizeHeaderLinks x + +capitalize :: Inline -> Inline +capitalize (Str xs) = Str $ map toUpper xs +capitalize x = x + +capitalizeHeaderLinks :: Inline -> Inline +capitalizeHeaderLinks (Link xs t@('#':_,_)) = Link (walk capitalize xs) t +capitalizeHeaderLinks x = x diff --git a/man/pandoc.1.template b/man/pandoc.1.template new file mode 100644 index 000000000..6a1c26a52 --- /dev/null +++ b/man/pandoc.1.template @@ -0,0 +1,10 @@ +$if(has-tables)$ +.\"t +$endif$ +.TH PANDOC 1 "$date$" "$version$" +.SH NAME +pandoc - general markup converter +$body$ +.PP +The Pandoc source code and all documentation may be downloaded +from . diff --git a/man/removeLinks.hs b/man/removeLinks.hs new file mode 100644 index 000000000..d4508e7a3 --- /dev/null +++ b/man/removeLinks.hs @@ -0,0 +1,9 @@ +import Text.Pandoc.JSON + +main :: IO () +main = toJSONFilter removeLinks + +removeLinks :: Inline -> [Inline] +removeLinks (Link l _) = l +removeLinks x = [x] + diff --git a/man/removeNotes.hs b/man/removeNotes.hs new file mode 100644 index 000000000..e61cb932a --- /dev/null +++ b/man/removeNotes.hs @@ -0,0 +1,9 @@ +import Text.Pandoc.JSON + +main :: IO () +main = toJSONFilter removeNotes + +removeNotes :: Inline -> Inline +removeNotes (Note _) = Str "" +removeNotes x = x + -- cgit v1.2.3