Pandoc Web is a client-side app that lets you edit, preview and convert between documents written in various markup languages in your browser. Functions are based on Pandoc your swiss-army knife for converting files.
You can convert from (click to show):
- BibLaTeX bibliography
- BibTeX bibliography
- Creole 1.0
- CSL JSON bibliography
- CSV table
- DocBook
- DokuWiki markup
- Emacs Org mode
- EndNote XML bibliography
- EPUB (file input)
- FictionBook2 e-book
- Haddock markup
- HTML
- JATS XML
- Jira/Confluence wiki markup
- JSON version of native AST
- Jupyter notebook
- LaTeX
- Markdown (CommonMark)
- Markdown (CommonMark with extensions)
- Markdown (GitHub-Flavored)
- Markdown (Multi)
- Markdown (original unextended)
- Markdown (Pandoc’s)
- Markdown PHP Extra
- MediaWiki markup
- Muse
- native Haskell
- ODT (file input)
- OPML
- reStructuredText
- Rich Text Format
- RIS bibliography
- roff man
- Textile
- TikiWiki markup
- TSV table
- TWiki markup
- txt2tags
- typst
- Vimwiki
- Word docx (file input)
You can convert to (click to show):
- Preview
- alias for jats_archiving
- AsciiDoc (modern) as interpreted by AsciiDoctor
- AsciiDoc as interpreted by asciidoc-py
- BibLaTeX bibliography
- BibTeX bibliography
- ConTeXt
- CSL JSON bibliography
- DocBook 4
- DocBook 5
- DokuWiki markup
- Emacs Org mode
- EPUB v2
- EPUB v3 book
- FictionBook2 e-book
- GNU Texinfo
- Haddock markup
- HTML
- InDesign ICML
- JATS XML, Archiving and Interchange Tag Set
- JATS XML, Article Authoring Tag Set
- JATS XML, Journal Publishing Tag Set
- Jira/Confluence wiki markup
- JSON version of native AST
- Jupyter notebook
- LaTeX
- Markdown (CommonMark)
- Markdown (CommonMark with extensions)
- Markdown (GitHub-Flavored)
- Markdown (Multi)
- Markdown (original unextended)
- Markdown (Pandoc’s)
- Markdown PHP Extra
- Markua
- MediaWiki markup
- Muse
- native Haskell
- OpenDocument
- OpenOffice text document
- OPML
- plain text
- PowerPoint
- reStructuredText
- Rich Text Format
- roff man
- roff ms
- Slide Show - DZSlides HTML5 + JavaScript
- Slide Show - LaTeX beamer
- Slide Show - reveal.js HTML5 + JavaScript
- Slide Show - S5 HTML and JavaScript
- Slide Show - Slideous HTML and JavaScript
- Slide Show - Slidy HTML and JavaScript
- TEI Simple
- Textile
- typst
- Word docx
- XHTML 1.0 Transitional
- XWiki markup
- ZimWiki markup
- zip archive of multiple linked HTML files
You have some options. For more detailed informations see pandocs manual.
Produce output with an appropriate header and footer (e.g. a standalone HTML, LaTeX, TEI, or RTF file, not a fragment).
This option is set automatically for PDF, EPUB, FictionBook2 e-book, Word docx and OpenOffice text document odt output.
Include an automatically generated table of contents (or, in the case of latex, context, docx, odt, opendocument, rst, or ms, an instruction to create one) in the output document. This option checks option ‘Standalone’ as this is required.
Option ‘TOC’ has no effect on roff man, DocBook4, DocBook5 or all JATS XML output.
Number section headings in LaTeX, ConTeXt, HTML, Word docx, roff ms, EPUB or Preview output.
Process the citations in the file, replacing them with rendered citations and adding a bibliography. Citation processing will not take place unless bibliographic data is supplied through the bibliography field in metadata, or via a references section in metadata containing a list of citations in CSL YAML format with Markdown formatting.
For more information see the pandoc manual section on Citations.
Determine how text is wrapped in the output (the source code, not the
rendered version). With Auto
pandoc will attempt to wrap lines to the
column width (72). With None
pandoc will not wrap lines at all. With
Preserve
pandoc will attempt to preserve the wrapping from the source
document (that is, where there are nonsemantic newlines in the source,
there will be nonsemantic newlines in the output as well). In Jupyter
notebook (ipynb) output, this option affects wrapping of the contents of
markdown cells.
Specifies the coloring style to be used in highlighted source code.
None
disables syntax highlighting for code blocks and inlines. Other
options are Pygments
, Breeze
, Espresso
, Haddock
, Kate
,
Monochrome
, Tango
and Zenburn
.
The default Plain
is to render TeX math as far as possible using
Unicode characters. Formulas are put inside a span
with
class="math"
, so that they may be styled differently from the
surrounding text if needed. However, this gives acceptable results only
for basic math, usually you will want to use another of the options
GladTeX
, KaTeX
, MathJax
, MathML
or WebTeX
.
For more information see the pandoc manual section on Math rendering in HTML.
To just play a bit with all the options above click the button
Use markdown example
.
Instead of typing text in the input field provide an input file. Remember to choose the correct input format too.
The input file is sent to the server for conversion and then immediately deleted on the server.
Normally all output will be seen on the output field. But you can create a file by checking it. After converting you will get a download link offered.
After conversion and sending back to the client the output file is also immediately deleted from the server.
Of course your server needs Pandoc. You find Pandoc installing instructions on github.
To create PDFs you need ConTeXt. You can find informations on how to install ConTeXt.
You might also like to read the security instructions at How to increase security for pandoc on server. But don't panic, these advices are implemented in the code.
The easiest way to get a installation of Pandoc Web itself is to clone this repo.
$ git clone https://github.com/SimpelMe/pandoc-web
Then rename the localConfig_example.php
to localConfig.php
and set
both pathes to your pandoc
and context
on your server.
// both pathes to pandoc and to context (context is needed for pdf)
define('PATH', '/Users/me/.pandoc/bin/:/Users/me/context/tex/texmf-osx-arm64/bin/');
It sets the value of the servers environment variable PATH
.
Then open index.php
and remove two lines. Because those embed my personal website header and you don't have this code.
First remove in <head>
:
<?php include dirname($_SERVER['DOCUMENT_ROOT']) . "/simpel.cc/php/head.php"; ?>
Second remove in <header>
:
<?php include dirname($_SERVER['DOCUMENT_ROOT']) . "/simpel.cc/php/header.php"; ?>
You can get debugging infos in the output field from your servers actions. Place a file called DEBUG
on the server.