/*** Fork https://github.com/egoist/docute/blob/master/src/utils/front-matter.js*//* eslint-disable */import parser from './yaml.js';const optionalByteOrderMark = '\\ufeff?';const pattern ='^(' +optionalByteOrderMark +'(= yaml =|---)' +'$([\\s\\S]*?)' +'(?:\\2|\\.\\.\\.)' +'$' +'' +'(?:\\n)?)';// NOTE: If this pattern uses the 'g' flag the `regex` variable definition will// need to be moved down into the functions that use it.const regex = new RegExp(pattern, 'm');function extractor(string) {string = string || '';const lines = string.split(/(\r?\n)/);if (lines[0] && /= yaml =|---/.test(lines[0])) {return parse(string);} else {return { attributes: {}, body: string };}}function parse(string) {const match = regex.exec(string);if (!match) {return {attributes: {},body: string,};}const yaml = match[match.length - 1].replace(/^\s+|\s+$/g, '');const attributes = parser(yaml) || {};const body = string.replace(match[0], '');return { attributes: attributes, body: body, frontmatter: yaml };}export default extractor;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型