mirror of
https://gitee.com/LongbowEnterprise/BootstrapBlazor.git
synced 2024-12-03 12:39:40 +08:00
!2442 feat(#I4U8G2): support highlight on Markdown component
* Merge branch 'main' into dev-markdown * chore: 更新配置文件 * revert: 更新项目依赖 * chore: 更新版本号 * chore: 微调配置文件顺序 * fix: 增加 tag 样式防止与 Tag 组件冲突 * Merge remote-tracking branch 'origin/dev-markdown' into dev-markdown * 修复插件报错问题 * chore: 移动 Markdown 语法高亮相关资源到 Shared 工程 * style: 增加 switch 样式 * doc: 格式化文档 * chore: 更新资源文件 * revert: 撤销配置文件更改 * revert: 移除 Layout 文件脚本代码 * 1、升级tui.editor到3.13
This commit is contained in:
parent
d515a36faf
commit
f8bd17574d
@ -80,37 +80,37 @@ public partial class Blocks
|
||||
|
||||
private IEnumerable<AttributeItem> GetAttributes() => new AttributeItem[]
|
||||
{
|
||||
new AttributeItem()
|
||||
{
|
||||
Name = nameof(Block.OnQueryCondition),
|
||||
Description = Localizer["OnQueryCondition"],
|
||||
Type = "Func<Task<bool>>",
|
||||
ValueList = " — ",
|
||||
DefaultValue = "true"
|
||||
},
|
||||
new AttributeItem()
|
||||
{
|
||||
Name = nameof(Block.ChildContent),
|
||||
Description = Localizer["ChildContent"],
|
||||
Type = "RenderFragment",
|
||||
ValueList = " — ",
|
||||
DefaultValue = " — "
|
||||
},
|
||||
new AttributeItem()
|
||||
{
|
||||
Name = nameof(Block.Authorized),
|
||||
Description = Localizer["Authorized"],
|
||||
Type = "RenderFragment",
|
||||
ValueList = " — ",
|
||||
DefaultValue = " — "
|
||||
},
|
||||
new AttributeItem()
|
||||
{
|
||||
Name = nameof(Block.NotAuthorized),
|
||||
Description = Localizer["NotAuthorized"],
|
||||
Type = "RenderFragment",
|
||||
ValueList = " — ",
|
||||
DefaultValue = " — "
|
||||
}
|
||||
new AttributeItem()
|
||||
{
|
||||
Name = nameof(Block.OnQueryCondition),
|
||||
Description = Localizer["OnQueryCondition"],
|
||||
Type = "Func<Task<bool>>",
|
||||
ValueList = " — ",
|
||||
DefaultValue = "true"
|
||||
},
|
||||
new AttributeItem()
|
||||
{
|
||||
Name = nameof(Block.ChildContent),
|
||||
Description = Localizer["ChildContent"],
|
||||
Type = "RenderFragment",
|
||||
ValueList = " — ",
|
||||
DefaultValue = " — "
|
||||
},
|
||||
new AttributeItem()
|
||||
{
|
||||
Name = nameof(Block.Authorized),
|
||||
Description = Localizer["Authorized"],
|
||||
Type = "RenderFragment",
|
||||
ValueList = " — ",
|
||||
DefaultValue = " — "
|
||||
},
|
||||
new AttributeItem()
|
||||
{
|
||||
Name = nameof(Block.NotAuthorized),
|
||||
Description = Localizer["NotAuthorized"],
|
||||
Type = "RenderFragment",
|
||||
ValueList = " — ",
|
||||
DefaultValue = " — "
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -68,4 +68,22 @@
|
||||
<Markdown IsViewer="true" Value="# Viewer Mode"></Markdown>
|
||||
</DemoBlock>
|
||||
|
||||
<DemoBlock Title="暗黑模式" Introduction="启用暗黑模式" Name="Browser">
|
||||
<Markdown IsDark="true" Value="# Dark Mode"></Markdown>
|
||||
</DemoBlock>
|
||||
|
||||
<h3>启用插件</h3>
|
||||
<p>启用插件需要引入插件对应的css和js文件</p>
|
||||
|
||||
<p>代码高亮插件:</p>
|
||||
<p>引入</p>
|
||||
|
||||
<Pre><link rel="stylesheet" href="_content/BootstrapBlazor.Markdown/css/bootstrap.blazor.markdown.highlight.min.css" /></Pre>
|
||||
|
||||
<Pre><script src="_content/BootstrapBlazor.Markdown/js/bootstrap.blazor.markdown.highlight.min.js"></script></Pre>
|
||||
|
||||
<DemoBlock Title="启用代码高亮插件" Introduction="使用<code>EnableHighlight=true</code>启用插件,使用```后加代码格式的方式使用高亮,如```js 则使用js高亮语法" Name="Browser">
|
||||
<Markdown EnableHighlight="true" Value="@JsString"></Markdown>
|
||||
</DemoBlock>
|
||||
|
||||
<AttributeTable Items="GetAttributes()"></AttributeTable>
|
||||
|
@ -25,6 +25,10 @@ public partial class Markdowns
|
||||
|
||||
private string? AsyncValue { get; set; }
|
||||
|
||||
private string JsString { get; set; } = @"```js
|
||||
console.log('test');
|
||||
```";
|
||||
|
||||
/// <summary>
|
||||
/// OnInitializedAsync 方法
|
||||
/// </summary>
|
||||
@ -92,6 +96,20 @@ public partial class Markdowns
|
||||
Type = "bool",
|
||||
ValueList = " true/false ",
|
||||
DefaultValue = " false "
|
||||
},
|
||||
new AttributeItem(){
|
||||
Name = "IsDark",
|
||||
Description = "是否为暗黑模式",
|
||||
Type = "bool",
|
||||
ValueList = " true/false ",
|
||||
DefaultValue = " false "
|
||||
},
|
||||
new AttributeItem(){
|
||||
Name = "EnableHighlight",
|
||||
Description = "是否启用代码高亮插件,启用前需要引入插件对应的js css",
|
||||
Type = "bool",
|
||||
ValueList = " true/false ",
|
||||
DefaultValue = " false "
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,8 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<PropertyGroup>
|
||||
<Version>6.0.1</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageTags>Bootstrap Blazor WebAssembly wasm UI Components Markdown</PackageTags>
|
||||
@ -7,11 +11,9 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Content Remove="*.json" />
|
||||
<Content Remove="wwwroot\lib\tui.editor\toastui-jquery-editor.js" />
|
||||
<Content Remove="wwwroot\lib\tui.editor\zh-cn.js" />
|
||||
<Content Remove="wwwroot\lib\**\*.*" />
|
||||
<None Include="*.json" />
|
||||
<None Include="wwwroot\lib\tui.editor\toastui-jquery-editor.js" />
|
||||
<None Include="wwwroot\lib\tui.editor\zh-cn.js" />
|
||||
<None Include="wwwroot\lib\**\*.*" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -0,0 +1,13 @@
|
||||
.toastui-editor-defaultUI-toolbar .switch {
|
||||
display: block;
|
||||
align-items: normal;
|
||||
height: auto;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.token.tag {
|
||||
display: inline;
|
||||
padding: 0;
|
||||
border-radius: unset;
|
||||
white-space: pre-wrap;
|
||||
}
|
@ -2,30 +2,40 @@
|
||||
* Markdown : Argo@163.com
|
||||
* @version 5.1.0
|
||||
*/
|
||||
|
||||
(function ($) {
|
||||
$.extend({
|
||||
bb_markdown: function (el, obj, value, method) {
|
||||
var $el = $(el);
|
||||
|
||||
if (method === "setMarkdown") {
|
||||
$el.toastuiEditor('setMarkdown', value);
|
||||
//$el.toastuiEditor('setMarkdown', value);
|
||||
var editor = $.data(el,'editor');
|
||||
editor.setMarkdown(value);
|
||||
}
|
||||
else {
|
||||
$.extend(value, {
|
||||
events: {
|
||||
blur: function () {
|
||||
var val = $el.toastuiEditor('getMarkdown');
|
||||
var html = $el.toastuiEditor('getHtml');
|
||||
var editor = $.data(el, 'editor');
|
||||
var val = editor.getMarkdown();
|
||||
var html = editor.getHTML();
|
||||
obj.invokeMethodAsync(method, [val, html]);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
// 修复弹窗内初始化值不正确问题
|
||||
var handler = window.setInterval(function () {
|
||||
if ($el.is(':visible')) {
|
||||
window.clearInterval(handler);
|
||||
$el.toastuiEditor(value);
|
||||
value.el = el;
|
||||
value.plugins = [];
|
||||
if (value.enableHighlight) {
|
||||
value.plugins.push(toastui.Editor.plugin.codeSyntaxHighlight);
|
||||
}
|
||||
delete value.enableHighlight;
|
||||
const editor = toastui.Editor.factory(value);
|
||||
$.data(el, 'editor', editor);
|
||||
}
|
||||
}, 100);
|
||||
}
|
||||
|
@ -2,4 +2,4 @@
|
||||
* Markdown : Argo@163.com
|
||||
* @version 5.1.0
|
||||
*/
|
||||
(function(n){n.extend({bb_markdown:function(t,i,r,u){var f=n(t),e;u==="setMarkdown"?f.toastuiEditor("setMarkdown",r):(n.extend(r,{events:{blur:function(){var n=f.toastuiEditor("getMarkdown"),t=f.toastuiEditor("getHtml");i.invokeMethodAsync(u,[n,t])}}}),e=window.setInterval(function(){f.is(":visible")&&(window.clearInterval(e),f.toastuiEditor(r))},100))}})})(jQuery);
|
||||
(function(n){n.extend({bb_markdown:function(t,i,r,u){var o=n(t),f,e;u==="setMarkdown"?(f=n.data(t,"editor"),f.setMarkdown(r)):(n.extend(r,{events:{blur:function(){var r=n.data(t,"editor"),f=r.getMarkdown(),e=r.getHTML();i.invokeMethodAsync(u,[f,e])}}}),e=window.setInterval(function(){if(o.is(":visible")){window.clearInterval(e);r.el=t;r.plugins=[];r.enableHighlight&&r.plugins.push(toastui.Editor.plugin.codeSyntaxHighlight);delete r.enableHighlight;const i=toastui.Editor.factory(r);n.data(t,"editor",i)}},100))}})})(jQuery);
|
@ -84,6 +84,18 @@ public partial class Markdown : IDisposable
|
||||
[Parameter]
|
||||
public bool? IsViewer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取/设置 组件是否为为暗黑主题,默认为false
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public bool IsDark { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 启用代码高亮插件,需引入对应的css js,默认为false
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public bool EnableHighlight { get; set; } = false;
|
||||
|
||||
private JSInterop<Markdown>? Interop { get; set; }
|
||||
|
||||
private readonly MarkdownOption _markdownOption = new();
|
||||
@ -103,8 +115,10 @@ public partial class Markdown : IDisposable
|
||||
_markdownOption.Placeholder = Placeholder;
|
||||
_markdownOption.Height = $"{Height}px";
|
||||
_markdownOption.MinHeight = $"{MinHeight}px";
|
||||
_markdownOption.initialValue = Value;
|
||||
_markdownOption.InitialValue = Value ?? "";
|
||||
_markdownOption.Viewer = IsViewer;
|
||||
_markdownOption.Theme = IsDark ? "dark" : "light";
|
||||
_markdownOption.EnableHighlight = EnableHighlight;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -42,10 +42,20 @@ internal class MarkdownOption
|
||||
/// <summary>
|
||||
/// 获得/设置 Markdown 内容
|
||||
/// </summary>
|
||||
public string? initialValue { get; set; }
|
||||
public string? InitialValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否为浏览器模式
|
||||
/// </summary>
|
||||
public bool? Viewer { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 主题类型
|
||||
/// </summary>
|
||||
public string? Theme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获得/设置 是否启用代码高亮
|
||||
/// </summary>
|
||||
public bool? EnableHighlight { get; set; }
|
||||
}
|
||||
|
@ -2,7 +2,8 @@
|
||||
{
|
||||
"outputFileName": "wwwroot/css/bootstrap.blazor.markdown.min.css",
|
||||
"inputFiles": [
|
||||
"wwwroot/lib/**/*.min.css"
|
||||
"wwwroot/lib/**/*.min.css",
|
||||
"Components/**/*.css"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
src/Extensions/Components/BootstrapBlazor.Markdown/wwwroot/lib/tui.highlight/prism.min.css
vendored
Normal file
1
src/Extensions/Components/BootstrapBlazor.Markdown/wwwroot/lib/tui.highlight/prism.min.css
vendored
Normal file
@ -0,0 +1 @@
|
||||
code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,171 @@
|
||||
/*!
|
||||
* TOAST UI Editor : Code Syntax Highlight Plugin
|
||||
* @version 3.0.0 | Thu Jun 17 2021
|
||||
* @author NHN FE Development Lab <dl_javascript@nhn.com>
|
||||
* @license MIT
|
||||
*/
|
||||
/* prevent to create draggable box in IE with prism */
|
||||
pre[class*="language-"] {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.toastui-editor-ww-code-block-highlighting {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.toastui-editor-ww-code-block-highlighting:after {
|
||||
content: attr(data-language);
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
height: 24px;
|
||||
padding: 3px 30px 0 10px;
|
||||
font-weight: bold;
|
||||
font-size: 13px;
|
||||
color: #333;
|
||||
background-color: #e5e9ea;
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzU1NTU1NTt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==');
|
||||
background-repeat: no-repeat;
|
||||
background-position: right;
|
||||
background-size: 30px 30px;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language {
|
||||
position: fixed;
|
||||
display: inline-block;
|
||||
right: 35px;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-input {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
padding: 0 22px 0 10px;
|
||||
width: 112px;
|
||||
height: 26px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 2px;
|
||||
background-color: #fff;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-input input {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
color: #222;
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-input input::placeholder {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-input input::-ms-clear {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language .toastui-editor-code-block-language-input::after {
|
||||
content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIgMTQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEyIDE0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzIyMjIyMjt9Cjwvc3R5bGU+CjxkZXNjPkNyZWF0ZWQgd2l0aCBza2V0Y2h0b29sLjwvZGVzYz4KPGcgaWQ9IlN5bWJvbHMiPgoJPGcgaWQ9ImNvbS10cmFuZ2xlLWQtc2lkZSI+CgkJPHBvbHlnb24gaWQ9IlJlY3RhbmdsZS03IiBjbGFzcz0ic3QwIiBwb2ludHM9IjIsNSAxMCw1IDYsMTAgCQkiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K');
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
top: 7px;
|
||||
right: 5px;
|
||||
width: 12px;
|
||||
height: 14px;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language.active .toastui-editor-code-block-language-input::after {
|
||||
content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIgMTQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEyIDE0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzIyMjIyMjt9Cjwvc3R5bGU+CjxkZXNjPkNyZWF0ZWQgd2l0aCBza2V0Y2h0b29sLjwvZGVzYz4KPGcgaWQ9IlN5bWJvbHMiPgoJPGcgaWQ9ImNvbS10cmFuZ2xlLXVwLXNpZGUiPgoJCTxwb2x5Z29uIGlkPSJSZWN0YW5nbGUtNyIgY2xhc3M9InN0MCIgcG9pbnRzPSIyLDkgMTAsOSA2LDQgCQkiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K');
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-list {
|
||||
position: fixed;
|
||||
margin-top: -1px;
|
||||
width: 144px;
|
||||
border: solid 1px #ccc;
|
||||
border-bottom-left-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-list .buttons {
|
||||
max-height: 169px;
|
||||
overflow: auto;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-list button {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
border: none;
|
||||
outline: 0;
|
||||
padding: 0 10px;
|
||||
font-size: 13px;
|
||||
line-height: 24px;
|
||||
text-align: left;
|
||||
color: #222;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-list button.active {
|
||||
color: #4b96e6;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.toastui-editor-code-block-language-list button:hover {
|
||||
background-color: #f4f7f8;
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language-input input::placeholder {
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-ww-code-block-highlighting:after {
|
||||
background-color: #232428;
|
||||
border: 1px solid #393b42;
|
||||
color: #eee;
|
||||
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I2ZmZjt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==');
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language span {
|
||||
border: 1px solid #494c56;
|
||||
background-color: #121212;
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language input {
|
||||
background-color: #121212;
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language-list {
|
||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
|
||||
border: 1px solid #494c56;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language-list button {
|
||||
color: #eee;
|
||||
background-color: #121212;
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language-list button.active {
|
||||
color: #4b96e6;
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language-list button:hover {
|
||||
background-color: #36383f;
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language .toastui-editor-code-block-language-input::after {
|
||||
content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIgMTQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEyIDE0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I2ZmZjt9Cjwvc3R5bGU+CjxkZXNjPkNyZWF0ZWQgd2l0aCBza2V0Y2h0b29sLjwvZGVzYz4KPGcgaWQ9IlN5bWJvbHMiPgoJPGcgaWQ9ImNvbS10cmFuZ2xlLWQtc2lkZSI+CgkJPHBvbHlnb24gaWQ9IlJlY3RhbmdsZS03IiBjbGFzcz0ic3QwIiBwb2ludHM9IjIsNSAxMCw1IDYsMTAgCQkiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K');
|
||||
}
|
||||
|
||||
.toastui-editor-dark .toastui-editor-code-block-language.active .toastui-editor-code-block-language-input::after {
|
||||
content: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIgMTQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEyIDE0OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I2ZmZjt9Cjwvc3R5bGU+CjxkZXNjPkNyZWF0ZWQgd2l0aCBza2V0Y2h0b29sLjwvZGVzYz4KPGcgaWQ9IlN5bWJvbHMiPgoJPGcgaWQ9ImNvbS10cmFuZ2xlLXVwLXNpZGUiPgoJCTxwb2x5Z29uIGlkPSJSZWN0YW5nbGUtNyIgY2xhc3M9InN0MCIgcG9pbnRzPSIyLDkgMTAsOSA2LDQgCQkiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K');
|
||||
}
|
@ -19,7 +19,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\BootstrapBlazor\BootstrapBlazor.csproj" />
|
||||
<PackageReference Include="BootstrapBlazor" Version="6.*" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
Loading…
Reference in New Issue
Block a user