2007-07-16 18:30:04 +02:00
|
|
|
% Installing pandoc
|
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
These instructions explain how to install pandoc from source.
|
|
|
|
Binary packages or ports of pandoc are available for freebsd
|
|
|
|
and several linux distributions, so check your package manager.
|
|
|
|
There is also a Windows installer.
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
Quick install
|
|
|
|
-------------
|
2008-08-08 02:11:58 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
1. Install the [Haskell platform]. This will give you [GHC] and
|
|
|
|
the [cabal-install] build tool.
|
2008-08-08 02:11:58 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
2. Use `cabal` to install pandoc and its dependencies:
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
cabal install pandoc
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
If you want support for source code syntax highlighting, set
|
|
|
|
the `highlighting` flag:
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
cabal install -fhighlighting pandoc
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-04 03:57:43 +01:00
|
|
|
This procedure will install the released version of pandoc,
|
|
|
|
which will be downloaded automatically from HackageDB.
|
|
|
|
If you want to install a modified or development version
|
|
|
|
of pandoc instead, switch to the source directory and do
|
|
|
|
as above, but without the 'pandoc':
|
|
|
|
|
|
|
|
cabal install
|
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
3. Make sure the `$CABALDIR/bin` directory is in your path. You should
|
|
|
|
now be able to run `pandoc`:
|
2006-11-19 22:24:33 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
pandoc --help
|
2008-09-06 20:33:39 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
4. Make sure the `$CABALDIR/share/man/man1` directory is in your `MANPATH`.
|
|
|
|
You should now be able to access the `pandoc` man page:
|
2008-09-06 20:33:39 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
man pandoc
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
[GHC]: http://www.haskell.org/ghc/
|
|
|
|
[Haskell platform]: http://hackage.haskell.org/platform/
|
|
|
|
[cabal-install]: http://hackage.haskell.org/trac/hackage/wiki/CabalInstall
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
Custom install
|
|
|
|
--------------
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
This is a step-by-step procedure that offers maximal control
|
|
|
|
over the build and installation. Most users should use the
|
|
|
|
quick install, but this information may be of use to packagers.
|
|
|
|
For more details, see the [Cabal User's Guide].
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
1. Install dependencies: in addition to the [Haskell platform],
|
|
|
|
you will need [zip-archive] and (if you want syntax highlighting)
|
|
|
|
[highlighting-kate].
|
2007-01-04 02:23:07 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
2. Configure:
|
2007-01-04 02:23:07 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
runghc Setup.hs configure --prefix=DIR --bindir=DIR --libdir=DIR \
|
|
|
|
--datadir=DIR --libsubdir=DIR --datasubdir=DIR --docdir=DIR \
|
|
|
|
--htmldir=DIR --program-prefix=PREFIX --program-suffix=SUFFIX \
|
|
|
|
--mandir=DIR --flags=FLAGSPEC
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
All of the options have sensible defaults that can be overridden
|
|
|
|
as needed.
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
`FLAGSPEC` is a list of Cabal configuration flags, optionally
|
|
|
|
preceded by a `-` (to force the flag to `false`), and separated
|
|
|
|
by spaces. Pandoc's flags include:
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
- `executable`: build the pandoc executable (default yes)
|
2010-04-10 20:16:48 +02:00
|
|
|
- `wrappers`: build the wrapper `markdown2pdf` (default yes)
|
2010-02-03 09:27:31 +01:00
|
|
|
- `highlighting`: compile with syntax highlighting support (increases
|
|
|
|
the size of the executable) (default no)
|
2010-04-10 20:16:48 +02:00
|
|
|
- `citeproc`: compile with bibliographic support using `citeproc-hs`
|
|
|
|
(default no)
|
2006-10-29 20:58:20 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
So, for example,
|
2007-07-16 18:30:04 +02:00
|
|
|
|
2010-04-10 20:16:48 +02:00
|
|
|
--flags="-executable -wrappers highlighting"
|
2008-08-08 02:11:58 +02:00
|
|
|
|
2010-04-10 20:16:48 +02:00
|
|
|
tells Cabal to build the library but not the executables,
|
|
|
|
and to compile with syntax highlighting support.
|
2008-08-08 02:11:58 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
3. Build:
|
2008-08-08 02:11:58 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
runghc Setup.hs build
|
2008-08-08 02:11:58 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
4. Build API documentation:
|
2007-07-16 18:30:04 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
runghc Setup.hs haddock --html-location=URL --hyperlink-source
|
2008-02-09 04:21:44 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
5. Copy the files:
|
2008-02-09 04:21:44 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
runghc Setup.hs copy --destdir=PATH
|
2008-02-09 04:21:44 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
The default destdir is `/`.
|
2008-02-09 04:21:44 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
6. Register pandoc as a GHC package:
|
2008-08-01 01:16:12 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
runghc Setup.hs register
|
2008-08-01 01:16:12 +02:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
Package managers may want to use the `--gen-script` option to
|
|
|
|
generate a script that can be run to register the package at
|
|
|
|
install time.
|
2008-02-09 04:21:44 +01:00
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
[zip-archive]: http://hackage.haskell.org/package/zip-archive
|
|
|
|
[highlighting-kate]: http://hackage.haskell.org/package/highlighting-kate
|
2008-08-08 02:11:58 +02:00
|
|
|
[Cabal User's Guide]: http://www.haskell.org/cabal/release/latest/doc/users-guide/builders.html#setup-configure-paths
|
2008-02-09 04:21:44 +01:00
|
|
|
|
2008-09-13 22:23:23 +02:00
|
|
|
Optional citeproc support
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
Pandoc can optionally be compiled with support for bibliographic citations
|
|
|
|
using Andrea Rossato's [`citeproc-hs` library]. This allows you
|
|
|
|
to specify citations in markdown using an intuitive syntax (for example,
|
|
|
|
`[jones2005@p. 3; smith2006]`). These are automatically changed into
|
|
|
|
appropriately styled citations in the output, and a bibliography is
|
|
|
|
added. The bibliography data and style information are taken from XML
|
|
|
|
files that must be specified on the command line. (Note: `citeproc-hs`
|
|
|
|
support is experimental, and the interface may change in the future.)
|
|
|
|
|
|
|
|
If you are using Cabal to compile pandoc, specify the `citeproc` flag in
|
|
|
|
the configure step:
|
|
|
|
|
2010-02-03 09:27:31 +01:00
|
|
|
runhaskell Setup configure --flags="citeproc"
|
2008-09-13 22:23:23 +02:00
|
|
|
|
|
|
|
[`citeproc-hs` library]: http://code.haskell.org/citeproc-hs/
|
|
|
|
|