RexxPub: A Rexx Publisher Framework
===================================

--------------------------

Provided document classes
-------------------------

+ [Article](article/).
+ [Book](book/).
+ [Letter](letter/).
+ [Slides](slides/).

YAML front matter
-----------------

+ [YAML front matter](yaml/) --- read RexxPub options directly
  from the Markdown document.

Bibliography styles
-------------------

RexxPub uses Pandoc's `--citeproc` for bibliography processing, which
means it can use any of the thousands of
[Citation Style Language (CSL)](https://citationstyles.org/) styles
available from the
[CSL style repository](https://github.com/citation-style-language/styles).
CSL files can be placed in the `csl` subdirectory of the
distribution and referenced by name (e.g. `--csl rexxpub`),
or referenced by full path (e.g. `--csl /path/to/mystyle.csl`).

The distribution includes two styles:

+ `ieee.csl` --- The standard
  [IEEE Reference Guide](http://www.zotero.org/styles/ieee) style.
+ `rexxpub.csl` --- [The RexxPub Bibliography Style](bibliography/),
  derived from the IEEE style, with full author names (no initials),
  family names in small caps, and entries sorted by author and title.
  This is the default style used by `md2pdf`.

Dependencies
------------

+ Pandoc, to transform Markdown into HTML5.
+ [Pagedjs-cli](#Pagedjs-cli), to transform HTML5 to PDF.
+ [Node.js](#Node.js), needed by pagedjs-cli.
  Node.js includes npm.
+ To ensure that PDF files generated by pagedjs-cli
  open with the document outline, you will need to
  install Python and [pikepdf](https://pypi.org/project/pikepdf/).

Installing Node.js and npm under Windows {#Node.js}
----------------------------------------

Download Node.js from <https://nodejs.org> and install it.
Make sure that the option to add Node.js to the
PATH is enabled.

You can test that `node` and `npm` are installed correctly
by running

```
node --version
```

and

```
npm --version
```

from the command line (Powershell is not required).

Installing `pagedjs-cli` under Windows {#Pagedjs-cli}
--------------------------------------

Ensure than [Node.js and npm](#Node.js) are installed.
Open a Command Prompt and run

```
npm install -g pagedjs-cli
```

This may take some time,
as npm will probably have to install a lot of dependencies.
If you prefer to use Powershell, you may also need to adjust the execution
policy.

You can verify that `pagedjs-cli` is installed by
running

```
pagedjs-cli --help
```

If you now create a small correct HTML file called `test.html` and run

```
pagedjs-cli test.html -o test.pdf
```

and test.pdf is created without errors, your installation
is good.