git.iko.soy/typeable/pandoc
on 2.2.3 help sign in
typeable/pandoc/README.md
207 lines 9.6 kB history raw
1<!-- Do not edit this file. It is generated automatically from
2README.template and MANUAL.txt via the command:
3pandoc --lua-filter tools/update-readme.lua README.template -o README.md
4-->
6# Pandoc
8[![github
9release](https://img.shields.io/github/release/jgm/pandoc.svg?label=current+release)](https://github.com/jgm/pandoc/releases)
10[![hackage
11release](https://img.shields.io/hackage/v/pandoc.svg?label=hackage)](http://hackage.haskell.org/package/pandoc)
12[![homebrew](https://img.shields.io/homebrew/v/pandoc.svg)](http://brewformulas.org/Pandoc)
13[![stackage LTS
14package](http://stackage.org/package/pandoc/badge/lts)](http://stackage.org/lts/package/pandoc)
15[![travis build
16status](https://img.shields.io/travis/jgm/pandoc/master.svg?label=travis+build)](https://travis-ci.org/jgm/pandoc)
17[![appveyor build
18status](https://ci.appveyor.com/api/projects/status/nvqs4ct090igjiqc?svg=true)](https://ci.appveyor.com/project/jgm/pandoc)
19[![license](https://img.shields.io/badge/license-GPLv2+-lightgray.svg)](https://www.gnu.org/licenses/gpl.html)
20[![pandoc-discuss on google
21groups](https://img.shields.io/badge/pandoc-discuss-red.svg?style=social)](https://groups.google.com/forum/#!forum/pandoc-discuss)
23## The universal markup converter
25Pandoc is a [Haskell](http://haskell.org) library for converting from
26one markup format to another, and a command-line tool that uses this
27library. It can convert *from*
29<div id="input-formats">
31 - `commonmark` ([CommonMark](http://commonmark.org) Markdown)
32 - `creole` ([Creole 1.0](http://www.wikicreole.org/wiki/Creole1.0))
33 - `docbook` ([DocBook](http://docbook.org))
34 - `docx` ([Word docx](https://en.wikipedia.org/wiki/Office_Open_XML))
35 - `epub` ([EPUB](http://idpf.org/epub))
36 - `fb2`
37 ([FictionBook2](http://www.fictionbook.org/index.php/Eng:XML_Schema_Fictionbook_2.1)
38 e-book)
39 - `gfm` ([GitHub-Flavored
40 Markdown](https://help.github.com/articles/github-flavored-markdown/)),
41 or the deprecated and less accurate `markdown_github`; use
42 [`markdown_github`](#markdown-variants) only if you need extensions
43 not supported in [`gfm`](#markdown-variants).
44 - `haddock` ([Haddock
45 markup](https://www.haskell.org/haddock/doc/html/ch03s08.html))
46 - `html` ([HTML](http://www.w3.org/html/))
47 - `jats` ([JATS](https://jats.nlm.nih.gov) XML)
48 - `json` (JSON version of native AST)
49 - `latex` ([LaTeX](http://latex-project.org))
50 - `markdown` ([Pandoc’s Markdown](#pandocs-markdown))
51 - `markdown_mmd`
52 ([MultiMarkdown](http://fletcherpenney.net/multimarkdown/))
53 - `markdown_phpextra` ([PHP Markdown
54 Extra](https://michelf.ca/projects/php-markdown/extra/))
55 - `markdown_strict` (original unextended
56 [Markdown](http://daringfireball.net/projects/markdown/))
57 - `mediawiki` ([MediaWiki
58 markup](https://www.mediawiki.org/wiki/Help:Formatting))
59 - `muse` ([Muse](https://amusewiki.org/library/manual))
60 - `native` (native Haskell)
61 - `odt` ([ODT](http://en.wikipedia.org/wiki/OpenDocument))
62 - `opml` ([OPML](http://dev.opml.org/spec2.html))
63 - `org` ([Emacs Org mode](http://orgmode.org))
64 - `rst`
65 ([reStructuredText](http://docutils.sourceforge.net/docs/ref/rst/introduction.html))
66 - `t2t` ([txt2tags](http://txt2tags.org))
67 - `textile` ([Textile](http://redcloth.org/textile))
68 - `tikiwiki` ([TikiWiki
69 markup](https://doc.tiki.org/Wiki-Syntax-Text#The_Markup_Language_Wiki-Syntax))
70 - `twiki` ([TWiki
71 markup](http://twiki.org/cgi-bin/view/TWiki/TextFormattingRules))
72 - `vimwiki` ([Vimwiki](https://vimwiki.github.io))
74</div>
76It can convert *to*
78<div id="output-formats">
80 - `asciidoc` ([AsciiDoc](http://www.methods.co.nz/asciidoc/))
81 - `beamer` ([LaTeX beamer](https://ctan.org/pkg/beamer) slide show)
82 - `commonmark` ([CommonMark](http://commonmark.org) Markdown)
83 - `context` ([ConTeXt](http://www.contextgarden.net/))
84 - `docbook` or `docbook4` ([DocBook](http://docbook.org) 4)
85 - `docbook5` (DocBook 5)
86 - `docx` ([Word docx](https://en.wikipedia.org/wiki/Office_Open_XML))
87 - `dokuwiki` ([DokuWiki markup](https://www.dokuwiki.org/dokuwiki))
88 - `epub` or `epub3` ([EPUB](http://idpf.org/epub) v3 book)
89 - `epub2` (EPUB v2)
90 - `fb2`
91 ([FictionBook2](http://www.fictionbook.org/index.php/Eng:XML_Schema_Fictionbook_2.1)
92 e-book)
93 - `gfm` ([GitHub-Flavored
94 Markdown](https://help.github.com/articles/github-flavored-markdown/)),
95 or the deprecated and less accurate `markdown_github`; use
96 [`markdown_github`](#markdown-variants) only if you need extensions
97 not supported in [`gfm`](#markdown-variants).
98 - `haddock` ([Haddock
99 markup](https://www.haskell.org/haddock/doc/html/ch03s08.html))
100 - `html` or `html5` ([HTML](http://www.w3.org/html/), i.e.
101 [HTML5](http://www.w3.org/TR/html5/)/XHTML [polyglot
102 markup](https://www.w3.org/TR/html-polyglot/))
103 - `html4` ([XHTML](http://www.w3.org/TR/xhtml1/) 1.0 Transitional)
104 - `icml` ([InDesign
105 ICML](http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/indesign/sdk/cs6/idml/idml-cookbook.pdf))
106 - `jats` ([JATS](https://jats.nlm.nih.gov) XML)
107 - `json` (JSON version of native AST)
108 - `latex` ([LaTeX](http://latex-project.org))
109 - `man` ([groff
110 man](http://man7.org/linux/man-pages/man7/groff_man.7.html))
111 - `markdown` ([Pandoc’s Markdown](#pandocs-markdown))
112 - `markdown_mmd`
113 ([MultiMarkdown](http://fletcherpenney.net/multimarkdown/))
114 - `markdown_phpextra` ([PHP Markdown
115 Extra](https://michelf.ca/projects/php-markdown/extra/))
116 - `markdown_strict` (original unextended
117 [Markdown](http://daringfireball.net/projects/markdown/))
118 - `mediawiki` ([MediaWiki
119 markup](https://www.mediawiki.org/wiki/Help:Formatting))
120 - `ms` ([groff
121 ms](http://man7.org/linux/man-pages/man7/groff_ms.7.html))
122 - `muse` ([Muse](https://amusewiki.org/library/manual)),
123 - `native` (native Haskell),
124 - `odt` ([OpenOffice text
125 document](http://en.wikipedia.org/wiki/OpenDocument))
126 - `opml` ([OPML](http://dev.opml.org/spec2.html))
127 - `opendocument` ([OpenDocument](http://opendocument.xml.org))
128 - `org` ([Emacs Org mode](http://orgmode.org))
129 - `plain` (plain text),
130 - `pptx`
131 ([PowerPoint](https://en.wikipedia.org/wiki/Microsoft_PowerPoint)
132 slide show)
133 - `rst`
134 ([reStructuredText](http://docutils.sourceforge.net/docs/ref/rst/introduction.html))
135 - `rtf` ([Rich Text
136 Format](http://en.wikipedia.org/wiki/Rich_Text_Format))
137 - `texinfo` ([GNU Texinfo](http://www.gnu.org/software/texinfo/))
138 - `textile` ([Textile](http://redcloth.org/textile))
139 - `slideous` ([Slideous](http://goessner.net/articles/slideous/) HTML
140 and JavaScript slide show)
141 - `slidy` ([Slidy](http://www.w3.org/Talks/Tools/Slidy/) HTML and
142 JavaScript slide show)
143 - `dzslides` ([DZSlides](http://paulrouget.com/dzslides/) HTML5 +
144 JavaScript slide show),
145 - `revealjs` ([reveal.js](http://lab.hakim.se/reveal-js/) HTML5 +
146 JavaScript slide show)
147 - `s5` ([S5](http://meyerweb.com/eric/tools/s5/) HTML and JavaScript
148 slide show)
149 - `tei` ([TEI Simple](https://github.com/TEIC/TEI-Simple))
150 - `zimwiki` ([ZimWiki
151 markup](http://zim-wiki.org/manual/Help/Wiki_Syntax.html))
152 - the path of a custom lua writer, see [Custom
153 writers](#custom-writers) below
155</div>
157Pandoc can also produce PDF output via LaTeX, Groff ms, or HTML.
159Pandoc’s enhanced version of Markdown includes syntax for tables,
160definition lists, metadata blocks, footnotes, citations, math, and much
161more. See the User’s Manual below under [Pandoc’s
162Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown).
164Pandoc has a modular design: it consists of a set of readers, which
165parse text in a given format and produce a native representation of the
166document (an *abstract syntax tree* or AST), and a set of writers, which
167convert this native representation into a target format. Thus, adding an
168input or output format requires only adding a reader or writer. Users
169can also run custom pandoc filters to modify the intermediate AST (see
170the documentation for [filters](https://pandoc.org/filters.html) and
171[lua filters](https://pandoc.org/lua-filters.html)).
173Because pandoc’s intermediate representation of a document is less
174expressive than many of the formats it converts between, one should not
175expect perfect conversions between every format and every other. Pandoc
176attempts to preserve the structural elements of a document, but not
177formatting details such as margin size. And some document elements, such
178as complex tables, may not fit into pandoc’s simple document model.
179While conversions from pandoc’s Markdown to all formats aspire to be
180perfect, conversions from formats more expressive than pandoc’s Markdown
181can be expected to be lossy.
183## Installing
185Here’s [how to install pandoc](INSTALL.md).
187## Documentation
189Pandoc’s website contains a full [User’s
190Guide](https://pandoc.org/MANUAL.html). It is also available
191[here](MANUAL.txt) as pandoc-flavored Markdown. The website also
192contains some [examples of the use of
193pandoc](https://pandoc.org/demos.html) and a limited [online
194demo](https://pandoc.org/try).
196## Contributing
198Pull requests, bug reports, and feature requests are welcome. Please
199make sure to read [the contributor guidelines](CONTRIBUTING.md) before
200opening a new issue.
202## License
204© 2006-2018 John MacFarlane (jgm@berkeley.edu). Released under the
205[GPL](http://www.gnu.org/copyleft/gpl.html "GNU General Public License"),
206version 2 or greater. This software carries no warranty of any kind.
207(See COPYRIGHT for full copyright and warranty notices.)