5Pandoc is a [Haskell] library for converting from one markup format to
6another, and a command-line tool that uses this library. It can read
7[markdown] and (subsets of) [reStructuredText], [HTML], and [LaTeX], and
8it can write [markdown], [reStructuredText], [HTML], [LaTeX], [ConTeXt],
9[RTF], [DocBook XML], [groff man] pages, and [S5] HTML slide shows.
10Pandoc's version of markdown contains some enhancements, like footnotes
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[ConTeXt]: http://www.pragma-ade.nl/
26[RTF]: http://en.wikipedia.org/wiki/Rich_Text_Format
27[DocBook XML]: http://www.docbook.org/
28[groff man]: http://developer.apple.com/DOCUMENTATION/Darwin/Reference/ManPages/man7/groff_man.7.html
29[Haskell]: http://www.haskell.org/
31(c) 2006 John MacFarlane (jgm at berkeley dot edu). Released under the
32[GPL], version 2 or greater. This software carries no warranty of
33any kind. (See COPYRIGHT for full copyright and warranty notices.)
34Recai Oktaş (roktas at debian dot org) deserves credit for the build
35system, the debian package, and the robust wrapper scripts.
37[GPL]: http://www.gnu.org/copyleft/gpl.html "GNU General Public License"
42The `pandoc` program itself does not depend on any external libraries
45The wrapper script `html2markdown` requires
47 - `pandoc` (which must be in the PATH)
48 - a POSIX-compliant shell (installed by default on all linux and unix
49 systems, including Mac OS X, and in [Cygwin] for Windows),
51 - `iconv` (for character encoding conversion). (If `iconv` is absent,
52 `html2markdown` will still work, but it will treat everything as UTF-8.)
54The wrapper script `markdown2pdf` requires
56 - `pandoc` (which must be in the PATH)
57 - a POSIX-compliant shell
58 - `pdflatex`, which should be part of any [LaTeX] distribution
59 - the [unicode] and [fancyvrb] LaTeX packages, which are included
60 in many LaTeX distributions.[^1] If your installation of LaTeX
61 does not include these packages, you will get an error (complaining
62 about missing `ucs.sty` or `fancyvrb.sty`) when you try to compile
63 a LaTeX file produced by Pandoc, or when you use the `markdown2pdf`
64 script (described below). If this happens, install the [unicode] and
65 [fancyvrb] packages package from [CTAN]. (Get the zip file from CTAN
66 and unpack it into `~/texmf/tex/latex/`. You may also need to run
67 `mktexlsr` or `texhash` before the files can be found by TeX.)
69The wrapper script `hsmarkdown` requires only a POSIX-compliant shell.
71[Cygwin]: http://www.cygwin.com/
72[HTML Tidy]: http://tidy.sourceforge.net/
73[`iconv`]: http://www.gnu.org/software/libiconv/
74[CTAN]: http://www.ctan.org "Comprehensive TeX Archive Network"
75[unicode]: http://www.ctan.org/tex-archive/macros/latex/contrib/unicode/
76[fancyvrb]: http://www.ctan.org/tex-archive/macros/latex/contrib/fancyvrb/
78[^1]: The [unicode] package allows LaTeX to process UTF-8 characters.
79[fancyvrb] allows code blocks and verbatim text to be used within
85If you run `pandoc` without arguments, it will accept input from
86STDIN. If you run it with file names as arguments, it will take input
87from those files. By default, `pandoc` writes its output to STDOUT.
88If you want to write to a file, use the `-o` option:
90 pandoc -o hello.html hello.txt
92Note that you can specify multiple input files on the command line.
93`pandoc` will concatenate them all (with blank lines between them)
96 pandoc -s chapter1.txt chapter2.txt references.txt > book.html
98(The `-s` option here tells `pandoc` to produce a standalone HTML file,
99with a proper header, rather than a fragment. For more details on this
100and many other command-line options, see below.)
102The format of the input and output can be specified explicitly using
103command-line options. The input format can be specified using the
104`-r/--read` or `-f/--from` options, the output format using the
105`-w/--write` or `-t/--to` options. Thus, to convert `hello.txt` from
106markdown to LaTeX, you could type:
108 pandoc -f markdown -t latex hello.txt
110To convert `hello.html` from html to markdown:
112 pandoc -f html -t markdown hello.html
114Supported output formats include `markdown`, `latex`, `context`
115(ConTeXt), `html`, `rtf` (rich text format), `rst` (reStructuredText),
116`docbook` (DocBook XML), `man` (groff man), and `s5` (which produces an
117HTML file that acts like powerpoint). Supported input formats include
118`markdown`, `html`, `latex`, and `rst`. Note that the `rst` reader only
119parses a subset of reStructuredText syntax. For example, it doesn't
120handle tables, definition lists, option lists, or footnotes. It handles
121only the constructs expressible in unextended markdown. But for simple
122documents it should be adequate. The `latex` and `html` readers are also
123limited in what they can do. Because the `html` reader is picky about
124the HTML it parses, it is recommended that you pipe HTML through [HTML
125Tidy] before sending it to `pandoc`, or use the `html2markdown` script
128If you don't specify a reader or writer explicitly, `pandoc` will
129try to determine the input and output format from the extensions of
130the input and output filenames. Thus, for example,
132 pandoc -o hello.tex hello.txt
134will convert `hello.txt` from markdown to LaTeX. If no output file
135is specified (so that output goes to STDOUT), or if the output file's
136extension is unknown, the output format will default to HTML.
137If no input file is specified (so that input comes from STDIN), or
138if the input files' extensions are unknown, the input format will
139be assumed to be markdown unless explicitly specified.
144All input is assumed to be in the UTF-8 encoding, and all output
145is in UTF-8. If your local character encoding is not UTF-8 and you use
146accented or foreign characters, you should pipe the input and output
147through [`iconv`]. For example,
149 iconv -t utf-8 source.txt | pandoc | iconv -f utf-8 > output.html
151will convert `source.txt` from the local encoding to UTF-8, then
152convert it to HTML, then convert back to the local encoding,
153putting the output in `output.html`.
155The shell scripts (described below) automatically convert the input
156from the local encoding to UTF-8 before running them through `pandoc`,
157then convert the output back to the local encoding.
162Three shell scripts, `markdown2pdf`, `html2markdown`, and `hsmarkdown`,
163are included in the standard Pandoc installation. (They are not included
164in the Windows binary package, as they require a POSIX shell, but they
165may be used in Windows under Cygwin.)
1671. `markdown2pdf` produces a PDF file from markdown-formatted
168 text, using `pandoc` and `pdflatex`. The default
169 behavior of `markdown2pdf` is to create a file with the same
170 base name as the first argument and the extension `pdf`; thus,
173 markdown2pdf sample.txt endnotes.txt
175 will produce `sample.pdf`. (If `sample.pdf` exists already,
176 it will be backed up before being overwritten.) An output file
177 name can be specified explicitly using the `-o` option:
179 markdown2pdf -o "My Book.pdf" chap1.txt chap2.txt chap3.txt
181 If no input file is specified, input will be taken from STDIN.
182 All of `pandoc`'s options will work with `markdown2pdf` as well.
1842. `html2markdown` grabs a web page from a file or URL and converts
185 it to markdown-formatted text, using `tidy` and `pandoc`.
187 All of `pandoc`'s options will work with `html2markdown` as well.
188 In addition, the following special options may be used.
189 The special options must be separated from the `html2markdown`
190 command and any regular Pandoc options by the delimiter `--`:
192 html2markdown -o out.txt -- -e latin1 -g curl google.com
194 The `-e` or `--encoding` option specifies the character encoding
195 of the HTML input. If this option is not specified, and input
196 is not from STDIN, `html2markdown` will attempt to determine the
197 page's character encoding from the "Content-type" meta tag.
198 If this is not present, UTF-8 is assumed.
200 The `-g` or `--grabber` option specifies the command to be used to
201 fetch the contents of a URL:
203 html2markdown -g 'curl --user foo:bar' www.mysite.com
205 If this option is not specified, `html2markdown` searches for an
206 available program (`wget`, `curl`, or a text-mode browser) to fetch
207 the contents of a URL.
2093. `hsmarkdown` is designed to be used as a drop-in replacement for
210 `Markdown.pl`. It forces `pandoc` to convert from markdown to
211 HTML, and to use the `--strict` flag for maximal compliance with
212 official markdown syntax. (All of Pandoc's syntax extensions and
213 variants, described below, are disabled.) No other command-line
214 options are allowed. (In fact, options will be interpreted as
217 As an alternative to using the `hsmarkdown` shell script, the
218 user may create a symbolic link to `pandoc` called `hsmarkdown`.
219 When invoked under the name `hsmarkdown`, `pandoc` will behave
220 as if the `--strict` flag had been selected, and no command-line
221 options will be recognized. However, this approach does not work
222 under Cygwin, due to problems with its simulation of symbolic
228Various command-line options can be used to customize the output.
229For further documentation, see the `pandoc(1)` man page.
231`-f`, `--from`, `-r`, or `--read` can be used to specify the input
232format -- the format Pandoc will be converting *from*. Available
233formats are `native`, `markdown`, `rst`, `html`, and `latex`.
235`-t`, `--to`, `-w`, or `--write` can be used to specify the output
236format -- the format Pandoc will be converting *to*. Available formats
237are `native`, `html`, `s5`, `docbook`, `latex`, `context`, `markdown`,
240`-s` or `--standalone` indicates that a standalone document is to be
241produced (with appropriate headers and footers), rather than a fragment.
243`-o` or `--output` specifies the name of the output file. If this
244option is not specified, or if its argument is `-`, output will be sent
247`-p` or `--preserve-tabs` causes tabs in the source text to be
248preserved, rather than converted to spaces (the default).
250`--tabstop` allows the user to set the tab stop (which defaults to 4).
252`--strict` specifies that strict markdown syntax is to be used, without
253pandoc's usual extensions and variants (described below).
255`--reference-links` causes reference-style links to be used in markdown
256and reStructuredText output. By default inline links are used.
258`-R` or `--parse-raw` causes the HTML and LaTeX readers to parse HTML
259codes and LaTeX environments that it can't translate as raw HTML or
260LaTeX. Raw HTML can be printed in markdown, reStructuredText, HTML,
261and S5 output; raw LaTeX can be printed in markdown, reStructuredText,
262LaTeX, and ConTeXt output. The default is for the readers to omit
263untranslatable HTML codes and LaTeX environments. (The LaTeX reader
264does pass through untranslatable LaTeX commands, even if `-R` is not
267`-C` or `--custom-header` can be used to specify a custom document
268header. To see the headers used by default, use the `-D` option:
269for example, `pandoc -D html` prints the default HTML header.
271`--toc` or `--table-of-contents` includes an automatically generated
272table of contents (or, in the case of `latex`, `context`, and `rst`, an
273instruction to create one) in the output document. This option has no
274effect with `man`, `docbook`, or `s5` output formats.
276`-c` or `--css` allows the user to specify a custom stylesheet that
277will be linked to in HTML and S5 output.
279`-H` or `--include-in-header` specifies a file to be included
280(verbatim) at the end of the document header. This can be used, for
281example, to include special CSS or javascript in HTML documents.
283`-B` or `--include-before-body` specifies a file to be included
284(verbatim) at the beginning of the document body (e.g. after the `<body>`
285tag in HTML, or the `\begin{document}` command in LaTeX). This can be
286used to include navigation bars or banners in HTML documents.
288`-A` or `--include-after-body` specifies a file to be included
289(verbatim) at the end of the document body (before the `</body>` tag in
290HTML, or the `\end{document}` command in LaTeX).
292`-T` or `--title-prefix` specifies a string to be included as a prefix
293at the beginning of the title that appears in the HTML header (but not
294in the title as it appears at the beginning of the HTML body). (See
297`-S` or `--smart` causes `pandoc` to produce typographically
298correct output, along the lines of John Gruber's [Smartypants].
299Straight quotes are converted to curly quotes, `---` to dashes, and
300`...` to ellipses. (Note: This option is only significant when
301the input format is `markdown`. It is selected automatically
302when the output format is `latex` or `context`.)
304[Smartypants]: http://daringfireball.net/projects/smartypants/
306`-m` or `--asciimathml` will cause LaTeX formulas (between $ signs) in
307HTML or S5 to display as formulas rather than as code. The trick will
308not work in all browsers, but it works in Firefox. Peter Jipsen's
309[ASCIIMathML] script is used to do the magic.
311[ASCIIMathML]: http://www1.chapman.edu/~jipsen/mathml/asciimath.html
313`-i` or `--incremental` causes all lists in S5 output to be displayed
314incrementally by default (one item at a time). The normal default
315is for lists to be displayed all at once.
317`-N` or `--number-sections` causes sections to be numbered in LaTeX
318or ConTeXt output. By default, sections are not numbered.
320`--dump-args` is intended to make it easier to create wrapper scripts
321that use Pandoc. It causes Pandoc to dump information about the arguments
322with which it was called to STDOUT, then exit. The first line printed
323is the name of the output file specified using the `-o` or `--output`
324option, or `-` if output would go to STDOUT. The remaining lines, if any,
325list command-line arguments. These will include the names of input
326files and any special options passed after ` -- ` on the command line.
329 pandoc --dump-args -o foo.html -s foo.txt appendix.txt -- -e latin1
331will cause the following to be printed to STDOUT:
339`--ignore-args` causes Pandoc to ignore all command-line arguments.
340Regular Pandoc options are not ignored. Thus, for example,
342 pandoc --ignore-args -o foo.html -s foo.txt -- -e latin1
346 pandoc -o foo.html -s
348`-v` or `--version` prints the version number to STDERR.
350`-h` or `--help` prints a usage message to STDERR.
352Pandoc's markdown vs. standard markdown
353=======================================
355In parsing markdown, Pandoc departs from and extends [standard markdown]
356in a few respects. (To run Pandoc on the official markdown test suite,
357type `make test-markdown`.) Except where noted, these differences can
358be suppressed by specifying the `--strict` command-line option or by
359using the `hsmarkdown` wrapper.
361[standard markdown]: http://daringfireball.net/projects/markdown/syntax
362 "Markdown syntax description"
367Except inside a code block or inline code, any punctuation or space
368character preceded by a backslash will be treated literally, even if it
369would normally indicate formatting. Thus, for example, if one writes
379 <strong>hello</strong>
381This rule is easier to remember than standard markdown's rule,
382which allows only the following characters to be backslash-escaped:
389Pandoc behaves differently from standard markdown on some "edge
390cases" involving lists. Consider this source:
400Pandoc transforms this into a "compact list" (with no `<p>` tags
401around "First", "Second", or "Third"), while markdown puts `<p>`
402tags around "Second" and "Third" (but not "First"), because of
403the blank space around "Third". Pandoc follows a simple rule:
404if the text is followed by a blank line, it is treated as a
405paragraph. Since "Second" is followed by a list, and not a blank
406line, it isn't treated as a paragraph. The fact that the list
407is followed by a blank line is irrelevant. (Note: Pandoc works
408this way even when the `--strict` option is specified. This
409behavior is consistent with the official markdown syntax
410description, even though it is different from that of `Markdown.pl`.)
412Unlike standard markdown, Pandoc allows ordered list items to be
413marked with single lowercase letters (from 'a' to 'n'), instead of
414numbers. So, for example, this source yields a nested ordered list:
422The letters may be followed by either '.' or ')':
430Note that Pandoc pays no attention to the *type* of ordered list
431item marker used. Thus, the following is treated just the same as
443Pandoc supports definition lists, using a syntax inspired by
444[PHP Markdown Extra] and [reStructuredText]:
446 [PHP Markdown Extra]: http://www.michelf.com/projects/php-markdown/extra/
454 : Second paragraph of definition 2.
456Each term must fit on one line. The definition must begin on the line
457after the term. The definition consists of one or more block elements
458(paragraph, code block, list, etc.), each beginning with a colon and
459(aside from the colon) indented one tab stop.
461 Term *with inline markup*
462 : Here is the definition. It may
463 contain multiple blocks. Here is some code:
467 : Here is the third paragraph of this definition.
469If you leave space after the definition (as in the first example above),
470the definitions will be considered paragraphs. In some output formats,
471this will mean greater spacing between term/definition pairs. For a
472compact definition list, do not leave space between the definition and
483Pandoc allows implicit reference links with just a single set of
484brackets. So, the following links are equivalent:
487 2. Here's my [link][]
491(Note: Pandoc works this way even if `--strict` is specified, because
492`Markdown.pl` 1.0.2b7 allows single-bracket links.)
497Pandoc's markdown allows footnotes, using the following syntax:
499 Here is a footnote reference,[^1] and another.[^longnote]
501 [^1]: Here is the footnote. It can go anywhere in the document,
502 except in embedded contexts like block quotes or lists.
504 [^longnote]: Here's the other note. This one contains multiple
507 Subsequent paragraphs are indented to show that they belong to
508 the previous footnote.
512 The whole paragraph can be indented, or just the first line.
513 In this way, multi-paragraph footnotes work just like
514 multi-paragraph list items in markdown.
516 This paragraph won't be part of the note, because it isn't indented.
518The identifiers in footnote references may not contain spaces, tabs,
519or newlines. These identifiers are used only to correlate the
520footnote reference with the note itself; in the output, footnotes
521will be numbered sequentially.
523The footnotes themselves need not be placed at the end of the
524document. They may appear anywhere except inside other block elements
525(lists, block quotes, tables, etc.).
527Inline footnotes are also allowed (though, unlike regular notes,
528they cannot contain multiple paragraphs). The syntax is as follows:
530 Here is an inline note.^[Inlines notes are easier to write, since
531 you don't have to pick an identifier and move down to type the
534Inline and regular footnotes may be mixed freely.
539Two kinds of tables may be used. Both kinds presuppose the use of
540a fixed-width font, such as Courier.
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