@marp-team/marpit
Version:
The skinny framework for creating slide deck from Markdown
31 lines (25 loc) • 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 pseudo selector prepending plugin.
*
* Prepend `:marpit-container > :marpit-slide` pseudo selector to each selector
* of Marpit theme CSS for modulized styling.
*
* @alias module:postcss/pseudo_selector/prepend
*/
const plugin = _postcss.default.plugin('marpit-postcss-pseudo-selector-prepend', () => css => css.walkRules(rule => {
rule.selectors = rule.selectors.map(selector => {
if (/^section(?![\w-])/.test(selector)) return `:marpit-container > :marpit-slide${selector.slice(7)}`;
if (/^(:marpit-container|html|body)(?![\w-])/.test(selector)) return selector;
return `:marpit-container > :marpit-slide ${selector}`;
});
}));
var _default = plugin;
exports.default = _default;