UNPKG

@marp-team/marpit

Version:

The skinny framework for creating slide deck from Markdown

39 lines (30 loc) 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _split = _interopRequireDefault(require("../helpers/split")); var _wrap_tokens = _interopRequireDefault(require("../helpers/wrap_tokens")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** @module */ /** * Marpit slide container plugin. * * @alias module:markdown/slide_container * @param {MarkdownIt} md markdown-it instance. * @param {Element[]} containers Array of container elements. */ function slideContainer(md, containers) { if (!containers) return; const target = [...containers].reverse(); md.core.ruler.push('marpit_slide_containers', state => { if (state.inlineMode) return; const newTokens = []; for (const tokens of (0, _split.default)(state.tokens, t => t.meta && t.meta.marpitSlideElement === 1, true)) { if (tokens.length > 0) newTokens.push(...target.reduce((slides, conts) => (0, _wrap_tokens.default)('marpit_slide_containers', conts, slides), tokens)); } state.tokens = newTokens; }); } var _default = slideContainer; exports.default = _default;