A collection of Markdown-it plugins, Vite plugins, and Quasar app extensions for Vue/Vite content workflows, static docs output, and Q-Press documentation sites.
Markdown-it! Plugins
Vite Plugins
Quasar App Extensions
A collection of Markdown-It plugins and utilities designed for enhanced Markdown processing. This monorepo contains various plugins for handling specific Markdown features.
A collection of Vite plugins for transforming Markdown into Vue Single File Components (SFCs), handling raw example source, and generating static documentation output.
A collection of App Extensions for Quasar Framework, providing enhanced Markdown support for Quasar applications, including Q-Press. The Q-Press App Extension is a powerful tool for Quasar developers that simplifies the integration of Markdown content into Quasar applications. It leverages the capabilities of Vite and various Markdown plugins to transform Markdown files into Vue components, enabling a seamless and efficient workflow for content management. Q-Press also uses the SSG Vite plugin to generate route manifests and static HTML output for documentation sites that need static-host-friendly pages.
Inspired by Quasar Framework documentation and mdit-vue, this project aims to provide a comprehensive set of tools for working with Markdown content.
This monorepo provides:
- Plugins to enhance Markdown rendering with features like blockquotes, inline code, tables, headers, and more.
- A Vite plugin for seamless integration of Markdown into Vue projects.
- A Vite plugin for handling raw SFC content.
- A Vite SSG plugin for route manifests, static HTML shells, and optional prerendered output.
- Shared utilities for common processing tasks.
The current release-candidate line in this repository is 0.1.0-rc.4. Packages in this line publish to npm under the latest dist-tag while Quasar app-vite is in its release-candidate window.
The 0.1.0 release-candidate line supports direct Markdown-it and Vite plugin usage in Vue/Vite projects, including Markdown transforms, live example source loading, and optional SSG route output. The Quasar app extensions in this repo target Quasar Vite projects using @quasar/app-vite >=3.0.0-rc.3. Repository development and CI use Node.js >=22.13 and pnpm@11.6.0.
pnpm add @md-plugins/vite-md-plugin
pnpm add @md-plugins/vite-ssg-plugin
pnpm add @md-plugins/quasar-app-extension-q-press
bun add @md-plugins/vite-md-plugin
bun add @md-plugins/vite-ssg-plugin
bun add @md-plugins/quasar-app-extension-q-pressThis is a pnpm workspace mono-repo. You cannot use npm for building.
- /md-plugin-* - standalone Markdown-it plugin packages
- /vite-md-plugin - Vite Markdown-to-Vue SFC plugin
- /vite-examples-plugin - Vite examples/source loader plugin
- /vite-ssg-plugin - Vite SSG route manifest and prerender plugin
- /q-press - Quasar app extension for Q-Press documentation sites
- /docs - Q-Press documentation site with docs, demos, and examples
- live demo - live Q-Press docs, demos, and examples
| Plugin | Description | Readme |
|---|---|---|
@md-plugins/md-plugin-imports |
Extracts and processes <script import> blocks from Markdown. |
README |
@md-plugins/md-plugin-codeblocks |
Enhances code block rendering with syntax highlighting, tabs, and more. | README |
@md-plugins/md-plugin-blockquote |
Adds customizable CSS classes to blockquotes. | README |
@md-plugins/md-plugin-headers |
Extracts and processes headers for generating ToCs or managing headers. | README |
@md-plugins/md-plugin-inlinecode |
Adds a custom class to inline code blocks for styling. | README |
@md-plugins/md-plugin-link |
Converts Markdown links into Vue components for SPA-friendly routing. | README |
@md-plugins/md-plugin-mermaid |
Renders Mermaid fenced code blocks as diagrams. | README |
@md-plugins/md-plugin-table |
Adds custom classes and attributes to Markdown tables. | README |
@md-plugins/md-plugin-title |
Extracts the first header in Markdown as the page title. | README |
@md-plugins/md-plugin-frontmatter |
Extracts and processes frontmatter content from Markdown files. | README |
@md-plugins/md-plugin-containers |
Adds custom containers for callouts, warnings, and more. | README |
@md-plugins/shared |
Shared utilities and types for the plugins. | README |
@md-plugins/vite-md-plugin |
Vite plugin for transforming Markdown into Vue SFCs. | README |
@md-plugins/vite-examples-plugin |
Vite plugin for loading and transforming example components and their raw source code for usage in your application. | README |
@md-plugins/vite-ssg-plugin |
Vite plugin for generating route manifests, static HTML shells, and optional prerendered SSG output. | README |
@md-plugins/quasar-app-extension-vite-md-plugin |
Quasar app extension for enhanced Markdown support in Quasar Applications. | README |
@md-plugins/quasar-app-extension-q-press |
Markdown documentation tooling for Quasar and Vite applications. | README |
Clone the repository and use pnpm to install dependencies:
git clone https://github.com/md-plugins/md-plugins.git
cd md-plugins
pnpm installThis repository is currently developed with Node.js >=22.13, CI runs on Node.js 24, and local tooling uses pnpm@11.6.0.
Build all packages and the SSG documentation output in the monorepo:
pnpm buildEach package includes unit tests. To run all tests across the monorepo:
pnpm testEnsure code quality across all packages:
pnpm lintWe welcome contributions! Please open an issue or submit a pull request with your proposed changes.
If md-plugins is useful in your workflow and you want to support ongoing maintenance:
- GitHub Sponsors: https://github.com/sponsors/hawkeye64
- PayPal: https://paypal.me/hawkeye64
This project is licensed under the MIT License. See the LICENSE file for details.