├── .gitattributes ├── .gitignore ├── Markdown-Edit-Box.sln ├── Markdown-Edit-Box ├── Assets │ ├── editor.ttf │ ├── en-US.json │ └── zh-CN.json ├── Editor │ ├── Args │ │ ├── EditorExcuteFailedEventArgs.cs │ │ ├── EditorExcuteSuccessEventArgs.cs │ │ └── EditorResizeEventArgs.cs │ ├── HTML │ │ ├── css.worker.js │ │ ├── css │ │ │ ├── app.css │ │ │ └── chunk-vendors.css │ │ ├── editor.worker.js │ │ ├── favicon.ico │ │ ├── fonts │ │ │ └── codicon.ttf │ │ ├── html.worker.js │ │ ├── index.html │ │ ├── js │ │ │ ├── app.js │ │ │ ├── chunk-0b65ffb6.js │ │ │ ├── chunk-2d0a3577.js │ │ │ ├── chunk-2d0a43df.js │ │ │ ├── chunk-2d0aa90c.js │ │ │ ├── chunk-2d0aab07.js │ │ │ ├── chunk-2d0abc00.js │ │ │ ├── chunk-2d0ae937.js │ │ │ ├── chunk-2d0aeb45.js │ │ │ ├── chunk-2d0af08c.js │ │ │ ├── chunk-2d0afa49.js │ │ │ ├── chunk-2d0b2762.js │ │ │ ├── chunk-2d0b6187.js │ │ │ ├── chunk-2d0ba136.js │ │ │ ├── chunk-2d0bb267.js │ │ │ ├── chunk-2d0bcec1.js │ │ │ ├── chunk-2d0bdf38.js │ │ │ ├── chunk-2d0bff92.js │ │ │ ├── chunk-2d0c0494.js │ │ │ ├── chunk-2d0c0a09.js │ │ │ ├── chunk-2d0c4313.js │ │ │ ├── chunk-2d0c46d1.js │ │ │ ├── chunk-2d0c512b.js │ │ │ ├── chunk-2d0cf16e.js │ │ │ ├── chunk-2d0d056d.js │ │ │ ├── chunk-2d0d0645.js │ │ │ ├── chunk-2d0d61fd.js │ │ │ ├── chunk-2d0d7e63.js │ │ │ ├── chunk-2d0e1b57.js │ │ │ ├── chunk-2d0e1fbe.js │ │ │ ├── chunk-2d0e22d6.js │ │ │ ├── chunk-2d0e542a.js │ │ │ ├── chunk-2d0e57ec.js │ │ │ ├── chunk-2d0e6553.js │ │ │ ├── chunk-2d0e6c86.js │ │ │ ├── chunk-2d0ea098.js │ │ │ ├── chunk-2d0f0a11.js │ │ │ ├── chunk-2d208ac5.js │ │ │ ├── chunk-2d209408.js │ │ │ ├── chunk-2d20f745.js │ │ │ ├── chunk-2d20ff23.js │ │ │ ├── chunk-2d2138c7.js │ │ │ ├── chunk-2d217e5b.js │ │ │ ├── chunk-2d21b84a.js │ │ │ ├── chunk-2d21dcd2.js │ │ │ ├── chunk-2d21f327.js │ │ │ ├── chunk-2d2214b3.js │ │ │ ├── chunk-2d221799.js │ │ │ ├── chunk-2d221814.js │ │ │ ├── chunk-2d221a34.js │ │ │ ├── chunk-2d22502a.js │ │ │ ├── chunk-2d226775.js │ │ │ ├── chunk-2d229411.js │ │ │ ├── chunk-2d2295e9.js │ │ │ ├── chunk-2d22c171.js │ │ │ ├── chunk-2d22c2b8.js │ │ │ ├── chunk-2d22ca58.js │ │ │ ├── chunk-2d2311f7.js │ │ │ ├── chunk-2d237ee7.js │ │ │ ├── chunk-2d238465.js │ │ │ ├── chunk-30597b4a.js │ │ │ ├── chunk-7498b54e.js │ │ │ ├── chunk-7532b3ea.js │ │ │ ├── chunk-770c7886.js │ │ │ ├── chunk-e13e4362.js │ │ │ └── chunk-vendors.js │ │ ├── json.worker.js │ │ └── ts.worker.js │ ├── MarkdownEditBox.Events.cs │ ├── MarkdownEditBox.Methods.cs │ ├── MarkdownEditBox.Properties.cs │ └── MarkdownEditBox.cs ├── Enums │ ├── EditBoxDisplayMode.cs │ ├── EditorActionType.cs │ ├── EditorSymbol.cs │ ├── InvokeScriptTargetType.cs │ ├── LineNumberMode.cs │ ├── MinimapShowMode.cs │ ├── MinimapSideMode.cs │ ├── RenderLineHighlightMode.cs │ ├── ScrollbarDisplayMode.cs │ ├── WebScriptErrorType.cs │ └── WebScriptNotifyType.cs ├── Markdown-Edit-Box.csproj ├── Markdown-Edit-Box.nuspec ├── Models │ ├── DisplayOptions.cs │ ├── EditorAction.cs │ ├── EditorIcon.cs │ ├── EditorLocaleOptions.cs │ ├── EditorOptions.cs │ ├── StaticExtension.cs │ └── WebScriptPackage.cs ├── Properties │ ├── AssemblyInfo.cs │ └── Markdown_Edit_Box.rd.xml └── Themes │ └── Generic.xaml ├── Markdown-Editor-Sample ├── App.xaml ├── App.xaml.cs ├── Assets │ ├── LockScreenLogo.scale-200.png │ ├── SplashScreen.scale-200.png │ ├── Square150x150Logo.scale-200.png │ ├── Square44x44Logo.scale-200.png │ ├── Square44x44Logo.targetsize-24_altform-unplated.png │ ├── StoreLogo.png │ ├── Wide310x150Logo.scale-200.png │ ├── acrmd.css │ ├── dark.json │ ├── light.json │ └── test.md ├── Enums │ └── ColorNames.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── Markdown-Editor-Sample.csproj ├── Package.appxmanifest ├── Pages │ ├── Scenario1.xaml │ ├── Scenario1.xaml.cs │ ├── Scenario2.xaml │ ├── Scenario2.xaml.cs │ ├── Scenario3.xaml │ ├── Scenario3.xaml.cs │ ├── Scenario4.xaml │ └── Scenario4.xaml.cs └── Properties │ ├── AssemblyInfo.cs │ └── Default.rd.xml ├── README.md └── README_ZH.md /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /Markdown-Edit-Box.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30413.136 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Markdown-Edit-Box", "Markdown-Edit-Box\Markdown-Edit-Box.csproj", "{222C4468-7A38-4155-A101-3F39742D3E39}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Markdown-Editor-Sample", "Markdown-Editor-Sample\Markdown-Editor-Sample.csproj", "{57F406C8-B9C5-4047-BEA9-20F97D666451}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Debug|ARM = Debug|ARM 14 | Debug|ARM64 = Debug|ARM64 15 | Debug|x64 = Debug|x64 16 | Debug|x86 = Debug|x86 17 | Release|Any CPU = Release|Any CPU 18 | Release|ARM = Release|ARM 19 | Release|ARM64 = Release|ARM64 20 | Release|x64 = Release|x64 21 | Release|x86 = Release|x86 22 | EndGlobalSection 23 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 24 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 25 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|Any CPU.Build.0 = Debug|Any CPU 26 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|ARM.ActiveCfg = Debug|ARM 27 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|ARM.Build.0 = Debug|ARM 28 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|ARM64.ActiveCfg = Debug|ARM64 29 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|ARM64.Build.0 = Debug|ARM64 30 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|x64.ActiveCfg = Debug|x64 31 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|x64.Build.0 = Debug|x64 32 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|x86.ActiveCfg = Debug|x86 33 | {222C4468-7A38-4155-A101-3F39742D3E39}.Debug|x86.Build.0 = Debug|x86 34 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|Any CPU.ActiveCfg = Release|Any CPU 35 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|Any CPU.Build.0 = Release|Any CPU 36 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|ARM.ActiveCfg = Release|ARM 37 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|ARM.Build.0 = Release|ARM 38 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|ARM64.ActiveCfg = Release|ARM64 39 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|ARM64.Build.0 = Release|ARM64 40 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|x64.ActiveCfg = Release|x64 41 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|x64.Build.0 = Release|x64 42 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|x86.ActiveCfg = Release|x86 43 | {222C4468-7A38-4155-A101-3F39742D3E39}.Release|x86.Build.0 = Release|x86 44 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|Any CPU.ActiveCfg = Debug|x86 45 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|ARM.ActiveCfg = Debug|ARM 46 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|ARM.Build.0 = Debug|ARM 47 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|ARM.Deploy.0 = Debug|ARM 48 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|ARM64.ActiveCfg = Debug|ARM64 49 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|ARM64.Build.0 = Debug|ARM64 50 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|ARM64.Deploy.0 = Debug|ARM64 51 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|x64.ActiveCfg = Debug|x64 52 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|x64.Build.0 = Debug|x64 53 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|x64.Deploy.0 = Debug|x64 54 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|x86.ActiveCfg = Debug|x86 55 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|x86.Build.0 = Debug|x86 56 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Debug|x86.Deploy.0 = Debug|x86 57 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|Any CPU.ActiveCfg = Release|x86 58 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|ARM.ActiveCfg = Release|ARM 59 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|ARM.Build.0 = Release|ARM 60 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|ARM.Deploy.0 = Release|ARM 61 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|ARM64.ActiveCfg = Release|ARM64 62 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|ARM64.Build.0 = Release|ARM64 63 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|ARM64.Deploy.0 = Release|ARM64 64 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|x64.ActiveCfg = Release|x64 65 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|x64.Build.0 = Release|x64 66 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|x64.Deploy.0 = Release|x64 67 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|x86.ActiveCfg = Release|x86 68 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|x86.Build.0 = Release|x86 69 | {57F406C8-B9C5-4047-BEA9-20F97D666451}.Release|x86.Deploy.0 = Release|x86 70 | EndGlobalSection 71 | GlobalSection(SolutionProperties) = preSolution 72 | HideSolutionNode = FALSE 73 | EndGlobalSection 74 | GlobalSection(ExtensibilityGlobals) = postSolution 75 | SolutionGuid = {D049FE83-0F0E-42F4-810B-050E9259D3FC} 76 | EndGlobalSection 77 | EndGlobal 78 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Assets/editor.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Edit-Box/Assets/editor.ttf -------------------------------------------------------------------------------- /Markdown-Edit-Box/Assets/en-US.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "markdown-bold", 4 | "text": "Bold" 5 | }, 6 | { 7 | "id": "markdown-italic", 8 | "text": "Italic" 9 | }, 10 | { 11 | "id": "markdown-underline", 12 | "text": "Underline" 13 | }, 14 | { 15 | "id": "markdown-strikethrough", 16 | "text": "Strikethrough" 17 | }, 18 | { 19 | "id": "markdown-supscript", 20 | "text": "Supscript" 21 | }, 22 | { 23 | "id": "markdown-subscript", 24 | "text": "Subscript" 25 | }, 26 | { 27 | "id": "markdown-codeline", 28 | "text": "Inline code" 29 | }, 30 | { 31 | "id": "markdown-pre", 32 | "text": "Code block" 33 | }, 34 | { 35 | "id": "markdown-quote", 36 | "text": "Quote" 37 | }, 38 | { 39 | "id": "markdown-header1", 40 | "text": "Header 1" 41 | }, 42 | { 43 | "id": "markdown-header2", 44 | "text": "Header 2" 45 | }, 46 | { 47 | "id": "markdown-header3", 48 | "text": "Header 3" 49 | }, 50 | { 51 | "id": "markdown-header4", 52 | "text": "Header 4" 53 | }, 54 | { 55 | "id": "markdown-header5", 56 | "text": "Header 5" 57 | }, 58 | { 59 | "id": "markdown-header6", 60 | "text": "Header 6" 61 | }, 62 | { 63 | "id": "editor-save", 64 | "text": "Save" 65 | }, 66 | { 67 | "id": "editor-copy", 68 | "text": "Copy" 69 | }, 70 | { 71 | "id": "editor-cut", 72 | "text": "Cut" 73 | }, 74 | { 75 | "id": "editor-paste", 76 | "text": "Paste" 77 | } 78 | ] -------------------------------------------------------------------------------- /Markdown-Edit-Box/Assets/zh-CN.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": "markdown-bold", 4 | "text": "加粗" 5 | }, 6 | { 7 | "id": "markdown-italic", 8 | "text": "斜体" 9 | }, 10 | { 11 | "id": "markdown-underline", 12 | "text": "下划线" 13 | }, 14 | { 15 | "id": "markdown-strikethrough", 16 | "text": "删除线" 17 | }, 18 | { 19 | "id": "markdown-supscript", 20 | "text": "上标" 21 | }, 22 | { 23 | "id": "markdown-subscript", 24 | "text": "下标" 25 | }, 26 | { 27 | "id": "markdown-codeline", 28 | "text": "行内代码" 29 | }, 30 | { 31 | "id": "markdown-pre", 32 | "text": "代码块" 33 | }, 34 | { 35 | "id": "markdown-quote", 36 | "text": "引用" 37 | }, 38 | { 39 | "id": "markdown-header1", 40 | "text": "一级标题" 41 | }, 42 | { 43 | "id": "markdown-header2", 44 | "text": "二级标题" 45 | }, 46 | { 47 | "id": "markdown-header3", 48 | "text": "三级标题" 49 | }, 50 | { 51 | "id": "markdown-header4", 52 | "text": "四级标题" 53 | }, 54 | { 55 | "id": "markdown-header5", 56 | "text": "五级标题" 57 | }, 58 | { 59 | "id": "markdown-header6", 60 | "text": "六级标题" 61 | }, 62 | { 63 | "id": "editor-save", 64 | "text": "保存" 65 | }, 66 | { 67 | "id": "editor-copy", 68 | "text": "复制" 69 | }, 70 | { 71 | "id": "editor-cut", 72 | "text": "剪切" 73 | }, 74 | { 75 | "id": "editor-paste", 76 | "text": "粘贴" 77 | } 78 | ] -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/Args/EditorExcuteFailedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Enums; 2 | using MarkdownEditBox.Models; 3 | using Newtonsoft.Json; 4 | using System; 5 | 6 | namespace MarkdownEditBox.Editor.Args 7 | { 8 | public class EditorExcuteFailedEventArgs:EventArgs 9 | { 10 | public WebScriptErrorType Type { get; private set; } 11 | public string Message { get; private set; } 12 | public string ExcuteParameter { get; private set; } 13 | 14 | public EditorExcuteFailedEventArgs() 15 | { 16 | 17 | } 18 | 19 | public EditorExcuteFailedEventArgs(string msg) 20 | { 21 | var errorPack = JsonConvert.DeserializeObject(msg); 22 | Type = errorPack.Action; 23 | Message = errorPack.ErrorMessage; 24 | ExcuteParameter = errorPack.Sign; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/Args/EditorExcuteSuccessEventArgs.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Enums; 2 | using System; 3 | 4 | namespace MarkdownEditBox.Editor.Args 5 | { 6 | public class EditorExcuteSuccessEventArgs:EventArgs 7 | { 8 | public WebScriptNotifyType Type { get; private set; } 9 | public string ExcuteParameter { get; private set; } 10 | internal EditorExcuteSuccessEventArgs() 11 | { 12 | 13 | } 14 | internal EditorExcuteSuccessEventArgs(WebScriptNotifyType type,string param) 15 | { 16 | Type = type; 17 | ExcuteParameter = param; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/Args/EditorResizeEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MarkdownEditBox.Editor.Args 4 | { 5 | /// 6 | /// Parameters when the editor boundary scale changes 7 | /// 8 | public class EditorResizeEventArgs:EventArgs 9 | { 10 | /// 11 | /// Proportion of editing module 12 | /// 13 | public double Percent { get; set; } 14 | 15 | public EditorResizeEventArgs() 16 | { 17 | Percent = 0; 18 | } 19 | public EditorResizeEventArgs(double percent) 20 | { 21 | Percent = percent; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/css/app.css: -------------------------------------------------------------------------------- 1 | @import url(https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.12.0/katex.min.css);.editorContainer[data-v-0d622286]{overflow:hidden;height:100vh}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{padding:0;margin:0;box-sizing:border-box;height:100%;overflow:hidden}.splitter-pane{position:fixed!important} -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Edit-Box/Editor/HTML/favicon.ico -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/fonts/codicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Edit-Box/Editor/HTML/fonts/codicon.ttf -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/index.html: -------------------------------------------------------------------------------- 1 | vue-monaco-editor
-------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d0a43df.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0a43df"],{"0636":function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return s}));var o={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},s={defaultToken:"",tokenPostfix:".java",keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d0aa90c.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0aa90c"],{"120e":function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return o})),t.d(n,"language",(function(){return s}));var o={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},s={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d0aab07.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0aab07"],{"11a2":function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return r})),t.d(n,"language",(function(){return o}));var r={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0}},o={tokenPostfix:".yaml",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","Null","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|.*?)([ \t]*)(:)( |$)/,["type","white","operators","white"]],{include:"@flowScalars"},[/.+$/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"type"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'[^']*'/,"string"],[/"/,"string","@doubleQuotedString"]],doubleQuotedString:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d0af08c.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0af08c"],{"0d35":function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return r})),n.d(t,"language",(function(){return s}));var r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},s={defaultToken:"",ignoreCase:!1,tokenPostfix:".mips",regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:[".data",".text","syscall","trap","add","addu","addi","addiu","and","andi","div","divu","mult","multu","nor","or","ori","sll","slv","sra","srav","srl","srlv","sub","subu","xor","xori","lhi","lho","lhi","llo","slt","slti","sltu","sltiu","beq","bgtz","blez","bne","j","jal","jalr","jr","lb","lbu","lh","lhu","lw","li","la","sb","sh","sw","mfhi","mflo","mthi","mtlo","move"],symbols:/[\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\$[a-zA-Z_]\w*/,"variable.predefined"],[/[.a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d0afa49.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0afa49"],{"0eca":function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return s})),o.d(n,"language",(function(){return t}));var s={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},t={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d0b2762.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b2762"],{"23e0":function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return a}));var o={comments:{lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]}],folding:{offSide:!0}},a={defaultToken:"",tokenPostfix:".pug",ignoreCase:!0,brackets:[{token:"delimiter.curly",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],keywords:["append","block","case","default","doctype","each","else","extends","for","if","in","include","mixin","typeof","unless","var","when"],tags:["a","abbr","acronym","address","area","article","aside","audio","b","base","basefont","bdi","bdo","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","keygen","kbd","label","li","link","map","mark","menu","meta","meter","nav","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strike","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","tracks","tt","u","ul","video","wbr"],symbols:/[\+\-\*\%\&\|\!\=\/\.\,\:]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)([a-zA-Z_-][\w-]*)/,{cases:{"$2@tags":{cases:{"@eos":["","tag"],"@default":["",{token:"tag",next:"@tag.$1"}]}},"$2@keywords":["",{token:"keyword.$2"}],"@default":["",""]}}],[/^(\s*)(#[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.id"],"@default":["",{token:"tag.id",next:"@tag.$1"}]}}],[/^(\s*)(\.[a-zA-Z_-][\w-]*)/,{cases:{"@eos":["","tag.class"],"@default":["",{token:"tag.class",next:"@tag.$1"}]}}],[/^(\s*)(\|.*)$/,""],{include:"@whitespace"},[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":""}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d+/,"number"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],tag:[[/(\.)(\s*$)/,[{token:"delimiter",next:"@blockText.$S2."},""]],[/\s+/,{token:"",next:"@simpleText"}],[/#[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.id",next:"@pop"},"@default":"tag.id"}}],[/\.[a-zA-Z_-][\w-]*/,{cases:{"@eos":{token:"tag.class",next:"@pop"},"@default":"tag.class"}}],[/\(/,{token:"delimiter.parenthesis",next:"@attributeList"}]],simpleText:[[/[^#]+$/,{token:"",next:"@popall"}],[/[^#]+/,{token:""}],[/(#{)([^}]*)(})/,{cases:{"@eos":["interpolation.delimiter","interpolation",{token:"interpolation.delimiter",next:"@popall"}],"@default":["interpolation.delimiter","interpolation","interpolation.delimiter"]}}],[/#$/,{token:"",next:"@popall"}],[/#/,""]],attributeList:[[/\s+/,""],[/(\w+)(\s*=\s*)("|')/,["attribute.name","delimiter",{token:"attribute.value",next:"@value.$3"}]],[/\w+/,"attribute.name"],[/,/,{cases:{"@eos":{token:"attribute.delimiter",next:"@popall"},"@default":"attribute.delimiter"}}],[/\)$/,{token:"delimiter.parenthesis",next:"@popall"}],[/\)/,{token:"delimiter.parenthesis",next:"@pop"}]],whitespace:[[/^(\s*)(\/\/.*)$/,{token:"comment",next:"@blockText.$1.comment"}],[/[ \t\r\n]+/,""],[//,{token:"comment",next:"@pop"}],[//,"comment","@pop"],[//,{token:"comment",next:"@pop"}],[//,"comment","@pop"],[/[^-]+/,"comment.content"],[/./,"comment.content"]],otherTag:[[/\/?>/,"delimiter","@pop"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/]],script:[[/type/,"attribute.name","@scriptAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],scriptAfterType:[[/=/,"delimiter","@scriptAfterTypeEquals"],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@scriptWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@scriptEmbedded",nextEmbedded:"text/javascript"}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptWithCustomType:[[/>/,{token:"delimiter",next:"@scriptEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:"@rematch",next:"@pop"}]],scriptEmbedded:[[/<\/script/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]],style:[[/type/,"attribute.name","@styleAfterType"],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,["delimiter","tag",{token:"delimiter",next:"@pop"}]]],styleAfterType:[[/=/,"delimiter","@styleAfterTypeEquals"],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/'([^']*)'/,{token:"attribute.value",switchTo:"@styleWithCustomType.$1"}],[/>/,{token:"delimiter",next:"@styleEmbedded",nextEmbedded:"text/css"}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleWithCustomType:[[/>/,{token:"delimiter",next:"@styleEmbedded.$S2",nextEmbedded:"$S2"}],[/"([^"]*)"/,"attribute.value"],[/'([^']*)'/,"attribute.value"],[/[\w\-]+/,"attribute.name"],[/=/,"delimiter"],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:"@rematch",next:"@pop"}]],styleEmbedded:[[/<\/style/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/[^<]+/,""]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d217e5b.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d217e5b"],{c94c:function(e,n,o){"use strict";o.r(n),o.d(n,"conf",(function(){return t})),o.d(n,"language",(function(){return s}));var t={comments:{lineComment:"--",blockComment:["--[[","]]"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".lua",keywords:["and","break","do","else","elseif","end","false","for","function","goto","if","in","local","nil","not","or","repeat","return","then","true","until","while"],brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.array",open:"[",close:"]"},{token:"delimiter.parenthesis",open:"(",close:")"}],operators:["+","-","*","/","%","^","#","==","~=","<=",">=","<",">","=",";",":",",",".","..","..."],symbols:/[=>",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},["[^)\r\n]+","string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d21dcd2.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21dcd2"],{d39f:function(e,t,o){"use strict";o.r(t),o.d(t,"conf",(function(){return n})),o.d(t,"language",(function(){return i})); 2 | /*!--------------------------------------------------------------------------------------------- 3 | * Copyright (C) David Owens II, owensd.io. All rights reserved. 4 | *--------------------------------------------------------------------------------------------*/ 5 | var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},i={defaultToken:"",tokenPostfix:".swift",identifier:/[a-zA-Z_][\w$]*/,attributes:["@autoclosure","@noescape","@noreturn","@NSApplicationMain","@NSCopying","@NSManaged","@objc","@UIApplicationMain","@noreturn","@availability","@IBAction","@IBDesignable","@IBInspectable","@IBOutlet"],accessmodifiers:["public","private","internal"],keywords:["__COLUMN__","__FILE__","__FUNCTION__","__LINE__","as","as!","as?","associativity","break","case","catch","class","continue","convenience","default","deinit","didSet","do","dynamic","dynamicType","else","enum","extension","fallthrough","final","for","func","get","guard","if","import","in","infix","init","inout","internal","is","lazy","left","let","mutating","nil","none","nonmutating","operator","optional","override","postfix","precedence","prefix","private","protocol","Protocol","public","repeat","required","return","right","self","Self","set","static","struct","subscript","super","switch","throw","throws","try","try!","Type","typealias","unowned","var","weak","where","while","willSet","FALSE","TRUE"],symbols:/[=(){}\[\].,:;@#\_&\-<>`?!+*\\\/]/,operatorstart:/[\/=\-+!*%<>&|^~?\u00A1-\u00A7\u00A9\u00AB\u00AC\u00AE\u00B0-\u00B1\u00B6\u00BB\u00BF\u00D7\u00F7\u2016-\u2017\u2020-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u23FF\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3030]/,operatorend:/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE00-\uFE0F\uFE20-\uFE2F\uE0100-\uE01EF]/,operators:/(@operatorstart)((@operatorstart)|(@operatorend))*/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},{include:"@attribute"},{include:"@literal"},{include:"@keyword"},{include:"@invokedmethod"},{include:"@symbol"}],whitespace:[[/\s+/,"white"],[/"""/,"string.quote","@endDblDocString"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string.quote","@popall"],[/"/,"string"]],symbol:[[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/[.]/,"delimiter"],[/@operators/,"operator"],[/@symbols/,"operator"]],comment:[[/\/\/\/.*$/,"comment.doc"],[/\/\*\*/,"comment.doc","@commentdocbody"],[/\/\/.*$/,"comment"],[/\/\*/,"comment","@commentbody"]],commentdocbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment.doc","@pop"],[/\:[a-zA-Z]+\:/,"comment.doc.param"],[/./,"comment.doc"]],commentbody:[[/\/\*/,"comment","@commentbody"],[/\*\//,"comment","@pop"],[/./,"comment"]],attribute:[[/\@@identifier/,{cases:{"@attributes":"keyword.control","@default":""}}]],literal:[[/"/,{token:"string.quote",next:"@stringlit"}],[/0[b]([01]_?)+/,"number.binary"],[/0[o]([0-7]_?)+/,"number.octal"],[/0[x]([0-9a-fA-F]_?)+([pP][\-+](\d_?)+)?/,"number.hex"],[/(\d_?)*\.(\d_?)+([eE][\-+]?(\d_?)+)?/,"number.float"],[/(\d_?)+/,"number"]],stringlit:[[/\\\(/,{token:"operator",next:"@interpolatedexpression"}],[/@escapes/,"string"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}],[/./,"string"]],interpolatedexpression:[[/\(/,{token:"operator",next:"@interpolatedexpression"}],[/\)/,{token:"operator",next:"@pop"}],{include:"@literal"},{include:"@keyword"},{include:"@symbol"}],keyword:[[/`/,{token:"operator",next:"@escapedkeyword"}],[/@identifier/,{cases:{"@keywords":"keyword","[A-Z][a-zA-Z0-9$]*":"type.identifier","@default":"identifier"}}]],escapedkeyword:[[/`/,{token:"operator",next:"@pop"}],[/./,"identifier"]],invokedmethod:[[/([.])(@identifier)/,{cases:{$2:["delimeter","type.identifier"],"@default":""}}]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d21f327.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21f327"],{d995:function(e,n,r){"use strict";r.r(n),r.d(n,"conf",(function(){return t})),r.d(n,"language",(function(){return s}));var t={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=>","<","<>","<=",">=","And","Or","+","-","*","/","="],identifier:/[a-zA-Z_][\w]*/,symbols:/[=><:+\-*\/%\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[{include:"@whitespace"},[/(@identifier)(?=[.])/,"type"],[/@identifier/,{cases:{"@keywords":{token:"keyword.$0"},"@operators":"operator","@default":"variable.name"}}],[/([.])(@identifier)/,{cases:{$2:["delimiter","type.member"],"@default":""}}],[/\d*\.\d+/,"number.float"],[/\d+/,"number"],[/[()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":"delimiter"}}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/(\').*$/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"C?/,"string","@pop"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d221799.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221799"],{cb04:function(e,o,n){"use strict";n.r(o),n.d(o,"conf",(function(){return t})),n.d(o,"language",(function(){return s}));var t={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".pascaligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["begin","block","case","const","else","end","fail","for","from","function","if","is","nil","of","remove","return","skip","then","type","var","while","with","option","None","transaction"],typeKeywords:["bool","int","list","map","nat","record","string","unit","address","map","mtz","xtz"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d221814.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221814"],{cb43:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return i})),t.d(n,"language",(function(){return o}));var i={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:))")}}},o={defaultToken:"",tokenPostfix:".kt",keywords:["as","as?","break","class","continue","do","else","false","for","fun","if","in","!in","interface","is","!is","null","object","package","return","super","this","throw","true","try","typealias","val","var","when","while","by","catch","constructor","delegate","dynamic","field","file","finally","get","import","init","param","property","receiver","set","setparam","where","actual","abstract","annotation","companion","const","crossinline","data","enum","expect","external","final","infix","inline","inner","internal","lateinit","noinline","open","operator","out","override","private","protected","public","reified","sealed","suspend","tailrec","vararg","field","it"],operators:["+","-","*","/","%","=","+=","-=","*=","/=","%=","++","--","&&","||","!","==","!=","===","!==",">","<","<=",">=","[","]","!!","?.","?:","::","..",":","?","->","@",";","$","_"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/0[xX](@hexdigits)[Ll]?/,"number.hex"],[/0(@octaldigits)[Ll]?/,"number.octal"],[/0[bB](@binarydigits)[Ll]?/,"number.binary"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string","@multistring"],[/"/,"string","@string"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@javadoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],javadoc:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc","@push"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],multistring:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"""/,"string","@pop"],[/./,"string"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d221a34.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d221a34"],{cacc:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return s})),t.d(n,"language",(function(){return o}));var s={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},o={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d229411.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d229411"],{dd50:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return o})),t.d(n,"language",(function(){return s}));var o={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"}]},s={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","begin","Bytes","Crypto","Current","else","end","failwith","false","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","Set","set","sender","source","String","then","true","type","with"],typeKeywords:["int","unit","string","tz"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d22c171.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22c171"],{f26e:function(E,T,A){"use strict";A.r(T),A.d(T,"conf",(function(){return N})),A.d(T,"language",(function(){return R}));var N={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["[","]"],["(",")"],["{","}"]],autoClosingPairs:[{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:"{",close:"}",notIn:["string","comment"]}]},R={defaultToken:"",tokenPostfix:".msdax",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"{",close:"}",token:"delimiter.brackets"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["VAR","RETURN","NOT","EVALUATE","DATATABLE","ORDER","BY","START","AT","DEFINE","MEASURE","ASC","DESC","IN","BOOLEAN","DOUBLE","INTEGER","DATETIME","CURRENCY","STRING"],functions:["CLOSINGBALANCEMONTH","CLOSINGBALANCEQUARTER","CLOSINGBALANCEYEAR","DATEADD","DATESBETWEEN","DATESINPERIOD","DATESMTD","DATESQTD","DATESYTD","ENDOFMONTH","ENDOFQUARTER","ENDOFYEAR","FIRSTDATE","FIRSTNONBLANK","LASTDATE","LASTNONBLANK","NEXTDAY","NEXTMONTH","NEXTQUARTER","NEXTYEAR","OPENINGBALANCEMONTH","OPENINGBALANCEQUARTER","OPENINGBALANCEYEAR","PARALLELPERIOD","PREVIOUSDAY","PREVIOUSMONTH","PREVIOUSQUARTER","PREVIOUSYEAR","SAMEPERIODLASTYEAR","STARTOFMONTH","STARTOFQUARTER","STARTOFYEAR","TOTALMTD","TOTALQTD","TOTALYTD","ADDCOLUMNS","ADDMISSINGITEMS","ALL","ALLEXCEPT","ALLNOBLANKROW","ALLSELECTED","CALCULATE","CALCULATETABLE","CALENDAR","CALENDARAUTO","CROSSFILTER","CROSSJOIN","CURRENTGROUP","DATATABLE","DETAILROWS","DISTINCT","EARLIER","EARLIEST","EXCEPT","FILTER","FILTERS","GENERATE","GENERATEALL","GROUPBY","IGNORE","INTERSECT","ISONORAFTER","KEEPFILTERS","LOOKUPVALUE","NATURALINNERJOIN","NATURALLEFTOUTERJOIN","RELATED","RELATEDTABLE","ROLLUP","ROLLUPADDISSUBTOTAL","ROLLUPGROUP","ROLLUPISSUBTOTAL","ROW","SAMPLE","SELECTCOLUMNS","SUBSTITUTEWITHINDEX","SUMMARIZE","SUMMARIZECOLUMNS","TOPN","TREATAS","UNION","USERELATIONSHIP","VALUES","SUM","SUMX","PATH","PATHCONTAINS","PATHITEM","PATHITEMREVERSE","PATHLENGTH","AVERAGE","AVERAGEA","AVERAGEX","COUNT","COUNTA","COUNTAX","COUNTBLANK","COUNTROWS","COUNTX","DISTINCTCOUNT","DIVIDE","GEOMEAN","GEOMEANX","MAX","MAXA","MAXX","MEDIAN","MEDIANX","MIN","MINA","MINX","PERCENTILE.EXC","PERCENTILE.INC","PERCENTILEX.EXC","PERCENTILEX.INC","PRODUCT","PRODUCTX","RANK.EQ","RANKX","STDEV.P","STDEV.S","STDEVX.P","STDEVX.S","VAR.P","VAR.S","VARX.P","VARX.S","XIRR","XNPV","DATE","DATEDIFF","DATEVALUE","DAY","EDATE","EOMONTH","HOUR","MINUTE","MONTH","NOW","SECOND","TIME","TIMEVALUE","TODAY","WEEKDAY","WEEKNUM","YEAR","YEARFRAC","CONTAINS","CONTAINSROW","CUSTOMDATA","ERROR","HASONEFILTER","HASONEVALUE","ISBLANK","ISCROSSFILTERED","ISEMPTY","ISERROR","ISEVEN","ISFILTERED","ISLOGICAL","ISNONTEXT","ISNUMBER","ISODD","ISSUBTOTAL","ISTEXT","USERNAME","USERPRINCIPALNAME","AND","FALSE","IF","IFERROR","NOT","OR","SWITCH","TRUE","ABS","ACOS","ACOSH","ACOT","ACOTH","ASIN","ASINH","ATAN","ATANH","BETA.DIST","BETA.INV","CEILING","CHISQ.DIST","CHISQ.DIST.RT","CHISQ.INV","CHISQ.INV.RT","COMBIN","COMBINA","CONFIDENCE.NORM","CONFIDENCE.T","COS","COSH","COT","COTH","CURRENCY","DEGREES","EVEN","EXP","EXPON.DIST","FACT","FLOOR","GCD","INT","ISO.CEILING","LCM","LN","LOG","LOG10","MOD","MROUND","ODD","PERMUT","PI","POISSON.DIST","POWER","QUOTIENT","RADIANS","RAND","RANDBETWEEN","ROUND","ROUNDDOWN","ROUNDUP","SIGN","SIN","SINH","SQRT","SQRTPI","TAN","TANH","TRUNC","BLANK","CONCATENATE","CONCATENATEX","EXACT","FIND","FIXED","FORMAT","LEFT","LEN","LOWER","MID","REPLACE","REPT","RIGHT","SEARCH","SUBSTITUTE","TRIM","UNICHAR","UNICODE","UPPER","VALUE"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},[/[;,.]/,"delimiter"],[/[({})]/,"@brackets"],[/[a-z_][a-zA-Z0-9_]*/,{cases:{"@keywords":"keyword","@functions":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/\/\/+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N"/,{token:"string",next:"@string"}],[/"/,{token:"string",next:"@string"}]],string:[[/[^"]+/,"string"],[/""/,"string"],[/"/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/'/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^']+/,"identifier"],[/''/,"identifier"],[/'/,{token:"identifier.quote",next:"@pop"}]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d22c2b8.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22c2b8"],{f1a8:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return r})),t.d(n,"language",(function(){return o}));var s="undefined"===typeof monaco?self.monaco:monaco,r={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$"),action:{indentAction:s.languages.IndentAction.Indent}}],folding:{offSide:!0,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},o={defaultToken:"",tokenPostfix:".python",keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","print","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z]\w*/,"tag"],[/[a-zA-Z]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/"/,"string.escape","@dblStringBody"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d22ca58.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22ca58"],{f3b7:function(e,n,t){"use strict";t.r(n),t.d(n,"conf",(function(){return r})),t.d(n,"language",(function(){return i}));var o="undefined"===typeof monaco?self.monaco:monaco,r={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:o.languages.IndentAction.IndentOutdent,appendText:" * "}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:o.languages.IndentAction.None,appendText:" * "}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:o.languages.IndentAction.None,appendText:"* "}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:o.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],folding:{markers:{start:new RegExp("^\\s*//\\s*#?region\\b"),end:new RegExp("^\\s*//\\s*#?endregion\\b")}}},i={defaultToken:"invalid",tokenPostfix:".ts",keywords:["abstract","as","break","case","catch","class","continue","const","constructor","debugger","declare","default","delete","do","else","enum","export","extends","false","finally","for","from","function","get","if","implements","import","in","infer","instanceof","interface","is","keyof","let","module","namespace","never","new","null","package","private","protected","public","readonly","require","global","return","set","static","super","switch","symbol","this","throw","true","try","type","typeof","unique","var","void","while","with","yield","async","await","of"],typeKeywords:["any","boolean","number","object","string","undefined"],operators:["<=",">=","==","!=","===","!==","=>","+","-","**","*","/","%","++","--","<<",">",">>>","&","|","^","!","~","&&","||","??","?",":","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=","@"],symbols:/[=>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"],[/`/,"string","@string_backtick"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],string_single:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"]],string_backtick:[[/\$\{/,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/`/,"string","@pop"]],bracketCounting:[[/\{/,"delimiter.bracket","@bracketCounting"],[/\}/,"delimiter.bracket","@pop"],{include:"common"}]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d2311f7.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2311f7"],{eecd:function(e,s,o){"use strict";o.r(s),o.d(s,"conf",(function(){return n})),o.d(s,"language",(function(){return t}));var n={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},t={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},s={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","property","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-2d238465.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d238465"],{ff4c:function(e,t,o){"use strict";o.r(t),o.d(t,"conf",(function(){return n})),o.d(t,"language",(function(){return s}));var n={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"[",close:"]"},{open:"{",close:"}"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#pragma\\s+region\\b"),end:new RegExp("^\\s*#pragma\\s+endregion\\b")}}},s={tokenPostfix:".rust",defaultToken:"invalid",keywords:["as","box","break","const","continue","crate","else","enum","extern","false","fn","for","if","impl","in","let","loop","match","mod","move","mut","pub","ref","return","self","static","struct","super","trait","true","type","unsafe","use","where","while","catch","default","union","static","abstract","alignof","become","do","final","macro","offsetof","override","priv","proc","pure","sizeof","typeof","unsized","virtual","yield"],typeKeywords:["Self","m32","m64","m128","f80","f16","f128","int","uint","float","char","bool","u8","u16","u32","u64","f32","f64","i8","i16","i32","i64","str","Option","Either","c_float","c_double","c_void","FILE","fpos_t","DIR","dirent","c_char","c_schar","c_uchar","c_short","c_ushort","c_int","c_uint","c_long","c_ulong","size_t","ptrdiff_t","clock_t","time_t","c_longlong","c_ulonglong","intptr_t","uintptr_t","off_t","dev_t","ino_t","pid_t","mode_t","ssize_t"],constants:["true","false","Some","None","Left","Right","Ok","Err"],supportConstants:["EXIT_FAILURE","EXIT_SUCCESS","RAND_MAX","EOF","SEEK_SET","SEEK_CUR","SEEK_END","_IOFBF","_IONBF","_IOLBF","BUFSIZ","FOPEN_MAX","FILENAME_MAX","L_tmpnam","TMP_MAX","O_RDONLY","O_WRONLY","O_RDWR","O_APPEND","O_CREAT","O_EXCL","O_TRUNC","S_IFIFO","S_IFCHR","S_IFBLK","S_IFDIR","S_IFREG","S_IFMT","S_IEXEC","S_IWRITE","S_IREAD","S_IRWXU","S_IXUSR","S_IWUSR","S_IRUSR","F_OK","R_OK","W_OK","X_OK","STDIN_FILENO","STDOUT_FILENO","STDERR_FILENO"],supportMacros:["format!","print!","println!","panic!","format_args!","unreachable!","write!","writeln!"],operators:["!","!=","%","%=","&","&=","&&","*","*=","+","+=","-","-=","->",".","..","...","/","/=",":",";","<<","<<=","<","<=","=","==","=>",">",">=",">>",">>=","@","^","^=","|","|=","||","_","?","#"],escapes:/\\([nrt0\"''\\]|x\h{2}|u\{\h{1,6}\})/,delimiters:/[,]/,symbols:/[\#\!\%\&\*\+\-\.\/\:\;\<\=\>\@\^\|_\?]+/,intSuffixes:/[iu](8|16|32|64|128|size)/,floatSuffixes:/f(32|64)/,tokenizer:{root:[[/[a-zA-Z][a-zA-Z0-9_]*!?|_[a-zA-Z0-9_]+/,{cases:{"@typeKeywords":"keyword.type","@keywords":"keyword","@supportConstants":"keyword","@supportMacros":"keyword","@constants":"keyword","@default":"identifier"}}],[/\$/,"identifier"],[/'[a-zA-Z_][a-zA-Z0-9_]*(?=[^\'])/,"identifier"],[/'\S'/,"string.byteliteral"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],{include:"@numbers"},{include:"@whitespace"},[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}],[/[{}()\[\]<>]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],numbers:[[/(0o[0-7_]+)(@intSuffixes)?/,{token:"number"}],[/(0b[0-1_]+)(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(\.[\d][\d_]*)?[eE][+-][\d_]+(@floatSuffixes)?/,{token:"number"}],[/\b(\d\.?[\d_]*)(@floatSuffixes)?\b/,{token:"number"}],[/(0x[\da-fA-F]+)_?(@intSuffixes)?/,{token:"number"}],[/[\d][\d_]*(@intSuffixes?)?/,{token:"number"}]]}}}}]); -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/HTML/js/chunk-770c7886.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-770c7886"],{c53fa:function(e,t,n){"use strict";n.r(t),n.d(t,"conf",(function(){return o})),n.d(t,"language",(function(){return s}));var o={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},s={tokenPostfix:".tcl",specialFunctions:["set","unset","rename","variable","proc","coroutine","foreach","incr","append","lappend","linsert","lreplace"],mainFunctions:["if","then","elseif","else","case","switch","while","for","break","continue","return","package","namespace","catch","exit","eval","expr","uplevel","upvar"],builtinFunctions:["file","info","concat","join","lindex","list","llength","lrange","lsearch","lsort","split","array","parray","binary","format","regexp","regsub","scan","string","subst","dict","cd","clock","exec","glob","pid","pwd","close","eof","fblocked","fconfigure","fcopy","fileevent","flush","gets","open","puts","read","seek","socket","tell","interp","after","auto_execok","auto_load","auto_mkindex","auto_reset","bgerror","error","global","history","load","source","time","trace","unknown","unset","update","vwait","winfo","wm","bind","event","pack","place","grid","font","bell","clipboard","destroy","focus","grab","lower","option","raise","selection","send","tk","tkwait","tk_bisque","tk_focusNext","tk_focusPrev","tk_focusFollowsMouse","tk_popup","tk_setPalette"],symbols:/[=> 16 | /// Indicates whether the entire editor control is loaded 17 | /// 18 | public bool IsControlLoaded 19 | { 20 | get => _isControlLoaded; 21 | private set 22 | { 23 | _isControlLoaded = value; 24 | if (value) 25 | ControlLoaded?.Invoke(this, EventArgs.Empty); 26 | } 27 | } 28 | 29 | /// 30 | /// Indicates whether the editing module of the control is loaded 31 | /// 32 | public bool IsEditorLoaded 33 | { 34 | get => _isEditorLoaded; 35 | private set 36 | { 37 | _isEditorLoaded = value; 38 | if (value) 39 | EditorLoaded?.Invoke(this, EventArgs.Empty); 40 | } 41 | } 42 | 43 | /// 44 | /// Whether to display the progress ring of the control 45 | /// 46 | public Visibility LoadingRingVisibility 47 | { 48 | get { return (Visibility)GetValue(LoadingRingVisibilityProperty); } 49 | set { SetValue(LoadingRingVisibilityProperty, value); } 50 | } 51 | 52 | public static readonly DependencyProperty LoadingRingVisibilityProperty = 53 | DependencyProperty.Register("LoadingRingVisibility", typeof(Visibility), typeof(MarkdownEditBox), new PropertyMetadata(Visibility.Visible)); 54 | 55 | /// 56 | /// Current locale configuration 57 | /// 58 | public EditorLocaleOptions CurrentLocaleOptions { get; private set; } 59 | 60 | public EditBoxDisplayMode CurrentDisplayMode { get; set; } 61 | 62 | /// 63 | /// The size of the progress ring (width and height are the same value) 64 | /// 65 | public double LoadingRingSize 66 | { 67 | get { return (double)GetValue(LoadingRingSizeProperty); } 68 | set { SetValue(LoadingRingSizeProperty, value); } 69 | } 70 | 71 | public static readonly DependencyProperty LoadingRingSizeProperty = 72 | DependencyProperty.Register("LoadingRingSize", typeof(double), typeof(MarkdownEditBox), new PropertyMetadata(40.0)); 73 | 74 | /// 75 | /// The color of the progress ring 76 | /// 77 | public Brush LoadingRingForeground 78 | { 79 | get { return (Brush)GetValue(LoadingRingForegroundProperty); } 80 | set { SetValue(LoadingRingForegroundProperty, value); } 81 | } 82 | 83 | public static readonly DependencyProperty LoadingRingForegroundProperty = 84 | DependencyProperty.Register("LoadingRingForeground", typeof(Brush), typeof(MarkdownEditBox), new PropertyMetadata(DependencyProperty.UnsetValue)); 85 | 86 | /// 87 | /// Whether the progress ring is activated 88 | /// 89 | public bool IsLoadingRingActive 90 | { 91 | get { return (bool)GetValue(IsLoadingRingActiveProperty); } 92 | set { SetValue(IsLoadingRingActiveProperty, value); } 93 | } 94 | 95 | public static readonly DependencyProperty IsLoadingRingActiveProperty = 96 | DependencyProperty.Register("IsLoadingRingActive", typeof(bool), typeof(MarkdownEditBox), new PropertyMetadata(false)); 97 | 98 | public Color MainWebViewDefaultColor 99 | { 100 | get { return (Color)GetValue(MainWebViewDefaultColorProperty); } 101 | set { SetValue(MainWebViewDefaultColorProperty, value); } 102 | } 103 | 104 | // Using a DependencyProperty as the backing store for MainWebViewDefaultColor. This enables animation, styling, binding, etc... 105 | public static readonly DependencyProperty MainWebViewDefaultColorProperty = 106 | DependencyProperty.Register("MainWebViewDefaultColor", typeof(Color), typeof(MarkdownEditBox), new PropertyMetadata(Colors.Transparent)); 107 | 108 | 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Editor/MarkdownEditBox.cs: -------------------------------------------------------------------------------- 1 | using Windows.UI.Xaml; 2 | using Windows.UI.Xaml.Controls; 3 | 4 | namespace MarkdownEditBox.Editor 5 | { 6 | [TemplatePart(Name = "MainWebView", Type = typeof(WebView))] 7 | [TemplatePart(Name = "ContextMenuFlyout", Type = typeof(CommandBarFlyout))] 8 | public partial class MarkdownEditBox : Control 9 | { 10 | public WebView MainWebView; 11 | private CommandBarFlyout _contextMenuFlyout; 12 | public MarkdownEditBox() 13 | { 14 | this.DefaultStyleKey = typeof(MarkdownEditBox); 15 | } 16 | 17 | protected override void OnApplyTemplate() 18 | { 19 | MainWebView = GetTemplateChild("MainWebView") as WebView; 20 | MainWebView.ScriptNotify += MainWebView_ScriptNotify; 21 | 22 | _contextMenuFlyout = GetTemplateChild("ContextMenuFlyout") as CommandBarFlyout; 23 | 24 | base.OnApplyTemplate(); 25 | } 26 | 27 | 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/EditBoxDisplayMode.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace MarkdownEditBox.Enums 4 | { 5 | public enum EditBoxDisplayMode 6 | { 7 | /// 8 | /// Simultaneous display of editor and preview interface 9 | /// 10 | [EnumMember(Value = "split")] 11 | Split, 12 | 13 | /// 14 | /// Only Editor 15 | /// 16 | [EnumMember(Value = "editor")] 17 | Editor 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/EditorActionType.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace MarkdownEditBox.Enums 4 | { 5 | public enum EditorActionType 6 | { 7 | [EnumMember(Value = "markdown-bold")] 8 | Bold, 9 | 10 | [EnumMember(Value = "markdown-italic")] 11 | Italic, 12 | 13 | [EnumMember(Value = "markdown-underline")] 14 | Underline, 15 | 16 | [EnumMember(Value = "markdown-strikethrough")] 17 | Strikethrough, 18 | 19 | [EnumMember(Value = "markdown-supscript")] 20 | Supscript, 21 | 22 | [EnumMember(Value = "markdown-subscript")] 23 | Subscript, 24 | 25 | [EnumMember(Value = "markdown-codeline")] 26 | InlineCode, 27 | 28 | [EnumMember(Value = "markdown-pre")] 29 | CodeBlock, 30 | 31 | [EnumMember(Value = "markdown-quote")] 32 | Quote, 33 | 34 | [EnumMember(Value = "markdown-header1")] 35 | Header1, 36 | 37 | [EnumMember(Value = "markdown-header2")] 38 | Header2, 39 | 40 | [EnumMember(Value = "markdown-header3")] 41 | Header3, 42 | 43 | [EnumMember(Value = "markdown-header4")] 44 | Header4, 45 | 46 | [EnumMember(Value = "markdown-header5")] 47 | Header5, 48 | 49 | [EnumMember(Value = "markdown-header6")] 50 | Header6, 51 | 52 | [EnumMember(Value = "editor-save")] 53 | Save, 54 | 55 | [EnumMember(Value = "editor-copy")] 56 | Copy, 57 | 58 | [EnumMember(Value = "editor-cut")] 59 | Cut, 60 | 61 | [EnumMember(Value = "editor-paste")] 62 | Paste 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/EditorSymbol.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MarkdownEditBox.Enums 8 | { 9 | public enum EditorSymbol 10 | { 11 | Subscript='\uE900', 12 | Supscript='\uE901', 13 | Header='\uE902', 14 | Text='\uE903', 15 | Strikethrough='\uE904', 16 | Bold='\uE906', 17 | Paste='\uE907', 18 | Code='\uE908', 19 | Copy='\uE909', 20 | Italic='\uE90A', 21 | Save='\uE90B', 22 | Cut='\uE90C', 23 | Quote='\uE90D', 24 | Underline='\uE90E' 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/InvokeScriptTargetType.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace MarkdownEditBox.Enums 4 | { 5 | public enum InvokeScriptTargetType 6 | { 7 | /// 8 | /// window.app 9 | /// 10 | [EnumMember(Value = "window.app")] 11 | App, 12 | 13 | /// 14 | /// window.Editor 15 | /// 16 | [EnumMember(Value = "window.Editor")] 17 | Editor, 18 | 19 | /// 20 | /// window.Preview 21 | /// 22 | [EnumMember(Value = "window.Preview")] 23 | Preview, 24 | 25 | /// 26 | /// window.mdEditor 27 | /// 28 | [EnumMember(Value = "window.mdEditor")] 29 | Monaco 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/LineNumberMode.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace MarkdownEditBox.Enums 4 | { 5 | /// 6 | /// Editor line number mode 7 | /// 8 | public enum LineNumberMode 9 | { 10 | /// 11 | /// Open 12 | /// 13 | [EnumMember(Value ="on")] 14 | On, 15 | 16 | /// 17 | /// Close 18 | /// 19 | [EnumMember(Value = "off")] 20 | Off 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/MinimapShowMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.Serialization; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace MarkdownEditBox.Enums 9 | { 10 | /// 11 | /// Mini map show mode 12 | /// 13 | public enum MinimapShowMode 14 | { 15 | [EnumMember(Value = "always")] 16 | Always, 17 | 18 | [EnumMember(Value = "mouseover")] 19 | MouseOver 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/MinimapSideMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.Serialization; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace MarkdownEditBox.Enums 9 | { 10 | /// 11 | /// Mini map location 12 | /// 13 | public enum MinimapSideMode 14 | { 15 | /// 16 | /// On left 17 | /// 18 | [EnumMember(Value = "left")] 19 | Left, 20 | 21 | /// 22 | /// On right 23 | /// 24 | [EnumMember(Value = "right")] 25 | Right 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/RenderLineHighlightMode.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace MarkdownEditBox.Enums 4 | { 5 | /// 6 | /// Current line highlight mode 7 | /// 8 | public enum RenderLineHighlightMode 9 | { 10 | [EnumMember(Value = "none")] 11 | None, 12 | 13 | [EnumMember(Value = "gutter")] 14 | Gutter, 15 | 16 | [EnumMember(Value = "line")] 17 | Line, 18 | 19 | [EnumMember(Value = "all")] 20 | All 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/ScrollbarDisplayMode.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace MarkdownEditBox.Enums 4 | { 5 | /// 6 | /// Editor scroll bar display mode 7 | /// 8 | public enum ScrollbarDisplayMode 9 | { 10 | [EnumMember(Value = "auto")] 11 | Auto, 12 | 13 | [EnumMember(Value = "visible")] 14 | Visible, 15 | 16 | [EnumMember(Value = "hidden")] 17 | Hidden 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/WebScriptErrorType.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace MarkdownEditBox.Enums 4 | { 5 | public enum WebScriptErrorType 6 | { 7 | [EnumMember(Value = "excuteAction")] 8 | ExcuteAction, 9 | 10 | [EnumMember(Value = "defineTheme")] 11 | DefineTheme, 12 | 13 | [EnumMember(Value = "setTheme")] 14 | SetTheme, 15 | 16 | [EnumMember(Value = "unknown")] 17 | Unknown 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Enums/WebScriptNotifyType.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace MarkdownEditBox.Enums 4 | { 5 | public enum WebScriptNotifyType 6 | { 7 | [EnumMember(Value = "appLoaded")] 8 | AppLoaded, 9 | 10 | [EnumMember(Value = "editorLoaded")] 11 | EditorLoaded, 12 | 13 | [EnumMember(Value = "excuteActionSuccess")] 14 | ExcuteActionSuccess, 15 | 16 | [EnumMember(Value = "excuteActionFailed")] 17 | ExcuteActionFailed, 18 | 19 | [EnumMember(Value = "defineThemeSuccess")] 20 | DefineThemeSuccess, 21 | 22 | [EnumMember(Value = "defineThemeFailed")] 23 | DefineThemeFailed, 24 | 25 | [EnumMember(Value = "setThemeFailed")] 26 | SetThemeFailed, 27 | 28 | [EnumMember(Value = "save")] 29 | Save, 30 | 31 | [EnumMember(Value = "contentChanged")] 32 | ContentChanged, 33 | 34 | [EnumMember(Value = "contextmenu")] 35 | ContextMenu, 36 | 37 | [EnumMember(Value = "resize")] 38 | Resize, 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Markdown-Edit-Box.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Richasy.Controls.MarkdownEditBox 5 | 1.0.7 6 | Richasy 7 | Richasy 8 | false 9 | MIT 10 | https://github.com/Richasy/Controls-MarkdownEditBox 11 | https://i.loli.net/2020/09/05/LUIGZ3yHRfqgeES.png 12 | Markdown editor based on monaco-editor and WebView 13 | Change method and property name about locale 14 | Copyright 2020 15 | Richasy uwp markdown editor monaco 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Models/EditorAction.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Enums; 2 | using Newtonsoft.Json; 3 | using Newtonsoft.Json.Converters; 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace MarkdownEditBox.Models 11 | { 12 | /// 13 | /// Editor Action Instructions 14 | /// 15 | public class EditorAction 16 | { 17 | /// 18 | /// Action identifier 19 | /// 20 | [JsonProperty("id")] 21 | [JsonConverter(typeof(StringEnumConverter))] 22 | public EditorActionType Id { get; set; } 23 | 24 | /// 25 | /// Default action name 26 | /// 27 | [JsonProperty("label")] 28 | public string Label { get; set; } 29 | 30 | /// 31 | /// hot key 32 | /// 33 | [JsonProperty("attachKeys")] 34 | public string[] AttachKeys { get; set; } 35 | 36 | /// 37 | /// Group ID 38 | /// 39 | [JsonProperty("contextMenuGroupId")] 40 | public string ContextMenuGroupId { get; set; } 41 | 42 | /// 43 | /// Position in the menu 44 | /// 45 | [JsonProperty("contextMenuOrder")] 46 | public double ContextMenuOrder { get; set; } 47 | 48 | public override bool Equals(object obj) 49 | { 50 | return obj is EditorAction action && 51 | Id == action.Id; 52 | } 53 | 54 | public override int GetHashCode() 55 | { 56 | return 2108858624 + EqualityComparer.Default.GetHashCode(Id); 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Models/EditorIcon.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Enums; 2 | using Windows.UI.Xaml; 3 | using Windows.UI.Xaml.Controls; 4 | using Windows.UI.Xaml.Media; 5 | 6 | namespace MarkdownEditBox.Models 7 | { 8 | public class EditorIcon : FontIcon 9 | { 10 | public EditorIcon() 11 | { 12 | FontFamily = new FontFamily("/Markdown-Edit-Box/Assets/editor.ttf#editor"); 13 | } 14 | 15 | public EditorIcon(EditorSymbol symbol) : this() 16 | { 17 | Symbol = symbol; 18 | } 19 | 20 | public EditorSymbol Symbol 21 | { 22 | get { return (EditorSymbol)GetValue(SymbolProperty); } 23 | set { SetValue(SymbolProperty, value); } 24 | } 25 | 26 | // Using a DependencyProperty as the backing store for Symbol. This enables animation, styling, binding, etc... 27 | public static readonly DependencyProperty SymbolProperty = 28 | DependencyProperty.Register("Symbol", typeof(EditorSymbol), typeof(EditorIcon), new PropertyMetadata(null, new PropertyChangedCallback(Symbol_Changed))); 29 | 30 | private static void Symbol_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e) 31 | { 32 | if (e.NewValue is EditorSymbol icon) 33 | { 34 | var instance = d as EditorIcon; 35 | instance.Glyph = ((char)icon).ToString(); 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Models/StaticExtension.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Runtime.Serialization; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace MarkdownEditBox.Models 9 | { 10 | internal static class StaticExtension 11 | { 12 | public static string ToEnumString(this T type) where T : Enum 13 | { 14 | var enumType = typeof(T); 15 | var name = Enum.GetName(enumType, type); 16 | var enumMemberAttribute = ((EnumMemberAttribute[])enumType.GetField(name).GetCustomAttributes(typeof(EnumMemberAttribute), true)).Single(); 17 | return enumMemberAttribute.Value; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Models/WebScriptPackage.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Enums; 2 | using Newtonsoft.Json; 3 | using Newtonsoft.Json.Converters; 4 | 5 | namespace MarkdownEditBox.Models 6 | { 7 | internal class NotifyPackage 8 | { 9 | [JsonProperty("key")] 10 | [JsonConverter(typeof(StringEnumConverter))] 11 | public WebScriptNotifyType Key { get; set; } 12 | 13 | [JsonProperty("value")] 14 | public string Value { get; set; } 15 | } 16 | 17 | internal class ErrorPackage 18 | { 19 | [JsonProperty("errorMessage")] 20 | public string ErrorMessage { get; set; } 21 | 22 | [JsonProperty("action")] 23 | [JsonConverter(typeof(StringEnumConverter))] 24 | public WebScriptErrorType Action { get; set; } 25 | 26 | [JsonProperty("sign")] 27 | public string Sign { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Markdown-Edit-Box")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Markdown-Edit-Box")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Markdown-Edit-Box/Properties/Markdown_Edit_Box.rd.xml: -------------------------------------------------------------------------------- 1 | 2 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /Markdown-Edit-Box/Themes/Generic.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 55 | 56 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Richasy.Helper.UWP; 2 | using System; 3 | using Windows.ApplicationModel; 4 | using Windows.ApplicationModel.Activation; 5 | using Windows.UI.Xaml; 6 | using Windows.UI.Xaml.Controls; 7 | using Windows.UI.Xaml.Navigation; 8 | 9 | namespace Markdown_Editor_Sample 10 | { 11 | /// 12 | /// Provides application-specific behavior to supplement the default Application class. 13 | /// 14 | sealed partial class App : Application 15 | { 16 | /// 17 | /// Initializes the singleton application object. This is the first line of authored code 18 | /// executed, and as such is the logical equivalent of main() or WinMain(). 19 | /// 20 | public static Instance _instance = new Instance("MarkdownSample"); 21 | public App() 22 | { 23 | this.InitializeComponent(); 24 | this.Suspending += OnSuspending; 25 | } 26 | 27 | /// 28 | /// Invoked when the application is launched normally by the end user. Other entry points 29 | /// will be used such as when the application is launched to open a specific file. 30 | /// 31 | /// Details about the launch request and process. 32 | protected override void OnLaunched(LaunchActivatedEventArgs e) 33 | { 34 | Frame rootFrame = Window.Current.Content as Frame; 35 | 36 | // Do not repeat app initialization when the Window already has content, 37 | // just ensure that the window is active 38 | if (rootFrame == null) 39 | { 40 | // Create a Frame to act as the navigation context and navigate to the first page 41 | rootFrame = new Frame(); 42 | 43 | rootFrame.NavigationFailed += OnNavigationFailed; 44 | 45 | if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) 46 | { 47 | //TODO: Load state from previously suspended application 48 | } 49 | 50 | // Place the frame in the current Window 51 | Window.Current.Content = rootFrame; 52 | } 53 | 54 | if (e.PrelaunchActivated == false) 55 | { 56 | if (rootFrame.Content == null) 57 | { 58 | // When the navigation stack isn't restored navigate to the first page, 59 | // configuring the new page by passing required information as a navigation 60 | // parameter 61 | rootFrame.Navigate(typeof(MainPage), e.Arguments); 62 | } 63 | // Ensure the current window is active 64 | Window.Current.Activate(); 65 | } 66 | } 67 | 68 | /// 69 | /// Invoked when Navigation to a certain page fails 70 | /// 71 | /// The Frame which failed navigation 72 | /// Details about the navigation failure 73 | void OnNavigationFailed(object sender, NavigationFailedEventArgs e) 74 | { 75 | throw new Exception("Failed to load Page " + e.SourcePageType.FullName); 76 | } 77 | 78 | /// 79 | /// Invoked when application execution is being suspended. Application state is saved 80 | /// without knowing whether the application will be terminated or resumed with the contents 81 | /// of memory still intact. 82 | /// 83 | /// The source of the suspend request. 84 | /// Details about the suspend request. 85 | private void OnSuspending(object sender, SuspendingEventArgs e) 86 | { 87 | var deferral = e.SuspendingOperation.GetDeferral(); 88 | //TODO: Save application state and stop any background activity 89 | deferral.Complete(); 90 | } 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Editor-Sample/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Editor-Sample/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Editor-Sample/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Editor-Sample/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Editor-Sample/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Editor-Sample/Assets/StoreLogo.png -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Richasy/Controls-MarkdownEditBox/87a09b6f02464a6f7c5466d515157e93af630ec2/Markdown-Editor-Sample/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Assets/acrmd.css: -------------------------------------------------------------------------------- 1 | #previewContainer { 2 | overflow-y: auto; 3 | max-width: 95vw; 4 | padding: 0 20px; 5 | background-color: #1E1E1E; 6 | margin: 0; 7 | color: #FFFFFF; 8 | height: 100%; 9 | font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif 10 | } 11 | 12 | #previewContainer h1, #previewContainer h2, #previewContainer h3, #previewContainer h4, #previewContainer h5, #previewContainer h6 { 13 | font-weight: bold; 14 | line-height: 1.25; 15 | display: block; 16 | } 17 | 18 | #previewContainer h1 { 19 | font-size: 1.5rem; 20 | margin: 0 0 .5rem 0; 21 | } 22 | 23 | #previewContainer h2 { 24 | font-size: 1.4rem; 25 | padding-bottom: .3rem; 26 | border-bottom: 1px solid #8984D1; 27 | } 28 | 29 | #previewContainer h3 { 30 | font-size: 1.3rem; 31 | } 32 | 33 | #previewContainer h4 { 34 | font-size: 1.2rem; 35 | } 36 | 37 | #previewContainer h5 { 38 | font-size: 1.1rem; 39 | } 40 | 41 | #previewContainer h6 { 42 | font-size: 1rem; 43 | } 44 | 45 | #previewContainer img { 46 | max-width: 90%; 47 | text-align: center; 48 | display: block; 49 | margin: 0 auto; 50 | } 51 | 52 | #previewContainer ol, #previewContainer p, #previewContainer ul { 53 | line-height: 1.7; 54 | } 55 | 56 | #previewContainer ol, #previewContainer ul { 57 | padding-left: 1.2rem; 58 | } 59 | 60 | #previewContainer ul, #previewContainer menu, #previewContainer dir { 61 | display: block; 62 | list-style-type: disc; 63 | margin: 1rem 0; 64 | } 65 | 66 | #previewContainer p { 67 | display: block; 68 | margin: 1rem 0; 69 | } 70 | 71 | #previewContainer a { 72 | font-weight: 500; 73 | text-decoration: none; 74 | color: cornflowerblue; 75 | } 76 | 77 | #previewContainer hr { 78 | height: 0.1rem; 79 | border: 0; 80 | color: #8984D1; 81 | background-color: #8984D1; 82 | overflow: hidden; 83 | display: block; 84 | margin: 0 auto; 85 | } 86 | 87 | #previewContainer mark { 88 | max-width: 70%; 89 | width: auto; 90 | text-align: center; 91 | margin: 0 auto; 92 | background-color: #2D7CD8; 93 | color: #fff; 94 | padding: .2rem; 95 | border-radius: 3px; 96 | } 97 | 98 | #previewContainer code, #previewContainer pre { 99 | border-radius: 3px; 100 | color: inherit; 101 | font-family: ui-monospace; 102 | } 103 | 104 | #previewContainer code { 105 | border: 1px solid #303035; 106 | background-color: #303035; 107 | color: wheat; 108 | margin: 0 2px; 109 | padding: 0 5px; 110 | } 111 | 112 | #previewContainer pre { 113 | overflow: auto; 114 | } 115 | 116 | #previewContainer pre > code { 117 | border: 0; 118 | margin: 0; 119 | line-height: 1.8; 120 | padding: 10px; 121 | } 122 | 123 | #previewContainer table { 124 | width: 100%; 125 | margin-bottom: 20px; 126 | border-right: 1px solid #444; 127 | border-bottom: 1px solid #444; 128 | } 129 | 130 | #previewContainer blockquote { 131 | padding: 10px 15px; 132 | border-left-style: solid; 133 | border-left-width: 10px; 134 | border-color: #4A708F; 135 | background: none repeat scroll 0 0 rgba(102, 128, 153, 0.05); 136 | margin-left: 0; 137 | } 138 | 139 | #previewContainer table th, #previewContainer table td { 140 | padding: 8px; 141 | line-height: 20px; 142 | text-align: left; 143 | vertical-align: top; 144 | border-top: 1px solid #444; 145 | border-left: 1px solid #444; 146 | margin: 0; 147 | } 148 | 149 | #previewContainer tbody > tr:nth-child(2n+1) > td, #previewContainer tbody > tr:nth-child(2n+1) > th { 150 | background-color: rgba(102, 128, 153, 0.1); 151 | } 152 | 153 | #previewContainer .footnote-item { 154 | font-style: italic; 155 | font-size: .9rem; 156 | margin-left: .6rem; 157 | } 158 | 159 | #previewContainer .tip { 160 | background-color: rgba(14, 13, 26, 0.3); 161 | border-color: #42b983; 162 | padding: .1rem 1.5rem; 163 | border-left-width: .5rem; 164 | border-left-style: solid; 165 | margin: 1rem 0; 166 | } 167 | 168 | #previewContainer .warning { 169 | background-color: rgba(14, 13, 26, 0.3); 170 | border-color: #e7c000; 171 | color: #F7ECB5; 172 | padding: .1rem 1.5rem; 173 | border-left-width: .5rem; 174 | border-left-style: solid; 175 | margin: 1rem 0; 176 | } 177 | 178 | #previewContainer .danger { 179 | background-color: rgba(14, 13, 26, 0.3); 180 | border-color: #c00; 181 | color: #FCC2C2; 182 | padding: .1rem 1.5rem; 183 | border-left-width: .5rem; 184 | border-left-style: solid; 185 | margin: 1rem 0; 186 | } 187 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Enums/ColorNames.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Markdown_Editor_Sample.Enums 8 | { 9 | public enum ColorNames 10 | { 11 | SuccessPopBackground, 12 | FailedPopBackground 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  10 | 11 | 12 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Models; 2 | using Richasy.Helper.UWP; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.IO; 6 | using System.Linq; 7 | using System.Runtime.InteropServices.WindowsRuntime; 8 | using System.Threading.Tasks; 9 | using Windows.Foundation; 10 | using Windows.Foundation.Collections; 11 | using Windows.Storage; 12 | using Windows.UI.Xaml; 13 | using Windows.UI.Xaml.Controls; 14 | using Windows.UI.Xaml.Controls.Primitives; 15 | using Windows.UI.Xaml.Data; 16 | using Windows.UI.Xaml.Input; 17 | using Windows.UI.Xaml.Media; 18 | using Windows.UI.Xaml.Navigation; 19 | 20 | // The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 21 | 22 | namespace Markdown_Editor_Sample 23 | { 24 | /// 25 | /// An empty page that can be used on its own or navigated to within a Frame. 26 | /// 27 | public sealed partial class MainPage : Page 28 | { 29 | 30 | private Instance _instance = new Instance("MarkdownSample"); 31 | public MainPage() 32 | { 33 | this.InitializeComponent(); 34 | } 35 | private void MyNavView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args) 36 | { 37 | var item = args.InvokedItemContainer as NavigationViewItem; 38 | string tag = item.Tag.ToString(); 39 | switch (tag) 40 | { 41 | case "1": 42 | MainFrame.Navigate(typeof(Pages.Scenario1)); 43 | break; 44 | case "2": 45 | MainFrame.Navigate(typeof(Pages.Scenario2)); 46 | break; 47 | case "3": 48 | MainFrame.Navigate(typeof(Pages.Scenario3)); 49 | break; 50 | case "4": 51 | MainFrame.Navigate(typeof(Pages.Scenario4)); 52 | break; 53 | default: 54 | break; 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Package.appxmanifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 8 | 9 | 13 | 14 | 15 | 16 | 17 | Markdown-Editor-Sample 18 | zar23 19 | Assets\StoreLogo.png 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Pages/Scenario1.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 31 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Pages/Scenario1.xaml.cs: -------------------------------------------------------------------------------- 1 | using Markdown_Editor_Sample.Enums; 2 | using MarkdownEditBox.Models; 3 | using Richasy.Controls.UWP.Models.UI; 4 | using Richasy.Controls.UWP.Popups; 5 | using System; 6 | using System.Threading.Tasks; 7 | using Windows.Storage; 8 | using Windows.UI.Xaml; 9 | 10 | namespace Markdown_Editor_Sample.Pages 11 | { 12 | /// 13 | /// This scenario is suitable for simple configuration out of the box 14 | /// Usually the initialization operation of the control is carried out in the ControlLoaded event 15 | /// In order to improve usability, simple file operations are added here 16 | /// 17 | public sealed partial class Scenario1 : RichasyPage 18 | { 19 | private StorageFile _file; 20 | public Scenario1() : base() 21 | { 22 | this.InitializeComponent(); 23 | } 24 | private async void MyEditor_ControlLoaded(object sender, EventArgs e) 25 | { 26 | var displayOptions = DisplayOptions.CreateOptions(); 27 | var editorOptions = EditorOptions.CreateOptions(); 28 | var localeOptions = await EditorLocaleOptions.GetDefaultEnOptionsAsync(); 29 | editorOptions.Theme = ""; 30 | await MyEditor.Initialize("# Hello Markdown!", displayOptions, editorOptions, "", localeOptions); 31 | var cssFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/acrmd.css")); 32 | string css = await FileIO.ReadTextAsync(cssFile); 33 | await MyEditor.SetPreviewStyle(css); 34 | } 35 | 36 | private void MyEditor_ExcuteSuccess(object sender, MarkdownEditBox.Editor.Args.EditorExcuteSuccessEventArgs e) 37 | { 38 | new TipPopup(App._instance, "Excute action successed").Show(ColorNames.SuccessPopBackground); 39 | } 40 | 41 | private void MyEditor_ExcuteFailed(object sender, MarkdownEditBox.Editor.Args.EditorExcuteFailedEventArgs e) 42 | { 43 | new TipPopup(App._instance, e.Message).Show(ColorNames.FailedPopBackground); 44 | } 45 | 46 | private async void MyEditor_RequestSave(object sender, EventArgs e) 47 | { 48 | await SaveFile(); 49 | } 50 | 51 | private void MyEditor_ContentChanged(object sender, EventArgs e) 52 | { 53 | ChangedSign.Visibility = Visibility.Visible; 54 | } 55 | 56 | private async void OpenFileButton_Click(object sender, RoutedEventArgs e) 57 | { 58 | if (MyEditor.IsEditorLoaded) 59 | { 60 | var file = await App._instance.IO.OpenLocalFileAsync(".md"); 61 | if (file != null) 62 | { 63 | _file = file; 64 | FileNameBlock.Text = file.DisplayName; 65 | SaveFileButton.IsEnabled = true; 66 | string content = await FileIO.ReadTextAsync(file); 67 | await MyEditor.SetMarkdownAsync(content); 68 | ChangedSign.Visibility = Visibility.Collapsed; 69 | } 70 | } 71 | } 72 | 73 | private async void SaveFileButton_Click(object sender, RoutedEventArgs e) 74 | { 75 | await SaveFile(); 76 | } 77 | 78 | private async Task SaveFile() 79 | { 80 | string markdown = await MyEditor.GetMarkdownAsync(); 81 | if (_file == null) 82 | { 83 | 84 | var file = await App._instance.IO.GetSaveFileAsync(".md", "My Markdown.md", "Markdown File"); 85 | if (file != null) 86 | { 87 | _file = file; 88 | FileNameBlock.Text = file.DisplayName; 89 | } 90 | else 91 | return; 92 | } 93 | await FileIO.WriteTextAsync(_file, markdown); 94 | ChangedSign.Visibility = Visibility.Collapsed; 95 | } 96 | 97 | private void MyEditor_EditorLoaded(object sender, EventArgs e) 98 | { 99 | OpenFileButton.IsEnabled = true; 100 | } 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Pages/Scenario2.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 28 | 31 | 33 | 35 | 36 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Pages/Scenario2.xaml.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Models; 2 | using Newtonsoft.Json; 3 | using Richasy.Controls.UWP.Models.UI; 4 | using Richasy.Font.UWP; 5 | using System; 6 | using System.Collections.ObjectModel; 7 | using System.Linq; 8 | using Windows.Storage; 9 | using Windows.UI.Xaml; 10 | using Windows.UI.Xaml.Controls; 11 | using Windows.UI.Xaml.Controls.Primitives; 12 | using Windows.UI.Xaml.Navigation; 13 | 14 | namespace Markdown_Editor_Sample.Pages 15 | { 16 | /// 17 | /// This scenario is suitable for simple attribute modification 18 | /// 19 | public sealed partial class Scenario2 : RichasyPage 20 | { 21 | public ObservableCollection FontCollection = new ObservableCollection(); 22 | public Scenario2():base() 23 | { 24 | this.InitializeComponent(); 25 | IsInit = false; 26 | } 27 | 28 | protected override void OnNavigatedTo(NavigationEventArgs e) 29 | { 30 | var fonts = SystemFont.GetSystemFonts(); 31 | fonts.ForEach(p => FontCollection.Add(p)); 32 | var selectedFont = fonts.Where(p => p.Name == "Microsoft YaHei UI").FirstOrDefault(); 33 | if (selectedFont != null) 34 | FontFamilyComboBox.SelectedItem = selectedFont; 35 | base.OnNavigatedTo(e); 36 | } 37 | 38 | private async void FontFamilyComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 39 | { 40 | if (IsInit) 41 | { 42 | var font = FontFamilyComboBox.SelectedItem as SystemFont; 43 | await MyEditor.SetFontFamilyAsync(font.Name); 44 | } 45 | } 46 | 47 | private async void MyEditor_ControlLoaded(object sender, EventArgs e) 48 | { 49 | var displayOptions = DisplayOptions.CreateOptions(); 50 | var editorOptions = EditorOptions.CreateOptions(); 51 | editorOptions.FontFamily = "Microsoft YaHei UI"; 52 | var localeOptions = await EditorLocaleOptions.GetDefaultEnOptionsAsync(); 53 | editorOptions.Theme = ""; 54 | var mdFile= await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/test.md")); 55 | string md = await FileIO.ReadTextAsync(mdFile); 56 | await MyEditor.Initialize(md, displayOptions, editorOptions, "", localeOptions); 57 | var cssFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/acrmd.css")); 58 | string css = await FileIO.ReadTextAsync(cssFile); 59 | await MyEditor.SetPreviewStyle(css); 60 | ControlPanel.Visibility = Visibility.Visible; 61 | } 62 | 63 | private async void Slider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) 64 | { 65 | if (IsInit) 66 | { 67 | await MyEditor.SetFontSizeAsync(e.NewValue); 68 | } 69 | } 70 | 71 | private async void LineNumberSwitcher_Toggled(object sender, RoutedEventArgs e) 72 | { 73 | if (IsInit) 74 | { 75 | var obj = new 76 | { 77 | lineNumbers = LineNumberSwitcher.IsOn ? "on" : "off" 78 | }; 79 | await MyEditor.UpdateEditorOptionsAsync(JsonConvert.SerializeObject(obj)); 80 | } 81 | } 82 | 83 | private async void MinimapSwitcher_Toggled(object sender, RoutedEventArgs e) 84 | { 85 | if (IsInit) 86 | { 87 | var obj = new 88 | { 89 | minimap=new 90 | { 91 | enabled=MinimapSwitcher.IsOn 92 | } 93 | }; 94 | await MyEditor.UpdateEditorOptionsAsync(JsonConvert.SerializeObject(obj)); 95 | } 96 | } 97 | 98 | private void MyEditor_EditorLoaded(object sender, EventArgs e) 99 | { 100 | IsInit = true; 101 | } 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Pages/Scenario3.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Pages/Scenario3.xaml.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Enums; 2 | using MarkdownEditBox.Models; 3 | using Richasy.Controls.UWP.Models.UI; 4 | using System; 5 | using Windows.Storage; 6 | using Windows.UI.Xaml; 7 | using Windows.UI.Xaml.Controls; 8 | 9 | namespace Markdown_Editor_Sample.Pages 10 | { 11 | /// 12 | /// This scene is suitable for display mode changes 13 | /// 14 | public sealed partial class Scenario3 : RichasyPage 15 | { 16 | public Scenario3():base() 17 | { 18 | this.InitializeComponent(); 19 | } 20 | private async void MyEditor_ControlLoaded(object sender, EventArgs e) 21 | { 22 | var displayOptions = DisplayOptions.CreateOptions(EditBoxDisplayMode.Editor); 23 | var editorOptions = EditorOptions.CreateOptions(); 24 | editorOptions.FontFamily = "Microsoft YaHei UI"; 25 | var localeOptions = await EditorLocaleOptions.GetDefaultEnOptionsAsync(); 26 | editorOptions.Theme = ""; 27 | var mdFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/test.md")); 28 | string md = await FileIO.ReadTextAsync(mdFile); 29 | await MyEditor.Initialize(md, displayOptions, editorOptions, "", localeOptions); 30 | ControlPanel.Visibility = Visibility.Visible; 31 | } 32 | 33 | private void MyEditor_EditorLoaded(object sender, EventArgs e) 34 | { 35 | IsInit = true; 36 | } 37 | private async void RadioButton_Checked(object sender, RoutedEventArgs e) 38 | { 39 | if (IsInit) 40 | { 41 | var btn = sender as RadioButton; 42 | string tag = btn.Tag.ToString(); 43 | Enum.TryParse(tag, out EditBoxDisplayMode mode); 44 | await MyEditor.UpdateDisplayAsync(DisplayOptions.CreateOptions(mode)); 45 | if (mode == EditBoxDisplayMode.Split) 46 | { 47 | var cssFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/acrmd.css")); 48 | string css = await FileIO.ReadTextAsync(cssFile); 49 | await MyEditor.SetPreviewStyle(css); 50 | } 51 | else 52 | await MyEditor.UpdateEditorLayoutAsync(); 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Pages/Scenario4.xaml: -------------------------------------------------------------------------------- 1 |  11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Pages/Scenario4.xaml.cs: -------------------------------------------------------------------------------- 1 | using MarkdownEditBox.Enums; 2 | using MarkdownEditBox.Models; 3 | using Richasy.Controls.UWP.Models.UI; 4 | using System; 5 | using System.Diagnostics; 6 | using System.Threading.Tasks; 7 | using Windows.Storage; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | 11 | namespace Markdown_Editor_Sample.Pages 12 | { 13 | /// 14 | /// This scene is suitable for editor theme changes 15 | /// 16 | public sealed partial class Scenario4 : RichasyPage 17 | { 18 | public Scenario4():base() 19 | { 20 | this.InitializeComponent(); 21 | IsInit = false; 22 | } 23 | 24 | private async void ThemeComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 25 | { 26 | if (IsInit) 27 | { 28 | var item = ThemeComboBox.SelectedItem as ComboBoxItem; 29 | string themeName = item.Tag.ToString(); 30 | await MyEditor.SetThemeAsync(themeName); 31 | } 32 | } 33 | 34 | private async void MyEditor_ControlLoaded(object sender, EventArgs e) 35 | { 36 | var displayOptions = DisplayOptions.CreateOptions(EditBoxDisplayMode.Editor); 37 | var editorOptions = EditorOptions.CreateOptions(); 38 | editorOptions.FontFamily = "Microsoft YaHei UI"; 39 | var localeOptions = await EditorLocaleOptions.GetDefaultEnOptionsAsync(); 40 | editorOptions.Theme = "none"; 41 | var mdFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/test.md")); 42 | string md = await FileIO.ReadTextAsync(mdFile); 43 | await MyEditor.Initialize(md, displayOptions, editorOptions, "", localeOptions); 44 | ControlPanel.Visibility = Visibility.Visible; 45 | } 46 | 47 | private async void MyEditor_EditorLoaded(object sender, EventArgs e) 48 | { 49 | IsInit = true; 50 | await InitThemes(); 51 | await MyEditor.SetThemeAsync("dark"); 52 | } 53 | 54 | private async Task InitThemes() 55 | { 56 | var lightFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/light.json")); 57 | string lightJson = await FileIO.ReadTextAsync(lightFile); 58 | await MyEditor.DefineThemeAsync("light", lightJson); 59 | var darkFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/dark.json")); 60 | string darkJson = await FileIO.ReadTextAsync(darkFile); 61 | await MyEditor.DefineThemeAsync("dark", darkJson); 62 | } 63 | 64 | private void MyEditor_ExcuteFailed(object sender, MarkdownEditBox.Editor.Args.EditorExcuteFailedEventArgs e) 65 | { 66 | Debug.WriteLine(e.Message); 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Markdown-Editor-Sample")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Markdown-Editor-Sample")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Version information for an assembly consists of the following four values: 18 | // 19 | // Major Version 20 | // Minor Version 21 | // Build Number 22 | // Revision 23 | // 24 | // You can specify all the values or you can default the Build and Revision Numbers 25 | // by using the '*' as shown below: 26 | // [assembly: AssemblyVersion("1.0.*")] 27 | [assembly: AssemblyVersion("1.0.0.0")] 28 | [assembly: AssemblyFileVersion("1.0.0.0")] 29 | [assembly: ComVisible(false)] -------------------------------------------------------------------------------- /Markdown-Editor-Sample/Properties/Default.rd.xml: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 |
6 | 7 | # MarkdownEditBox 8 | 9 | [![Nuget](https://img.shields.io/nuget/v/Richasy.Controls.MarkdownEditBox)](https://www.nuget.org/packages/Richasy.Controls.MarkdownEditBox/) 10 | 11 | [Wiki](https://github.com/Richasy/Controls-MarkdownEditBox/wiki) | [中文说明](README_ZH.md) 12 | 13 | `MarkdownEditBox` is a Markdown editor based on monaco-editor 14 | 15 |
16 | 17 | ## Introduction 18 | 19 | The core editor of the control is based on [monaco-editor](https://microsoft.github.io/monaco-editor/), Markdown syntax analysis is based on [markdown-it](https://github.com/markdown-it/markdown-it),Organize the two based on [Vue](https://vuejs.org/), and then use WebView to present them in UWP. 20 | 21 | So it is not a lightweight Native editor, on the contrary, it is very heavy, but it has quite complete functions. 22 | 23 | Since it is a specialized Markdown editor, some customized operations have been performed on moanco-editor. Please check the revised editor project: [Markdown-Editor-Vue](https://github.com/Richasy/Markdown-Editor-Vue) 24 | 25 | ***The minimum system version requirement of this control is Windows10 ver 1809*** 26 | 27 | ## Control characteristics 28 | 29 | - Expanded Markdown syntax highlighting 30 | - Support most Markdown syntax rendering 31 | - Provide separate editor `Editor` mode and edit+preview `Split` mode 32 | - Built-in relatively complete shortcut key definition, and provide right-click menu 33 | - Provide a rich theme definition interface (actually the set of monaco-editor) 34 | - Support css import 35 | 36 | ## Simple start 37 | 38 | 1. Reference the nuget package in the project:[Richasy.Controls.MarkdownEditBox](https://www.nuget.org/packages/Richasy.Controls.MarkdownEditBox/) 39 | 2. Create a page `EditorPage.xaml`. 40 | 41 | **EditorPage.xaml** 42 | 43 | ```xml 44 | 47 | 52 | 53 | ``` 54 | 55 | **EditorPage.xaml.cs** 56 | 57 | ```csharp 58 | private async void MyEditor_ControlLoaded(object sender, EventArgs e) 59 | { 60 | var displayOptions = DisplayOptions.CreateOptions(); 61 | var editorOptions = EditorOptions.CreateOptions(); 62 | var localeOptions = await EditorLocaleOptions.GetDefaultEnOptionsAsync(); 63 | editorOptions.Theme = ""; 64 | await MyEditor.Initialize("# Hello Markdown!", displayOptions, editorOptions, "", localeOptions); 65 | var cssFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("Your custom css file path (need in the project)")); 66 | string css = await FileIO.ReadTextAsync(cssFile); 67 | await MyEditor.SetPreviewStyle(css); 68 | } 69 | ``` 70 | 71 | ![](https://i.loli.net/2020/09/06/jqvFZrVOcY9t7fh.png) 72 | 73 | Since it is a WebView-based control, MarkdownEditBox does not try to use traditional `MarkdownEditBox.Text` property to set the text, but takes the form of calling methods for configuration. 74 | 75 | For detailed information about related configurations, and how to use MarkdownEditBox in some common scenarios, you can refer to the sample project in the repository. 76 | 77 | ## Known issues 78 | 79 | 1. Use a lot of memory, about 120MB when running 80 | 2. When switching applications quickly, there may be garbled characters when using the input method to input text (Chakra kernel issue) 81 | 3. After selecting the text, using the input method to input text for the first time is invalid (Chakra kernel issue) 82 | 4. In `Split` mode, there will be obvious lag when adjusting the area ratio (Chakra kernel issue) 83 | 84 | The monaco editor is designed for VS Code after all, and VS Code is based on Electron (Chromium core), so some problems will arise when running in the current WebView. 85 | 86 | This control is actually prepared for the WebView2 of WinUI3. After WebView2 for UWP is officially released, the browser kernel of the control will be replaced. 87 | 88 | ## Thanks 89 | 90 | - [monaco editor](https://github.com/Microsoft/monaco-editor) 91 | - [markdown-it](https://github.com/markdown-it/markdown-it) 92 | - [vue](https://github.com/vuejs/vue) 93 | - [vue-split-pane](https://github.com/PanJiaChen/vue-split-pane) 94 | -------------------------------------------------------------------------------- /README_ZH.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 |
6 | 7 | # MarkdownEditBox 8 | 9 | [![Nuget](https://img.shields.io/nuget/v/Richasy.Controls.MarkdownEditBox)](https://www.nuget.org/packages/Richasy.Controls.MarkdownEditBox/) 10 | 11 | [Wiki](https://github.com/Richasy/Controls-MarkdownEditBox/wiki) | [English doc](README_ZH.md) 12 | 13 | `MarkdownEditBox` 是一个基于 monaco-editor 的 Markdown 编辑器 14 | 15 |
16 | 17 | ## 简介 18 | 19 | 该控件的核心编辑器基于 [monaco-editor](https://microsoft.github.io/monaco-editor/),markdown语法解析基于 [markdown-it](https://github.com/markdown-it/markdown-it),基于 [Vue](https://vuejs.org/) 将这二者组织起来,然后在 UWP 中使用 WebView 呈现。 20 | 21 | 所以它不是轻量级的原生编辑器,相反,它很重,但功能还挺齐全。 22 | 23 | 由于是特化的 Markdown 编辑器,所以我对 moanco-editor 进行了一些定制化操作,修改后的编辑器项目请查看:[Markdown-Editor-Vue](https://github.com/Richasy/Markdown-Editor-Vue) 24 | 25 | ***该控件的最低系统版本需求为 Windows10 ver 1809*** 26 | 27 | ## 控件特性 28 | 29 | - 扩展 Markdown 语法高亮 30 | - 支持绝大多数 Markdown 语法渲染 31 | - 提供单独编辑器的 `Editor` 模式和编辑+预览的 `Split` 模式 32 | - 内置相对完善的快捷键定义,并提供右键菜单 33 | - 提供丰富的主题定义接口(其实就是 monaco-editor 那一套) 34 | - 支持 css 导入 35 | 36 | ## 简单的开始 37 | 38 | 1. 在项目中引用 nuget 包:[Richasy.Controls.MarkdownEditBox](https://www.nuget.org/packages/Richasy.Controls.MarkdownEditBox/) 39 | 2. 创建一个页面 `EditorPage.xaml`. 40 | 41 | **EditorPage.xaml** 42 | 43 | ```xml 44 | 47 | 52 | 53 | ``` 54 | 55 | **EditorPage.xaml.cs** 56 | 57 | ```csharp 58 | private async void MyEditor_ControlLoaded(object sender, EventArgs e) 59 | { 60 | var displayOptions = DisplayOptions.CreateOptions(); 61 | var editorOptions = EditorOptions.CreateOptions(); 62 | var localeOptions = await EditorLocaleOptions.GetDefaultEnOptionsAsync(); 63 | editorOptions.Theme = ""; 64 | await MyEditor.Initialize("# Hello Markdown!", displayOptions, editorOptions, "", localeOptions); 65 | var cssFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("你的自定义CSS文件路径(需要在项目内)")); 66 | string css = await FileIO.ReadTextAsync(cssFile); 67 | await MyEditor.SetPreviewStyle(css); 68 | } 69 | ``` 70 | 71 | ![](https://i.loli.net/2020/09/06/jqvFZrVOcY9t7fh.png) 72 | 73 | 由于自身是基于WebView的控件,所以 MarkdownEditBox 并没有尝试使用传统的 `MarkdownEditBox.Text` 之类的属性来设置文本,而是采取调用方法的形式进行配置。 74 | 75 | 关于相关配置的详细信息,以及在一些常用场景下使用 MarkdownEditBox 的方法,可以参考仓库内的示例项目。 76 | 77 | ## 已知问题 78 | 79 | 1. 内存占用很高,运行时占用约 120MB 80 | 2. 快速切换应用时,使用输入法输入文本可能有乱码问题 (Chakra内核问题) 81 | 3. 选中文本后,初次使用输入法输入文本无效 (Chakra内核问题) 82 | 4. 在 `Split` 模式下,调整区域占比会有明显的卡顿 (Chakra内核问题) 83 | 84 | monaco editor 毕竟是为 VS Code 设计,而 VS Code 又基于 Electron (Chromium核心),所以在当前的 WebView 中运行时会产生一些问题。 85 | 86 | 该控件其实是为之后 WinUI3 的 WebView2 而准备的,以后 WebView2 for UWP 正式发布后,该控件的浏览器内核会进行替换 87 | 88 | ## 感谢 89 | 90 | - [monaco editor](https://github.com/Microsoft/monaco-editor) 91 | - [markdown-it](https://github.com/markdown-it/markdown-it) 92 | - [vue](https://github.com/vuejs/vue) 93 | - [vue-split-pane](https://github.com/PanJiaChen/vue-split-pane) 94 | --------------------------------------------------------------------------------