Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
pandoc-server(1)	      Pandoc User's Guide	      pandoc-server(1)

SYNOPSIS
       pandoc-server [options]

DESCRIPTION
       pandoc-server  is a web server that can perform pandoc conversions.  It
       can be used either as a running server or as a CGI program.

       To use pandoc-server as a CGI program, rename it	 (or  symlink  it)  as
       pandoc-server.cgi.   (Note:  if	you symlink it,	you may	need to	adjust
       your webserver's	configuration in order to allow	it to follow  symlinks
       for the CGI script.)

       All  pandoc  functions  are  run	in the PandocPure monad, which ensures
       that they can do	no I/O operations on the server.  This should  provide
       a high degree of	security.  This	security does, however,	impose certain
       limitations:

        PDFs cannot be	produced.

        Filters are not supported.

        Resources cannot be fetched via HTTP.

        Any images, include files, or other resources needed for the document
	 conversion  must be explicitly	included in the	request, via the files
	 field (see below under	API).

OPTIONS
       --port NUM
	      HTTP port	on which to run	the server.  Default: 3030.

       --timeout SECONDS
	      Timeout in seconds, after	which a	 conversion  is	 killed.   De-
	      fault: 2.
	      When  pandoc-server  is run as a CGI program, this option	can be
	      set via the PANDOC_SERVER_TIMEOUT	environment variable.

       --help Print this help.

       --version
	      Print version.

API
   Root	endpoint
       The root	(/) endpoint accepts only POST requests.

   Response
       It returns a converted document in one of the following formats (in or-
       der of preference), depending on	the Accept header:

        application/octet-stream

        text/plain

        application/json

       If the result is	a binary format	(e.g., epub or docx) and  the  content
       is returned as plain text or JSON, the binary will be base64 encoded.

       If a JSON response is given, it will have one of	the following formats.
       If the conversion is not	successful:

	      {	"error": string	with the error message }

       If the conversion is successful:

	      {	"output": string with textual or base64-encoded	binary output,
		"base64": boolean (true	means the "output" is base64-encoded),
		"messages": array of message objects (see below) }

       Each element of the "messages" array will have the format

	      {	"message": string,
		"verbosity": string (either "WARNING" or "INFO") }

   Request
       The  body of the	POST request should be a JSON object, with the follow-
       ing fields.  Only the text field	is required; all of the	others can  be
       omitted	for  default  values.	When there are several string alterna-
       tives, the first	one given is the default.

       text (string)
	      The document to be converted.  Note: if the from format  is  bi-
	      nary (e.g., epub or docx), then text should be a base64 encoding
	      of the document.

       from (string, default "markdown")
	      The input	format,	possibly with extensions, just as it is	speci-
	      fied on the pandoc command line.

       to (string, default "html")
	      The output format, possibly with extensions, just	as it is spec-
	      ified on the pandoc command line.

       shift-heading-level-by (integer,	default	0)
	      Increase or decrease the level of	all headings.

       indented-code-classes (array of strings)
	      List of classes to be applied to indented	Markdown code blocks.

       default-image-extension (string)
	      Extension	 to  be	 applied to image sources that lack extensions
	      (e.g. ".jpg").

       metadata	(JSON map)
	      String-valued metadata.

       tab-stop	(integer, default 4)
	      Tab stop (spaces per tab).

       track-changes ("accept"|"reject"|"all")
	      Specifies	what to	do with	insertions,  deletions,	 and  comments
	      produced	by  the	MS Word	"Track Changes"	feature.  Only affects
	      docx input.

       abbreviations (file path)
	      List of strings to be regarded  as  abbreviations	 when  parsing
	      Markdown.	 See --abbreviations in	pandoc(1) for details.

       standalone (boolean, default false)
	      If  true,	causes a standalone document to	be produced, using the
	      default template or the custom  template	specified  using  tem-
	      plate.  If false,	a fragment will	be produced.

       template	(string)
	      String  contents	of  a document template	(see Templates in pan-
	      doc(1) for the format).

       variables (JSON map)
	      Variables	to be interpolated in the template.  (See Templates in
	      pandoc(1).)

       dpi (integer, default 96)
	      Dots-per-inch to use for conversions between  pixels  and	 other
	      measurements (for	image sizes).

       wrap ("auto"|"preserve"|"none")
	      Text  wrapping option: either "auto" (automatic hard-wrapping to
	      fit within a column width), "preserve"  (insert  newlines	 where
	      they are present in the source), or "none" (don't	insert any un-
	      necessary	newlines at all).

       columns (integer, default 72)
	      Column  width  (affects  text  wrapping and calculation of table
	      column widths in plain text formats)

       table-of-contents (boolean, default false)
	      Include a	table of contents (in supported	formats).

       toc-depth (integer, default 3)
	      Depth of sections	to include in the table	of contents.

       list-of-figures (boolean, default false)
	      Include a	list of	figures	(in supported formats).

       list-of-tables (boolean,	default	false)
	      Include a	list of	tables (in supported formats).

       strip-comments (boolean,	default	false)
	      Causes HTML comments to  be  stripped  in	 Markdown  or  Textile
	      source, instead of being passed through to the output format.

       syntax-highlighting ("default"|"none"|"idiomatic"|style)
	      The  method  used	 for code syntax highlighting.	Setting	a spe-
	      cific style causes highlighting to be performed with the	inter-
	      nal  highlighting	 engine,  using	 KDE  syntax  definitions  and
	      styles.  The "idiomatic" method  uses  a	format-specific	 high-
	      lighter  if one is available, or the default style if the	target
	      format has no idiomatic highlighting method.  Setting  this  op-
	      tion  to	none  disables all syntax highlighting.	 The "default"
	      method uses a format-specific default.

	      Standard styles are "pygments"  (the  default),  "kate",	"mono-
	      chrome",	"breezeDark",  "espresso",  "zenburn",	"haddock", and
	      "tango".	Alternatively, the path	of a .theme with a KDE	syntax
	      theme may	be used	(in this case, the relevant file contents must
	      also be included in files, see below).

	      The  default  for	HTML, EPUB, Docx, Ms, Man, and LaTeX output is
	      to use the internal highlighter with the	default	 style;	 Typst
	      output  relies  on Typst's own syntax highlighting system	by de-
	      fault.

       embed-resources
	      Embed images, scripts, styles and	other  resources  in  an  HTML
	      document	using  data URIs.  Note	that this will not work	unless
	      the contents of all external resources are included under	files.

       html-q-tags (boolean, default false)
	      Use <q> elements in HTML instead of literal quotation marks.

       ascii (boolean, default false)
	      Use entities and escapes when possible to	avoid non-ASCII	 char-
	      acters in	the output.

       reference-links (boolean, default false)
	      Create reference links rather than inline	links in Markdown out-
	      put.

       reference-location ("document"|"section"|"block")
	      Determines  whether  link	references and footnotes are placed at
	      the end of the document, the end of the section, or the  end  of
	      the  block (e.g. paragraph), in certain formats.	(See pandoc(1)
	      under --reference-location.)

       setext-headers (boolean,	default	false)
	      Use Setext (underlined) headings instead of ATX (#-prefixed)  in
	      Markdown output.

       top-level-division ("default"|"part"|"chapter"|"section")
	      Determines how top-level headings	are interpreted	in LaTeX, Con-
	      TeXt, DocBook, and TEI.  The "default" value tries to choose the
	      best interpretation based	on heuristics.

       number-sections (boolean, default false)
	      Automatically number sections (in	supported formats).

       number-offset (array of integers)
	      Offsets  to  be  added  to each component	of the section number.
	      For example, [1] will cause the first section to be numbered "2"
	      and the first subsection "2.1"; [0,1] will cause the first  sec-
	      tion to be numbered "1" and the first subsection "1.2."

       html-math-method	("plain"|"webtex"|"gladtex"|"mathml"|"mathjax"|"ka-
       tex")
	      Determines how math is represented in HTML.

       listings	(boolean, default false)
	      Use the listings package to format code in LaTeX output.

       incremental (boolean, default false)
	      If true, lists appear incrementally by default in	slide shows.

       slide-level (integer)
	      Heading  level  that  deterimes  slide divisions in slide	shows.
	      The default is to	pick the highest  heading  level  under	 which
	      there is body text.

       section-divs (boolean, default false)
	      Arrange  the  document into a hierarchy of nested	sections based
	      on the headings.

       email-obfuscation ("none"|"references"|"javascript")
	      Determines how email addresses are obfuscated in HTML.

       identifier-prefix (string)
	      Prefix to	be added to all	automatically-generated	identifiers.

       title-prefix (string)
	      Prefix to	be added to the	title in the HTML header.

       reference-doc (file path)
	      Reference	doc to use in creating docx or odt or pptx.  See  pan-
	      doc(1)  under  --reference-doc for details.  The contents	of the
	      file must	be included under files.

       split-level (integer, default 1)
	      Heading level at which documents are split in  EPUB  or  chunked
	      HTML.

       epub-cover-image	(file path)
	      Cover image for EPUB.  The contents of the file must be included
	      under files.

       epub-metadata (file path)
	      Path  of file containing Dublin core XML elements	to be used for
	      EPUB metadata.  The contents of the file must be included	 under
	      files.

       epub-subdirectory (string, default "EPUB")
	      Name of content subdirectory in the EPUB container.

       epub-fonts (array of file paths)
	      Fonts  to	include	in the EPUB.  The fonts	themselves must	be in-
	      cluded in	files (see below).

       ipynb-output ("best"|"all"|"none")
	      Determines how ipynb output cells	are treated.  all  means  that
	      all  of the data formats included	in the original	are preserved.
	      none means that the contents of data cells  are  omitted.	  best
	      causes pandoc to try to pick the richest data block in each out-
	      put cell that is compatible with the output format.

       citeproc	(boolean, default false)
	      Causes  citations	to be processed	using citeproc.	 See Citations
	      in pandoc(1) for details.

       bibliography (array of file paths)
	      Files containing bibliographic data.  The	contents of the	 files
	      must be included in files.

       csl (file path)
	      CSL  style  file.	  The contents of the file must	be included in
	      files.

       cite-method ("citeproc"|"natbib"|"biblatex")
	      Determines how citations are formatted in	LaTeX output.

       files (JSON mapping of file paths to base64-encoded strings)
	      Any files	needed for the conversion, including  images  referred
	      to in the	document source, should	be included here.  Binary data
	      must  be base64-encoded.	Textual	data may be left as it is, un-
	      less it is also valid base 64 data, in which case	it will	be in-
	      terpreted	that way.

   /batch endpoint
       The /batch endpoint behaves like	the root endpoint,  except  for	 these
       two points:

        It  accepts a JSON array, each	element	of which is a JSON object like
	 the one expected by the root endpoint.

        It returns a JSON array of JSON results.

       This endpoint can be used to convert a sequence of  small  snippets  in
       one request.

   /version endpoint
       The /version endpoint accepts a GET request and returns the pandoc ver-
       sion as a plain or JSON-encoded string, depending on Accept headers.

   /babelmark endpoint
       The  /babelmark endpoint	accepts	a GET request with the following query
       parameters:

        text (required	string)

        from (optional	string,	default	is "markdown")

        to (optional string, default is "html")

        standalone (optional boolean, default is false)

       It returns a JSON object	with fields html and version.	This  endpoint
       is designed to support the Babelmark website.

AUTHORS
       Copyright  2022 John MacFarlane (jgm@berkeley.edu).  Released under the
       GPL, version 2 or greater.  This	software carries no  warranty  of  any
       kind.  (See COPYRIGHT for full copyright	and warranty notices.)

       The   Pandoc   source   code  may  be  downloaded  from	<https://hack-
       age.haskell.org/package/pandoc>	or  <https://github.com/jgm/pandoc/re-
       leases>.	 Further documentation is available at <https://pandoc.org>.

pandoc 3.8.1			August 15, 2022		      pandoc-server(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pandoc-server&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help