Skip to main content

Build (web publish) Markdown and Massive Wiki sites.

Project description

markpub

PyPI version

MarkPub builds a static HTML website from a directory of Markdown files.
The website supports wiki-links, transclusion, and provides full-text search.

MarkPub installs configuration files that GitHub Pages and Netlify can use to automatically publish the HTML files on the web.

Requirements

  • Python 3.12 or higher.

Install

Using pip

pip install markpub

Usage

Overview

markpub [--version] <command> [options]

Available commands:

  • init - Initialize a new MarkPub site
  • build - Build HTML website from Markdown files

Commands

markpub init <directory>

Initialize a new MarkPub site in the specified directory. This creates:

  • .markpub/markpub.yaml - Site configuration file
  • Configuration files for GitHub Pages/Netlify deployment
  • Sidebar.md - Website navigation links displayed sidebar on webpages

Example:

markpub init my-wiki

markpub build [options]

Build a static website from Markdown files.

Required options:

  • -i, --input <directory> - Input directory containing Markdown files
  • -o, --output <directory> - Output directory for generated HTML files

Optional options:

  • --config, -c <file> - Path to YAML config file (default: ./markpub.yaml)
  • --root, -r <name> - Website root directory name (needed for GitHub Pages hosting)
  • --lunr - Create lunr search index (requires npm and lunr to be installed)
  • --commits - Include Git commit messages and times in All Pages

Examples:

# Basic build
markpub build -i my-wiki -o my-wiki-site

# Build with search
markpub build -i my-wiki -o my-wiki-site --lunr

# Build for GitHub Pages with Git history
markpub build -i my-wiki -o my-wiki-site --root my-repo --commits

Getting Help

Use --help with any command for detailed usage information:

markpub --help
markpub init --help
markpub build --help

Markpub website themes

Markpub website themes are managed by the Python package markpub-themes
Management and use of themes is documented there. This package is installed with markpub, and after installation, help information is available:

markpub-themes -h

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markpub-2.1.1.tar.gz (5.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

markpub-2.1.1-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

Details for the file markpub-2.1.1.tar.gz.

File metadata

  • Download URL: markpub-2.1.1.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for markpub-2.1.1.tar.gz
Algorithm Hash digest
SHA256 ae26cd0685225d22e0707a87e0ebcf6f0b982a32c9283db84cbfaa8320eb4140
MD5 99710c9597516afbe6149097a8d655ae
BLAKE2b-256 990ce7ab4cb7f0b4d946fedb2e7299004f791ba0a67f30265965c740c552e5f1

See more details on using hashes here.

File details

Details for the file markpub-2.1.1-py3-none-any.whl.

File metadata

  • Download URL: markpub-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for markpub-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 256693197a285bc828fb94ac48142d0c2c682184a307bafb83298fbecd79ac4b
MD5 86ddf8b2fbb5de6d07721b615c3caad7
BLAKE2b-256 c5182f59d3e04217c54eefd613e9c6048f9f68ffdecf30e3abecb3e62ddf3169

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page