@md-plugins/md-plugin-title

A markdown-it plugin for getting Title information.
13,561 4
Install
npm install @md-plugins/md-plugin-title
Latest Version:2.2.0
License:MIT
Last Updated:Sep 16, 2026
Links: GitHub  ·  npm
Maintainer: hawkeye64

@md-plugins/md-plugin-title

npm version npm downloads npm monthly downloads license

GitHub Sponsors button PayPal donate button

Discord X

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 title property 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-title

Usage

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 test

Documentation

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:

License

This project is licensed under the MIT License. See the LICENSE file for details.

Related Packages

@md-plugins/md-plugin-image

A markdown-it plugin for handling images.

15,902 4
@md-plugins/md-plugin-inlinecode

A markdown-it plugin for handling inline code.

13,671 4
@md-plugins/md-plugin-frontmatter

A markdown-it plugin for handling frontmatter in markdown files.

13,642 4
@md-plugins/md-plugin-headers

A markdown-it plugin for handling headers (H1-H6).

13,577 4
@md-plugins/md-plugin-table

A markdown-it plugin for handling tables with custom tag and styles.

13,563 4

Version History

Version Released License
2.2.0 MIT
2.1.0 MIT
2.0.4 MIT
2.0.3 MIT
2.0.2 MIT
Pre-releases (77)
Version Released License
0.1.0-rc.19 MIT
0.1.0-rc.18 MIT
0.1.0-rc.17 MIT
0.1.0-rc.16 MIT
0.1.0-rc.15 MIT