Getting Started
Development
The development workflow for compiling, building, testing, and running Traven locally. Covers npm run build, npm run test, npm run watch, running the PHP demo pages, and the @latest CDN development target.
Knowledgebase
A deep technical reference of internal findings: CodeMirror 6 pitfalls (block decorations, RangeSetBuilder, character width caching), sandboxed resizing rules, toolbar button customization, all runtime APIs and extension hooks, CSS theming parity tips, security and input sanitization, LaTeX internals, and the floating/hybrid toolbar architecture.
Theming & Styling
Theme Development Guide
The complete guide to building or extending a Traven skin from scratch. Covers the two CSS scopes (editor and preview), the full selector reference, CodeMirror 6 layout-engine rules, WYSIWYM/preview parity, shortcode markup for skins, dark mode strategies, a zero-to-working-skin walkthrough, and a validation checklist.
Customization & Styling
How to swap between pre-built skins (light, dark, colorful, editorial, modern, academic, custom) and toolbar stylesheets, load skins via CDN, and hide or re-style toolbar buttons using CSS selectors.
Custom Typography
Control heading, body, and code fonts through CSS custom properties (--traven-font-display, --traven-font-body, --traven-font-mono). Covers runtime font switching, Google Fonts integration, local @font-face, static overrides, and using the parameterized skin-custom.css.
Shortcodes
Building Custom Shortcodes
The technical blueprint for extending Traven's shortcode system: architectural roles (parser, widget, skin), a step-by-step implementation strategy for adding new shortcodes, the CSS styling token roadmap, and details on the built-in [image] shortcode's Lezer parser integration.
Custom Markdown Rendering
How to replace Traven's built-in fallback renderer with a custom Markdown-to-HTML engine (Marked, markdown-it, etc.) using registerRenderer(). Covers the renderer pipeline, preview styling via .traven-preview, and handling custom shortcodes with regex pre-processors or parser plugins.