npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

wiki2pdf

v1.0.5

Published

Generate HTML & PDF documentation from Github wiki or any other markdown-based wiki.

Downloads

46

Readme

Github Wiki to pdf Converter

Github Wiki to pdf Converter allows you to generate HTML & PDF documentation from your Github wiki or any other markdown-based wiki. It is build on top of Limedocs Wiki Converter and html to pdf and contains new features and bug fixes, check the release notes to see them.

Prerequesites

Installation

npm install -g wiki2pdf

Usage

Basic usage

# 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] <wiki-dir>

  Convert a wiki

  Options:

    -h, --help                   output usage information
    -V, --version                output the version number
    -f, --format <format>        Format to convert to. Either html, pdf, or all [default: html]
    -o, --output <output-dir>    Output dir [default: './']
    -t, --title <title>          Wiki title [default: Documentation]
    -d, --disable-inline-assets  Disable inlining of images, css and js in html document
    --logo-img <logo-file>       Logo image file
    --footer <footer>            PDF header and footers (format in HTML)
    --toc <toc-file>             Wiki TOC file
    --toc-level <level>          Table of contents deep level [default: 3]
    --highlight-theme <theme>    Highlighter theme [default: github]
    --css <css-file>             Additional CSS file
    --pdf-page-count             Enable PDF page count
    -v --verbose                 Verbose mode

Formats

HTML

Pages to be included in the documentation

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](Call-Log) / [Log](Call-Log.md) / [Calls](/Call-Log.md);
  • Markdown links with remote (http/https) path [Calls](https://github.com/yourrepo/someproject/wiki/Call-Log). 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]].

Inlining

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.

Table of contents (TOC)

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

Page breaking

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.

<div id="pageHeader">Default header</div>
<div id="pageHeader-first">Header on first page</div>
<div id="pageHeader-2">Header on second page</div>
<div id="pageHeader-3">Header on third page</div>
<div id="pageHeader-last">Header on last page</div>
...
<div id="pageFooter">Default footer</div>
<div id="pageFooter-first">Footer on first page</div>
<div id="pageFooter-2">Footer on second page</div>
<div id="pageFooter-last">Footer on last page</div>