Logo

go-grip

Render your markdown files local
- with the look of GitHub

## :question: About **go-grip** is a lightweight, Go-based tool designed to render Markdown files locally, replicating GitHub's style. It offers features like syntax highlighting, dark mode, and support for mermaid diagrams, providing a seamless and visually consistent way to preview Markdown files in your browser. This project is a reimplementation of the original Python-based [grip](https://github.com/joeyespo/grip), which uses GitHub's web API for rendering. By eliminating the reliance on external APIs, go-grip delivers similar functionality while being fully self-contained, faster, and more secure - perfect for offline use or privacy-conscious users. ## :zap: Features - :zap: Written in Go :+1: - 📄 Render markdown to HTML and view it in your browser - 📱 Dark and light theme - 🎨 Syntax highlighting for code - [x] Todo list like the one on GitHub - Support for github markdown emojis :+1: :bowtie: - Support for mermaid diagrams ```mermaid graph TD; A-->B; A-->C; B-->D; C-->D; ``` > [!TIP] > Support of blockquotes (note, tip, important, warning and caution) [see here](https://github.com/orgs/community/discussions/16925) ## :rocket: Getting started To install go-grip, simply: ```bash go install github.com/chrishrb/go-grip@latest ``` > [!TIP] > You can also use nix flakes to install this plugin. > More useful information [here](https://nixos.wiki/wiki/Flakes). ## :hammer: Usage To render the `README.md` file simply execute: ```bash go-grip README.md # or go-grip ``` The browser will automatically open on http://localhost:6419. You can disable this behaviour with the `-b=false` option. You can also specify a port: ```bash go-grip -p 80 README.md ``` or just open a file-tree with all available files in the current directory: ```bash go-grip -r=false ``` It's also possible to activate the darkmode: ```bash go-grip -d . ``` To terminate the current server simply press `CTRL-C`. ## :pencil: Examples examples ## :bug: Known TODOs / Bugs - [ ] Tests and refactoring - [ ] Make it possible to export the generated html ## :pushpin: Similar tools This tool is a Go-based reimplementation of the original [grip](https://github.com/joeyespo/grip), offering the same functionality without relying on GitHub's web API.