TermMark is a lightweight, C++-based terminal Markdown renderer designed for simplicity, readability, and modularity. It parses and renders .md files or embedded Markdown strings directly in the terminal with structured formatting — including headings, code blocks, lists, blockquotes, tables, and more.
- Headings with proper hierarchy and bold styling
- Bold, italic, and
inline coderendering - Syntax-aware code blocks with framed boxes and optional language labels
- Unordered and ordered lists
- Blockquotes and horizontal dividers
- Simple Markdown table support
- Modular architecture – easy to extend or integrate
- Live watching of file changes with
--watch --helpand--versionCLI flags
brew tap ishanawal/tap
brew install termmarkMake sure you have a C++17+ compatible compiler. Then:
git clone https://github.com/ishanawal/TermMark.git
cd TermMark
mkdir build && cd build
cmake ..
make
./termmark --helpYou can render Markdown content in the terminal:
./termmark --guide # Renders a built-in markdown guide
./termmark README.md # Renders any local .md fileWatch a file and auto-update on changes:
./termmark --watch path/to/file.mdUse the flags:
./termmark --help
./termmark --versionTERMMARK/
├── include/ # Header files
│ ├── parser/ # Markdown parser interface
│ ├── renderer/ # Renderer interface
│ └── utils/ # CLI info, styles, compatibility
│ └── watch/
├── src/ # Implementation files
│ ├── parser/ # Markdown parser implementation
│ ├── renderer/ # Terminal renderer implementation
│ └── utils/ # CLI tools and helpers
│ └── watch/ # Watcher implementation (for --watch)
├── sample.md # Sample markdown input
├── main.cpp # Entry point
├── CMakeLists.txt # Build configuration
├── README.md # Project documentation
├── LICENSE # License info- Standard C++ STL only — No external dependencies!
- Support Nested List
- Color themes or syntax highlighting
Built with ❤️ by Ishan Awal
If you like it, consider ⭐️ starring the repo!
This project is licensed under the MIT License. See the LICENSE file for details.


