GitHunt
ED

Create beautiful documentation sites with just Markdown

No Code Markdown Documentation Sites

NCMDS Logo

Create beautiful documentation sites with just Markdown

On Active Development
Unstable Versions
AI Integration

Main View

Overview

NCMDS is a zero-configuration documentation site builder that converts Markdown files into beautiful, dark-themed documentation websites with automatic navigation, AI-powered assistance, and an optimized reading experience.

Author: Eduardo J. Barrios (edujbarrios)

โœจ Key Features

  • ๐Ÿ  Local-First - Runs on localhost by default, no cloud required
  • ๐Ÿค– AI-Powered Chat - Ask questions about documentation with built-in AI assistant and switchable models
  • ๐Ÿ“ค Export Functionality - Export documentation to PDF and QMD (Quarto Markdown) formats
  • ๐ŸŽจ Dark Theme - Optimized for comfortable reading and coding
  • ๐Ÿ“ฑ Responsive Design - Works seamlessly on desktop and mobile
  • ๐Ÿ” Auto Navigation - Automatic table of contents and page navigation

๐Ÿš€ Quick Start (Local Development)

Caution

Default Mode: NCMDS runs locally on your machine. Cloud deployment is completely optional.

# Clone repository
git clone https://github.com/edujbarrios/ncmds.git
cd ncmds

# Install dependencies
pip install -r requirements.txt

# Run locally (default)
python ncmds.py

Open http://localhost:5000 in your browser.

That's it! The tool is designed to run on localhost by default. No additional configuration needed.

๏ฟฝ Development Mode (Package Installation)

If you want to use NCMDS as a reusable module in development:

# Install in editable mode (one time only)
pip install -e .

This allows you to:

  • Run ncmds command from anywhere
  • Import NCMDS in other Python projects
  • Use changes immediately without reinstalling
# Run via CLI command
ncmds

# Or with custom port
PORT=8000 ncmds

# Or still use the traditional way
python ncmds.py

Import in Other Projects

from ncmds import app, DocumentationSite, config_manager
from ai_chat import register_ai_chat_routes
from export import register_export_routes

๏ฟฝ๐Ÿ“ Usage

  1. Add .md files to the docs/ folder
  2. Use numeric prefixes for ordering: 01-index.md, 02-guide.md
  3. Write in Markdown
  4. Reload browser to see changes

โš™๏ธ Configuration

Edit config/config.yaml:

site_name: "My Documentation"
author: "Your Name"
description: "Your site description"

hero:
  enabled: true
  project_name: "My Project"
  company: "Your Company"
  tagline: "Your tagline here"
  description: "Your project description"

# AI Chat Assistant
ai_chat:
  enabled: true
  api_url: "https://api.llm7.io/v1/chat/completions"
  api_key: "your-api-key"  # Get your key from LLM7.io
  model: "gpt-4o-mini"  # Default model (switchable in chat UI)
  provider: "LLM7.io"

NCMDS AI chat

AI Features:

  • Model selector dropdown to switch between available models in real-time
  • Context-aware responses based on current documentation page
  • Fullscreen mode for better reading experience

๐Ÿ“ค Export Documentation

NCMDS includes a powerful export module that allows you to export your documentation to different formats:

  • PDF Export - Generate professional PDFs with WeasyPrint
  • QMD Export - Export to Quarto Markdown format for rendering with Quarto
  • Customizable Settings - Configure project name, paper size, and more
  • Easy to Use - Click floating export buttons on any documentation page

Export Options

  • Automatic table of contents generation
  • Professional cover page with project branding
  • Optimized for print and digital reading

๐Ÿ†• Cloud Deployment Support

NEW: NCMDS now supports publishing your site via Vercel and Netlify with auto-detection!

See the Deployment Guide for complete instructions on deploying to production.

NEW: Internal Search is now available to quickly find content across your documentation.

NCMDS Internal Search

๐Ÿท๏ธ Extended Frontmatter Metadata

NEW: NCMDS now supports extended YAML frontmatter fields: tags, difficulty, owner, and writer (plus alias writter).

---
title: "API Authentication"
tags:
  - api
  - auth
difficulty: "intermediate"
owner: "backend-team"
writer: "alice"
---

What this adds:

  • Automatic metadata chips on each documentation page
  • Search filtering by metadata directly in the search bar
  • Better content organization and ownership tracking

Search filter examples:

  • tag:api authentication
  • difficulty:beginner
  • owner:docs-team
  • writer:alice

๐Ÿ“š Documentation

Full documentation available at /docs when running the server, or view:

๐Ÿ› ๏ธ Tech Stack

  • Flask - Web framework
  • Python-Markdown - Markdown processing with extensions
  • PyYAML - Configuration management
  • Highlight.js - Syntax highlighting
  • LLM7.io - AI chat integration with model switching
  • Quarto - QMD rendering support in PDF format (optional)

๐ŸŽฏ Use Cases

  • Project documentation
  • Technical documentation
  • API documentation
  • Personal wikis
  • Educational materials
  • User guides

๐Ÿ™ Acknowledgments

Inspired by Docusaurus, MkDocs, Read the Docs, and Quarto.

๐Ÿ“ž Contact

edujbarrios/ncmds | GitHunt