A Metalsmith plugin that automatically add a title from processed file

Usage no npm install needed!

<script type="module">
  import agirornMetalsmithTitle from 'https://cdn.skypack.dev/@agirorn/metalsmith-title';


Build Status


This is a clone of the original metalsmith-title

A Metalsmith plugin that automatically add page title from first heading in processed file

This clone of metalsmith-title adds an option to remove title after detecting it and setting it as metadata. Useful when you want to use markdown documents verbatim, but have special treatments for titles in your templates, such as putting them inside of



Using npm

  npm install @agirorn/metalsmith-title

Using yarn

  yarn add @agirorn/metalsmith-title


Extract the first tile from all (HTML and Markdown) files.

  const title = require('metalsmith-title');

Use the title in a metalsmith-layouts

    <title>{{ title }}</title>

The title can be removed from the file after extraction.

  const title = require('metalsmith-title');
  metalsmith.use(title({ remove: true }));

CLI Usage

Install via npm and then add the metalsmith-title key to your metalsmith.json

    "plugins": {
      "metalsmith-title": true