add initial marp implementation with sample content and build configuration
This commit is contained in:
55
node_modules/@marp-team/marpit/lib/markdown/fragment.js
generated
vendored
Normal file
55
node_modules/@marp-team/marpit/lib/markdown/fragment.js
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.fragment = exports.default = void 0;
|
||||
var _plugin = _interopRequireDefault(require("../plugin"));
|
||||
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
||||
/** @module */
|
||||
|
||||
const fragmentedListMarkups = ['*', ')'];
|
||||
|
||||
/**
|
||||
* Marpit fragment plugin.
|
||||
*
|
||||
* @function fragment
|
||||
* @param {MarkdownIt} md markdown-it instance.
|
||||
*/
|
||||
function _fragment(md) {
|
||||
// Fragmented list
|
||||
md.core.ruler.after('marpit_directives_parse', 'marpit_fragment', state => {
|
||||
if (state.inlineMode) return;
|
||||
for (const token of state.tokens) {
|
||||
if (token.type === 'list_item_open' && fragmentedListMarkups.includes(token.markup)) {
|
||||
token.meta = token.meta || {};
|
||||
token.meta.marpitFragment = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Add data-marpit-fragment(s) attributes to token
|
||||
md.core.ruler.after('marpit_fragment', 'marpit_apply_fragment', state => {
|
||||
if (state.inlineMode) return;
|
||||
const fragments = {
|
||||
slide: undefined,
|
||||
count: 0
|
||||
};
|
||||
for (const token of state.tokens) {
|
||||
if (token.meta && token.meta.marpitSlideElement === 1) {
|
||||
fragments.slide = token;
|
||||
fragments.count = 0;
|
||||
} else if (token.meta && token.meta.marpitSlideElement === -1) {
|
||||
if (fragments.slide && fragments.count > 0) {
|
||||
fragments.slide.attrSet('data-marpit-fragments', fragments.count);
|
||||
}
|
||||
} else if (token.meta && token.meta.marpitFragment) {
|
||||
fragments.count += 1;
|
||||
token.meta.marpitFragment = fragments.count;
|
||||
token.attrSet('data-marpit-fragment', fragments.count);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
const fragment = exports.fragment = (0, _plugin.default)(_fragment);
|
||||
var _default = exports.default = fragment;
|
||||
Reference in New Issue
Block a user