A Metalsmith plugin to extract an excerpt from HTML files.
NPM:
npm install @metalsmith/excerpts
Yarn:
yarn add @metalsmith/excerpts
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.textYou 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-matterSometimes 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 }))Add the @metalsmith/excerpts key to your metalsmith.json plugins key:
{
"plugins": [{ "@metalsmith/excerpts": { "multipleFormats": false } }]
}