containers.js 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.containerPlugin = void 0;
  4. const container = require('markdown-it-container');
  5. exports.containerPlugin = (md) => {
  6. md.use(...createContainer('tip', 'TIP'))
  7. .use(...createContainer('warning', 'WARNING'))
  8. .use(...createContainer('danger', 'WARNING'))
  9. // explicitly escape Vue syntax
  10. .use(container, 'v-pre', {
  11. render: (tokens, idx) => tokens[idx].nesting === 1 ? `<div v-pre>\n` : `</div>\n`
  12. });
  13. };
  14. function createContainer(klass, defaultTitle) {
  15. return [
  16. container,
  17. klass,
  18. {
  19. render(tokens, idx) {
  20. const token = tokens[idx];
  21. const info = token.info.trim().slice(klass.length).trim();
  22. if (token.nesting === 1) {
  23. return `<div class="${klass} custom-block"><p class="custom-block-title">${info || defaultTitle}</p>\n`;
  24. }
  25. else {
  26. return `</div>\n`;
  27. }
  28. }
  29. }
  30. ];
  31. }
  32. //# sourceMappingURL=containers.js.map