Skip to main content

Documentation generator, converter, inspector, and preview server for developer docs.

Project description

Docsmith

Documentation generator, converter, inspector, and preview server for developer docs.

PyPI Python License Stars


Docsmith is a terminal-first documentation toolkit for projects that need clean Markdown-to-site publishing without a heavy static-site framework. It can scaffold documentation, scan and validate existing docs, render a static HTML site, convert files between Markdown, HTML, text, JSON, and PDF, search content, extract outlines, and serve a local preview through Flask.

  • Static site builder - Render Markdown or HTML docs into a responsive documentation site with navigation and copied assets.
  • Format conversion - Convert documentation files to HTML, Markdown, text, JSON metadata, or a lightweight text PDF.
  • Schema-style inspection - Summarize files, line counts, word counts, headings, links, and checksums in Rich tables or JSON.
  • Validation checks - Detect broken local links, duplicate heading anchors, and Markdown files without headings.
  • Fast preview server - Serve generated docs locally with a minimal Flask app.
  • Search and outline tools - Locate content across a docs tree and inspect heading structure from the terminal.

Installation

pip install docsmith-cli

Usage

Create a starter documentation folder:

docsmith init docs --title "My Project Docs"

Inspect and validate the documentation tree:

docsmith scan docs
docsmith validate docs

Build a static site and serve it locally:

docsmith build docs --out site
docsmith serve docs --port 8080

Convert a Markdown file:

docsmith convert docs/index.md --to html --out build/index.html
docsmith convert docs/index.md --to pdf

Commands

Command Description
docsmith init <path> Create a starter documentation scaffold.
docsmith scan <path> Inspect documentation files and summarize size, headings, links, and checksums.
docsmith build <path> Build a static HTML documentation site.
docsmith convert <file> --to <format> Convert docs to HTML, Markdown, text, JSON, or PDF.
docsmith validate <path> Check broken local links, duplicate heading anchors, and missing headings.
docsmith outline <file> Display a heading outline for one documentation file.
docsmith search <path> <query> Search documentation content.
docsmith serve <path> Start a local Flask preview server.

Configuration

Docsmith works without configuration. The CLI accepts explicit paths and output flags for each command. A typical project layout is:

docs/
  index.md
  guide.md
  reference.md
site/
  index.html
  assets/docsmith.css

Use --json-output with scan or outline when integrating Docsmith into CI or project automation.

License

MIT License. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docsmith_cli-0.1.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docsmith_cli-0.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file docsmith_cli-0.1.0.tar.gz.

File metadata

  • Download URL: docsmith_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for docsmith_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7dce6cd5b92c9423c079f44bd8a819b8df7b3cf339ae90b5caf0106684a37df2
MD5 ad355ee257814e0e6c8f703054c6f097
BLAKE2b-256 c3be7ea769d43bf9508c4b048a1d3bec0f910966937f967c5817bbd4e59610ca

See more details on using hashes here.

File details

Details for the file docsmith_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: docsmith_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for docsmith_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d7bb9969954abc151746df4007e14c5a2f878245905a3ddfd39bd99141c13af
MD5 57ceead217041c55238d2c46b2bd2d02
BLAKE2b-256 e19ff9d01aba17d360b42010982a943ba1cf480031b44f7f17e70800fbee9d28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page