Skip to content
This repository was archived by the owner on Mar 25, 2025. It is now read-only.

This repository serves as a starting point for building plugins that extend the functionality of mdast2docx and @m2d/remark-docx.

License

Notifications You must be signed in to change notification settings

md2docx/md2docx-plugin-template-archived

 
 

Archiving this repo. Not sure why but even after toggling setting multiple times, actions except CodeQL are not triggered on this repo. Creating another repo from the turborepo-template.

🧩 Plugin Template for mdast2docx & @m2d/remark-docx

test Maintainability codecov Version Downloads npm bundle size

This repository serves as a starting point for building plugins that extend the functionality of mdast2docx, @m2d/core and @m2d/remark-docx.

Features

This template offers the following pre-configured features. Additionally, your repository will automatically be re-branded with the help of workflows and post-install scripts.

✅ Monorepo powered by Turborepo and GitHub actions for automating building, testing, and deploying your plugin library

✅ Examples with Next.js, and Vite to showcase how your library can be utilized, also helps in quick manual testing

✅ Examples pre-configured for Light/Dark theme based on user preference

✅ Examples ready to be deployed to Vercel

✅ Code of Conduct and contributing files, ready for customization

✅ Prettier and linter configured according to modern best practices (Feel free to add your flavor)

✅ Recommended VSCode extensions - Prettier and Kanban board for code formatting and project management directly within your IDE

✅ Test setup with Vitest - A modern and fast testing framework supporting Jest-like APIs

✅ Workflows to automate testing on every pull-request or code push event

✅ Workflow to automatically publish and create GitHub releases when you update your library's package.json file.

✅ Workflow to automatically rebrand the entire template based on your repository name. (Refer TODO.md)

✅ Plus, this repo includes a quick checklist for configuring Codecov and other badges, setting up your docs website on GitHub pages, and more. See Checklist or open TKB(Workspace) if you have installed the Trello-Kanban-Board extension.

Star this repository and share it with your friends.


Getting Started:

This template is based on Turborepo Template. But this one is optimized for md2docx plugins. It includes pre-configured unit-tests (in most cases, you don't event need to update any of the unit tests), a lot of extra stuff provided by the turborepo-template is removed, and comes with dependencies and scripts optimized for md2docx plugin development.

To get started, simply click on the "Use this template" button to create a new repository based on this template, **update sripts/rebrand.config.json if required, and install dependencies(Will automatically trigger rebrand.js). Customize it according to your requirements for your next JavaScript/TypeScript/React/Next.js library or project.

For detailed instructions and a checklist, please refer to TODO.md.

🤩 Don't forget to star this repository!

Looking for a hands-on course to get started with Turborepo? Check out React and Next.js with TypeScript and The Game of Chess with Next.js, React, and TypeScript


🧰 Helpful References


💡 Derive Ideas from existing Plugins

  • @m2d/math: Parse math blocks and convert to equation DOCX
  • @m2d/image: Convert Markdown/HTML images to inline DOCX images
  • @m2d/html: Parse raw HTML into extended MDAST with styles
  • @m2d/table: Advanced table support with merged cells, widths, styles

🙌 Contribute

If you’re building a plugin you'd like to share, let us know or open a PR in the mdast2docx plugins repo!

Enrolling in our courses or sponsor our work.


with 💖 by Mayank Kumar Chaudhari

About

This repository serves as a starting point for building plugins that extend the functionality of mdast2docx and @m2d/remark-docx.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 44.2%
  • TypeScript 34.8%
  • SCSS 21.0%