@md-plugins/md-plugin-title
v2.2.0
Published
A markdown-it plugin for getting Title information.
Maintainers
Readme
@md-plugins/md-plugin-title
A Markdown-It plugin that extracts the first <h1> title from Markdown content and stores it in the Markdown-It environment (env). This is particularly useful for generating page titles dynamically or for metadata extraction in documentation and content management systems.
Features
- Extracts the first
<h1>from Markdown content. - Stores the extracted title in the
titleproperty of the Markdown-It environment (env). - Provides flexibility to handle scenarios with or without a title.
- Seamlessly integrates into content pipelines for title-based features.
Installation
Install the plugin via your preferred package manager:
# with pnpm:
pnpm add @md-plugins/md-plugin-title
# with bun:
bun add @md-plugins/md-plugin-title
# with Yarn:
yarn add @md-plugins/md-plugin-title
# with npm:
npm install @md-plugins/md-plugin-titleUsage
Basic Setup
import MarkdownIt from 'markdown-it';
import { titlePlugin } from '@md-plugins/md-plugin-title';
import type { MarkdownItEnv } from '@md-plugins/shared';
const md = new MarkdownIt();
md.use(titlePlugin);
const markdownContent = `
# This is the Page Title
Some content here.
`;
const env: MarkdownItEnv = {};
const renderedOutput = md.render(markdownContent, env);
console.log('Rendered Output:', renderedOutput);
console.log('Extracted Title:', env.title);Example Output
For the example above, the env will contain the following:
{
"title": "This is the Page Title"
}And the rendered Markdown output will appear as usual:
<h1>This is the Page Title</h1>
<p>Some content here.</p>Options
The md-plugin-title plugin does not currently accept configuration options. It automatically extracts the first <h1> element.
Note
This plugin is not needed when @md-plugins/md-plugin-frontmatter already provides the page title metadata your app needs.
Testing
Run the tests to ensure the plugin behaves as expected:
pnpm testDocumentation
In case this README falls out of date, please refer to the documentation for the latest information.
Support
If md-plugin-title is useful in your workflow and you want to support ongoing maintenance:
- GitHub Sponsors: https://github.com/sponsors/hawkeye64
- PayPal: https://paypal.me/hawkeye64
License
This project is licensed under the MIT License. See the LICENSE file for details.
