@marp-team/marpit
Version:
The skinny framework for creating slide deck from Markdown
35 lines (29 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _postcss = _interopRequireDefault(require("postcss"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** @module */
/**
* Marpit PostCSS pagination plugin.
*
* Marpit uses `section::after` to show the pagination on each slide. It defines
* in the scaffold theme.
*
* This plugin will comment out a `content` declaration defined in any
* `section::after` of the root, to prevent override the defined attribute for
* paginating.
*
* @alias module:postcss/pagination
*/
const plugin = _postcss.default.plugin('marpit-postcss-pagination', () => css => {
css.walkRules(rule => {
if (rule.selectors.some(selector => /^section(?![\w-])[^\s>+~]*::?after$/.test(selector.replace(/\[.*?\]/g, '')))) rule.walkDecls(/^content$/, decl => {
if (decl.value !== 'attr(data-marpit-pagination)') decl.replaceWith(`${decl.raw('before')}/* ${decl.toString()}; */`);
});
});
});
var _default = plugin;
exports.default = _default;