UNPKG

@push.rocks/smartfm

Version:

frontmatter done right

40 lines 2.42 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const gray_matter_1 = __importDefault(require("gray-matter")); /** * class smartfm handles frontmatter */ class Smartfm { constructor(optionsArg) { this.fmType = optionsArg.fmType; } /** * add frontmatter to a string */ stringify(bodyString, frontmatterData) { return gray_matter_1.default.stringify(bodyString, frontmatterData); } /** * parse a string that has frontmatter attached, YAML notation */ parse(stringToParse) { return gray_matter_1.default(stringToParse); } /** * parse from commnets */ parseFromComments(commentStart, stringToParse) { const diffFunc = (diffMe, diffBy) => diffMe.split(diffBy).join(''); let lines = stringToParse.split('\n'); lines = lines.map(line => { return diffFunc(line, commentStart); }); const cleanedString = lines.join('\n'); return this.parse(cleanedString); } } exports.Smartfm = Smartfm; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhEQUFxQztBQVFyQzs7R0FFRztBQUNILE1BQWEsT0FBTztJQUdsQixZQUFZLFVBQXFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsVUFBa0IsRUFBRSxlQUFvQjtRQUNoRCxPQUFPLHFCQUFVLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsYUFBcUI7UUFDekIsT0FBTyxxQkFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLFlBQW9CLEVBQUUsYUFBcUI7UUFDM0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQWpDRCwwQkFpQ0MifQ==