Skip to content
Mikhail Deynekin edited this page Nov 14, 2026 · 4 revisions

MD.Scribe

A self-hosted Markdown documentation platform: point it at a folder of .md files and it serves a CommonMark/GFM viewer, a searchable library, themes and an admin panel with an editor, revisions, backups and a self-updater. Plain PHP — no database, no framework, no build step on the server.

Version 3.5.0 "Loom" · PHP 8.5 (floor 8.5.0, verified on 8.5.12) · MIT licence.

New in 3.5.0: Mermaid 12.3.0 — edge IDs with animation, step-by-step flow animation, the circle/cross edge markers and the @{ shape: … } family, with the previous look kept as the default. A diagram repaired on the server now actually reaches the renderer. Details: Markdown features and Changelog.

Runtime PHP ≥ 8.5 with mbstring, dom, libxml, json; curl, zip, opcache recommended
Web server any — nginx, Apache, Caddy, LiteSpeed, php -S
Storage files on disk; no database
Entry points public/index.php (viewer), public/admin.php (admin), public/updater.php + updater.php (updates)
Writes to .md.ini, storage/, the content root (editor/uploads only), tracked app files (updates only, with ALLOW_UPDATE)

Start here

Page What it answers
Getting started From a release archive to a running site in four commands
Installation Layouts, web-server snippets, permissions, verified hosts
Configuration Every .md.ini key and its default
Markdown features What the renderer does beyond CommonMark
Search and tags Operators, palette, index behaviour
Admin guide Editor, templates, files, backups, revisions, health
HTTP API Public JSON, admin actions, machine update API, render API
Updates How a release is applied and verified
Troubleshooting Symptom → cause → fix
Development Tests, static analysis, release checklist
Changelog What changed in 3.5.x

What it is not

  • Not a hosted service and not a database-backed CMS: every document is a file.
  • No build step on the server: frontend assets are committed.
  • No CDN: every asset is local (default-src 'self'), and the only outbound traffic is the update check against the GitHub release of this repository.

Where the truth lives

The wiki is a guide; the repository is the reference. For anything version-specific read README.md, docs/configuration.md, docs/http-api.md and CHANGELOG.md at the tag you run — src/Core/Version.php holds the version and the PHP floor.

Clone this wiki locally