UNPKG

microcms-richedit-processer

Version:

microCMSのリッチエディタから取得した値を加工したり、目次リストを作成します。

25 lines (24 loc) 841 B
import merge from 'deepmerge'; import { parse } from 'node-html-parser'; var defaultOptions = { tags: 'h1, h2, h3', dataForName: 'tagName', }; function createTableOfContents(content, options) { if (options === void 0) { options = {}; } var createTocOptions = merge(defaultOptions, options); var root = parse(content); var headingElements = root.querySelectorAll(createTocOptions.tags); if (createTocOptions.dataForName === 'tagName') { return headingElements.map(function (heading) { return ({ id: heading.id, text: heading.textContent, name: heading.tagName.toLowerCase(), }); }); } return headingElements.map(function (heading) { return ({ id: heading.id, text: heading.textContent, }); }); } export default createTableOfContents;