Generate HTML & PDF documentation from Github wiki or any other markdown-based wiki.
npm install wiki2pdfbash
npm install -g wiki2pdf
`
Usage
Basic usage
`bash
Clone your github wiki for example
git clone https://github.com/madajaju/wiki2pdf.wiki.git
Convert your wiki
wiki2pdf ./wiki2pdf.wiki
`
Usage help
`
Usage: wiki2pdf [options]
Convert a wiki
Options:
-h, --help output usage information
-V, --version output the version number
-f, --format Format to convert to. Either html, pdf, or all [default: html]
-o, --output Output dir [default: './']
-t, --title Wiki title [default: Documentation]
-d, --disable-inline-assets Disable inlining of images, css and js in html document
--logo-img Logo image file
--footer `
Formats
HTML
$3
By default, Github Wiki to pdf Converter will check for the following files to use as a table of contents (TOC):
- _Toc.md
- _Sidebar.md (which is the default sidebar file on Github wikis)
When finding a TOC, wiki2pdf will only generate pages linked from this TOC. Supported link formats are:
- Markdown links with local path Call Log / Log / Calls;
- Markdown links with remote (http/https) path Calls.
Only those links that are placed in TOC will be converted to local page ids;
- Github wiki links [[Call Log]] / [[Call-Log]] / [[Call Log|Call-Log]] / [[Log|Call Log]].
$3
By default, the HTML output format will generate a single-page HTML document of you wiki, with all assets inlined, such
as images, css, and javascript. So all you need to transfer documentation (to a colleague for example) is to send him/her
this unique file.
You can disable this inlining feature by passing --disable-inline-assets (or -d) such as several files will be
generated for each of images, css and javascript files.
$3
The TOC is rendered using a fixed div in the HTML documentation. You can use --toc-level to prevent the TOC div
to overlap the body element.
PDF
$3
By default all TOC pages starts from a new page. Also with default css you will never see your code block or image
broken in two pages. To add additional page breaking use style="page-break-before: always !important; with empty div element.
Code highlighting
Code highlighting is rendered using highlight.js.
You can customize the theme used by using the --highlight-theme option. By default, github theme is used.
Footers and Headers (pdf rendering with node-html-pdf)
wiki2pdf --footer option be used to read the header or footer either out of the footer and header config object or out of the html source.
You can either set a default header & footer or overwrite that by appending a page number (1 based index)
to the id="pageHeader" attribute of a html tag.
You can use any combination of those tags. The library tries to find any element, that contains the pageHeader or
pageFooter id prefix.
`
Default header
Header on first page
Header on second page
Header on third page
Header on last page
...
``