UNPKG

@radicle/gray-matter

Version:

Parse front-matter from a string or file. Fast, reliable and easy to use. Parses YAML front matter by default, but also has support for YAML, JSON, TOML or Coffee Front-Matter, with options to set custom delimiters. Used by metalsmith, assemble, verb and

33 lines (24 loc) 741 B
'use strict'; const defaults = require('./defaults'); module.exports = function(file, options) { const opts = defaults(options); if (file.data == null) { file.data = {}; } if (typeof opts.excerpt === 'function') { return opts.excerpt(file, opts); } const sep = file.data.excerpt_separator || opts.excerpt_separator; if (sep == null && (opts.excerpt === false || opts.excerpt == null)) { return file; } const delimiter = typeof opts.excerpt === 'string' ? opts.excerpt : (sep || opts.delimiters[0]); // if enabled, get the excerpt defined after front-matter const idx = file.content.indexOf(delimiter); if (idx !== -1) { file.excerpt = file.content.slice(0, idx); } return file; };