0.1.0-alpha.29 • Published 11 months ago

@md-plugins/md-plugin-title v0.1.0-alpha.29

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

@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 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 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 is using the @md-plugins/md-plugin-frontmatter plugin.

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.

License

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

0.1.0-alpha.29

11 months ago

0.1.0-alpha.28

11 months ago

0.1.0-alpha.27

11 months ago

0.1.0-alpha.26

11 months ago

0.1.0-alpha.25

11 months ago

0.1.0-alpha.24

12 months ago

0.1.0-alpha.23

12 months ago

0.1.0-alpha.22

12 months ago

0.1.0-alpha.21

12 months ago

0.1.0-alpha.20

12 months ago

0.1.0-alpha.19

12 months ago

0.1.0-alpha.18

12 months ago

0.1.0-alpha.17

12 months ago

0.1.0-alpha.16

1 year ago

0.1.0-alpha.15

1 year ago

0.1.0-alpha.14

1 year ago

0.1.0-alpha.13

1 year ago

0.1.0-alpha.12

1 year ago

0.1.0-alpha.11

1 year ago

0.1.0-alpha.10

1 year ago

0.1.0-alpha.9

1 year ago

0.1.0-alpha.8

1 year ago

0.1.0-alpha.7

1 year ago

0.1.0-alpha.6

1 year ago

0.1.0-alpha.5

1 year ago

0.1.0-alpha.2

1 year ago

0.1.0-alpha.1

1 year ago