Get the Excerpt from a markdown file (like in jekyll or *smith)

Usage no npm install needed!

<script type="module">
  import excerptHtml from 'https://cdn.skypack.dev/excerpt-html';


Build Status js-standard-style Maintainability Test Coverage


parses a given html text for a good excerpt.


$ npm i excerpt-html --save

API usage

var htmlCode = '<p>Hello world</p>';
var excerptHtml = require('excerpt-html');
var excerpt = excerptHtml(htmlCode);

It will either use the first found paragraph or everything up to a

<!-- more -->


You can specify a few options that modify the way the excerpt is parsed:

excerptHtml(htmlCode, {
    moreRegExp:  /\s*<!--\s*more\s*-->/i,  // Search for the slug
    stripTags:   true, // Set to false to get html code
    pruneLength: 140, // Amount of characters that the excerpt should contain
    pruneString: '…', // Character that will be added to the pruned string
    pruneSeparator: ' ', // Separator to be used to separate words

Note: pruneLength and prunestring only work when stripTags is set to true (default).


To make this project we detached the code of metalsmith-better-excerpts from metalsmith.