UNPKG

csycms-core-test

Version:
45 lines (34 loc) 1.29 kB
'use strict'; const path = require('path'); const fs = require('fs'); const utils = require('./utils'); const _s = require('underscore.string'); const marked = require('marked'); const contentProcessors = require('../functions/contentProcessors'); function handler (filePath, config) { const contentDir = utils.normalizeDir(path.normalize(config.content_dir)); try { const file = fs.readFileSync(filePath); let slug = utils.getSlug(filePath, contentDir); if (slug.indexOf('index.md') > -1) { slug = slug.replace('index.md', ''); } slug = slug.replace('.md', '').trim(); const meta = contentProcessors.processMeta(file.toString('utf-8')); const content = contentProcessors.processVars( contentProcessors.stripMeta(file.toString('utf-8')), config ); const body = marked(content); const title = meta.title ? meta.title : contentProcessors.slugToTitle(slug); const excerpt = _s.prune(_s.stripTags(_s.unescapeHTML(body)), (config.excerpt_length || 400)); return { slug, title, body, excerpt }; } catch (e) { if (config.debug) { console.log(e); } return null; } } exports.default = handler; module.exports = exports.default;