An open API service indexing awesome lists of open source software.

https://github.com/simbo/metalsmith-better-excerpts

A Metalsmith plugin to extract/generate an excerpt from file content or metadata with multiple options.
https://github.com/simbo/metalsmith-better-excerpts

Last synced: 12 months ago
JSON representation

A Metalsmith plugin to extract/generate an excerpt from file content or metadata with multiple options.

Awesome Lists containing this project

README

          

metalsmith-better-excerpts
==========================

> A [Metalsmith](https://github.com/segmentio/metalsmith) plugin to
> extract/generate an excerpt from file content or metadata with multiple
> options.

[![npm Package Version](https://img.shields.io/npm/v/metalsmith-better-excerpts.svg?style=flat-square)](https://www.npmjs.com/package/metalsmith-better-excerpts)
[![MIT License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://simbo.mit-license.org)
[![Dependencies Status](https://img.shields.io/david/simbo/metalsmith-better-excerpts.svg?style=flat-square)](https://david-dm.org/simbo/metalsmith-better-excerpts)
[![devDependencies Status](https://img.shields.io/david/dev/simbo/metalsmith-better-excerpts.svg?style=flat-square)](https://david-dm.org/simbo/metalsmith-better-excerpts#info=devDependencies)
[![Travis Build Status](https://img.shields.io/travis/simbo/metalsmith-better-excerpts/master.svg?style=flat-square)](https://travis-ci.org/simbo/metalsmith-better-excerpts)

## About

***metalsmith-better-excerpts*** will generate an excerpt for each *file* object
either from frontmatter/metadata, from content until the first `more` tag or
from the first paragraph in content. So generated excerpt content can be
additionally parsed by
[underscore.string](https://github.com/epeli/underscore.string)'s
`stripTags` and `prune` functions, although `prune` can only be used together
with `stripTags`.

## Installation

``` sh
$ npm install metalsmith-better-excerpts
```

## CLI Usage

Install via npm and then add the metalsmith-better-excerpts key to your
_metalsmith.json_ with any options you want, like so:

``` json
{
"plugins": {
"metalsmith-better-excerpts": {
"pruneLength": 80
}
}
}
```

## Javascript Usage

Pass options to the plugin and pass it to Metalsmith with the use method:

``` javascript
var excerpts = require('metalsmith-better-excerpts');

metalsmith.use(excerpts({
pruneLength: 80
}));
```

## Options

All options are optional.

Set `pruneLength` to `0` to disable pruning.

### Defaults

``` javascript
var defaultOptions = {
moreRegExp: /\s*/i,
stripTags: true,
pruneLength: 140,
pruneString: '…'
};
```