UNPKG

markdown-it-ftoc

Version:

markdown-it plugin to add toc and anchor links in headings

1 lines 11.4 kB
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.markdownItFtoc=n():e.markdownItFtoc=n()}(this,function(){return function(e){var n=this.webpackHotUpdatemarkdownItFtoc;this.webpackHotUpdatemarkdownItFtoc=function(e,t){!function(e,n){if(!O[e]||!w[e])return;for(var t in w[e]=!1,n)Object.prototype.hasOwnProperty.call(n,t)&&(y[t]=n[t]);0==--m&&0===b&&x()}(e,t),n&&n(e,t)};var t,r=!0,o="5b86c333fd1106cc203b",c=1e4,i={},a=[],s=[];function l(e){var n=P[e];if(!n)return E;var r=function(r){return n.hot.active?(P[r]?-1===P[r].parents.indexOf(e)&&P[r].parents.push(e):(a=[e],t=r),-1===n.children.indexOf(r)&&n.children.push(r)):(console.warn("[HMR] unexpected require("+r+") from disposed module "+e),a=[]),E(r)},o=function(e){return{configurable:!0,enumerable:!0,get:function(){return E[e]},set:function(n){E[e]=n}}};for(var c in E)Object.prototype.hasOwnProperty.call(E,c)&&"e"!==c&&"t"!==c&&Object.defineProperty(r,c,o(c));return r.e=function(e){return"ready"===f&&p("prepare"),b++,E.e(e).then(n,function(e){throw n(),e});function n(){b--,"prepare"===f&&(g[e]||k(e),0===b&&0===m&&x())}},r.t=function(e,n){return 1&n&&(e=r(e)),E.t(e,-2&n)},r}function d(e){var n={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:t!==e,active:!0,accept:function(e,t){if(void 0===e)n._selfAccepted=!0;else if("function"==typeof e)n._selfAccepted=e;else if("object"==typeof e)for(var r=0;r<e.length;r++)n._acceptedDependencies[e[r]]=t||function(){};else n._acceptedDependencies[e]=t||function(){}},decline:function(e){if(void 0===e)n._selfDeclined=!0;else if("object"==typeof e)for(var t=0;t<e.length;t++)n._declinedDependencies[e[t]]=!0;else n._declinedDependencies[e]=!0},dispose:function(e){n._disposeHandlers.push(e)},addDisposeHandler:function(e){n._disposeHandlers.push(e)},removeDisposeHandler:function(e){var t=n._disposeHandlers.indexOf(e);t>=0&&n._disposeHandlers.splice(t,1)},check:j,apply:D,status:function(e){if(!e)return f;u.push(e)},addStatusHandler:function(e){u.push(e)},removeStatusHandler:function(e){var n=u.indexOf(e);n>=0&&u.splice(n,1)},data:i[e]};return t=void 0,n}var u=[],f="idle";function p(e){f=e;for(var n=0;n<u.length;n++)u[n].call(null,e)}var h,y,v,m=0,b=0,g={},w={},O={};function _(e){return+e+""===e?+e:e}function j(e){if("idle"!==f)throw new Error("check() is only allowed in idle status");return r=e,p("check"),(n=c,n=n||1e4,new Promise(function(e,t){if("undefined"==typeof XMLHttpRequest)return t(new Error("No browser support"));try{var r=new XMLHttpRequest,c=E.p+""+o+".hot-update.json";r.open("GET",c,!0),r.timeout=n,r.send(null)}catch(e){return t(e)}r.onreadystatechange=function(){if(4===r.readyState)if(0===r.status)t(new Error("Manifest request to "+c+" timed out."));else if(404===r.status)e();else if(200!==r.status&&304!==r.status)t(new Error("Manifest request to "+c+" failed."));else{try{var n=JSON.parse(r.responseText)}catch(e){return void t(e)}e(n)}}})).then(function(e){if(!e)return p("idle"),null;w={},g={},O=e.c,v=e.h,p("prepare");var n=new Promise(function(e,n){h={resolve:e,reject:n}});y={};return k(0),"prepare"===f&&0===b&&0===m&&x(),n});var n}function k(e){O[e]?(w[e]=!0,m++,function(e){var n=document.createElement("script");n.charset="utf-8",n.src=E.p+""+e+"."+o+".hot-update.js",document.head.appendChild(n)}(e)):g[e]=!0}function x(){p("ready");var e=h;if(h=null,e)if(r)Promise.resolve().then(function(){return D(r)}).then(function(n){e.resolve(n)},function(n){e.reject(n)});else{var n=[];for(var t in y)Object.prototype.hasOwnProperty.call(y,t)&&n.push(_(t));e.resolve(n)}}function D(n){if("ready"!==f)throw new Error("apply() is only allowed in ready status");var t,r,c,s,l;function d(e){for(var n=[e],t={},r=n.map(function(e){return{chain:[e],id:e}});r.length>0;){var o=r.pop(),c=o.id,i=o.chain;if((s=P[c])&&!s.hot._selfAccepted){if(s.hot._selfDeclined)return{type:"self-declined",chain:i,moduleId:c};if(s.hot._main)return{type:"unaccepted",chain:i,moduleId:c};for(var a=0;a<s.parents.length;a++){var l=s.parents[a],d=P[l];if(d){if(d.hot._declinedDependencies[c])return{type:"declined",chain:i.concat([l]),moduleId:c,parentId:l};-1===n.indexOf(l)&&(d.hot._acceptedDependencies[c]?(t[l]||(t[l]=[]),u(t[l],[c])):(delete t[l],n.push(l),r.push({chain:i.concat([l]),id:l})))}}}}return{type:"accepted",moduleId:e,outdatedModules:n,outdatedDependencies:t}}function u(e,n){for(var t=0;t<n.length;t++){var r=n[t];-1===e.indexOf(r)&&e.push(r)}}n=n||{};var h={},m=[],b={},g=function(){console.warn("[HMR] unexpected require("+j.moduleId+") to disposed module")};for(var w in y)if(Object.prototype.hasOwnProperty.call(y,w)){var j;l=_(w);var k=!1,x=!1,D=!1,H="";switch((j=y[w]?d(l):{type:"disposed",moduleId:w}).chain&&(H="\nUpdate propagation: "+j.chain.join(" -> ")),j.type){case"self-declined":n.onDeclined&&n.onDeclined(j),n.ignoreDeclined||(k=new Error("Aborted because of self decline: "+j.moduleId+H));break;case"declined":n.onDeclined&&n.onDeclined(j),n.ignoreDeclined||(k=new Error("Aborted because of declined dependency: "+j.moduleId+" in "+j.parentId+H));break;case"unaccepted":n.onUnaccepted&&n.onUnaccepted(j),n.ignoreUnaccepted||(k=new Error("Aborted because "+l+" is not accepted"+H));break;case"accepted":n.onAccepted&&n.onAccepted(j),x=!0;break;case"disposed":n.onDisposed&&n.onDisposed(j),D=!0;break;default:throw new Error("Unexception type "+j.type)}if(k)return p("abort"),Promise.reject(k);if(x)for(l in b[l]=y[l],u(m,j.outdatedModules),j.outdatedDependencies)Object.prototype.hasOwnProperty.call(j.outdatedDependencies,l)&&(h[l]||(h[l]=[]),u(h[l],j.outdatedDependencies[l]));D&&(u(m,[j.moduleId]),b[l]=g)}var I,S=[];for(r=0;r<m.length;r++)l=m[r],P[l]&&P[l].hot._selfAccepted&&b[l]!==g&&S.push({module:l,errorHandler:P[l].hot._selfAccepted});p("dispose"),Object.keys(O).forEach(function(e){!1===O[e]&&function(e){delete installedChunks[e]}(e)});for(var A,L,C=m.slice();C.length>0;)if(l=C.pop(),s=P[l]){var M={},N=s.hot._disposeHandlers;for(c=0;c<N.length;c++)(t=N[c])(M);for(i[l]=M,s.hot.active=!1,delete P[l],delete h[l],c=0;c<s.children.length;c++){var F=P[s.children[c]];F&&((I=F.parents.indexOf(l))>=0&&F.parents.splice(I,1))}}for(l in h)if(Object.prototype.hasOwnProperty.call(h,l)&&(s=P[l]))for(L=h[l],c=0;c<L.length;c++)A=L[c],(I=s.children.indexOf(A))>=0&&s.children.splice(I,1);for(l in p("apply"),o=v,b)Object.prototype.hasOwnProperty.call(b,l)&&(e[l]=b[l]);var U=null;for(l in h)if(Object.prototype.hasOwnProperty.call(h,l)&&(s=P[l])){L=h[l];var q=[];for(r=0;r<L.length;r++)if(A=L[r],t=s.hot._acceptedDependencies[A]){if(-1!==q.indexOf(t))continue;q.push(t)}for(r=0;r<q.length;r++){t=q[r];try{t(L)}catch(e){n.onErrored&&n.onErrored({type:"accept-errored",moduleId:l,dependencyId:L[r],error:e}),n.ignoreErrored||U||(U=e)}}}for(r=0;r<S.length;r++){var R=S[r];l=R.module,a=[l];try{E(l)}catch(e){if("function"==typeof R.errorHandler)try{R.errorHandler(e)}catch(t){n.onErrored&&n.onErrored({type:"self-accept-error-handler-errored",moduleId:l,error:t,originalError:e}),n.ignoreErrored||U||(U=t),U||(U=e)}else n.onErrored&&n.onErrored({type:"self-accept-errored",moduleId:l,error:e}),n.ignoreErrored||U||(U=e)}}return U?(p("fail"),Promise.reject(U)):(p("idle"),new Promise(function(e){e(m)}))}var P={};function E(n){if(P[n])return P[n].exports;var t=P[n]={i:n,l:!1,exports:{},hot:d(n),parents:(s=a,a=[],s),children:[]};return e[n].call(t.exports,t,t.exports,l(n)),t.l=!0,t.exports}return E.m=e,E.c=P,E.d=function(e,n,t){E.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},E.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},E.t=function(e,n){if(1&n&&(e=E(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(E.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)E.d(t,r,function(n){return e[n]}.bind(null,r));return t},E.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return E.d(n,"a",n),n},E.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},E.p="",E.h=function(){return o},l("./src/index.js")(E.s="./src/index.js")}({"./src/index.js":function(e,n){function t(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var r=function(e){return e.replace(/[^\w\s]/gi,"").split(" ").join("_")};e.exports=function(e,n){const o=function(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(n){t(e,n,r[n])})}return e}({tocClassName:"markdown-toc",tocFirstLevel:1,tocLastLevel:6,tocCallback:null,anchorLinkSymbol:"#",anchorLinkSymbolClassName:"header-anchor",anchorClassName:"markdown-toc-anchor",anchorLinkSpace:!0,slugifyArguments:[{allowedChars:"_-"}]},n),c="function"==typeof o.slugify&&o.slugify||r;var i=/^@\[toc\](?:\((?:\s+)?([^)]+)(?:\s+)?\)?)?(?:\s+?)?$/im,a="";const s="@[toc]";let l,d={},u="";function f(e){const n=c(e,...o.slugifyArguments);return d[n]||(d[n]=0),d[n]++,n+(d[n]>1?"-".concat(d[n]):"")}e.renderer.rules.heading_open=function(e,n){const t=e[n].tag,r=e[n+1];if("inline"===r.type){const e=r.id;return"<".concat(t,' id="').concat(e,'"><a href="#').concat(e,'" ').concat(o.anchorLinkSymbolClassName?' class="'+o.anchorLinkSymbolClassName+'"':"",">").concat(o.anchorLinkSymbol,"</a>").concat(o.anchorLinkSpace?" ":"")}return"</h1>"},e.renderer.rules.toc_open=function(){return""},e.renderer.rules.toc_close=function(){return""},e.renderer.rules.toc_body=function(e,n){return"<h3>"+e[n].content+"</h3>"+u},e.core.ruler.push("grab_state",function(e){l=e,d={},u=p()});const p=function(){const e=[],n=l.tokens,t=n.length;for(let r=0;r<t;r++){if("heading_close"!==n[r].type)continue;const t=n[r],o=n[r-1];if("inline"===o.type){const n=f(o.content);o.id=n,e.push({level:+t.tag.substr(1,1),anchor:o.map[0],content:o.content,id:n})}}let r=o.tocFirstLevel-1;const c=e.map(function(e){let n=[];if(e.level<o.tocFirstLevel||e.level>o.tocLastLevel)return"";if(e.level>r){const t=e.level-r;for(let e=0;e<t;e++)n.push('<ul class="'.concat(o.tocClassName,'">')),r++}else if(e.level<r){const t=r-e.level;for(let e=0;e<t;e++)n.push("</ul>"),r--}return(n=n.concat(['<li class="'.concat(o.anchorClassName,'"><a href="#'),e.id,'">',e.content,"</a></li>"])).join("")}).join("")+new Array(r+1).join("</ul>");return"function"==typeof o.tocCallback&&o.tocCallback(c),c};e.inline.ruler.after("emphasis","toc",function(e,n){for(;e.src.indexOf("\n")>=0&&e.src.indexOf("\n")<e.src.indexOf("@[toc]");)"softbreak"===e.tokens.slice(-1)[0].type&&(e.src=e.src.split("\n").slice(1).join("\n"),e.pos=0);let t;if(64!==e.src.charCodeAt(e.pos))return!1;if(91!==e.src.charCodeAt(e.pos+1))return!1;let r=i.exec(e.src);if(!r)return!1;if((r=r.filter(function(e){return e})).length<1)return!1;if(n)return!1;(t=e.push("toc_open","toc",1)).markup=s,t=e.push("toc_body","",0);var o=a;r.length>1&&(o=r.pop()),t.content=o,t=e.push("toc_close","toc",-1);let c=0;const l=e.src.indexOf("\n");return c=-1!==l?e.pos+l:e.pos+e.posMax+1,e.pos=c,!0})}}})});