sideflyt

Create a nice single-page documentation website from one or more Markdown files

Table of Contents

Quick start

Requires Node.js.

$ npx --yes -- single-page-markdown-website '*.md' --open

The above command does the following:

Installation

Configuration is via the "single-page-markdown-website" key of your package.json file.

{
  "single-page-markdown-website": {
    "baseUrl": "https://yuanqing.github.io/single-page-markdown-website/",
    "title": "Single-Page Markdown Website",
    "description": "Create a nice single-page documentation website from one or more Markdown files",
    "toc": true,
    "sections": true,
    "links": [
      {
        "text": "GitHub",
        "url": "https://github.com/yuanqing/single-page-markdown-website"
      }
    ],
    "faviconImage": "media/favicon.svg",
    "shareImage": "media/share.png"
  }
}

"baseUrl"

(null or string)

The base URL of the single-page website.

"title"

(null or string)

The title of the page.

"description"

(null or string)

The meta description of the page.

"toc"

(boolean)

Whether to render a Table of Contents.

"sections"

(boolean)

Whether to render sections shortcuts in the menu. (Sections are the level-one headers (# ) in the Markdown.)

(Array<{ text: string, url: string }>)

A list of links to add to the menu.

"faviconImage"

(null or string)

The URL or file path of the favicon image to use.

"shareImage"

(null or string)

The URL or file path of the share image to use.

"version"

(null or string)

The version number to show beside the title.

Tips

Including files

Use the following syntax to include the entire contents of a local file foo.md in your Markdown:

./foo.md

Note that an empty line is required immediately before and after the file path.

You can also specify a glob to include multiple files:

./bar/*.md

Deploying to GitHub Pages

Deploy your single-page website to GitHub Pages via one of the following two ways:

  1. Commit the ./build directory and push your changes. Then, set the ./build directory as the publishing source in your GitHub repository settings.

  2. Use the gh-pages CLI to deploy the ./build directory to the gh-pages branch:

     $ npx --yes -- gh-pages --dist build
    

    Then, set the gh-pages branch as the publishing source in your GitHub repository settings.

Deploying to Cloudflare Pages

To deploy your single-page website to Cloudflare Pages, use the following settings in your build configuration:

CLI


  Create a nice single-page documentation website from one or more Markdown files.

  Usage:
    $ single-page-markdown-website <files> [options]

  Arguments:
    <files>  One or more globs of Markdown files. Defaults to 'README.md'.

  Options:
    -h, --help     Print this message.
    -p, --open     Whether to open the generated page in the default web
                   browser. Defaults to 'false'.
    -o, --output   Set the output directory. Defaults to './build'.
    -v, --version  Print the version.
    -w, --watch    Whether to watch for changes and regenerate the page.
                   Defaults to 'false'.

  Examples:
    $ single-page-markdown-website
    $ single-page-markdown-website '*.md'
    $ single-page-markdown-website --open
    $ single-page-markdown-website --output dist
    $ single-page-markdown-website --watch