5Pandoc is a [Haskell] library for converting from one markup format
6to another, and a command-line tool that uses this library. It can read
7[markdown] and (subsets of) [reStructuredText], [HTML], and [LaTeX],
8and it can write [markdown], [reStructuredText], [HTML], [LaTeX], [RTF],
9[DocBook XML], [groff man] pages, and [S5] HTML slide shows. Pandoc's
10version of markdown contains some enhancements, like footnotes and
13In contrast to existing tools for converting markdown to HTML, which
14use regex substitutions, Pandoc has a modular design: it consists of a
15set of readers, which parse text in a given format and produce a native
16representation of the document, and a set of writers, which convert
17this native representation into a target format. Thus, adding an input
18or output format requires only adding a reader or writer.
20[markdown]: http://daringfireball.net/projects/markdown/
21[reStructuredText]: http://docutils.sourceforge.net/docs/ref/rst/introduction.html
22[S5]: http://meyerweb.com/eric/tools/s5/
23[HTML]: http://www.w3.org/TR/html40/
24[LaTeX]: http://www.latex-project.org/
25[RTF]: http://en.wikipedia.org/wiki/Rich_Text_Format
26[DocBook XML]: http://www.docbook.org/
27[groff man]: http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man7/groff_man.7.html
28[Haskell]: http://www.haskell.org/
30(c) 2006 John MacFarlane (jgm at berkeley dot edu). Released under the
31[GPL], version 2 or greater. This software carries no warranty of
32any kind. (See COPYRIGHT for full copyright and warranty notices.)
33Recai Oktaş (roktas at debian dot org) deserves credit for the build
34system, the debian package, and the robust wrapper scripts.
36[GPL]: http://www.gnu.org/copyleft/gpl.html "GNU General Public License"
41The `pandoc` program itself does not depend on any external libraries
44The wrapper script `html2markdown` requires
46 - `pandoc` (which must be in the PATH)
47 - a POSIX-compliant shell (installed by default on all linux and unix
48 systems, including Mac OS X, and in [Cygwin] for Windows),
50 - `iconv` (for character encoding conversion). (If `iconv` is absent,
51 `html2markdown` will still work, but it will treat everything as UTF-8.)
53The wrapper script `markdown2pdf` requires
55 - `pandoc` (which must be in the PATH)
56 - a POSIX-compliant shell
57 - `pdflatex`, which should be part of any [LaTeX] distribution
58 - the [unicode] and [fancyvrb] LaTeX packages, which are included
59 in many LaTeX distributions.[^1] If your installation of LaTeX
60 does not include these packages, you will get an error (complaining
61 about missing `ucs.sty` or `fancyvrb.sty`) when you try to compile
62 a LaTeX file produced by Pandoc, or when you use the `markdown2pdf`
63 script (described below). If this happens, install the [unicode] and
64 [fancyvrb] packages package from [CTAN]. (Get the zip file from CTAN
65 and unpack it into `~/texmf/tex/latex/`. You may also need to run
66 `mktexlsr` or `texhash` before the files can be found by TeX.)
68The wrapper script `hsmarkdown` requires only a POSIX-compliant shell.
70[Cygwin]: http://www.cygwin.com/
71[HTML Tidy]: http://tidy.sourceforge.net/
72[`iconv`]: http://www.gnu.org/software/libiconv/
73[CTAN]: http://www.ctan.org "Comprehensive TeX Archive Network"
74[unicode]: http://www.ctan.org/tex-archive/macros/latex/contrib/unicode/
75[fancyvrb]: http://www.ctan.org/tex-archive/macros/latex/contrib/fancyvrb/
77[^1]: The [unicode] package allows LaTeX to process UTF-8 characters.
78[fancyvrb] allows code blocks and verbatim text to be used within
84If you run `pandoc` without arguments, it will accept input from
85STDIN. If you run it with file names as arguments, it will take input
86from those files. By default, `pandoc` writes its output to STDOUT.
87If you want to write to a file, use the `-o` option:
89 pandoc -o hello.html hello.txt
91Note that you can specify multiple input files on the command line.
92`pandoc` will concatenate them all (with blank lines between them)
95 pandoc -s chapter1.txt chapter2.txt references.txt > book.html
97(The `-s` option here tells `pandoc` to produce a standalone HTML file,
98with a proper header, rather than a fragment. For more details on this
99and many other command-line options, see below.)
101The format of the input and output can be specified explicitly using
102command-line options. The input format can be specified using the
103`-r/--read` or `-f/--from` options, the output format using the
104`-w/--write` or `-t/--to` options. Thus, to convert `hello.txt` from
105markdown to LaTeX, you could type:
107 pandoc -f markdown -t latex hello.txt
109To convert `hello.html` from html to markdown:
111 pandoc -f html -t markdown hello.html
113Supported output formats include `markdown`, `latex`, `html`, `rtf`
114(rich text format), `rst` (reStructuredText), `docbook` (DocBook
115XML), `man` (groff man), and `s5` (which produces an HTML file that
116acts like powerpoint). Supported input formats include `markdown`,
117`html`, `latex`, and `rst`. Note that the `rst` reader only parses
118a subset of reStructuredText syntax. For example, it doesn't handle
119tables, definition lists, option lists, or footnotes. It handles only
120the constructs expressible in unextended markdown. But for simple
121documents it should be adequate. The `latex` and `html` readers are also
122limited in what they can do. Because the `html` reader is picky about
123the HTML it parses, it is recommended that you pipe HTML through [HTML
124Tidy] before sending it to `pandoc`, or use the `html2markdown` script
127If you don't specify a reader or writer explicitly, `pandoc` will
128try to determine the input and output format from the extensions of
129the input and output filenames. Thus, for example,
131 pandoc -o hello.tex hello.txt
133will convert `hello.txt` from markdown to LaTeX. If no output file
134is specified (so that output goes to STDOUT), or if the output file's
135extension is unknown, the output format will default to HTML.
136If no input file is specified (so that input comes from STDIN), or
137if the input files' extensions are unknown, the input format will
138be assumed to be markdown unless explicitly specified.
143All input is assumed to be in the UTF-8 encoding, and all output
144is in UTF-8. If your local character encoding is not UTF-8 and you use
145accented or foreign characters, you should pipe the input and output
146through [`iconv`]. For example,
148 iconv -t utf-8 source.txt | pandoc | iconv -f utf-8 > output.html
150will convert `source.txt` from the local encoding to UTF-8, then
151convert it to HTML, then convert back to the local encoding,
152putting the output in `output.html`.
154The shell scripts (described below) automatically convert the input
155from the local encoding to UTF-8 before running them through `pandoc`,
156then convert the output back to the local encoding.
161Three shell scripts, `markdown2pdf`, `html2markdown`, and `hsmarkdown`,
162are included in the standard Pandoc installation. (They are not included
163in the Windows binary package, as they require a POSIX shell, but they
164may be used in Windows under Cygwin.)
1661. `markdown2pdf` produces a PDF file from markdown-formatted
167 text, using `pandoc` and `pdflatex`. The default
168 behavior of `markdown2pdf` is to create a file with the same
169 base name as the first argument and the extension `pdf`; thus,
172 markdown2pdf sample.txt endnotes.txt
174 will produce `sample.pdf`. (If `sample.pdf` exists already,
175 it will be backed up before being overwritten.) An output file
176 name can be specified explicitly using the `-o` option:
178 markdown2pdf -o "My Book.pdf" chap1.txt chap2.txt chap3.txt
180 If no input file is specified, input will be taken from STDIN.
181 All of `pandoc`'s options will work with `markdown2pdf` as well.
1832. `html2markdown` grabs a web page from a file or URL and converts
184 it to markdown-formatted text, using `tidy` and `pandoc`.
186 All of `pandoc`'s options will work with `html2markdown` as well.
187 In addition, the following special options may be used.
188 The special options must be separated from the `html2markdown`
189 command and any regular Pandoc options by the delimiter `--`:
191 html2markdown -o out.txt -- -e latin1 -g curl google.com
193 The `-e` or `--encoding` option specifies the character encoding
194 of the HTML input. If this option is not specified, and input
195 is not from STDIN, `html2markdown` will attempt to determine the
196 page's character encoding from the "Content-type" meta tag.
197 If this is not present, UTF-8 is assumed.
199 The `-g` or `--grabber` option specifies the command to be used to
200 fetch the contents of a URL:
202 html2markdown -g 'curl --user foo:bar' www.mysite.com
204 If this option is not specified, `html2markdown` searches for an
205 available program (`wget`, `curl`, or a text-mode browser) to fetch
206 the contents of a URL.
2083. `hsmarkdown` is designed to be used as a drop-in replacement for
209 `Markdown.pl`. It forces `pandoc` to convert from markdown to
210 HTML, and to use the `--strict` flag for maximal compliance with
211 official markdown syntax. (All of Pandoc's syntax extensions and
212 variants, described below, are disabled.) No other command-line
213 options are allowed. (In fact, options will be interpreted as
216 As an alternative to using the `hsmarkdown` shell script, the
217 user may create a symbolic link to `pandoc` called `hsmarkdown`.
218 When invoked under the name `hsmarkdown`, `pandoc` will behave
219 as if the `--strict` flag had been selected, and no command-line
220 options will be recognized. However, this approach does not work
221 under Cygwin, due to problems with its simulation of symbolic
227Various command-line options can be used to customize the output.
228For further documentation, see the `pandoc(1)` man page.
230`-f`, `--from`, `-r`, or `--read` can be used to specify the input
231format -- the format Pandoc will be converting *from*. Available
232formats are `native`, `markdown`, `rst`, `html`, and `latex`.
234`-t`, `--to`, `-w`, or `--write` can be used to specify the output
235format -- the format Pandoc will be converting *to*. Available formats
236are `native`, `html`, `s5`, `docbook`, `latex`, `markdown`, `rst`, and
239`-s` or `--standalone` indicates that a standalone document is to be
240produced (with appropriate headers and footers), rather than a fragment.
242`-o` or `--output` specifies the name of the output file. If this
243option is not specified, or if its argument is `-`, output will be sent
246`-p` or `--preserve-tabs` causes tabs in the source text to be
247preserved, rather than converted to spaces (the default).
249`--tabstop` allows the user to set the tab stop (which defaults to 4).
251`--strict` specifies that strict markdown syntax is to be used, without
252pandoc's usual extensions and variants (described below).
254`--reference-links` causes reference-style links to be used in markdown
255and reStructuredText output. By default inline links are used.
257`-R` or `--parse-raw` causes the HTML and LaTeX readers to parse HTML
258codes and LaTeX environments that it can't translate as raw HTML or
259LaTeX. Raw HTML can be printed in markdown, reStructuredText, HTML,
260and S5 output; raw LaTeX can be printed in markdown, reStructuredText,
261and LaTeX output. The default is for the readers to omit
262untranslatable HTML codes and LaTeX environments. (The LaTeX reader
263does pass through untranslatable LaTeX commands, even if `-R` is not
266`-C` or `--custom-header` can be used to specify a custom document
267header. To see the headers used by default, use the `-D` option:
268for example, `pandoc -D html` prints the default HTML header.
270`--toc` or `--table-of-contents` includes an automatically generated
271table of contents (or, in the case of `latex` and `rst`, an instruction
272to create one) in the output document. This option has no effect with
273`man`, `docbook`, or `s5` output formats.
275`-c` or `--css` allows the user to specify a custom stylesheet that
276will be linked to in HTML and S5 output.
278`-H` or `--include-in-header` specifies a file to be included
279(verbatim) at the end of the document header. This can be used, for
280example, to include special CSS or javascript in HTML documents.
282`-B` or `--include-before-body` specifies a file to be included
283(verbatim) at the beginning of the document body (after the `<body>`
284tag in HTML, or the `\begin{document}` command in LaTeX). This can be
285used to include navigation bars or banners in HTML documents.
287`-A` or `--include-after-body` specifies a file to be included
288(verbatim) at the end of the docment body (before the `</body>` tag in
289HTML, or the `\end{document}` command in LaTeX).
291`-T` or `--title-prefix` specifies a string to be included as a prefix
292at the beginning of the title that appears in the HTML header (but not
293in the title as it appears at the beginning of the HTML body). (See
296`-S` or `--smart` causes `pandoc` to produce typographically
297correct output, along the lines of John Gruber's [Smartypants].
298Straight quotes are converted to curly quotes, `---` to dashes, and
299`...` to ellipses. (Note: This option is only significant when
300the input format is `markdown`. It is selected automatically
301when the output format is `latex`.)
303[Smartypants]: http://daringfireball.net/projects/smartypants/
305`-m` or `--asciimathml` will cause LaTeX formulas (between $ signs) in
306HTML or S5 to display as formulas rather than as code. The trick will
307not work in all browsers, but it works in Firefox. Peter Jipsen's
308[ASCIIMathML] script is used to do the magic.
310[ASCIIMathML]: http://www1.chapman.edu/~jipsen/mathml/asciimath.html
312`-i` or `--incremental` causes all lists in S5 output to be displayed
313incrementally by default (one item at a time). The normal default
314is for lists to be displayed all at once.
316`-N` or `--number-sections` causes sections to be numbered in LaTeX
317output. By default, sections are not numbered.
319`--dump-args` is intended to make it easier to create wrapper scripts
320that use Pandoc. It causes Pandoc to dump information about the arguments
321with which it was called to STDOUT, then exit. The first line printed
322is the name of the output file specified using the `-o` or `--output`
323option, or `-` if output would go to STDOUT. The remaining lines, if any,
324list command-line arguments. These will include the names of input
325files and any special options passed after ` -- ` on the command line.
328 pandoc --dump-args -o foo.html -s foo.txt appendix.txt -- -e latin1
330will cause the following to be printed to STDOUT:
338`--ignore-args` causes Pandoc to ignore all command-line arguments.
339Regular Pandoc options are not ignored. Thus, for example,
341 pandoc --ignore-args -o foo.html -s foo.txt -- -e latin1
345 pandoc -o foo.html -s
347`-v` or `--version` prints the version number to STDERR.
349`-h` or `--help` prints a usage message to STDERR.
351Pandoc's markdown vs. standard markdown
352=======================================
354In parsing markdown, Pandoc departs from and extends [standard markdown]
355in a few respects. (To run Pandoc on the official markdown test suite,
356type `make test-markdown`.) Except where noted, these differences can
357be suppressed by specifying the `--strict` command-line option or by
358using the `hsmarkdown` wrapper.
360[standard markdown]: http://daringfireball.net/projects/markdown/syntax
361 "Markdown syntax description"
366Except inside a code block or inline code, any punctuation or space
367character preceded by a backslash will be treated literally, even if it
368would normally indicate formatting. Thus, for example, if one writes
378 <strong>hello</strong>
380This rule is easier to remember than standard markdown's rule,
381which allows only the following characters to be backslash-escaped:
388Pandoc behaves differently from standard markdown on some "edge
389cases" involving lists. Consider this source:
399Pandoc transforms this into a "compact list" (with no `<p>` tags
400around "First", "Second", or "Third"), while markdown puts `<p>`
401tags around "Second" and "Third" (but not "First"), because of
402the blank space around "Third". Pandoc follows a simple rule:
403if the text is followed by a blank line, it is treated as a
404paragraph. Since "Second" is followed by a list, and not a blank
405line, it isn't treated as a paragraph. The fact that the list
406is followed by a blank line is irrelevant. (Note: Pandoc works
407this way even when the `--strict` option is specified. This
408behavior is consistent with the official markdown syntax
409description, even though it is different from that of `Markdown.pl`.)
411Unlike standard markdown, Pandoc allows ordered list items to be
412marked with single lowercase letters (from 'a' to 'n'), instead of
413numbers. So, for example, this source yields a nested ordered list:
421The letters may be followed by either '.' or ')':
429Note that Pandoc pays no attention to the *type* of ordered list
430item marker used. Thus, the following is treated just the same as
442Pandoc supports definition lists, using a syntax inspired by
443[PHP Markdown Extra] and [reStructuredText]:
445 [PHP Markdown Extra]: http://www.michelf.com/projects/php-markdown/extra/
453 : Second paragraph of definition 2.
455Each term must fit on one line. The definition must begin on the line
456after the term. The definition consists of one or more block elements
457(paragraph, code block, list, etc.), each beginning with a colon and
458(aside from the colon) indented one tab stop.
460 Term *with inline markup*
461 : Here is the definition. It may
462 contain multiple blocks. Here is some code:
466 : Here is the third paragraph of this definition.
468If you leave space after the definition (as in the first example above),
469the definitions will be considered paragraphs. In some output formats,
470this will mean greater spacing between term/definition pairs. For a
471compact definition list, do not leave space between the definition and
482Pandoc allows implicit reference links with just a single set of
483brackets. So, the following links are equivalent:
486 2. Here's my [link][]
490(Note: Pandoc works this way even if `--strict` is specified, because
491`Markdown.pl` 1.0.2b7 allows single-bracket links.)
496Pandoc's markdown allows footnotes, using the following syntax:
498 Here is a footnote reference,[^1] and another.[^longnote]
500 [^1]: Here is the footnote. It can go anywhere in the document,
501 except in embedded contexts like block quotes or lists.
503 [^longnote]: Here's the other note. This one contains multiple
506 Subsequent paragraphs are indented to show that they belong to
507 the previous footnote.
511 The whole paragraph can be indented, or just the first line.
512 In this way, multi-paragraph footnotes work just like
513 multi-paragraph list items in markdown.
515 This paragraph won't be part of the note, because it isn't indented.
517The identifiers in footnote references may not contain spaces, tabs,
518or newlines. These identifiers are used only to correlate the
519footnote reference with the note itself; in the output, footnotes
520will be numbered sequentially.
522The footnotes themselves need not be placed at the end of the
523document. They may appear anywhere except inside other block elements
524(lists, block quotes, tables, etc.).
526Inline footnotes are also allowed (though, unlike regular notes,
527they cannot contain multiple paragraphs). The syntax is as follows:
529 Here is an inline note.^[Inlines notes are easier to write, since
530 you don't have to pick an identifier and move down to type the
533Inline and regular footnotes may be mixed freely.
538Two kinds of tables may be used. Both kinds presuppose the use of
539a fixed-width font, such as Courier. Currently only the HTML,
540Docbook, and LaTeX writers support tables.
542Simple tables look like this:
544 Right Left Center Default
545 ------- ------ ---------- -------
550 Table: Demonstration of simple table syntax.
552The headers and table rows must each fit on one line. Column
553alignments are determined by the position of the header text relative
554to the dashed line below it:[^2]
556 - If the dashed line is flush with the header text on the right side
557 but extends beyond it on the left, the column is right-aligned.
558 - If the dashed line is flush with the header text on the left side
559 but extends beyond it on the right, the column is left-aligned.
560 - If the dashed line extends beyond the header text on both sides,
561 the column is centered.
562 - If the dashed line is flush with the header text on both sides,
563 the default alignment is used (in most cases, this will be left).
565[^2]: This scheme is due to Michel Fortin, who proposed it on the
566 Markdown discussion list: <http://six.pairlist.net/pipermail/markdown-discuss/2005-March/001097.html>
568The table must end with a blank line. Optionally, a caption may be
569provided (as illustrated in the example above). A caption is a paragraph
570beginning with the string `Table:`, which will be stripped off.
572The table parser pays attention to the widths of the columns, and
573the writers try to reproduce these relative widths in the output.
574So, if you find that one of the columns is too narrow in the output,
575try widening it in the markdown source.
577Multiline tables allow headers and table rows to span multiple lines
578of text. Here is an example:
580 ---------------------------------------------------------------
582 Header Aligned Aligned Default aligned
583 ---------- --------- ----------- ---------------------------
584 First row 12.0 Example of a row that spans
587 Second row 5.0 Here's another one. Note
588 the blank line between rows.
589 ---------------------------------------------------------------
591 Table: Optional caption. This, too, may span multiple
594These work like simple tables, but with the following differences:
596 - They must begin with a row of dashes, before the header text.
597 - They must end with a row of dashes, then a blank line.
598 - The rows must be separated by blank lines.
603If the file begins with a title block
606 % author(s) (separated by commas)
609it will be parsed as bibliographic information, not regular text. (It
610will be used, for example, in the title of standalone LaTeX or HTML
611output.) The block may contain just a title, a title and an author,
612or all three lines. Each must begin with a % and fit on one line.
613The title may contain standard inline formatting. If you want to
614include an author but no title, or a title and a date but no author,
615you need a blank line:
621Titles will be written only when the `--standalone` (`-s`) option is
622chosen. In HTML output, titles will appear twice: once in the
623document head -- this is the title that will appear at the top of the
624window in a browser -- and once at the beginning of the document body.
625The title in the document head can have an optional prefix attached
626(`--title-prefix` or `-T` option). The title in the body appears as
627an H1 element with class "title", so it can be suppressed or
628reformatted with CSS. If a title prefix is specified with `-T` and no
629title block appears in the document, the title prefix will be used by
630itself as the HTML title.
632The man page writer extracts a title, man page section number, and
633other header and footer information from the title line. These should
634be separated by pipe characters (`|`), as follows:
636 % title | section number (1-9) | footer left | header center
640 % pandoc | 1 | Pandoc User Manuals | Version 4.0
642The middle of the man page footer is used for the date.
644Markdown in HTML blocks
645-----------------------
647While standard markdown leaves HTML blocks exactly as they are, Pandoc
648treats text between HTML tags as markdown. Thus, for example, Pandoc
654 <td>[a link](http://google.com)</td>
662 <td><em>one</em></td>
663 <td><a href="http://google.com">a link</a></td>
667whereas `Markdown.pl` will preserve it as is.
669There is one exception to this rule: text between `<script>` and
670`</script>` tags is not interpreted as markdown.
672This departure from standard markdown should make it easier to mix
673markdown with HTML block elements. For example, one can surround
674a block of markdown text with `<div>` tags without preventing it
675from being interpreted as markdown.
677Header identifiers in HTML
678--------------------------
680Each header element in pandoc's HTML output is given a unique
681identifier. This identifier is based on the text of the header. To
682derive the identifier from the header text,
684 - Remove all formatting, links, etc.
685 - Remove all punctuation, except dashes and hyphens.
686 - Replace all spaces, dashes, newlines, and hyphens with hyphens.
687 - Convert all alphabetic characters to lowercase.
691 Header text Identifier
692 --------------------------------- --- --------------------------------
693 Header identifiers in HTML → `header-identifiers-in-html`
694 *Dogs*?--in *my* house? → `dogs--in-my-house`
695 [HTML], [S5], or [RTF]? → `html-s5-or-rtf`
697These rules should, in most cases, allow one to determine the identifier
698from the header text. The exception is when several headers have the
699same text; in this case, the first will get an identifier as described
700above; the second will get the same identifier with `-1` appended; the
701third with `-2`; and so on.
703These identifiers are used to provide link targets in the table of
704contents generated by the `--toc|--table-of-contents` option. They
705also make it easy to provide links from one section of a document to
706another. A link to this section, for example, might look like this:
708 See the section on [header identifiers](#header-identifiers-in-html).
710Note, however, that this method of providing links to sections works
716Pandoc supports emacs-style boxquote block quotes, in addition to
717standard markdown (email-style) block quotes:
720 | They look like this.
723Blank lines before headers and blockquotes
724------------------------------------------
726Standard markdown syntax does not require a blank line before a header
727or blockquote. Pandoc does require this (except, of course, at the
728beginning of the document). The reason for the requirement is that
729it is all too easy for a `>` or `#` to end up at the beginning of a
730line by accident (perhaps through line wrapping). Consider, for
733 I like several of their flavors of ice cream: #22, for example, and
739Anything between two $ characters will be parsed as LaTeX math. The
740opening $ must have a character immediately to its right, while the
741closing $ must have a character immediately to its left. Thus,
742`$20,000 and $30,000` won't parse as math. The $ character can be
743escaped with a backslash if needed.
745If you pass the `-m` (`--asciimathml`) option to `pandoc`, it will
746embed the [ASCIIMathML] script in the resulting HTML. This will
747cause LaTeX math to be displayed as formulas in better
750[ASCIIMathML]: http://www1.chapman.edu/~jipsen/asciimath.html
752Inline LaTeX commands will also be preserved and passed unchanged
753to the LaTeX writer. Thus, for example, you can use LaTeX to
754include BibTeX citations:
756 This result was proved in \cite{jones.1967}.
758You can also use LaTeX environments. For example,
760 \begin{tabular}{|l|l|}\hline
761 Age & Frequency \\ \hline
764 36--45 & 22 \\ \hline
767Note, however, that material between the begin and end tags will
768be interpreted as raw LaTeX, not as markdown.
770[^3]: If you are serving several pages that use ASCIIMathML, it will be
771 more efficient to link to an external copy of `ASCIIMathML.js`
772 instead of using the `-m|--asciimathml` option to embed it directly
773 in web pages. To do this, get a copy of `ASCIIMathML.js` from the
774 [ASCIIMathML] website and make it available on your webserver. Then
775 create a custom header for your web page that includes the line
777 <script src=/path/to/ASCIIMathML.js></script>
782When run with the "standalone" option (`-s`), `pandoc` creates a
783standalone file, complete with an appropriate header. To see the
784default headers used for html and latex, use the following commands:
790If you want to use a different header, just create a file containing
791it and specify it on the command line as follows:
793 pandoc --header=MyHeaderFile
795Producing S5 with Pandoc
796========================
798Producing an [S5] web-based slide show with Pandoc is easy. A title
799page is constructed automatically from the document's title block (see
800above). Each section (with a level-one header) produces a single slide.
801(Note that if the section is too big, the slide will not fit on the page;
802S5 is not smart enough to produce multiple pages.)
804Here's the markdown source for a simple slide show, `eating.txt`:
820To produce the slide show, simply type
822 pandoc -w s5 -s eating.txt > eating.html
824and open up `eating.html` in a browser. The HTML file embeds
825all the required javascript and CSS, so no other files are necessary.
827Note that by default, the S5 writer produces lists that display
828"all at once." If you want your lists to display incrementally
829(one item at a time), use the `-i` option. If you want a
830particular list to depart from the default (that is, to display
831incrementally without the `-i` option and all at once with the
832`-i` option), put it in a block quote:
837In this way incremental and nonincremental lists can be mixed in
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list