Marpit API
The documentation of Marpit API (on main
branch) has been published at https://marpit-api.marp.app/.
Please run
npm run jsdoc
if you want to build documentation at local. It would build docs injsdoc
directory.
Documentations
Classes
Classes section is documented about public classes.
We provide Marpit
class by default export.
import Marpit from '@marp-team/marpit'
And all classes can use with named export. (Recommend if you are using TypeScript)
import { Element, Marpit, Theme, ThemeSet } from '@marp-team/marpit'
Modules (for internal)
Modules section is documented about internal modules, that includes plugins for markdown-it and PostCSS, for helping to learn Marpit's architecture by contributors and plugin authors.
⚠️ Do not use internal modules directly. They might be changed the specification without following semantic versioning.
Create plugin
Are you interested to develop third-party plugin for Marpit?
markdown-it plugin
Marpit's plugin interface has compatible with markdown-it. Please refer to the documentation of markdown-it if you want to manipulate the result of Markdown rendering in plugin.
Marpit plugin
When plugin was used through Marpit.use()
, it can access to current Marpit instance via marpit
member of the passed markdown-it instance.
@marp-team/marpit/plugin
provides a helper for creating Marpit plugin. A generated plugin promises an existance of marpit
member.
import { marpitPlugin } from '@marp-team/marpit/plugin'
export default marpitPlugin(({ marpit }) => {
// Add your plugin code here (Add theme, define custom directives, etc...)
/*
marpit.customDirectives.local.yourDirective = (value) => {
return { yourDirective: value }
}
*/
})
If the user tried to use the generated Marpit plugin from this helper as markdown-it plugin wrongly, the plugin throws an error. Thus, you can mark the plugin as dedicated to Marpit.