Awesome
@metalsmith/excerpts
A Metalsmith plugin to extract an excerpt from HTML files.
Installation
NPM:
npm install @metalsmith/excerpts
Yarn:
yarn add @metalsmith/excerpts
Usage
The excerpt is scraped from the first paragraph (<p>
tag) of the rendered HTML contents
of a file and added to its metadata excerpt
key.
const excerpts = require('@metalsmith/excerpts')
metalsmith.use(excerpts()) // default -> file.excerpt
metalsmith.use(excerpts({ multipleFormats: true })) // -> file.excerpt.html & file.excerpt.text
Custom excerpts
You can define a custom excerpt
in the front-matter of specific files:
---
excerpt: This will be the excerpt
---
This would be the excerpt if none was specified in the front-matter
Excerpts with tags stripped
Sometimes you may need access to the text content of the excerpt without HTML tags.
Pass the multipleFormats: true
option to store an excerpt object with both HTML and text excerpts { html: '...', text: '...' }
:
metalsmith.use(excerpts({ multipleFormats: true }))
CLI usage
Add the @metalsmith/excerpts
key to your metalsmith.json
plugins key:
{
"plugins": [{ "@metalsmith/excerpts": { "multipleFormats": false } }]
}