UNPKG

showdown-toc-export

Version:
2 lines (1 loc) 2.28 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).showdownToc=t()}(this,(function(){"use strict";function e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function t(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=r.toc,o=r.getToc;return function(){return[{type:"output",filter:function(r){var c=[];r.replace(/(<h([1-6]).*?id="([^"]*?)".*?>(.+?)<\/h[1-6]>)|(<p>\[toc\]<\/p>)/g,(function(r,o,i,u,f){if("<p>[toc]</p>"===r)c.push({type:"toc"});else{f=f.replace(/<[^>]+>/g,"");var l={anchor:u,level:Number(i),text:f};n&&n.push(l),c.push(function(r){for(var n=1;arguments.length>n;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?e(Object(o),!0).forEach((function(e){t(r,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):e(Object(o)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}))}return r}({type:"header"},l))}return""})),console.log("collectioncollection",c);var i=[];c.forEach((function(e,t){if("toc"===e.type)if(c[t+1]&&"header"===c[t+1].type){for(var r=[],n=c[t+1].level,o=t+1;c.length>o&&"toc"!==c[o].type;o++){c[o].level===n&&r.push(c[o])}i.push(r)}else i.push([])}));var u=[].concat(i),f="";return r=r.replace(/<p>\[toc\]<\/p>[\n]*/g,(function(){var e=i.shift();if(e&&e.length){var t="<ol>".concat(e.map((function(e){var t=e.text;return'<li><a href="#'.concat(e.anchor,'">').concat(t,"</a></li>")})).join(""),"</ol>\n");return f=t,t}return""})),o&&o({source:f,origin:u.shift(),collection:c}),r}}]}}}));