Markdown Plugins Monorepo (md-plugins)
Collection of Markdown-it! plugins for Vue and Quasar
NOTE: This monorepo is currently under development and not yet ready for production use.
A collection of Markdown-It plugins and utilities designed for enhanced Markdown processing. This monorepo contains various plugins for handling specific Markdown features, as well as a Vite plugin for transforming Markdown into Vue Single File Components (SFCs).
Inspired by Quasar Framework documentation and mdit-vue, this project aims to provide a comprehensive set of tools for working with Markdown content.
Overview
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.
- Shared utilities for common processing tasks.
Table of Contents
Plugins
@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-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 |
viteMdPlugin | Vite plugin for transforming Markdown into Vue SFCs. | README |
viteExamplesPlugin | Vite plugin for loading and transforming example components and their raw source code for usage in your application. | README |
Installation
Clone the repository and use pnpm
to install dependencies:
git clone https://github.com/md-plugins/md-plugins.git
cd md-plugins
pnpm install
Development
Building Packages
Build all packages in the monorepo:
pnpm build
Running Tests
Each package includes unit tests. To run all tests across the monorepo:
pnpm test
Linting
Ensure code quality across all packages:
pnpm lint
Contributing
We welcome contributions! Please open an issue or submit a pull request with your proposed changes.
License
This project is licensed under the MIT License. See the LICENSE file for details.