mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2026-04-20 05:41:29 +00:00
3 lines
2.2 KiB
JavaScript
3 lines
2.2 KiB
JavaScript
/*! markdown-it-deflist 3.0.0 https://github.com/markdown-it/markdown-it-deflist.git @license MIT */
|
|
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).markdownitDeflist=e()}(this,(function(){"use strict";return function(t){const e=t.utils.isSpace;function n(t,e){let n=t.bMarks[e]+t.tShift[e];const i=t.eMarks[e];if(n>=i)return-1;const o=t.src.charCodeAt(n++);if(126!==o&&58!==o)return-1;const r=t.skipSpaces(n);return n===r||r>=i?-1:n}t.block.ruler.before("paragraph","deflist",(function(t,i,o,r){if(r)return!(t.ddIndent<0)&&n(t,i)>=0;let s=i+1;if(s>=o)return!1;if(t.isEmpty(s)&&(s++,s>=o))return!1;if(t.sCount[s]<t.blkIndent)return!1;let d=n(t,s);if(d<0)return!1;const l=t.tokens.length;let f=!0;const a=[i,0];t.push("dl_open","dl",1).map=a;let p=i,u=s;t:for(;;){let i=!1;t.push("dt_open","dt",1).map=[p,p];const r=t.push("inline","",0);for(r.map=[p,p],r.content=t.getLines(p,p+1,t.blkIndent,!1).trim(),r.children=[],t.push("dt_close","dt",-1);;){const r=[s,0];t.push("dd_open","dd",1).map=r;let l=d;const a=t.eMarks[u];let p=t.sCount[u]+d-(t.bMarks[u]+t.tShift[u]);for(;l<a;){const n=t.src.charCodeAt(l);if(!e(n))break;9===n?p+=4-p%4:p++,l++}d=l;const c=t.tight,k=t.ddIndent,b=t.blkIndent,h=t.tShift[u],m=t.sCount[u],g=t.parentType;if(t.blkIndent=t.ddIndent=t.sCount[u]+2,t.tShift[u]=d-t.bMarks[u],t.sCount[u]=p,t.tight=!0,t.parentType="deflist",t.md.block.tokenize(t,u,o,!0),t.tight&&!i||(f=!1),i=t.line-u>1&&t.isEmpty(t.line-1),t.tShift[u]=h,t.sCount[u]=m,t.tight=c,t.parentType=g,t.blkIndent=b,t.ddIndent=k,t.push("dd_close","dd",-1),r[1]=s=t.line,s>=o)break t;if(t.sCount[s]<t.blkIndent)break t;if(d=n(t,s),d<0)break;u=s}if(s>=o)break;if(p=s,t.isEmpty(p))break;if(t.sCount[p]<t.blkIndent)break;if(u=p+1,u>=o)break;if(t.isEmpty(u)&&u++,u>=o)break;if(t.sCount[u]<t.blkIndent)break;if(d=n(t,u),d<0)break}return t.push("dl_close","dl",-1),a[1]=s,t.line=s,f&&function(t,e){const n=t.level+2;for(let i=e+2,o=t.tokens.length-2;i<o;i++)t.tokens[i].level===n&&"paragraph_open"===t.tokens[i].type&&(t.tokens[i+2].hidden=!0,t.tokens[i].hidden=!0,i+=2)}(t,l),!0}),{alt:["paragraph","reference","blockquote"]})}}));
|