MEREAD is a command-line tool for previewing Markdown files as they will be presented on GitHub, all completely locally and offline.
I was surprised to find no simple tool that would allow me to preview Markdown files as they would be rendered on GitHub.
I wanted a tool that is:
There are other tools that get the job done, better or worse, but they all have some drawbacks that I wanted to avoid:
| Tool | Written in | Biggest drawback |
|---|---|---|
| grip | Python | Uses GitHub's markdown API to render Markdown files, causing unnecessary usage of web requests. |
| gh markdown-preview | Go | Is meant to be used as extension in gh, GitHub's CLI. |
| markdown-preview.nvim | Typescript | Requires Neovim. |
preview github flavored markdown locally
Usage: meread [OPTIONS] [PATH]
Arguments:
[PATH] Path to markdown file or directory containing README.md [default: .]
Options:
-e, --export-dir <EXPORT_DIR> If supplied, will export the markdown file to HTML in the specified
directory
-f, --force Whether to overwrite the export directory if it exists
-a, --address <ADDRESS> Address to bind the server to [default: localhost:3000]
-o, --open Whether to open the browser on serve
-l, --light-mode Render page in light-mode style
--generate-manpage Print manpage to stdout and exit
-h, --help Print help
-V, --version Print version
For each version, prebuilt binaries are automatically built for Linux, MacOS and Windows.
You can download and unpack the latest release from the releases page.
Using cargo-binstall:
Using ubi:
Using mise:
# `ubi` under the hood
# `cargo-binstall` under the hood
Using nix flakes (one-off):
Using nix flakes:
flake.nix's inputs
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/unstable";
meread = {
url = "github:sermuns/meread";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}
environment.systemPackages list
{
pkgs,
inputs,
}: {
environment.systemPackages = [
inputs.meread.packages.${pkgs.stdenv.hostPlatform.system}.default
];
}
nixos-rebuild (or darwin-rebuild on MacOS)
Can be installed by