A cli tool converting Markdown to HTML. This tool is a thin wrapper around the github.com/yuin/goldmark library.
> gm file.md
> gm --serve file.md
> gm -h gm (version: --): a goldmark cli tool which is a thin wrapper around github.com/yuin/goldmark (version: --). If not serving (no '--serve' or '-s' option is used): - the .md files are converted and saved as .html with the same base name; - if the corresponding .html file already exists, it is overwritten; - 'stdin' is converted to 'stdout'; - when a pattern is used, only the matched .md files are considered. - the pattern can contain '*', '?', the '**' glob pattern, '[class]' and {alt1,...} alternatives. When serving (with '--serve' or '-s' option): - the .md files are converted and served as html with live.js (for live updates); - all other files are staticly served; - nothing is written on the disk. -s, --serve Start serving local .md file(s). No html is saved. --timeout int Timeout in seconds for stop serving if no (non static) request. Default is 0 (no timeout). -c, --css stringArray A css content or url or the theme name present in github.com/kpym/markdown-css. Multiple values are allowed. (default [github]) -t, --title string The page title. If empty, search for <h1> in the resulting html. --icon string The favicon url. --html string The html template (file or string). -o, --out-dir string The build output folder (created if not already existing, not used when serving). --readme-index Compile README.md to index.html (not used when serving). --move-no-md Move all non markdown non dot files to the output folder (not used when serving). --skip-dot Skip dot files (not used when serving). --pages Shortcut for --outdir='public' --readme-index --move-no-md --skip-dot (not used when serving). --links-md2html Replace .md with .html in links to local files (not used when serving). (default true) --gm-attribute goldmark option: allows to define attributes on some elements. (default true) --gm-auto-heading-id goldmark option: enables auto heading ids. (default true) --gm-definition-list goldmark option: enables definition lists. (default true) --gm-footnote goldmark option: enables footnotes. (default true) --gm-linkify goldmark option: activates auto links. (default true) --gm-strikethrough goldmark option: enables strike through. (default true) --gm-table goldmark option: enables tables. (default true) --gm-task-list goldmark option: enables task lists. (default true) --gm-typographer goldmark option: activate punctuations substitution with typographic entities. (default true) --gm-emoji goldmark option: enables (github) emojis 💪. (default true) --gm-unsafe goldmark option: enables raw html. (default true) --gm-hard-wraps goldmark option: render newlines as <br>. --gm-xhtml goldmark option: render as XHTML. --gm-highlighting string goldmark option: the code highlighting theme (empty string to disable). Check github.com/alecthomas/chroma for theme names. (default "github") --gm-line-numbers goldmark option: enable line numering for code highlighting. --re-md stringArray Apply regex substitution on the markdown source before conversion. --re-html stringArray Apply regex substitution on the HTML output after conversion. -q, --quiet No errors and no info is printed. Return error code is still available. -h, --help Print this help message.
For more usage information check the HOWTO documentation.
You can download the executable for your platform from the Releases.
$ go install github.com/kpym/gm@latest
After cloning this repo you can compile the sources with goreleaser for all available platforms:
git clone https://github.com/kpym/gm.git . goreleaser --snapshot --skip-publish --clean
You will find the resulting binaries in the dist/
sub-folder.