Skip to main content

WYSIWYG docs editor for Mkdocs Material themed docs. A content editing experience.

Project description

mkdocs-live-wysiwyg-plugin

PyPI - Version VS Code Marketplace Open VSX

An all-in-one editor for GitHub and mkdocs documentation. Available from an extension store above or from GitHub release. Alternately available as a simple shell script.

Right click on mkdocs.yml to start the mkdocs server and start editing files directly from the mkdocs interface.

📝 A small CLI tutorial (click to expand)
  1. Add techdocs-preview.sh to your $PATH.
  2. Edit documentation across your projects.

Try it out

Run ./techdocs-preview.sh from this repository to view the documentation for this repository.

For a general tutorial, you can run the following command in an empty directory.

techdocs-preview.sh init
  • init will initialized mkdocs documentation for any project.
  • The tutorial itself provides a starting point for docs as well as teaching material. About a 15 mins read.

I modify GitHub documentation for this repository with the following command.

techdocs-preview.sh -c -a docs

Features

A WYSIWYG (What-You-See-Is-What-You-Get) editor for editing mkdocs documentation.

  • 🌈✨ Author quality of life features
    • 👁-👁 Focus mode with collapsible nav sidebar, editing tools, and table of contents.
    • 📝 Non-destructive editing is a top priority. Minimal git diff .
    • 🧜 Mermaid diagram editor with a unique feature: text on diagrams can be clicked to auto-select matching mermaid text. Enables fast editing of existing diagrams.
    • 🗂️ File management: reorder files, content migrations, dead link scanning (for broken internal or external links), preview and manage images. Refactors links to documents and intra-document links when headings are renamed.
    • 🔗 A URL pasted onto selected text creates a markdown link. Headings can be copied to create intra-document links. Hold Ctrl key to open links with a click.
    • 🍹🤌 Unified editor actions for WYSIWYG and Markdown modes (i.e. switching modes).
      • 🗡 Loss-less undo/redo history with a UI to access full redo history. Switching modes has shared undo history.
      • 🐁 Cursor location memory: switching modes keeps cursor and scroll area in same document location.
      • 🛰 Text selections are preserved when the author switches modes.
  • 💪 Mkdocs/backage rendering features
    • ✅ Toggle-able checklists (task lists): - [ ] and - [x] .
    • ✅ YAML frontmatter preserved when editing and switching modes.
    • ✅ MkDocs admonitions (!!! note, !!! warning, etc.) with settings gear for type, collapsible, placement, and more.
    • ✅ Markdown link styles preserved (inline, reference, shortcut).
    • ✅ Code blocks with WYSIWYG editable titles, language selector, and auto-indent settings.
    • ✅ Mermaid diagram editing with an embedded live editor (full-screen overlay).
    • ✅ Tables with contextual toolbar: insert/delete rows and columns, column alignment, and formatting settings.
    • ✅ Image dialog with autocomplete from the docs tree.
    • ✅ Emoji shortcode completion and full emoji picker.
    • ✅ Automated content migration to mkdocs-nav-weight.
  • ℹ️ Other noteworthy features
    • ✅ Auto-conversions: inline typing of markdown syntax creates formatted text.
    • ✅ Balanced ASCII table formatting with configurable max width and per-table overrides.
    • ✅ Context-sensitive help panel (Ctrl+?). Not as good as clippy 📎.
    • ✅ No external JavaScript; all assets are bundled locally within the mkdocs plugin.

The following is an annotated screenshot after running techdocs-preview.sh init.

Screen Shot

MkDocs Theme Support

Only the Material for MkDocs theme is officially supported. Admonition styling and icons rely on Material theme CSS. Other themes may work but have not been tested.

No breaking changes to Material theme compatibility are allowed.

Support for admonition syntax (e.g. !!! note, !!! warning, etc.). Admonitions render as they would when the site is built by mkdocs. Collapsible admonitions (??? type) and HTML details tags (!!! details) are also supported.

Attributions

This plugin incorporates or depends on the following works:

Component Author License Link
@celsowm/markdown-wysiwyg (WYSIWYG editor) Celso Fontes MIT GitHub · npm
marked (Markdown parser) Christopher Jeffrey, MarkedJS MIT GitHub · marked.js.org
js-yaml (YAML parser) Vitaly Puzrin MIT GitHub
mermaid (Diagram renderer) Knut Sveidqvist MIT GitHub · mermaid.js.org
mermaid-live-editor (Diagram editor) Knut Sveidqvist MIT GitHub
mkdocs-live-edit-plugin (required dependency) Eddy Luten MIT GitHub

All listed components are distributed under the MIT License. See each project's repository for full license text.

All vendored JavaScript, CSS, and application builds are bundled locally in mkdocs_live_wysiwyg_plugin/vendor/ — no external JavaScript or CSS is loaded at runtime. See vendor/README.md for exact versions and license files.

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

mkdocs_live_wysiwyg_plugin-0.4.5.tar.gz (6.7 MB view details)

Uploaded Source

Built Distribution

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

mkdocs_live_wysiwyg_plugin-0.4.5-py3-none-any.whl (6.1 MB view details)

Uploaded Python 3

File details

Details for the file mkdocs_live_wysiwyg_plugin-0.4.5.tar.gz.

File metadata

File hashes

Hashes for mkdocs_live_wysiwyg_plugin-0.4.5.tar.gz
Algorithm Hash digest
SHA256 19af7dbc934e14853f7ac5a5461e89b5c61b094d9cf64da4013ae442d92aa569
MD5 dc5fdf461be1191ef10eb0a76a381925
BLAKE2b-256 4f34ba0aa8e0c108ff633c2427eccf6e7b06b53bc6c5412b2ca3702b4b9e21c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mkdocs_live_wysiwyg_plugin-0.4.5.tar.gz:

Publisher: release.yml on samrocketman/mkdocs-live-wysiwyg-plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mkdocs_live_wysiwyg_plugin-0.4.5-py3-none-any.whl.

File metadata

File hashes

Hashes for mkdocs_live_wysiwyg_plugin-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 959be63b6b097948f501e513d6debee0f9beefc9c2c2f6a87af9a599252b103e
MD5 92568989968170f1964a458e48d115d9
BLAKE2b-256 66be1b430059a9759b8d411bbf6739fceb179f8b5ff38b01fe737395f27a355d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mkdocs_live_wysiwyg_plugin-0.4.5-py3-none-any.whl:

Publisher: release.yml on samrocketman/mkdocs-live-wysiwyg-plugin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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