🚀 Modern and elegant Markdown to GitHub-styled HTML converter
GitHubify transforms your Markdown files into beautifully rendered GitHub-styled HTML pages with just a few keystrokes. Built with modern C# 13 and .NET 9, it offers a seamless conversion experience through an intuitive command-line interface.
- 📄 Convert Markdown files to GitHub-styled HTML with perfect rendering
- 🌓 Support for both Light and Dark themes
- 🔌 Flexible CSS delivery via CDN links or embedded directly in the HTML
- ⚙️ Configurable through command-line options or JSON config file
- 🖥️ Beautiful interactive CLI interface built with Spectre.Console
- ⚡ AOT (Ahead-of-Time) compilation support for lightning-fast startup
- 📦 Self-contained, single executable deployment option
dotnet tool install --global GitHubify- Download the latest release from the Releases page (available soon...)
- Extract the archive to a location of your choice
- Add the directory to your PATH (optional)
Convert a Markdown file with default settings (Light theme, CDN CSS):
githubify --input README.mdThis will generate README.html in the same directory.
Run GitHubify without arguments for an interactive experience:
githubifyThe tool will guide you through selecting:
- Input file path
- Theme preference
- CSS delivery method
- Output file location
# Specify both input and output files
githubify --input README.md --output docs/index.html
# Use dark theme
githubify --input README.md --theme Dark
# Embed CSS for offline viewing
githubify --input README.md --css-mode Embed
# Non-interactive mode with default settings
githubify --input README.md --yes| Option | Alias | Description |
|---|---|---|
--input |
-i |
Path to the input Markdown (.md) file |
--output |
-o |
Path for the output HTML file (defaults to <input_name>.html) |
--theme |
Specify the color theme (Light or Dark) |
|
--css-mode |
CSS delivery method (CDN or Embed) |
|
--yes |
Skip interactive prompts and use defaults | |
--help |
-h |
Display help information |
GitHubify can use a config.json file in the current directory for default settings:
{
"input_file": "path/to/default.md",
"theme": "Dark",
"css_mode": "Embed",
"output_file": "path/to/output.html"
}Command-line options will override settings from the config file.
githubify --input documentation.md --theme Dark --css-mode Embed# Bash example
for file in docs/*.md; do
githubify --input "$file" --theme Light --yes
done# PowerShell example
Get-ChildItem -Path docs -Filter *.md | ForEach-Object {
githubify --input $_.FullName --theme Light --yes
}- GitHubify reads your Markdown file
- Sends the content to GitHub's Markdown API for rendering
- Applies the GitHub CSS styling (via CDN or embedded)
- Generates a standalone HTML file with responsive layout
- The resulting HTML looks exactly like GitHub's rendered Markdown
Prerequisites:
- .NET 9 SDK
git clone https://github.com/yourusername/githubify.git
cd githubify
dotnet build
dotnet runGitHubify supports AOT compilation for improved startup performance:
dotnet publish -c Release -r win-x64 --self-contained -p:PublishAot=trueContributions are welcome! Feel free to open issues or submit pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Spectre.Console for the beautiful CLI interface
- GitHub Markdown API for the Markdown rendering
- github-markdown-css for the GitHub styling
Made with ❤️ by TheMR-777 :)