Skip to main content

A simple CLI to convert markdown files to HTML using GitHub API using the GitHub Markdown style.

Project description

ghmd

ghmd (GitHub Markdown) is an extremely light-weight and simple command line tool to convert GitHub Flavored Markdown (or plain Markdown) to HTML.

It does so by using the GitHub Markdown API in combination with GitHub Markdown CSS.

It has two available implementations:

Installation

# Node.js
npm install -g ghmd-js

or

# Python
pip install ghmd

Usage

Simply run ghmd with the path to the markdown file(s) you want to convert. An HTML file will be created in the same directory as the markdown file with the same filename.

ghmd README.md
# or
ghmd README.md CONTRIBUTING.md

[!NOTE] If you don't have the ghmd command available after installing, you may need to add the Python scripts directory to your PATH environment variable.

Otherwise you, can use python -m ghmd instead of ghmd.

Options

GitHub API Token

By default, ghmd uses unauthenticated requests to the GitHub API, which has a rate limit of 60 requests per hour. To increase this limit to 5000 requests per hour, you can set the GITHUB_TOKEN environment variable with a GitHub personal access token:

export GITHUB_TOKEN=your_github_token_here
ghmd README.md

To create a personal access token, visit your GitHub Settings > Developer Settings > Personal access tokens and create a new token (no specific scopes are required).

--embed-css

By default, ghmd will add the remote CSS as a <link> tag in the HTML file. If you want to embed the CSS directly into the HTML file so that, for example, you can send the HTML file to someone else and they can view it without an internet connection, you can use the --embed-css option.

ghmd README.md --embed-css

--light and --dark

The default CSS styles adapt to the system's dark mode setting of the reader. If you want to force the CSS to be light or dark, you can use the --light or --dark options.

ghmd README.md --light
# or
ghmd README.md --dark

Both --light and --dark can be used in combination with --embed-css.

[!NOTE] Using the --embed-css option will result in a ~25 KB larger HTML file size (~18 KB when using --light or --dark).

--no-gfm

The tool offers two modes: GitHub Flavored Markdown (gfm, default) and plain Markdown. To use the latter, the --no-gfm option can be used:

ghmd README.md --no-gfm

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

ghmd-1.0.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

ghmd-1.0.1-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file ghmd-1.0.1.tar.gz.

File metadata

  • Download URL: ghmd-1.0.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.20 {"installer":{"name":"uv","version":"0.9.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ghmd-1.0.1.tar.gz
Algorithm Hash digest
SHA256 744913d18ac198db7f875eed89e195bc5428e63b63c3977ada68bc9778c51c56
MD5 3424906b304b90274270bc7e054feb52
BLAKE2b-256 72259cb1611107a164735ac8b8dda2c3d3c3d7fda596171911ebf272e2aa9906

See more details on using hashes here.

File details

Details for the file ghmd-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: ghmd-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.20 {"installer":{"name":"uv","version":"0.9.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ghmd-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8b403fa2dd9e6022bb9a842bbf8e8ea0281eda37f0614712afddef4f65fec47b
MD5 a20757a5ff31628f39ca133ca2f13dca
BLAKE2b-256 b32a0219e9e7509dc3563ad23407560c892c58824d00a7338c025b6f41df2eba

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