summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2008-12-02 22:43:11 +0000
committerfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2008-12-02 22:43:11 +0000
commit4e122930f130c893bf0e0a31ff09015d10a8140c (patch)
treeeec6c54859d532f3b78125b29d2c17cb38059e6e
parent22741eb8e83f81116375ab69a4db6da61daf7e7e (diff)
Modified README and man page to document lhs features.
git-svn-id: https://pandoc.googlecode.com/svn/trunk@1506 788f1e2b-df1e-0410-8736-df70ead52e1b
-rw-r--r--README67
-rw-r--r--man/man1/pandoc.1.md20
2 files changed, 56 insertions, 31 deletions
diff --git a/README b/README
index f86c850ab..86c52ac2b 100644
--- a/README
+++ b/README
@@ -222,13 +222,17 @@ For further documentation, see the `pandoc(1)` man page.
`-f`, `--from`, `-r`, or `--read` *format*
: specifies the input format (the format Pandoc will be converting
*from*). *format* can be `native`, `markdown`, `rst`, `html`, or
- `latex`.
+ `latex`. (`+lhs` can be appended to indicate that the input should
+ be treated as literate Haskell source. See
+ [Literate Haskell support](#literate-haskell-support), below.)
`-t`, `--to`, `-w`, or `--write` *format*
: specifies the output format -- the format Pandoc will
be converting *to*. *format* can be `native`, `html`, `s5`,
`docbook`, `opendocument`, `latex`, `context`, `markdown`, `man`,
- `rst`, and `rtf`.
+ `rst`, and `rtf`. (`+lhs` can be appended to indicate that the
+ output should be treated as literate Haskell source. See
+ [Literate Haskell support](#literate-haskell-support), below.)
`-s` or `--standalone`
: indicates that a standalone document is to be produced (with
@@ -371,20 +375,6 @@ For further documentation, see the `pandoc(1)` man page.
are omitted. URIs in links and images are also checked against a
whitelist of URI schemes.
-`--lhs-in`
-: treat input as literate Haskell. In markdown input, "bird track"
- sections will be treated as Haskell source code. In LaTeX input,
- `code` environments will be treated as Haskell source code.
-
-`--lhs-out`
-: write output as literate Haskell. In markdown output, Haskell
- source code will be printed with "bird tracks." In LaTeX output,
- it will be put in `code` environments. In HTML output, it will
- be put inside `<pre>` tags, with "bird tracks."
-
-`--lhs`
-: equivalent to `--lhs-in --lhs-out`.
-
`--dump-args`
: is intended to make it easier to create wrapper scripts that use
Pandoc. It causes Pandoc to dump information about the arguments
@@ -1073,3 +1063,48 @@ and CSS files required by S5. (See the instructions on the S5 website.)
Alternatively, you may use `-s` together with the `-H/--custom-header`
option.
+Literate Haskell support
+========================
+
+If you append `+lhs` to an appropriate input or output format (`markdown`,
+`rst`, or `latex` for input or output; `html` for output only), pandoc
+will treat the document as literate Haskell source. This means that
+
+ - In markdown input, "bird track" sections will be parsed as Haskell
+ code rather than block quotations. Text between `\begin{code}`
+ and `\end{code}` will also be treated as Haskell code.
+
+ - In markdown output, code blocks with class `haskell` will be
+ rendered using bird tracks, and block quotations will be
+ indented one space, so they will not be treated as Haskell code.
+ In addition, headers will be rendered setext-style (with underlines)
+ rather than atx-style (with '#' characters). (This is because ghc
+ treats '#' characters in column 1 as introducing line numbers.)
+
+ - In restructured text input, "bird track" sections will be parsed
+ as Haskell code.
+
+ - In restructured text output, code blocks with class `haskell` will
+ be rendered using bird tracks.
+
+ - In LaTeX input, text in `code` environments will be parsed as
+ Haskell code.
+
+ - In LaTeX output, code blocks with class `haskell` will be rendered
+ inside `code` environments.
+
+ - In HTML output, code blocks with class `haskell` will be rendered
+ with class `literatehaskell` and bird tracks.
+
+Examples:
+
+ pandoc -f markdown+lhs -t html
+
+reads literate Haskell source formatted with markdown conventions and writes
+ordinary HTML (without bird tracks).
+
+ pandoc -f markdown+lhs -t html+lhs
+
+writes HTML with the Haskell code in bird tracks, so it can be copied
+and pasted as literate Haskell source.
+
diff --git a/man/man1/pandoc.1.md b/man/man1/pandoc.1.md
index bdd317c78..91c3a8537 100644
--- a/man/man1/pandoc.1.md
+++ b/man/man1/pandoc.1.md
@@ -64,6 +64,8 @@ to Pandoc. Or use `html2markdown`(1), a wrapper around `pandoc`.
: Specify input format. *FORMAT* can be
`native` (native Haskell), `markdown` (markdown or plain text),
`rst` (reStructuredText), `html` (HTML), or `latex` (LaTeX).
+ If `+lhs` is appended to `markdown`, `rst`, or `latex`, the input
+ will be treated as literate Haskell source.
-t *FORMAT*, -w *FORMAT*, \--to=*FORMAT*, \--write=*FORMAT*
: Specify output format. *FORMAT* can be `native` (native Haskell),
@@ -74,7 +76,9 @@ to Pandoc. Or use `html2markdown`(1), a wrapper around `pandoc`.
`odt` (OpenOffice text document), `s5` (S5 HTML and javascript slide
show), or `rtf` (rich text format). Note that `odt` output will not
be directed to *stdout*; an output filename must be specified using
- the `-o/--output` option.
+ the `-o/--output` option. If `+lhs` is appended to `markdown`,
+ `rst`, `latex`, or `html`, the output will be rendered as literate
+ Haskell source.
-s, \--standalone
: Produce output with an appropriate header and footer (e.g. a
@@ -142,20 +146,6 @@ to Pandoc. Or use `html2markdown`(1), a wrapper around `pandoc`.
are omitted. URIs in links and images are also checked against a
whitelist of URI schemes.
-\--lhs-in
-: Treat input as literate Haskell. In markdown input, "bird track"
- sections will be treated as Haskell source code. In LaTeX input,
- `code` environments will be treated as Haskell source code.
-
-\--lhs-out
-: Write output as literate Haskell. In markdown output, Haskell
- source code will be printed with "bird tracks." In LaTeX output,
- it will be put in `code` environments. In HTML output, it will
- be put inside `<pre>` tags, with "bird tracks."
-
-\--lhs
-: Equivalent to `--lhs-in --lhs-out`.
-
\--toc, \--table-of-contents
: Include an automatically generated table of contents (HTML, markdown,
RTF) or an instruction to create one (LaTeX, reStructuredText).