diff options
Diffstat (limited to 'node_modules/gray-matter/lib/excerpt.js')
| -rw-r--r-- | node_modules/gray-matter/lib/excerpt.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/node_modules/gray-matter/lib/excerpt.js b/node_modules/gray-matter/lib/excerpt.js new file mode 100644 index 0000000..14d9904 --- /dev/null +++ b/node_modules/gray-matter/lib/excerpt.js @@ -0,0 +1,32 @@ +'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; +}; |
