diff --git a/web/js/blog-editor/blog-editor.js b/web/js/blog-editor/blog-editor.js index ec0ed2e..eb4666d 100644 --- a/web/js/blog-editor/blog-editor.js +++ b/web/js/blog-editor/blog-editor.js @@ -87,11 +87,13 @@ function blog_editor_init(name, editor_config) { div_container_editor.wrap('
'); div_container_editor.append($('
').append('
')); - require_monaco({}, function() { + require_monaco({ + markdown: true, + }, function() { $(div_container_editor).empty(); var monaco_editor_instance = monaco.editor.create(div_container_editor[0], { - language: editor_config.type == 'slide' ? 'yaml' : 'markdown', + language: editor_config.type == 'slide' ? 'yaml' : 'markdown-math', automaticLayout: true, fontSize: "16px", minimap: { @@ -111,24 +113,13 @@ function blog_editor_init(name, editor_config) { input_content_md.val(monaco_editor_instance.getModel().getValue()); }); - function add_around(sl, sr) { - var selection = monaco_editor_instance.getSelection(); - var selection_value = monaco_editor_instance.getModel().getValueInRange(selection); - - monaco_editor_instance.executeEdits(sl + selection_value + sr, [{ - range: selection, - text: sl + selection_value + sr, - forceMoveMarkers: true, - }]); - } - bold_btn.click(function() { - add_around("**", "**"); + monaco_editor_instance.trigger(monaco.KeyMod.CtrlCmd + monaco.KeyCode.KEY_B, '', {}); monaco_editor_instance.focus(); }); italic_btn.click(function() { - add_around("_", "_"); + monaco_editor_instance.trigger(monaco.KeyMod.CtrlCmd + monaco.KeyCode.KEY_I, '', {}); monaco_editor_instance.focus(); }); @@ -145,32 +136,6 @@ function blog_editor_init(name, editor_config) { }, }); - monaco_editor_instance.addAction({ - id: 'bold', - label: 'Bold', - keybindings: [ - monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyB, - ], - precondition: null, - keybindingContext: null, - run: function(ed) { - bold_btn.click(); - }, - }); - - monaco_editor_instance.addAction({ - id: 'preview', - label: 'Preview', - keybindings: [ - monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyD, - ], - precondition: null, - keybindingContext: null, - run: function(ed) { - preview_btn.click(); - }, - }); - monaco_editor_instance.addAction({ id: 'italic', label: 'Italic', @@ -183,6 +148,11 @@ function blog_editor_init(name, editor_config) { italic_btn.click(); }, }); + + require(['MonacoMarkdown'], function(MonacoMarkdown) { + var extension = new MonacoMarkdown.MonacoMarkdownExtension(); + extension.activate(monaco_editor_instance); + }); }); } diff --git a/web/js/blog-editor/monaco-markdown.js b/web/js/blog-editor/monaco-markdown.js new file mode 100644 index 0000000..6d5ebd5 --- /dev/null +++ b/web/js/blog-editor/monaco-markdown.js @@ -0,0 +1,2 @@ +/*! monaco-markdown v0.0.12 | github.com/traff/monaco-markdown */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("monaco-editor")):"function"==typeof define&&define.amd?define("MonacoMarkdown",["vs/editor/editor.main"],t):"object"==typeof exports?exports.MonacoMarkdown=t(require("monaco-editor")):e.MonacoMarkdown=t(e.monaco)}(window,function(n){return r=[function(e,t){e.exports=n},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0}),t.SnippetString=t.TextEditorSelectionChangeKind=t.TextEditorRevealType=t.WorkspaceEdit=t.TextEdit=t.EndOfLine=t.Selection=t.Range=t.Position=t.values=void 0;var o=n(9);function a(e){var t=[];return e.forEach(function(e){return t.push(e)}),t}t.values=a;var s=(c.Min=function(){for(var e=[],t=0;te.line?1:this._charactere._character?1:0},c.prototype.translate=function(e,t){if(void 0===t&&(t=0),null===e||null===t)throw o.illegalArgument();var n;return void 0===e?n=0:"number"==typeof e?n=e:(n="number"==typeof e.lineDelta?e.lineDelta:0,t="number"==typeof e.characterDelta?e.characterDelta:0),0===n&&0===t?this:new c(this.line+n,this.character+t)},c.prototype.with=function(e,t){if(void 0===t&&(t=this.character),null===e||null===t)throw o.illegalArgument();var n;return void 0===e?n=this.line:"number"==typeof e?n=e:(n=("number"==typeof e.line?e:this).line,t=("number"==typeof e.character?e:this).character),n===this.line&&t===this.character?this:new c(n,t)},c.prototype.toJSON=function(){return{line:this.line,character:this.character}},c);function c(e,t){if(e<0)throw o.illegalArgument("line must be non-negative");if(t<0)throw o.illegalArgument("character must be non-negative");this._line=e,this._character=t}t.Position=s;var l=(u.isRange=function(e){return e instanceof u||!!e&&(s.isPosition(e.start)&&s.isPosition(e.end))},Object.defineProperty(u.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(u.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),u.prototype.contains=function(e){return e instanceof u?this.contains(e._start)&&this.contains(e._end):e instanceof s&&(!e.isBefore(this._start)&&!this._end.isBefore(e))},u.prototype.isEqual=function(e){return this._start.isEqual(e._start)&&this._end.isEqual(e._end)},u.prototype.intersection=function(e){var t=s.Max(e.start,this._start),e=s.Min(e.end,this._end);if(!t.isAfter(e))return new u(t,e)},u.prototype.union=function(e){return this.contains(e)?this:e.contains(this)?e:new u(s.Min(e.start,this._start),s.Max(e.end,this.end))},Object.defineProperty(u.prototype,"isEmpty",{get:function(){return this._start.isEqual(this._end)},enumerable:!1,configurable:!0}),Object.defineProperty(u.prototype,"isSingleLine",{get:function(){return this._start.line===this._end.line},enumerable:!1,configurable:!0}),u.prototype.with=function(e,t){if(void 0===t&&(t=this.end),null===e||null===t)throw o.illegalArgument();var n;return e?s.isPosition(e)?n=e:(n=e.start||this.start,t=e.end||this.end):n=this.start,n.isEqual(this._start)&&t.isEqual(this.end)?this:new u(n,t)},u.prototype.toJSON=function(){return[this.start,this.end]},u);function u(e,t,n,r){var i,o;if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof r?(i=new s(e,t),o=new s(n,r)):e instanceof s&&t instanceof s&&(i=e,o=t),!i||!o)throw new Error("Invalid arguments");i.isBefore(o)?(this._start=i,this._end=o):(this._start=o,this._end=i)}t.Range=l;var d,i=(i(p,d=l),p.isSelection=function(e){return e instanceof p||!!e&&(l.isRange(e)&&s.isPosition(e.anchor)&&s.isPosition(e.active)&&"boolean"==typeof e.isReversed)},Object.defineProperty(p.prototype,"anchor",{get:function(){return this._anchor},enumerable:!1,configurable:!0}),Object.defineProperty(p.prototype,"active",{get:function(){return this._active},enumerable:!1,configurable:!0}),Object.defineProperty(p.prototype,"isReversed",{get:function(){return this._anchor===this._end},enumerable:!1,configurable:!0}),p.prototype.toJSON=function(){return{start:this.start,end:this.end,active:this.active,anchor:this.anchor}},p);function p(e,t,n,r){var i,o,a=this;if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof r?(i=new s(e,t),o=new s(n,r)):e instanceof s&&t instanceof s&&(i=e,o=t),!i||!o)throw new Error("Invalid arguments");return(a=d.call(this,i,o)||this)._anchor=i,a._active=o,a}t.Selection=i,(i=t.EndOfLine||(t.EndOfLine={}))[i.LF=1]="LF",i[i.CRLF=2]="CRLF";var g=(f.isTextEdit=function(e){return e instanceof f||!!e&&(l.isRange(e)&&"string"==typeof e.newText)},f.replace=function(e,t){return new f(e,t)},f.insert=function(e,t){return f.replace(new l(e,e),t)},f.delete=function(e){return f.replace(e,"")},f.setEndOfLine=function(e){var t=new f(new l(new s(0,0),new s(0,0)),"");return t.newEol=e,t},Object.defineProperty(f.prototype,"range",{get:function(){return this._range},set:function(e){if(e&&!l.isRange(e))throw o.illegalArgument("range");this._range=e},enumerable:!1,configurable:!0}),Object.defineProperty(f.prototype,"newText",{get:function(){return this._newText||""},set:function(e){if(e&&"string"!=typeof e)throw o.illegalArgument("newText");this._newText=e},enumerable:!1,configurable:!0}),Object.defineProperty(f.prototype,"newEol",{get:function(){return this._newEol},set:function(e){if(e&&"number"!=typeof e)throw o.illegalArgument("newEol");this._newEol=e},enumerable:!1,configurable:!0}),f.prototype.toJSON=function(){return{range:this.range,newText:this.newText,newEol:this._newEol}},f);function f(e,t){this.range=e,this._newText=t}t.TextEdit=g;h.prototype.renameFile=function(e,t,n){this._edits.push({_type:1,from:e,to:t,options:n})},h.prototype.createFile=function(e,t){this._edits.push({_type:1,from:void 0,to:e,options:t})},h.prototype.deleteFile=function(e,t){this._edits.push({_type:1,from:e,to:void 0,options:t})},h.prototype.replace=function(e,t,n){this._edits.push({_type:2,uri:e,edit:new g(t,n)})},h.prototype.insert=function(e,t,n){this.replace(e,new l(t,t),n)},h.prototype.delete=function(e,t){this.replace(e,t,"")},h.prototype.has=function(e){for(var t=0,n=this._edits;t=this._lines.length)throw new Error("Illegal value for `line`");var n,r,i,o=this._textLines[t];return o&&o.lineNumber===t&&o.text===this._lines[t]||(n=this._lines[t],r=/^(\s*)/.exec(n)[1].length,i=new a.Range(t,0,t,n.length),e=t=this._lines.length?(n=this._lines.length-1,r=this._lines[n].length,i=!0):(t=this._lines[n].length,r<0?i=!(r=0):t=t.character?e:0}).reduce(function(e,t){return e+t},0);n.isEmpty?"~~"!==c&&T(s,o,c)===c+"text|"+l?(t=o.with({character:o.character+a+l.length}),p[e]=new h.Selection(t,t)):T(s,o,c)===c+"|"+l?(r=o.with({character:o.character-c.length}),i=o.with({character:o.character+l.length}),L(s,u,d,p,e,a,o,new h.Range(r,i),!1,c)):(null==(r=s.document.getWordRangeAtPosition(o))&&(r=n),i=s.document.lineAt(o.line),"~~"===c&&/^\s*[\*\+\-] (\[[ x]\] )? */g.test(i.text)&&(r=i.range.with(new h.Position(o.line,i.text.match(/^\s*[\*\+\-] (\[[ x]\] )? */g)[0].length))),L(s,u,d,p,e,a,o,r,!1,c)):L(s,u,d,p,e,a,o,n,!0,c)});var t=s.selection&&!s.selection.isEmpty;return s.applyEdit(u,p).then(function(){t||(s.selections=p)})}function L(e,t,n,r,i,o,a,s,c,l,u){null==u&&(u=l);var d=e.document.getText(s),p=r[i],g=(l+u).length,f=a.with({character:a.character+o}),f=function(e,t,n){null==n&&(n=t);return e.startsWith(t)&&e.endsWith(n)}(d,l)?(t.replace(e.document.uri,s,d.substr(l.length,d.length-g)),n.push([s.end,-g]),c?new h.Selection(p.start.with({character:p.start.character+o}),p.end.with({character:p.end.character+o-g})):(f=s.isEmpty?a.with({character:a.character+o+l.length}):a.character==s.end.character?a.with({character:a.character+o-g}):a.with({character:a.character+o-l.length}),new h.Selection(f,f))):(t.replace(e.document.uri,s,l+d+u),n.push([s.end,g]),c?new h.Selection(p.start.with({character:p.start.character+o}),p.end.with({character:p.end.character+o+g})):(f=!s.isEmpty&&a.character==s.end.character?a.with({character:a.character+o+g}):a.with({character:a.character+o+l.length}),new h.Selection(f,f)));r[i]=f}function T(e,t,n,r){var i=t.character-n.length,o=t.character+(r=null==r?n:r).length,i=e.document.getText(new h.Range(t.line,i=i<0?0:i,t.line,t.character));return e.document.getText(new h.Range(t.line,t.character,t.line,o))==r?i==n?n+"|"+r:n+"text|"+r:"|"}t.isSingleLink=function(e){return c.test(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.deactivate=t.fixMarker=t.activateListEditing=void 0;var h=n(6),r=n(0),m=n(1),i=n(4);function o(e){l(e,"shift")}function a(e){c(e,"shift")}function s(e){c(e,"ctrl")}function c(t,n){var r,i=t.selection.active,o=t.document.lineAt(i.line),e=o.text.substr(0,i.character),a=o.text.substr(i.character),s=i;if("ctrl"==n&&(s=o.range.end),"shift"==n||h.isInFencedCodeBlock(t.document,i.line))return b(t,"enter",n);if(/^(>|([-+*]|[0-9]+[.)])( +\[[ x]\])?)$/.test(e.trim())&&0==a.trim().length)return t.edit(function(e){e.delete(o.range),e.insert(o.range.end,"\n")}).then(function(){t.revealRange(t.selection)}).then(function(){return w(t,v(t))});if(/^> /.test(e))return t.edit(function(e){e.insert(s,"\n> ")}).then(function(){var e;"ctrl"!=n||i.isEqual(s)||(e=i.with(o.lineNumber+1,2),t.selection=new m.Selection(e,e))}).then(function(){t.revealRange(t.selection)});if(null!==(r=/^(\s*[-+*] +(\[[ x]\] +)?)/.exec(e)))return t.edit(function(e){e.insert(s,"\n"+r[1].replace("[x]","[ ]"))}).then(function(){var e;"ctrl"!=n||i.isEqual(s)||(e=i.with(o.lineNumber+1,r[1].length),t.selection=new m.Selection(e,e))}).then(function(){t.revealRange(t.selection)});if(null===(r=/^(\s*)([0-9]+)([.)])( +)((\[[ x]\] +)?)/.exec(e)))return b(t,"enter",n);var c=t.getConfiguration("markdown.extension.orderedList").get("marker"),l="1",u=r[1],d=r[2],p=r[3],g=r[4],a=r[5].replace("[x]","[ ]"),e=(d+p+g).length,f=u+(l="ordered"==c?String(Number(d)+1):l)+p+(g=" ".repeat(Math.max(1,e-(l+p).length)))+a;return t.edit(function(e){e.insert(s,"\n"+f)},{undoStopBefore:!0,undoStopAfter:!1}).then(function(){var e;"ctrl"!=n||i.isEqual(s)||(e=i.with(o.lineNumber+1,f.length),t.selection=new m.Selection(e,e))}).then(function(){return w(t)}).then(function(){t.revealRange(t.selection)})}function l(e,t){var n=e.selection.start,r=e.document.lineAt(n.line).text;if(h.isInFencedCodeBlock(e.document,n.line))return b(e,"tab",t);r=/^\s*([-+*]|[0-9]+[.)]) +(\[[ x]\] +)?/.exec(r);return r&&("shift"===t||!e.selection.isEmpty||e.selection.isEmpty&&n.character<=r[0].length)?("shift"===t?d:function(e){if("adaptive"===e.getConfiguration("markdown.extension.list").get("indentationSize"))try{for(var t=e.selection,n=p(e,t.start.line,e.document.lineAt(t.start.line).firstNonWhitespaceCharacterIndex),r=new m.WorkspaceEdit,i=t.start.line;i<=t.end.line&&(i!==t.end.line||t.isEmpty||0!==t.end.character);i++)0!==e.document.lineAt(i).text.length&&r.insert(e.document.uri,new m.Position(i,0)," ".repeat(n));return e.applyEdit(r)}catch(e){}return e.executeCommand("editor.action.indentLines")})(e).then(function(){return w(e)}):b(e,"tab",t)}function u(e){var t,n=e.selection.active,r=e.document,i=r.lineAt(n.line).text.substr(0,n.character);return h.isInFencedCodeBlock(r,n.line)?b(e,"backspace"):e.selection.isEmpty?/^\s+([-+*]|[0-9]+[.)]) $/.test(i)?d(e).then(function(){return w(e)}):/^([-+*]|[0-9]+[.)]) $/.test(i)?e.edit(function(e){e.replace(new m.Range(n.with({character:0}),n)," ".repeat(i.length))}).then(function(){return w(e,v(e))}):/^\s*([-+*]|[0-9]+[.)]) +(\[[ x]\] )$/.test(i)?(r=e,t=new m.Range(n.with({character:i.length-4}),n),r.edit(function(e){e.delete(t)},{undoStopBefore:!0,undoStopAfter:!1}).then(function(){return w(e,v(e))})):b(e,"backspace"):b(e,"backspace").then(function(){return w(e,v(e))})}function b(e,t,n){switch(t){case"enter":return"ctrl"===n?e.executeCommand("editor.action.insertLineAfter"):e.executeCommand("type",{source:"keyboard",text:"\n"});case"tab":return e.getConfiguration("emmet").get("triggerExpansionOnTab")?e.executeCommand("editor.emmet.action.expandAbbreviation"):"shift"===n?e.executeCommand("editor.action.outdentLines"):e.executeCommand("tab");case"backspace":return e.executeCommand("deleteLeft")}}function d(e){if("adaptive"===e.getConfiguration("markdown.extension.list").get("indentationSize"))try{for(var t=e.selection,n=p(e,t.start.line,e.document.lineAt(t.start.line).firstNonWhitespaceCharacterIndex),r=new m.WorkspaceEdit,i=t.start.line;i<=t.end.line&&(i!==t.end.line||t.isEmpty||0!==t.end.character);i++){var o=e.document.lineAt(i).text,a=void 0;0<(a=0===o.trim().length?o.length:e.document.lineAt(i).firstNonWhitespaceCharacterIndex)&&r.delete(e.document.uri,new m.Range(i,0,i,Math.min(n,a)))}return e.applyEdit(r)}catch(e){}return e.executeCommand("editor.action.outdentLines")}function p(e,t,n){for(;0<=--t;){var r,i=e.document.lineAt(t).text;if(null!==(r=/^(\s*)(([-+*]|[0-9]+[.)]) +)(\[[ x]\] +)?/.exec(i))&&r[1].length<=n)return r[2].length}throw"No previous Markdown list item"}function v(e,t){for(void 0===t&&(t=e.selection.start.line);tr.selection.end.line)?r.selection.active.line:i)<0||r.document.lineCount<=i)){var e=r.document.lineAt(i).text;if(null!==(a=/^(\s*)([0-9]+)([.)])( +)/.exec(e))){var t=a[1],n=a[2],o=a[3],e=a[4],a=function(e,t,n){for(;0<=--t;){var r=e.document.lineAt(t).text,i=void 0;if(null!==(i=/^(\s*)(([0-9]+)[.)] +)/.exec(r))){var o=i[1],a=i[3];if(o.length===n)return Number(a)+1;if(!o.includes("\t")&&o.length+i[2].length<=n||o.includes("\t")&&o.length+1<=n)return 1}else if(null!==(i=/^(\s*)\S/.exec(r))&&i[1].length<=n)break}return 1}(r,i,t.length),s=n.length+o.length+e.length,c=String(a);return r.edit(function(e){n!==c&&(c+=o+" ".repeat(Math.max(1,s-(c+o).length)),e.replace(new m.Range(i,t.length,i,t.length+s),c))},{undoStopBefore:!1,undoStopAfter:!1}).then(function(){for(var e=i+1,t=" ".repeat(s);r.document.lineCount>e;){var n=r.document.lineAt(e).text;if(/^\s*[0-9]+[.)] +/.test(n))return w(r,e);if(/^\s*$/.test(n))e++;else{if(s<=4&&!n.startsWith(t))return;e++}}})}}}t.activateListEditing=function(e){var t="editorTextFocus && !editorReadonly && !suggestWidgetVisible";i.addKeybinding(e,"onEnterKey",c,[r.KeyCode.Enter],"",t,null),i.addKeybinding(e,"onCtrlEnterKey",s,[r.KeyCode.Enter|r.KeyMod.CtrlCmd],"",t,null),i.addKeybinding(e,"onShiftEnterKey",a,[r.KeyCode.Enter|r.KeyMod.Shift],"",t,null),i.addKeybinding(e,"onTabKey",l,[r.KeyCode.Tab],"",t,null),i.addKeybinding(e,"onShiftTabKey",o,[r.KeyCode.Tab|r.KeyMod.Shift],"",t,null),i.addKeybinding(e,"onBackspaceKey",u,[r.KeyCode.Backspace],"",t,null)},t.fixMarker=w,t.deactivate=function(){}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.slugify=t.extractText=t.isInFencedCodeBlock=void 0;var r=n(1);function i(e){return e.replace(/\[([^\]]+?)\]\([^\)]+?\)/g,function(e,t){return t}).replace(/( )/g,function(e){return" "}).replace(/()/g,"").replace(/]*>(.*?)<\/span>/g,function(e,t){return t}).replace(/ +/g," ")}t.isInFencedCodeBlock=function(e,t){return null!=(t=e.getText(new r.Range(new r.Position(0,0),new r.Position(t,0))).match(/^```[\w ]*$/gm))&&t.length%2!=0},t.extractText=i;var o=/[^0-9A-Z_a-z\- ª²-³µ¹-º¼-¾À-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮ\u0300-ʹͶ-ͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ\u0483-ԣԱ-Ֆՙա-և\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7א-תװ-ײ\u0610-\u061aء-\u065e٠-٩ٮ-ۓە-\u06dc\u06de-\u06e8\u06ea-ۼۿܐ-\u074aݍ-ޱ߀-ߵߺ\u0901-ह\u093c-\u094dॐ-\u0954क़-\u0963०-९ॱ-ॲॻ-ॿ\u0981-\u0983অ-ঌএ-ঐও-নপ-রলশ-হ\u09bc-\u09c4\u09c7-\u09c8\u09cb-ৎ\u09d7ড়-ঢ়য়-\u09e3০-ৱ৴-৹\u0a01-\u0a03ਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹ\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51ਖ਼-ੜਫ਼੦-\u0a75\u0a81-\u0a83અ-ઍએ-ઑઓ-નપ-રલ-ળવ-હ\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acdૐૠ-\u0ae3૦-૯\u0b01-\u0b03ଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହ\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57ଡ଼-ଢ଼ୟ-\u0b63୦-୯ୱ\u0b82-ஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹ\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcdௐ\u0bd7௦-௲\u0c01-\u0c03అ-ఌఎ-ఐఒ-నప-ళవ-హఽ-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56ౘ-ౙౠ-\u0c63౦-౯౸-౾\u0c82-\u0c83ಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹ\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6ೞೠ-\u0ce3೦-೯\u0d02-\u0d03അ-ഌഎ-ഐഒ-നപ-ഹഽ-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57ൠ-\u0d63൦-൵ൺ-ൿ\u0d82-\u0d83අ-ඖක-නඳ-රලව-ෆ\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2-\u0df3ก-\u0e3aเ-\u0e4e๐-๙ກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-\u0eb9\u0ebb-ຽເ-ໄໆ\u0ec8-\u0ecd໐-໙ໜ-ໝༀ\u0f18-\u0f19༠-༳\u0f35\u0f37\u0f39\u0f3e-ཇཉ-ཬ\u0f71-\u0f84\u0f86-ྋ\u0f90-\u0f97\u0f99-\u0fbc\u0fc6က-၉ၐ-႙Ⴀ-Ⴥა-ჺჼᄀ-ᅙᅟ-ᆢᆨ-ᇹሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ\u135f፩-፼ᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪ\u16ee-\u16f0ᜀ-ᜌᜎ-\u1714ᜠ-\u1734ᝀ-\u1753ᝠ-ᝬᝮ-ᝰ\u1772-\u1773ក-ឳ\u17b6-\u17d3ៗៜ-\u17dd០-៩៰-៹\u180b-\u180d᠐-᠙ᠠ-ᡷᢀ-ᢪᤀ-ᤜ\u1920-\u192b\u1930-\u193b᥆-ᥭᥰ-ᥴᦀ-ᦩ\u19b0-\u19c9᧐-᧙ᨀ-\u1a1b\u1b00-ᭋ᭐-᭙\u1b6b-\u1b73\u1b80-\u1baaᮮ-᮹ᰀ-\u1c37᱀-᱉ᱍ-ᱽᴀ-\u1de6\u1dfe-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‿-⁀⁔⁰-ⁱ⁴-⁹ⁿ-₉ₐ-ₔ\u20d0-\u20f0ℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ⅓-\u2188①-⒛⓪-⓿❶-➓Ⰰ-Ⱞⰰ-ⱞⱠ-Ɐⱱ-ⱽⲀ-ⳤ⳽ⴀ-ⴥⴰ-ⵥⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ\u2de0-\u2dffⸯ々-\u3007\u3021-\u302f〱-〵\u3038-〼ぁ-ゖ\u3099-\u309aゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎ㆒-㆕ㆠ-ㆷㇰ-ㇿ㈠-㈩㉑-㉟㊀-㊉㊱-㊿㐀-䶵一-鿃ꀀ-ꒌꔀ-ꘌꘐ-ꘫꙀ-ꙟꙢ-\ua672\ua67c-\ua67dꙿ-ꚗꜗ-ꜟꜢ-ꞈꞋ-ꞌꟻ-\ua827ꡀ-ꡳ\ua880-\ua8c4꣐-꣙꤀-\ua92dꤰ-\ua953ꨀ-\uaa36ꩀ-\uaa4d꩐-꩙가-힣豈-鶴侮-頻並-龎ff-stﬓ-ﬗיִ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ\ufe00-\ufe0f\ufe20-\ufe26︳-︴﹍-﹏ﹰ-ﹴﹶ-ﻼ0-9A-Z_a-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]/gu;t.slugify=function(e){return i(e.trim()).replace(o,"").replace(/ /g,"-").replace(/[A-Z]/g,function(e){return e.toLowerCase()})}},function(e,t,n){"use strict";var r=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t\/\?\s\,\。\《\》\?\;\:\‘\“\’\”\(\)\【\】\、]+)/g)},l);function l(){}t.MonacoMarkdownExtension=n,c.activateMarkdownMath()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorMessage=t.disposed=t.readonly=t.illegalState=t.illegalArgument=t.canceled=t.isPromiseCanceledError=t.transformErrorForSerialization=t.onUnexpectedExternalError=t.onUnexpectedError=t.setUnexpectedErrorHandler=t.errorHandler=t.ErrorHandler=void 0;var r=(i.prototype.addListener=function(e){var t=this;return this.listeners.push(e),function(){t._removeListener(e)}},i.prototype.emit=function(t){this.listeners.forEach(function(e){e(t)})},i.prototype._removeListener=function(e){this.listeners.splice(this.listeners.indexOf(e),1)},i.prototype.setUnexpectedErrorHandler=function(e){this.unexpectedErrorHandler=e},i.prototype.getUnexpectedErrorHandler=function(){return this.unexpectedErrorHandler},i.prototype.onUnexpectedError=function(e){this.unexpectedErrorHandler(e),this.emit(e)},i.prototype.onUnexpectedExternalError=function(e){this.unexpectedErrorHandler(e)},i);function i(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(function(){if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e},0)}}t.ErrorHandler=r,t.errorHandler=new r,t.setUnexpectedErrorHandler=function(e){t.errorHandler.setUnexpectedErrorHandler(e)},t.onUnexpectedError=function(e){a(e)||t.errorHandler.onUnexpectedError(e)},t.onUnexpectedExternalError=function(e){a(e)||t.errorHandler.onUnexpectedExternalError(e)},t.transformErrorForSerialization=function(e){return e instanceof Error?{$isError:!0,name:e.name,message:e.message,stack:e.stacktrace||e.stack}:e};var o="Canceled";function a(e){return e instanceof Error&&e.name===o&&e.message===o}t.isPromiseCanceledError=a,t.canceled=function(){var e=new Error(o);return e.name=e.message,e},t.illegalArgument=function(e){return e?new Error("Illegal argument: "+e):new Error("Illegal argument")},t.illegalState=function(e){return e?new Error("Illegal state: "+e):new Error("Illegal state")},t.readonly=function(e){return e?new Error("readonly property '"+e+" cannot be changed'"):new Error("readonly property cannot be changed")},t.disposed=function(e){return(e=new Error(e+" has been disposed")).name="DISPOSED",e},t.getErrorMessage=function(e){return e?e.message||(e.stack?e.stack.split("\n")[0]:String(e)):"Error"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.regExpLeadsToEndlessLoop=void 0,t.regExpLeadsToEndlessLoop=function(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&"^\\s*$"!==e.source&&!(!e.exec("")||0!==e.lastIndex)}},function(e,o,t){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.getWordAtText=o.ensureValidWordDefinition=o.DEFAULT_WORD_REGEXP=o.USUAL_WORD_SEPARATORS=void 0,o.USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",o.DEFAULT_WORD_REGEXP=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",n=0,r=o.USUAL_WORD_SEPARATORS;n=o)return{word:i[0],startColumn:r+1+a,endColumn:r+1+t.lastIndex}}return null}:function(e,t,n,r){var i,o=e-1-r,e=n.lastIndexOf(" ",o-1)+1;for(t.lastIndex=e;i=t.exec(n);){var a=i.index||0;if(a<=o&&t.lastIndex>=o)return{word:i[0],startColumn:r+1+a,endColumn:r+1+t.lastIndex}}return null})(e,t,n,r),t.lastIndex=0,r):null}},function(e,t,n){"use strict";var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,n=arguments.length;t/g,"< omit in toc >").replace(//,"").replace(/^---[\W\w]+?(\r?\n)---/,"").split(/\r?\n/g)).forEach(function(e,t,n){to?c[i]:o),i++}return r});return n[1]=n[1].map(function(e,t){return/:-+:/.test(e)?(c[t]=Math.max(c[t],5),l[t]="c",":"+"-".repeat(c[t]-2)+":"):/:-+/.test(e)?(c[t]=Math.max(c[t],4),l[t]="l",":"+"-".repeat(c[t]-1)):/-+:/.test(e)?(c[t]=Math.max(c[t],4),l[t]="r","-".repeat(c[t]-1)+":"):/-+/.test(e)?(c[t]=Math.max(c[t],3),l[t]="l","-".repeat(c[t])):void(l[t]="l")}),n.map(function(e){e=e.map(function(e,t){var n=c[t];return d.test(e)&&(n-=e.match(d).length),r.alignText(e,l[t],n)});return i+"| "+e.join(" | ")+" |"}).join(t.eol===p.EndOfLine.LF?"\n":"\r\n")},o.prototype.alignText=function(e,t,n){return"c"===t&&n>e.length?(" ".repeat(Math.floor((n-e.length)/2))+e+" ".repeat(n)).slice(0,n):"r"===t?(" ".repeat(n)+e).slice(-n):(e+" ".repeat(n)).slice(0,n)},o);function o(){}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.activateMarkdownMath=void 0;var r=n(16),i=n(17);t.activateMarkdownMath=function(){r.registerLanguage({id:"markdown-math",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:function(){return Promise.resolve({conf:i.conf,language:i.language})}})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registerLanguage=t.loadLanguage=void 0;var r=n(0),i={};var o={};function a(e){var t;return o[e]||(o[e]=(0,i[t=e].loader)().then(function(e){r.languages.setMonarchTokensProvider(t,e.language),r.languages.setLanguageConfiguration(t,e.conf)})),o[e]}t.loadLanguage=a,t.registerLanguage=function(e){var t=e.id;i[t]=e,r.languages.register(e),r.languages.onLanguage(t,function(){a(t)})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.language=t.conf=void 0;n=n(7);t.conf={comments:{blockComment:["\x3c!--","--\x3e"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*\x3c!--\\s*#?region\\b.*--\x3e"),end:new RegExp("^\\s*\x3c!--\\s*#?endregion\\b.*--\x3e")}}},t.language={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],latexKeywords:n.all,latexBeginKeywords:n.begin_args,tokenizer:{root:[[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],[/(^\${2})/,{token:"comment.math",next:"math",bracket:"@open"}],{include:"@linecontent"}],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"variable.source",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],[/(\$\$)([^$]*)(\$\$)/,[{token:"comment.math",bracket:"@open"},{token:"@rematch",next:"mathInline",goBack:2},{token:"comment.math",bracket:"@close"}]],[/(\$)([^$]+)(\$)/,[{token:"comment.math",bracket:"@open"},{token:"@rematch",next:"mathInline",goBack:1},{token:"comment.math",bracket:"@close"}]],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)\s*>/,{token:"tag"}],[//,"comment","@pop"],[/