mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-10 17:49:07 +00:00
Merge branch '13-publishing-combined-app' into 'main'
Resolve "Publishing combined app" Closes #13, #24, #27, and #28 See merge request products/mindwork-ai-studio!1
This commit is contained in:
commit
e28c2e2c10
@ -1,152 +0,0 @@
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
|
||||
namespace MudBlazor;
|
||||
|
||||
public partial class MudCodeHighlight : MudComponentBase, IDisposable
|
||||
{
|
||||
private ElementReference _ref;
|
||||
private CodeBlockTheme _theme;
|
||||
private IMudMarkdownThemeService? _themeService;
|
||||
private bool _isFirstThemeSet;
|
||||
|
||||
/// <summary>
|
||||
/// Code text to render
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public string Text { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Language of the <see cref="Text"/>
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public string Language { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Theme of the code block.<br/>
|
||||
/// Browse available themes here: https://highlightjs.org/static/demo/ <br/>
|
||||
/// Default is <see cref="CodeBlockTheme.Default"/>
|
||||
/// </summary>
|
||||
#if NET7_0
|
||||
#pragma warning disable BL0007
|
||||
#endif
|
||||
[Parameter]
|
||||
public CodeBlockTheme Theme
|
||||
{
|
||||
get => _theme;
|
||||
set
|
||||
{
|
||||
if (_theme == value)
|
||||
return;
|
||||
|
||||
_theme = value;
|
||||
Task.Run(SetThemeAsync);
|
||||
}
|
||||
}
|
||||
#if NET7_0
|
||||
#pragma warning restore BL0007
|
||||
#endif
|
||||
|
||||
[Inject]
|
||||
private IJSRuntime Js { get; init; } = default!;
|
||||
|
||||
[Inject]
|
||||
private IServiceProvider? ServiceProvider { get; init; }
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
if (_themeService != null)
|
||||
_themeService.CodeBlockThemeChanged -= OnCodeBlockThemeChanged;
|
||||
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
protected override bool ShouldRender() =>
|
||||
!string.IsNullOrEmpty(Text);
|
||||
|
||||
protected override void BuildRenderTree(RenderTreeBuilder builder)
|
||||
{
|
||||
var i = 0;
|
||||
|
||||
builder.OpenElement(i++, "div");
|
||||
builder.AddAttribute(i++, "class", "snippet-clipboard-content overflow-auto");
|
||||
|
||||
// Copy button
|
||||
builder.OpenComponent<MudIconButton>(i++);
|
||||
builder.AddAttribute(i++, nameof(MudIconButton.Icon), Icons.Material.Rounded.ContentCopy);
|
||||
builder.AddAttribute(i++, nameof(MudIconButton.Variant), Variant.Filled);
|
||||
builder.AddAttribute(i++, nameof(MudIconButton.Color), Color.Primary);
|
||||
builder.AddAttribute(i++, nameof(MudIconButton.Size), Size.Medium);
|
||||
builder.AddAttribute(i++, nameof(MudIconButton.Class), "snippet-clipboard-copy-icon m-2");
|
||||
builder.AddAttribute(i++, nameof(MudIconButton.OnClick), EventCallback.Factory.Create<MouseEventArgs>(this, CopyTextToClipboardAsync));
|
||||
builder.CloseComponent();
|
||||
|
||||
// Code block
|
||||
builder.OpenElement(i++, "pre");
|
||||
builder.OpenElement(i++, "code");
|
||||
|
||||
if (!string.IsNullOrEmpty(Language))
|
||||
builder.AddAttribute(i++, "class", $"language-{Language}");
|
||||
|
||||
builder.AddElementReferenceCapture(i++, x => _ref = x);
|
||||
builder.AddContent(i++, Text);
|
||||
|
||||
builder.CloseElement();
|
||||
builder.CloseElement();
|
||||
builder.CloseElement();
|
||||
}
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
base.OnInitialized();
|
||||
|
||||
_themeService = ServiceProvider?.GetService<IMudMarkdownThemeService>();
|
||||
|
||||
if (_themeService != null)
|
||||
_themeService.CodeBlockThemeChanged += OnCodeBlockThemeChanged;
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (!firstRender)
|
||||
return;
|
||||
|
||||
await Js.InvokeVoidAsync("highlightCodeElement", _ref)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
if (!_isFirstThemeSet)
|
||||
{
|
||||
await SetThemeAsync()
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnCodeBlockThemeChanged(object? sender, CodeBlockTheme e) =>
|
||||
Theme = e;
|
||||
|
||||
private async Task SetThemeAsync()
|
||||
{
|
||||
var stylesheetPath = Theme.GetStylesheetPath();
|
||||
|
||||
await Js.InvokeVoidAsync("setHighlightStylesheet", stylesheetPath)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
_isFirstThemeSet = true;
|
||||
}
|
||||
|
||||
private async Task CopyTextToClipboardAsync(MouseEventArgs args)
|
||||
{
|
||||
var ok = await Js.InvokeAsync<bool>("copyTextToClipboard", Text)
|
||||
.ConfigureAwait(false);
|
||||
|
||||
if (ok)
|
||||
return;
|
||||
|
||||
var clipboardService = ServiceProvider?.GetService<IMudMarkdownClipboardService>();
|
||||
|
||||
if (clipboardService != null)
|
||||
{
|
||||
await clipboardService.CopyToClipboardAsync(Text)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,76 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal sealed class MudLinkButton : MudComponentBase
|
||||
{
|
||||
private string Classname =>
|
||||
new CssBuilder("mud-typography mud-link")
|
||||
.AddClass($"mud-{Color.ToDescriptionString()}-text")
|
||||
.AddClass($"mud-link-underline-{Underline.ToDescriptionString()}")
|
||||
.AddClass($"mud-typography-{Typo.ToDescriptionString()}")
|
||||
.AddClass("mud-link-disabled", IsDisabled)
|
||||
.AddClass(Class)
|
||||
.Build();
|
||||
|
||||
/// <summary>
|
||||
/// The color of the component. It supports the theme colors.
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public Color Color { get; set; } = Color.Primary;
|
||||
|
||||
/// <summary>
|
||||
/// Typography variant to use.
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public Typo Typo { get; set; } = Typo.body1;
|
||||
|
||||
/// <summary>
|
||||
/// Controls when the link should have an underline.
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public Underline Underline { get; set; } = Underline.Hover;
|
||||
|
||||
/// <summary>
|
||||
/// If true, the navlink will be disabled.
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public bool IsDisabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Child content of component.
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public RenderFragment? ChildContent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Command executed on click
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public ICommand? Command { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Parameter passed to the command
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public object? CommandParameter { get; set; }
|
||||
|
||||
protected override void BuildRenderTree(RenderTreeBuilder builder)
|
||||
{
|
||||
var i = 0;
|
||||
|
||||
builder.OpenElement(i++, "span");
|
||||
builder.AddAttribute(i++, "class", Classname);
|
||||
builder.AddAttribute(i++, "style", Style);
|
||||
builder.AddAttribute(i++, "onclick", EventCallback.Factory.Create(this, OnClick));
|
||||
builder.AddContent(i++, ChildContent);
|
||||
builder.CloseElement();
|
||||
}
|
||||
|
||||
private void OnClick()
|
||||
{
|
||||
if (IsDisabled)
|
||||
return;
|
||||
|
||||
if (Command?.CanExecute(CommandParameter) ?? false)
|
||||
Command.Execute(CommandParameter);
|
||||
}
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
/// <summary>
|
||||
/// For some reason MudExpansionPanels eternally tried to dispose all panels, therefore, RenderFragment was called infinitely<br/>
|
||||
/// Created this component in order to bypass that weird behaviour
|
||||
/// </summary>
|
||||
internal sealed class MudMarkdownDetails : ComponentBase
|
||||
{
|
||||
private int _elementIndex;
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment? TitleContent { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public RenderFragment? ChildContent { get; set; }
|
||||
|
||||
private bool IsExpanded { get; set; }
|
||||
|
||||
private string IconClasses => new CssBuilder("mud-expand-panel-icon")
|
||||
.AddClass("mud-transform", IsExpanded)
|
||||
.Build();
|
||||
|
||||
protected override void BuildRenderTree(RenderTreeBuilder builder)
|
||||
{
|
||||
_elementIndex = 0;
|
||||
|
||||
builder.OpenElement(_elementIndex++, "div");
|
||||
builder.AddAttribute(_elementIndex++, "class", "mud-expand-panel mud-elevation-1 mud-expand-panel-border");
|
||||
|
||||
BuildTitle(builder);
|
||||
BuildContent(builder);
|
||||
|
||||
builder.CloseElement();
|
||||
}
|
||||
|
||||
private void BuildTitle(RenderTreeBuilder builder)
|
||||
{
|
||||
builder.OpenElement(_elementIndex++, "div");
|
||||
builder.AddAttribute(_elementIndex++, "class", "mud-expand-panel-header mud-ripple");
|
||||
builder.AddAttribute(_elementIndex++, "onclick", EventCallback.Factory.Create(this, OnHeaderClick));
|
||||
|
||||
// Text
|
||||
builder.OpenElement(_elementIndex++, "div");
|
||||
builder.AddAttribute(_elementIndex++, "class", "mud-expand-panel-text");
|
||||
builder.AddContent(_elementIndex++, TitleContent);
|
||||
builder.CloseElement();
|
||||
|
||||
// Collapse icon
|
||||
builder.OpenComponent<MudIcon>(_elementIndex++);
|
||||
builder.AddAttribute(_elementIndex++, nameof(MudIcon.Icon), Icons.Material.Filled.ExpandMore);
|
||||
builder.AddAttribute(_elementIndex++, "class", IconClasses);
|
||||
builder.CloseComponent();
|
||||
|
||||
builder.CloseElement();
|
||||
}
|
||||
|
||||
private void BuildContent(RenderTreeBuilder builder)
|
||||
{
|
||||
builder.OpenComponent<MudCollapse>(_elementIndex++);
|
||||
builder.AddAttribute(_elementIndex++, nameof(MudCollapse.Expanded), IsExpanded);
|
||||
|
||||
builder.AddAttribute(_elementIndex++, nameof(MudCollapse.ChildContent), (RenderFragment)(contentBuilder =>
|
||||
{
|
||||
contentBuilder.OpenElement(_elementIndex++, "div");
|
||||
contentBuilder.AddAttribute(_elementIndex++, "class", "mud-expand-panel-content");
|
||||
contentBuilder.AddContent(_elementIndex++, ChildContent);
|
||||
contentBuilder.CloseElement();
|
||||
}));
|
||||
|
||||
builder.CloseComponent();
|
||||
}
|
||||
|
||||
private void OnHeaderClick()
|
||||
{
|
||||
IsExpanded = !IsExpanded;
|
||||
}
|
||||
}
|
@ -1,64 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal sealed class MudMathJax : ComponentBase
|
||||
{
|
||||
private const string ScriptId = "mudblazor-markdown-mathjax";
|
||||
|
||||
[Parameter]
|
||||
public string Delimiter { get; set; } = string.Empty;
|
||||
|
||||
[Parameter]
|
||||
public StringSlice Value { get; set; }
|
||||
|
||||
[Inject]
|
||||
private IJSRuntime Js { get; init; } = default!;
|
||||
|
||||
protected override void BuildRenderTree(RenderTreeBuilder builder)
|
||||
{
|
||||
var elementIndex = 0;
|
||||
|
||||
var delimiter = GetDelimiter(Delimiter);
|
||||
|
||||
builder.AddContent(elementIndex++, delimiter.Start);
|
||||
builder.AddContent(elementIndex++, Value);
|
||||
builder.AddContent(elementIndex, delimiter.End);
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
await Js.InvokeVoidAsync("appendMathJaxScript", ScriptId)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
await Js.InvokeVoidAsync("refreshMathJaxScript")
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private static MathDelimiter GetDelimiter(in string delimiter) =>
|
||||
delimiter switch
|
||||
{
|
||||
"$" => new MathDelimiter("\\(", "\\)"),
|
||||
"$$" => new MathDelimiter(delimiter),
|
||||
_ => new MathDelimiter(delimiter)
|
||||
};
|
||||
|
||||
private readonly ref struct MathDelimiter
|
||||
{
|
||||
public MathDelimiter(string delimiter)
|
||||
{
|
||||
Start = End = delimiter;
|
||||
}
|
||||
|
||||
public MathDelimiter(string start, string end)
|
||||
{
|
||||
Start = start;
|
||||
End = end;
|
||||
}
|
||||
|
||||
public string Start { get; }
|
||||
|
||||
public string End { get; }
|
||||
}
|
||||
}
|
@ -1,247 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
public enum CodeBlockTheme : ushort
|
||||
{
|
||||
Default = 0,
|
||||
A11yDark,
|
||||
A11yLight,
|
||||
Agate,
|
||||
AnOldHope,
|
||||
Androidstudio,
|
||||
ArduinoLight,
|
||||
Arta,
|
||||
Ascetic,
|
||||
AtomOneDarkReasonable,
|
||||
AtomOneDark,
|
||||
AtomOneLight,
|
||||
BrownPaper,
|
||||
CodepenEmbed,
|
||||
ColorBrewer,
|
||||
Dark,
|
||||
Devibeans,
|
||||
Docco,
|
||||
Far,
|
||||
Foundation,
|
||||
GithubDarkDimmed,
|
||||
GithubDark,
|
||||
Github,
|
||||
Gml,
|
||||
Googlecode,
|
||||
GradientDark,
|
||||
GradientLight,
|
||||
Grayscale,
|
||||
Hybrid,
|
||||
Idea,
|
||||
IrBlack,
|
||||
IsblEditorDark,
|
||||
IsblEditorLight,
|
||||
KimbieDark,
|
||||
KimbieLight,
|
||||
Lightfair,
|
||||
Lioshi,
|
||||
Magula,
|
||||
MonoBlue,
|
||||
MonokaiSublime,
|
||||
Monokai,
|
||||
NightOwl,
|
||||
NnfxDark,
|
||||
NnfxLight,
|
||||
Nord,
|
||||
Obsidian,
|
||||
ParaisoDark,
|
||||
ParaisoLight,
|
||||
Pojoaque,
|
||||
Purebasic,
|
||||
QtcreatorDark,
|
||||
QtcreatorLight,
|
||||
Rainbow,
|
||||
Routeros,
|
||||
SchoolBook,
|
||||
ShadesOfPurple,
|
||||
Srcery,
|
||||
StackoverflowDark,
|
||||
StackoverflowLight,
|
||||
Sunburst,
|
||||
TomorrowNightBlue,
|
||||
TomorrowNightBright,
|
||||
Vs,
|
||||
Vs2015,
|
||||
Xcode,
|
||||
Xt256,
|
||||
ApathyBase16,
|
||||
ApprenticeBase16,
|
||||
AshesBase16,
|
||||
AtelierCaveLightBase16,
|
||||
AtelierCaveBase16,
|
||||
AtelierDuneLightBase16,
|
||||
AtelierDuneBase16,
|
||||
AtelierEstuaryLightBase16,
|
||||
AtelierEstuaryBase16,
|
||||
AtelierForestLightBase16,
|
||||
AtelierForestBase16,
|
||||
AtelierHeathLightBase16,
|
||||
AtelierHeathBase16,
|
||||
AtelierLakesideLightBase16,
|
||||
AtelierLakesideBase16,
|
||||
AtelierPlateauLightBase16,
|
||||
AtelierPlateauBase16,
|
||||
AtelierSavannaLightBase16,
|
||||
AtelierSavannaBase16,
|
||||
AtelierSeasideLightBase16,
|
||||
AtelierSeasideBase16,
|
||||
AtelierSulphurpoolLightBase16,
|
||||
AtelierSulphurpoolBase16,
|
||||
AtlasBase16,
|
||||
BespinBase16,
|
||||
BlackMetalBathoryBase16,
|
||||
BlackMetalBurzumBase16,
|
||||
BlackMetalDarkFuneralBase16,
|
||||
BlackMetalGorgorothBase16,
|
||||
BlackMetalImmortalBase16,
|
||||
BlackMetalKholdBase16,
|
||||
BlackMetalMardukBase16,
|
||||
BlackMetalMayhemBase16,
|
||||
BlackMetalNileBase16,
|
||||
BlackMetalVenomBase16,
|
||||
BlackMetalBase16,
|
||||
BrewerBase16,
|
||||
BrightBase16,
|
||||
BrogrammerBase16,
|
||||
BrushTreesDarkBase16,
|
||||
BrushTreesBase16,
|
||||
ChalkBase16,
|
||||
CircusBase16,
|
||||
ClassicDarkBase16,
|
||||
ClassicLightBase16,
|
||||
CodeschoolBase16,
|
||||
ColorsBase16,
|
||||
CupcakeBase16,
|
||||
CupertinoBase16,
|
||||
DanqingBase16,
|
||||
DarculaBase16,
|
||||
DarkVioletBase16,
|
||||
DarkmossBase16,
|
||||
DarktoothBase16,
|
||||
DecafBase16,
|
||||
DefaultDarkBase16,
|
||||
DefaultLightBase16,
|
||||
DirtyseaBase16,
|
||||
DraculaBase16,
|
||||
EdgeDarkBase16,
|
||||
EdgeLightBase16,
|
||||
EightiesBase16,
|
||||
EmbersBase16,
|
||||
EquilibriumDarkBase16,
|
||||
EquilibriumGrayDarkBase16,
|
||||
EquilibriumGrayLightBase16,
|
||||
EquilibriumLightBase16,
|
||||
EspressoBase16,
|
||||
EvaDimBase16,
|
||||
EvaBase16,
|
||||
FlatBase16,
|
||||
FramerBase16,
|
||||
FruitSodaBase16,
|
||||
GigavoltBase16,
|
||||
GithubBase16,
|
||||
GoogleDarkBase16,
|
||||
GoogleLightBase16,
|
||||
GrayscaleDarkBase16,
|
||||
GrayscaleLightBase16,
|
||||
GreenScreenBase16,
|
||||
GruvboxDarkHardBase16,
|
||||
GruvboxDarkMediumBase16,
|
||||
GruvboxDarkPaleBase16,
|
||||
GruvboxDarkSoftBase16,
|
||||
GruvboxLightHardBase16,
|
||||
GruvboxLightMediumBase16,
|
||||
GruvboxLightSoftBase16,
|
||||
HardcoreBase16,
|
||||
Harmonic16DarkBase16,
|
||||
Harmonic16LightBase16,
|
||||
HeetchDarkBase16,
|
||||
HeetchLightBase16,
|
||||
HeliosBase16,
|
||||
HopscotchBase16,
|
||||
HorizonDarkBase16,
|
||||
HorizonLightBase16,
|
||||
HumanoidDarkBase16,
|
||||
HumanoidLightBase16,
|
||||
IaDarkBase16,
|
||||
IaLightBase16,
|
||||
IcyDarkBase16,
|
||||
IrBlackBase16,
|
||||
IsotopeBase16,
|
||||
KimberBase16,
|
||||
LondonTubeBase16,
|
||||
MacintoshBase16,
|
||||
MarrakeshBase16,
|
||||
MateriaBase16,
|
||||
MaterialDarkerBase16,
|
||||
MaterialLighterBase16,
|
||||
MaterialPalenightBase16,
|
||||
MaterialVividBase16,
|
||||
MaterialBase16,
|
||||
MellowPurpleBase16,
|
||||
MexicoLightBase16,
|
||||
MochaBase16,
|
||||
MonokaiBase16,
|
||||
NebulaBase16,
|
||||
NordBase16,
|
||||
NovaBase16,
|
||||
OceanBase16,
|
||||
OceanicnextBase16,
|
||||
OneLightBase16,
|
||||
OnedarkBase16,
|
||||
OutrunDarkBase16,
|
||||
PapercolorDarkBase16,
|
||||
PapercolorLightBase16,
|
||||
ParaisoBase16,
|
||||
PasqueBase16,
|
||||
PhdBase16,
|
||||
PicoBase16,
|
||||
PopBase16,
|
||||
PorpleBase16,
|
||||
QualiaBase16,
|
||||
RailscastsBase16,
|
||||
RebeccaBase16,
|
||||
RosPineDawnBase16,
|
||||
RosPineMoonBase16,
|
||||
RosPineBase16,
|
||||
SagelightBase16,
|
||||
SandcastleBase16,
|
||||
SetiUiBase16,
|
||||
ShapeshifterBase16,
|
||||
SilkDarkBase16,
|
||||
SilkLightBase16,
|
||||
SnazzyBase16,
|
||||
SolarFlareLightBase16,
|
||||
SolarFlareBase16,
|
||||
SolarizedDarkBase16,
|
||||
SolarizedLightBase16,
|
||||
SpacemacsBase16,
|
||||
SummercampBase16,
|
||||
SummerfruitDarkBase16,
|
||||
SummerfruitLightBase16,
|
||||
SynthMidnightTerminalDarkBase16,
|
||||
SynthMidnightTerminalLightBase16,
|
||||
T3024Base16,
|
||||
TangoBase16,
|
||||
TenderBase16,
|
||||
TomorrowNightBase16,
|
||||
TomorrowBase16,
|
||||
TwilightBase16,
|
||||
UnikittyDarkBase16,
|
||||
UnikittyLightBase16,
|
||||
VulcanBase16,
|
||||
Windows10LightBase16,
|
||||
Windows10Base16,
|
||||
Windows95LightBase16,
|
||||
Windows95Base16,
|
||||
WindowsHighContrastLightBase16,
|
||||
WindowsHighContrastBase16,
|
||||
WindowsNtLightBase16,
|
||||
WindowsNtBase16,
|
||||
WoodlandBase16,
|
||||
XcodeDuskBase16,
|
||||
ZenburnBase16
|
||||
}
|
@ -1,252 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class CodeBlockThemeEx
|
||||
{
|
||||
public static string GetStylesheetPath(this CodeBlockTheme @this) =>
|
||||
@this switch
|
||||
{
|
||||
CodeBlockTheme.A11yDark => "a11y-dark.min.css",
|
||||
CodeBlockTheme.A11yLight => "a11y-light.min.css",
|
||||
CodeBlockTheme.Agate => "agate.min.css",
|
||||
CodeBlockTheme.AnOldHope => "an-old-hope.min.css",
|
||||
CodeBlockTheme.Androidstudio => "androidstudio.min.css",
|
||||
CodeBlockTheme.ArduinoLight => "arduino-light.min.css",
|
||||
CodeBlockTheme.Arta => "arta.min.css",
|
||||
CodeBlockTheme.Ascetic => "ascetic.min.css",
|
||||
CodeBlockTheme.AtomOneDarkReasonable => "atom-one-dark-reasonable.min.css",
|
||||
CodeBlockTheme.AtomOneDark => "atom-one-dark.min.css",
|
||||
CodeBlockTheme.AtomOneLight => "atom-one-light.min.css",
|
||||
CodeBlockTheme.BrownPaper => "brown-paper.min.css",
|
||||
CodeBlockTheme.CodepenEmbed => "codepen-embed.min.css",
|
||||
CodeBlockTheme.ColorBrewer => "color-brewer.min.css",
|
||||
CodeBlockTheme.Dark => "dark.min.css",
|
||||
CodeBlockTheme.Default => "default.min.css",
|
||||
CodeBlockTheme.Devibeans => "devibeans.min.css",
|
||||
CodeBlockTheme.Docco => "docco.min.css",
|
||||
CodeBlockTheme.Far => "far.min.css",
|
||||
CodeBlockTheme.Foundation => "foundation.min.css",
|
||||
CodeBlockTheme.GithubDarkDimmed => "github-dark-dimmed.min.css",
|
||||
CodeBlockTheme.GithubDark => "github-dark.min.css",
|
||||
CodeBlockTheme.Github => "github.min.css",
|
||||
CodeBlockTheme.Gml => "gml.min.css",
|
||||
CodeBlockTheme.Googlecode => "googlecode.min.css",
|
||||
CodeBlockTheme.GradientDark => "gradient-dark.min.css",
|
||||
CodeBlockTheme.GradientLight => "gradient-light.min.css",
|
||||
CodeBlockTheme.Grayscale => "grayscale.min.css",
|
||||
CodeBlockTheme.Hybrid => "hybrid.min.css",
|
||||
CodeBlockTheme.Idea => "idea.min.css",
|
||||
CodeBlockTheme.IrBlack => "ir-black.min.css",
|
||||
CodeBlockTheme.IsblEditorDark => "isbl-editor-dark.min.css",
|
||||
CodeBlockTheme.IsblEditorLight => "isbl-editor-light.min.css",
|
||||
CodeBlockTheme.KimbieDark => "kimbie-dark.min.css",
|
||||
CodeBlockTheme.KimbieLight => "kimbie-light.min.css",
|
||||
CodeBlockTheme.Lightfair => "lightfair.min.css",
|
||||
CodeBlockTheme.Lioshi => "lioshi.min.css",
|
||||
CodeBlockTheme.Magula => "magula.min.css",
|
||||
CodeBlockTheme.MonoBlue => "mono-blue.min.css",
|
||||
CodeBlockTheme.MonokaiSublime => "monokai-sublime.min.css",
|
||||
CodeBlockTheme.Monokai => "monokai.min.css",
|
||||
CodeBlockTheme.NightOwl => "night-owl.min.css",
|
||||
CodeBlockTheme.NnfxDark => "nnfx-dark.min.css",
|
||||
CodeBlockTheme.NnfxLight => "nnfx-light.min.css",
|
||||
CodeBlockTheme.Nord => "nord.min.css",
|
||||
CodeBlockTheme.Obsidian => "obsidian.min.css",
|
||||
CodeBlockTheme.ParaisoDark => "paraiso-dark.min.css",
|
||||
CodeBlockTheme.ParaisoLight => "paraiso-light.min.css",
|
||||
CodeBlockTheme.Pojoaque => "pojoaque.min.css",
|
||||
CodeBlockTheme.Purebasic => "purebasic.min.css",
|
||||
CodeBlockTheme.QtcreatorDark => "qtcreator-dark.min.css",
|
||||
CodeBlockTheme.QtcreatorLight => "qtcreator-light.min.css",
|
||||
CodeBlockTheme.Rainbow => "rainbow.min.css",
|
||||
CodeBlockTheme.Routeros => "routeros.min.css",
|
||||
CodeBlockTheme.SchoolBook => "school-book.min.css",
|
||||
CodeBlockTheme.ShadesOfPurple => "shades-of-purple.min.css",
|
||||
CodeBlockTheme.Srcery => "srcery.min.css",
|
||||
CodeBlockTheme.StackoverflowDark => "stackoverflow-dark.min.css",
|
||||
CodeBlockTheme.StackoverflowLight => "stackoverflow-light.min.css",
|
||||
CodeBlockTheme.Sunburst => "sunburst.min.css",
|
||||
CodeBlockTheme.TomorrowNightBlue => "tomorrow-night-blue.min.css",
|
||||
CodeBlockTheme.TomorrowNightBright => "tomorrow-night-bright.min.css",
|
||||
CodeBlockTheme.Vs => "vs.min.css",
|
||||
CodeBlockTheme.Vs2015 => "vs2015.min.css",
|
||||
CodeBlockTheme.Xcode => "xcode.min.css",
|
||||
CodeBlockTheme.Xt256 => "xt256.min.css",
|
||||
CodeBlockTheme.ApathyBase16 => "base16/apathy.min.css",
|
||||
CodeBlockTheme.ApprenticeBase16 => "base16/apprentice.min.css",
|
||||
CodeBlockTheme.AshesBase16 => "base16/ashes.min.css",
|
||||
CodeBlockTheme.AtelierCaveLightBase16 => "base16/atelier-cave-light.min.css",
|
||||
CodeBlockTheme.AtelierCaveBase16 => "base16/atelier-cave.min.css",
|
||||
CodeBlockTheme.AtelierDuneLightBase16 => "base16/atelier-dune-light.min.css",
|
||||
CodeBlockTheme.AtelierDuneBase16 => "base16/atelier-dune.min.css",
|
||||
CodeBlockTheme.AtelierEstuaryLightBase16 => "base16/atelier-estuary-light.min.css",
|
||||
CodeBlockTheme.AtelierEstuaryBase16 => "base16/atelier-estuary.min.css",
|
||||
CodeBlockTheme.AtelierForestLightBase16 => "base16/atelier-forest-light.min.css",
|
||||
CodeBlockTheme.AtelierForestBase16 => "base16/atelier-forest.min.css",
|
||||
CodeBlockTheme.AtelierHeathLightBase16 => "base16/atelier-heath-light.min.css",
|
||||
CodeBlockTheme.AtelierHeathBase16 => "base16/atelier-heath.min.css",
|
||||
CodeBlockTheme.AtelierLakesideLightBase16 => "base16/atelier-lakeside-light.min.css",
|
||||
CodeBlockTheme.AtelierLakesideBase16 => "base16/atelier-lakeside.min.css",
|
||||
CodeBlockTheme.AtelierPlateauLightBase16 => "base16/atelier-plateau-light.min.css",
|
||||
CodeBlockTheme.AtelierPlateauBase16 => "base16/atelier-plateau.min.css",
|
||||
CodeBlockTheme.AtelierSavannaLightBase16 => "base16/atelier-savanna-light.min.css",
|
||||
CodeBlockTheme.AtelierSavannaBase16 => "base16/atelier-savanna.min.css",
|
||||
CodeBlockTheme.AtelierSeasideLightBase16 => "base16/atelier-seaside-light.min.css",
|
||||
CodeBlockTheme.AtelierSeasideBase16 => "base16/atelier-seaside.min.css",
|
||||
CodeBlockTheme.AtelierSulphurpoolLightBase16 => "base16/atelier-sulphurpool-light.min.css",
|
||||
CodeBlockTheme.AtelierSulphurpoolBase16 => "base16/atelier-sulphurpool.min.css",
|
||||
CodeBlockTheme.AtlasBase16 => "base16/atlas.min.css",
|
||||
CodeBlockTheme.BespinBase16 => "base16/bespin.min.css",
|
||||
CodeBlockTheme.BlackMetalBathoryBase16 => "base16/black-metal-bathory.min.css",
|
||||
CodeBlockTheme.BlackMetalBurzumBase16 => "base16/black-metal-burzum.min.css",
|
||||
CodeBlockTheme.BlackMetalDarkFuneralBase16 => "base16/black-metal-dark-funeral.min.css",
|
||||
CodeBlockTheme.BlackMetalGorgorothBase16 => "base16/black-metal-gorgoroth.min.css",
|
||||
CodeBlockTheme.BlackMetalImmortalBase16 => "base16/black-metal-immortal.min.css",
|
||||
CodeBlockTheme.BlackMetalKholdBase16 => "base16/black-metal-khold.min.css",
|
||||
CodeBlockTheme.BlackMetalMardukBase16 => "base16/black-metal-marduk.min.css",
|
||||
CodeBlockTheme.BlackMetalMayhemBase16 => "base16/black-metal-mayhem.min.css",
|
||||
CodeBlockTheme.BlackMetalNileBase16 => "base16/black-metal-nile.min.css",
|
||||
CodeBlockTheme.BlackMetalVenomBase16 => "base16/black-metal-venom.min.css",
|
||||
CodeBlockTheme.BlackMetalBase16 => "base16/black-metal.min.css",
|
||||
CodeBlockTheme.BrewerBase16 => "base16/brewer.min.css",
|
||||
CodeBlockTheme.BrightBase16 => "base16/bright.min.css",
|
||||
CodeBlockTheme.BrogrammerBase16 => "base16/brogrammer.min.css",
|
||||
CodeBlockTheme.BrushTreesDarkBase16 => "base16/brush-trees-dark.min.css",
|
||||
CodeBlockTheme.BrushTreesBase16 => "base16/brush-trees.min.css",
|
||||
CodeBlockTheme.ChalkBase16 => "base16/chalk.min.css",
|
||||
CodeBlockTheme.CircusBase16 => "base16/circus.min.css",
|
||||
CodeBlockTheme.ClassicDarkBase16 => "base16/classic-dark.min.css",
|
||||
CodeBlockTheme.ClassicLightBase16 => "base16/classic-light.min.css",
|
||||
CodeBlockTheme.CodeschoolBase16 => "base16/codeschool.min.css",
|
||||
CodeBlockTheme.ColorsBase16 => "base16/colors.min.css",
|
||||
CodeBlockTheme.CupcakeBase16 => "base16/cupcake.min.css",
|
||||
CodeBlockTheme.CupertinoBase16 => "base16/cupertino.min.css",
|
||||
CodeBlockTheme.DanqingBase16 => "base16/danqing.min.css",
|
||||
CodeBlockTheme.DarculaBase16 => "base16/darcula.min.css",
|
||||
CodeBlockTheme.DarkVioletBase16 => "base16/dark-violet.min.css",
|
||||
CodeBlockTheme.DarkmossBase16 => "base16/darkmoss.min.css",
|
||||
CodeBlockTheme.DarktoothBase16 => "base16/darktooth.min.css",
|
||||
CodeBlockTheme.DecafBase16 => "base16/decaf.min.css",
|
||||
CodeBlockTheme.DefaultDarkBase16 => "base16/default-dark.min.css",
|
||||
CodeBlockTheme.DefaultLightBase16 => "base16/default-light.min.css",
|
||||
CodeBlockTheme.DirtyseaBase16 => "base16/dirtysea.min.css",
|
||||
CodeBlockTheme.DraculaBase16 => "base16/dracula.min.css",
|
||||
CodeBlockTheme.EdgeDarkBase16 => "base16/edge-dark.min.css",
|
||||
CodeBlockTheme.EdgeLightBase16 => "base16/edge-light.min.css",
|
||||
CodeBlockTheme.EightiesBase16 => "base16/eighties.min.css",
|
||||
CodeBlockTheme.EmbersBase16 => "base16/embers.min.css",
|
||||
CodeBlockTheme.EquilibriumDarkBase16 => "base16/equilibrium-dark.min.css",
|
||||
CodeBlockTheme.EquilibriumGrayDarkBase16 => "base16/equilibrium-gray-dark.min.css",
|
||||
CodeBlockTheme.EquilibriumGrayLightBase16 => "base16/equilibrium-gray-light.min.css",
|
||||
CodeBlockTheme.EquilibriumLightBase16 => "base16/equilibrium-light.min.css",
|
||||
CodeBlockTheme.EspressoBase16 => "base16/espresso.min.css",
|
||||
CodeBlockTheme.EvaDimBase16 => "base16/eva-dim.min.css",
|
||||
CodeBlockTheme.EvaBase16 => "base16/eva.min.css",
|
||||
CodeBlockTheme.FlatBase16 => "base16/flat.min.css",
|
||||
CodeBlockTheme.FramerBase16 => "base16/framer.min.css",
|
||||
CodeBlockTheme.FruitSodaBase16 => "base16/fruit-soda.min.css",
|
||||
CodeBlockTheme.GigavoltBase16 => "base16/gigavolt.min.css",
|
||||
CodeBlockTheme.GithubBase16 => "base16/github.min.css",
|
||||
CodeBlockTheme.GoogleDarkBase16 => "base16/google-dark.min.css",
|
||||
CodeBlockTheme.GoogleLightBase16 => "base16/google-light.min.css",
|
||||
CodeBlockTheme.GrayscaleDarkBase16 => "base16/grayscale-dark.min.css",
|
||||
CodeBlockTheme.GrayscaleLightBase16 => "base16/grayscale-light.min.css",
|
||||
CodeBlockTheme.GreenScreenBase16 => "base16/green-screen.min.css",
|
||||
CodeBlockTheme.GruvboxDarkHardBase16 => "base16/gruvbox-dark-hard.min.css",
|
||||
CodeBlockTheme.GruvboxDarkMediumBase16 => "base16/gruvbox-dark-medium.min.css",
|
||||
CodeBlockTheme.GruvboxDarkPaleBase16 => "base16/gruvbox-dark-pale.min.css",
|
||||
CodeBlockTheme.GruvboxDarkSoftBase16 => "base16/gruvbox-dark-soft.min.css",
|
||||
CodeBlockTheme.GruvboxLightHardBase16 => "base16/gruvbox-light-hard.min.css",
|
||||
CodeBlockTheme.GruvboxLightMediumBase16 => "base16/gruvbox-light-medium.min.css",
|
||||
CodeBlockTheme.GruvboxLightSoftBase16 => "base16/gruvbox-light-soft.min.css",
|
||||
CodeBlockTheme.HardcoreBase16 => "base16/hardcore.min.css",
|
||||
CodeBlockTheme.Harmonic16DarkBase16 => "base16/harmonic16-dark.min.css",
|
||||
CodeBlockTheme.Harmonic16LightBase16 => "base16/harmonic16-light.min.css",
|
||||
CodeBlockTheme.HeetchDarkBase16 => "base16/heetch-dark.min.css",
|
||||
CodeBlockTheme.HeetchLightBase16 => "base16/heetch-light.min.css",
|
||||
CodeBlockTheme.HeliosBase16 => "base16/helios.min.css",
|
||||
CodeBlockTheme.HopscotchBase16 => "base16/hopscotch.min.css",
|
||||
CodeBlockTheme.HorizonDarkBase16 => "base16/horizon-dark.min.css",
|
||||
CodeBlockTheme.HorizonLightBase16 => "base16/horizon-light.min.css",
|
||||
CodeBlockTheme.HumanoidDarkBase16 => "base16/humanoid-dark.min.css",
|
||||
CodeBlockTheme.HumanoidLightBase16 => "base16/humanoid-light.min.css",
|
||||
CodeBlockTheme.IaDarkBase16 => "base16/ia-dark.min.css",
|
||||
CodeBlockTheme.IaLightBase16 => "base16/ia-light.min.css",
|
||||
CodeBlockTheme.IcyDarkBase16 => "base16/icy-dark.min.css",
|
||||
CodeBlockTheme.IrBlackBase16 => "base16/ir-black.min.css",
|
||||
CodeBlockTheme.IsotopeBase16 => "base16/isotope.min.css",
|
||||
CodeBlockTheme.KimberBase16 => "base16/kimber.min.css",
|
||||
CodeBlockTheme.LondonTubeBase16 => "base16/london-tube.min.css",
|
||||
CodeBlockTheme.MacintoshBase16 => "base16/macintosh.min.css",
|
||||
CodeBlockTheme.MarrakeshBase16 => "base16/marrakesh.min.css",
|
||||
CodeBlockTheme.MateriaBase16 => "base16/materia.min.css",
|
||||
CodeBlockTheme.MaterialDarkerBase16 => "base16/material-darker.min.css",
|
||||
CodeBlockTheme.MaterialLighterBase16 => "base16/material-lighter.min.css",
|
||||
CodeBlockTheme.MaterialPalenightBase16 => "base16/material-palenight.min.css",
|
||||
CodeBlockTheme.MaterialVividBase16 => "base16/material-vivid.min.css",
|
||||
CodeBlockTheme.MaterialBase16 => "base16/material.min.css",
|
||||
CodeBlockTheme.MellowPurpleBase16 => "base16/mellow-purple.min.css",
|
||||
CodeBlockTheme.MexicoLightBase16 => "base16/mexico-light.min.css",
|
||||
CodeBlockTheme.MochaBase16 => "base16/mocha.min.css",
|
||||
CodeBlockTheme.MonokaiBase16 => "base16/monokai.min.css",
|
||||
CodeBlockTheme.NebulaBase16 => "base16/nebula.min.css",
|
||||
CodeBlockTheme.NordBase16 => "base16/nord.min.css",
|
||||
CodeBlockTheme.NovaBase16 => "base16/nova.min.css",
|
||||
CodeBlockTheme.OceanBase16 => "base16/ocean.min.css",
|
||||
CodeBlockTheme.OceanicnextBase16 => "base16/oceanicnext.min.css",
|
||||
CodeBlockTheme.OneLightBase16 => "base16/one-light.min.css",
|
||||
CodeBlockTheme.OnedarkBase16 => "base16/onedark.min.css",
|
||||
CodeBlockTheme.OutrunDarkBase16 => "base16/outrun-dark.min.css",
|
||||
CodeBlockTheme.PapercolorDarkBase16 => "base16/papercolor-dark.min.css",
|
||||
CodeBlockTheme.PapercolorLightBase16 => "base16/papercolor-light.min.css",
|
||||
CodeBlockTheme.ParaisoBase16 => "base16/paraiso.min.css",
|
||||
CodeBlockTheme.PasqueBase16 => "base16/pasque.min.css",
|
||||
CodeBlockTheme.PhdBase16 => "base16/phd.min.css",
|
||||
CodeBlockTheme.PicoBase16 => "base16/pico.min.css",
|
||||
CodeBlockTheme.PopBase16 => "base16/pop.min.css",
|
||||
CodeBlockTheme.PorpleBase16 => "base16/porple.min.css",
|
||||
CodeBlockTheme.QualiaBase16 => "base16/qualia.min.css",
|
||||
CodeBlockTheme.RailscastsBase16 => "base16/railscasts.min.css",
|
||||
CodeBlockTheme.RebeccaBase16 => "base16/rebecca.min.css",
|
||||
CodeBlockTheme.RosPineDawnBase16 => "base16/ros-pine-dawn.min.css",
|
||||
CodeBlockTheme.RosPineMoonBase16 => "base16/ros-pine-moon.min.css",
|
||||
CodeBlockTheme.RosPineBase16 => "base16/ros-pine.min.css",
|
||||
CodeBlockTheme.SagelightBase16 => "base16/sagelight.min.css",
|
||||
CodeBlockTheme.SandcastleBase16 => "base16/sandcastle.min.css",
|
||||
CodeBlockTheme.SetiUiBase16 => "base16/seti-ui.min.css",
|
||||
CodeBlockTheme.ShapeshifterBase16 => "base16/shapeshifter.min.css",
|
||||
CodeBlockTheme.SilkDarkBase16 => "base16/silk-dark.min.css",
|
||||
CodeBlockTheme.SilkLightBase16 => "base16/silk-light.min.css",
|
||||
CodeBlockTheme.SnazzyBase16 => "base16/snazzy.min.css",
|
||||
CodeBlockTheme.SolarFlareLightBase16 => "base16/solar-flare-light.min.css",
|
||||
CodeBlockTheme.SolarFlareBase16 => "base16/solar-flare.min.css",
|
||||
CodeBlockTheme.SolarizedDarkBase16 => "base16/solarized-dark.min.css",
|
||||
CodeBlockTheme.SolarizedLightBase16 => "base16/solarized-light.min.css",
|
||||
CodeBlockTheme.SpacemacsBase16 => "base16/spacemacs.min.css",
|
||||
CodeBlockTheme.SummercampBase16 => "base16/summercamp.min.css",
|
||||
CodeBlockTheme.SummerfruitDarkBase16 => "base16/summerfruit-dark.min.css",
|
||||
CodeBlockTheme.SummerfruitLightBase16 => "base16/summerfruit-light.min.css",
|
||||
CodeBlockTheme.SynthMidnightTerminalDarkBase16 => "base16/synth-midnight-terminal-dark.min.css",
|
||||
CodeBlockTheme.SynthMidnightTerminalLightBase16 => "base16/synth-midnight-terminal-light.min.css",
|
||||
CodeBlockTheme.T3024Base16 => "base16/t3024.min.css",
|
||||
CodeBlockTheme.TangoBase16 => "base16/tango.min.css",
|
||||
CodeBlockTheme.TenderBase16 => "base16/tender.min.css",
|
||||
CodeBlockTheme.TomorrowNightBase16 => "base16/tomorrow-night.min.css",
|
||||
CodeBlockTheme.TomorrowBase16 => "base16/tomorrow.min.css",
|
||||
CodeBlockTheme.TwilightBase16 => "base16/twilight.min.css",
|
||||
CodeBlockTheme.UnikittyDarkBase16 => "base16/unikitty-dark.min.css",
|
||||
CodeBlockTheme.UnikittyLightBase16 => "base16/unikitty-light.min.css",
|
||||
CodeBlockTheme.VulcanBase16 => "base16/vulcan.min.css",
|
||||
CodeBlockTheme.Windows10LightBase16 => "base16/windows-10-light.min.css",
|
||||
CodeBlockTheme.Windows10Base16 => "base16/windows-10.min.css",
|
||||
CodeBlockTheme.Windows95LightBase16 => "base16/windows-95-light.min.css",
|
||||
CodeBlockTheme.Windows95Base16 => "base16/windows-95.min.css",
|
||||
CodeBlockTheme.WindowsHighContrastLightBase16 => "base16/windows-high-contrast-light.min.css",
|
||||
CodeBlockTheme.WindowsHighContrastBase16 => "base16/windows-high-contrast.min.css",
|
||||
CodeBlockTheme.WindowsNtLightBase16 => "base16/windows-nt-light.min.css",
|
||||
CodeBlockTheme.WindowsNtBase16 => "base16/windows-nt.min.css",
|
||||
CodeBlockTheme.WoodlandBase16 => "base16/woodland.min.css",
|
||||
CodeBlockTheme.XcodeDuskBase16 => "base16/xcode-dusk.min.css",
|
||||
CodeBlockTheme.ZenburnBase16 => "base16/zenburn.min.css",
|
||||
_ => string.Empty
|
||||
};
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
using Markdig.Syntax.Inlines;
|
||||
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class EmphasisInlineEx
|
||||
{
|
||||
public static bool TryGetEmphasisElement(this EmphasisInline emphasis, out string value)
|
||||
{
|
||||
const string italics = "i", bold = "b";
|
||||
|
||||
value = emphasis.DelimiterChar switch
|
||||
{
|
||||
'*' => emphasis.DelimiterCount switch
|
||||
{
|
||||
1 => italics,
|
||||
2 => bold,
|
||||
_ => string.Empty
|
||||
},
|
||||
'_' => italics,
|
||||
_ => string.Empty
|
||||
};
|
||||
|
||||
return !string.IsNullOrEmpty(value);
|
||||
}
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
using System.Text;
|
||||
using Markdig.Syntax;
|
||||
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class FencedCodeBlockEx
|
||||
{
|
||||
public static string CreateCodeBlockText(this FencedCodeBlock @this)
|
||||
{
|
||||
if (@this.Lines.Count == 0)
|
||||
return string.Empty;
|
||||
|
||||
var sb = new StringBuilder();
|
||||
|
||||
foreach (var line in @this.Lines)
|
||||
{
|
||||
var str = line.ToString();
|
||||
|
||||
if (string.IsNullOrEmpty(str))
|
||||
continue;
|
||||
|
||||
if (sb.Length != 0)
|
||||
sb.AppendLine();
|
||||
|
||||
sb.Append(str);
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
using Markdig.Helpers;
|
||||
using Markdig.Syntax;
|
||||
using Markdig.Syntax.Inlines;
|
||||
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class HeadingBlockEx
|
||||
{
|
||||
private const char JoinChar = '-';
|
||||
private static readonly string[] EscapeChars = { "+", ":", "&" };
|
||||
|
||||
public static string? BuildIdString(this HeadingBlock @this)
|
||||
{
|
||||
if (@this.Inline == null)
|
||||
return null;
|
||||
|
||||
var slices = @this.Inline
|
||||
.Select(static x => x.GetStringContent())
|
||||
.Where(static x => x.Length > 0);
|
||||
|
||||
return string.Join(JoinChar, slices);
|
||||
}
|
||||
|
||||
private static string GetStringContent(this Inline @this)
|
||||
{
|
||||
var slice = @this switch
|
||||
{
|
||||
LiteralInline x => x.Content,
|
||||
_ => StringSlice.Empty
|
||||
};
|
||||
|
||||
return PrepareStringContent(slice.ToString());
|
||||
}
|
||||
|
||||
private static string PrepareStringContent(this string @this)
|
||||
{
|
||||
var words = @this.Split(' ', StringSplitOptions.RemoveEmptyEntries);
|
||||
var str = string.Join(JoinChar, words).ToLower();
|
||||
|
||||
for (var i = 0; i < EscapeChars.Length; i++)
|
||||
str = str.Replace(EscapeChars[i], string.Empty);
|
||||
|
||||
return str;
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
using Markdig.Syntax;
|
||||
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class HtmlBlockEx
|
||||
{
|
||||
public static bool TryGetDetails(this HtmlBlock @this, out HtmlDetailsData htmlDetailsData)
|
||||
{
|
||||
htmlDetailsData = new HtmlDetailsData();
|
||||
|
||||
// Closing `>` for <details> is missing because there might be attributes for this tag
|
||||
if (!@this.Lines.StartsAndEndsWith("<details", "</details>", out var range))
|
||||
return false;
|
||||
|
||||
// Closing `>` for <summary> is missing because there might be attributes for this tag
|
||||
var summaryEndIndex = @this.Lines.TryGetContent("<summary", "</summary>", range.Start, out var headerContent);
|
||||
if (summaryEndIndex.Line == -1)
|
||||
return false;
|
||||
|
||||
var dataContent = @this.Lines.GetContent(summaryEndIndex, range.End);
|
||||
|
||||
htmlDetailsData = new HtmlDetailsData(headerContent, dataContent);
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
using Markdig.Extensions.Mathematics;
|
||||
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class MathInlineEx
|
||||
{
|
||||
public static string GetDelimiter(this MathInline @this) =>
|
||||
string.Create(@this.DelimiterCount, @this.Delimiter, static (span, c) =>
|
||||
{
|
||||
for (var i = 0; i < span.Length; i++)
|
||||
span[i] = c;
|
||||
});
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class StringEx
|
||||
{
|
||||
public static bool IsExternalUri(this string? @this, string? baseUri)
|
||||
{
|
||||
if (string.IsNullOrEmpty(@this) || string.IsNullOrEmpty(baseUri))
|
||||
return false;
|
||||
|
||||
try
|
||||
{
|
||||
var uri = new Uri(@this, UriKind.RelativeOrAbsolute);
|
||||
return uri.IsAbsoluteUri && !@this.StartsWith(baseUri);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static int ParseOrDefault(this string? @this)
|
||||
{
|
||||
if (!int.TryParse(@this, out var intValue))
|
||||
intValue = 0;
|
||||
|
||||
return intValue;
|
||||
}
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class StringLineEx
|
||||
{
|
||||
public static int IndexOf(this StringLine @this, string value, int startIndex = 0)
|
||||
{
|
||||
const int notFoundIndex = -1;
|
||||
|
||||
if (@this.Slice.Length < value.Length)
|
||||
return notFoundIndex;
|
||||
|
||||
for (var i = startIndex; i <= @this.Slice.Length - value.Length; i++)
|
||||
{
|
||||
var j = 0;
|
||||
for (; j < value.Length; j++)
|
||||
{
|
||||
if (@this.Slice[@this.Position + i + j] != value[j])
|
||||
break;
|
||||
}
|
||||
|
||||
if (j == value.Length)
|
||||
return i;
|
||||
}
|
||||
|
||||
return notFoundIndex;
|
||||
}
|
||||
}
|
@ -1,131 +0,0 @@
|
||||
using System.Text;
|
||||
|
||||
namespace MudBlazor;
|
||||
|
||||
internal static class StringLineGroupEx
|
||||
{
|
||||
public static bool StartsAndEndsWith(this StringLineGroup @this, in string startsWith, in string endsWith, out StringLineGroupRange range)
|
||||
{
|
||||
range = new StringLineGroupRange();
|
||||
|
||||
if (@this.Count == 0)
|
||||
return false;
|
||||
|
||||
const int firstLineIndex = 0;
|
||||
var lastLineIndex = @this.Count - 1;
|
||||
|
||||
// Starts with
|
||||
var firstLine = @this.Lines[firstLineIndex];
|
||||
if (firstLine.Slice.Length < startsWith.Length)
|
||||
return false;
|
||||
|
||||
var startIndex = 0;
|
||||
for (;startIndex < startsWith.Length; startIndex++)
|
||||
if (firstLine.Slice[firstLine.Position + startIndex] != startsWith[startIndex])
|
||||
return false;
|
||||
|
||||
// Ends with
|
||||
var lastLine = @this.Lines[lastLineIndex];
|
||||
if (lastLine.Slice.Length < endsWith.Length)
|
||||
return false;
|
||||
|
||||
var endIndex = lastLine.Slice.Length - 1;
|
||||
for (var i = endsWith.Length - 1; i >= 0; i--, endIndex--)
|
||||
if (endsWith[i] != lastLine.Slice[lastLine.Position + endIndex])
|
||||
return false;
|
||||
|
||||
range = new StringLineGroupRange(
|
||||
new StringLineGroupIndex(firstLineIndex, startIndex),
|
||||
new StringLineGroupIndex(lastLineIndex, endIndex));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static StringLineGroupIndex TryGetContent(this StringLineGroup @this, in string startsWith, in string endsWith, in StringLineGroupIndex startIndex, out string content)
|
||||
{
|
||||
var endIndex = new StringLineGroupIndex(-1, -1);
|
||||
|
||||
var isFound = false;
|
||||
var stringBuilder = new StringBuilder();
|
||||
|
||||
for (var i = startIndex.Line; i < @this.Count; i++)
|
||||
{
|
||||
for (var j = i == startIndex.Line ? startIndex.Index : 0; j < @this.Lines[i].Slice.Length; j++)
|
||||
{
|
||||
if (!isFound)
|
||||
{
|
||||
var start = @this.Lines[i].IndexOf(startsWith);
|
||||
if (start == -1)
|
||||
continue;
|
||||
|
||||
isFound = true;
|
||||
j = @this.Lines[i].IndexOf(">", start);
|
||||
}
|
||||
else
|
||||
{
|
||||
var end = @this.Lines[i].IndexOf(endsWith);
|
||||
if (end == -1)
|
||||
{
|
||||
var strValue = @this.Lines[i].ToString().Trim();
|
||||
stringBuilder.Append(strValue);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
var strValue = @this.Lines[i].Slice.AsSpan()[j..end].ToString().Trim();
|
||||
stringBuilder.Append(strValue);
|
||||
|
||||
endIndex = new StringLineGroupIndex(i, end + endsWith.Length);
|
||||
goto Return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Return:
|
||||
content = stringBuilder.ToString();
|
||||
return endIndex;
|
||||
}
|
||||
|
||||
public static string GetContent(this StringLineGroup @this, in StringLineGroupIndex startIndex, in StringLineGroupIndex endIndex)
|
||||
{
|
||||
var stringBuilder = new StringBuilder();
|
||||
|
||||
for (var i = startIndex.Line; i <= endIndex.Line; i++)
|
||||
{
|
||||
if (i == startIndex.Line)
|
||||
{
|
||||
if (i == endIndex.Line)
|
||||
{
|
||||
var strValue = @this.Lines[i].Slice.AsSpan()[startIndex.Index..endIndex.Index].ToString().Trim();
|
||||
stringBuilder.Append(strValue);
|
||||
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
var strValue = @this.Lines[i].Slice.AsSpan()[startIndex.Index..].ToString().Trim();
|
||||
stringBuilder.Append(strValue);
|
||||
}
|
||||
}
|
||||
else if (i == endIndex.Line)
|
||||
{
|
||||
if (endIndex.Index == -1)
|
||||
break;
|
||||
|
||||
var strValue = @this.Lines[i].Slice.AsSpan()[..endIndex.Index].ToString().Trim();
|
||||
stringBuilder.Append(strValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (stringBuilder.Length != 0)
|
||||
stringBuilder.AppendLine();
|
||||
|
||||
var strValue = @this.Lines[i].ToString().Trim();
|
||||
stringBuilder.Append(strValue);
|
||||
}
|
||||
}
|
||||
|
||||
return stringBuilder.ToString();
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
public sealed class MudMarkdownStyling
|
||||
{
|
||||
public TableStyling Table { get; } = new();
|
||||
|
||||
public sealed class TableStyling
|
||||
{
|
||||
/// <summary>
|
||||
/// If true, striped table rows will be used.
|
||||
/// </summary>
|
||||
public bool IsStriped { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// If true, table's cells will have left/right borders.
|
||||
/// </summary>
|
||||
public bool IsBordered { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// Child content of component.
|
||||
/// </summary>
|
||||
public int Elevation { set; get; } = 1;
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal readonly ref struct HtmlDetailsData
|
||||
{
|
||||
public HtmlDetailsData(string header, string content)
|
||||
{
|
||||
Header = header;
|
||||
Content = content;
|
||||
}
|
||||
|
||||
public string Header { get; }
|
||||
|
||||
public string Content { get; }
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal readonly ref struct StringLineGroupIndex
|
||||
{
|
||||
public StringLineGroupIndex(int line, int index)
|
||||
{
|
||||
Line = line;
|
||||
Index = index;
|
||||
}
|
||||
|
||||
public int Line { get; }
|
||||
|
||||
public int Index { get; }
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal readonly ref struct StringLineGroupRange
|
||||
{
|
||||
public StringLineGroupRange(StringLineGroupIndex start, StringLineGroupIndex end)
|
||||
{
|
||||
Start = start;
|
||||
End = end;
|
||||
}
|
||||
|
||||
public StringLineGroupIndex Start { get; }
|
||||
|
||||
public StringLineGroupIndex End { get; }
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>MudBlazor</RootNamespace>
|
||||
<Version>0.1.3</Version>
|
||||
<Authors>MyNihongo</Authors>
|
||||
<Description>Markdown component for MudBlazor (https://mudblazor.com/)</Description>
|
||||
<Copyright>Copyright © 2023 MyNihongo</Copyright>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<RepositoryUrl>https://github.com/MyNihongo/MudBlazor.Markdown</RepositoryUrl>
|
||||
<PackageProjectUrl>https://mudblazor.com/</PackageProjectUrl>
|
||||
<PackageIcon>favico.png</PackageIcon>
|
||||
<PackageTags>mudblazor, blazor, markdown</PackageTags>
|
||||
<GeneratePackageOnBuild Condition="'$(Configuration)'=='Release'">true</GeneratePackageOnBuild>
|
||||
<PackageReleaseNotes>https://github.com/MyNihongo/MudBlazor.Markdown/releases</PackageReleaseNotes>
|
||||
<Title>MudBlazor Markdown</Title>
|
||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Markdig" Version="0.33.0" />
|
||||
<PackageReference Include="MudBlazor" Version="6.11.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<SupportedPlatform Include="browser" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Condition="'$(Configuration)'=='Release'">
|
||||
<Exec Command="npm run build" />
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<None Include="..\..\favico.png" Pack="true" PackagePath="\" />
|
||||
<None Include="..\..\README.md" Pack="true" PackagePath="\" />
|
||||
<Content Remove="**\package*.json" />
|
||||
<None Remove="*.csproj.DotSettings" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="wwwroot\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
@ -1,10 +0,0 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=components/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=enums/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=extensions/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=helpers/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=services/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=services_005Cinterfaces/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=services_005Cregistration/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=utils/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
@ -1,500 +0,0 @@
|
||||
using Markdig.Extensions.Mathematics;
|
||||
using Markdig.Extensions.Tables;
|
||||
using Markdig.Syntax;
|
||||
using Markdig.Syntax.Inlines;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using Microsoft.AspNetCore.Components.Web;
|
||||
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
|
||||
namespace MudBlazor;
|
||||
|
||||
public class MudMarkdown : ComponentBase, IDisposable
|
||||
{
|
||||
protected IMudMarkdownThemeService? ThemeService;
|
||||
|
||||
protected MarkdownPipeline? Pipeline;
|
||||
protected bool EnableLinkNavigation;
|
||||
protected int ElementIndex;
|
||||
|
||||
/// <summary>
|
||||
/// Markdown text to be rendered in the component.
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public string Value { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Minimum width (in pixels) for a table cell.<br/>
|
||||
/// If <see langword="null" /> or negative the minimum width is not applied.
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public int? TableCellMinWidth { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Command which is invoked when a link is clicked.<br/>
|
||||
/// If <see langword="null" /> a link is opened in the browser.
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public ICommand? LinkCommand { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Theme of the code block.<br/>
|
||||
/// Browse available themes here: https://highlightjs.org/static/demo/
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public CodeBlockTheme CodeBlockTheme { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Override the original URL address of the <see cref="LinkInline"/>.<br/>
|
||||
/// If a function is not provided <see cref="LinkInline.Url"/> is used
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public Func<LinkInline, string?>? OverrideLinkUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Typography variant to use for Heading Level 1-6.<br/>
|
||||
/// If a function is not provided a default typo for each level is set (e.g. for <h1> it will be <see cref="Typo.h1"/>, etc.)
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public Func<Typo, Typo>? OverrideHeaderTypo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Override default styling of the markdown component
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public MudMarkdownStyling Styling { get; set; } = new();
|
||||
|
||||
[Parameter]
|
||||
public MarkdownPipeline? MarkdownPipeline { get; set; }
|
||||
|
||||
[Inject]
|
||||
protected NavigationManager? NavigationManager { get; init; }
|
||||
|
||||
[Inject]
|
||||
protected IJSRuntime JsRuntime { get; init; } = default!;
|
||||
|
||||
[Inject]
|
||||
protected IServiceProvider? ServiceProvider { get; init; }
|
||||
|
||||
public virtual void Dispose()
|
||||
{
|
||||
if (NavigationManager != null)
|
||||
NavigationManager.LocationChanged -= NavigationManagerOnLocationChanged;
|
||||
|
||||
if (ThemeService != null)
|
||||
ThemeService.CodeBlockThemeChanged -= OnCodeBlockThemeChanged;
|
||||
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
protected override void BuildRenderTree(RenderTreeBuilder builder)
|
||||
{
|
||||
if (string.IsNullOrEmpty(Value))
|
||||
return;
|
||||
|
||||
ElementIndex = 0;
|
||||
|
||||
var pipeline = GetMarkdownPipeLine();
|
||||
var parsedText = Markdown.Parse(Value, pipeline);
|
||||
if (parsedText.Count == 0)
|
||||
return;
|
||||
|
||||
builder.OpenElement(ElementIndex++, "article");
|
||||
builder.AddAttribute(ElementIndex++, "class", "mud-markdown-body");
|
||||
RenderMarkdown(parsedText, builder);
|
||||
builder.CloseElement();
|
||||
}
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
base.OnInitialized();
|
||||
|
||||
ThemeService = ServiceProvider?.GetService<IMudMarkdownThemeService>();
|
||||
|
||||
if (ThemeService != null)
|
||||
ThemeService.CodeBlockThemeChanged += OnCodeBlockThemeChanged;
|
||||
}
|
||||
|
||||
protected override void OnAfterRender(bool firstRender)
|
||||
{
|
||||
if (!firstRender || !EnableLinkNavigation || NavigationManager == null)
|
||||
return;
|
||||
|
||||
var args = new LocationChangedEventArgs(NavigationManager.Uri, true);
|
||||
NavigationManagerOnLocationChanged(NavigationManager, args);
|
||||
NavigationManager.LocationChanged += NavigationManagerOnLocationChanged;
|
||||
}
|
||||
|
||||
protected virtual void RenderMarkdown(ContainerBlock container, RenderTreeBuilder builder)
|
||||
{
|
||||
for (var i = 0; i < container.Count; i++)
|
||||
{
|
||||
switch (container[i])
|
||||
{
|
||||
case ParagraphBlock paragraph:
|
||||
{
|
||||
RenderParagraphBlock(paragraph, builder);
|
||||
break;
|
||||
}
|
||||
case HeadingBlock heading:
|
||||
{
|
||||
var typo = (Typo)heading.Level;
|
||||
typo = OverrideHeaderTypo?.Invoke(typo) ?? typo;
|
||||
|
||||
EnableLinkNavigation = true;
|
||||
|
||||
var id = heading.BuildIdString();
|
||||
RenderParagraphBlock(heading, builder, typo, id);
|
||||
|
||||
break;
|
||||
}
|
||||
case QuoteBlock quote:
|
||||
{
|
||||
builder.OpenElement(ElementIndex++, "blockquote");
|
||||
RenderMarkdown(quote, builder);
|
||||
builder.CloseElement();
|
||||
break;
|
||||
}
|
||||
case Table table:
|
||||
{
|
||||
RenderTable(table, builder);
|
||||
break;
|
||||
}
|
||||
case ListBlock list:
|
||||
{
|
||||
RenderList(list, builder);
|
||||
break;
|
||||
}
|
||||
case ThematicBreakBlock:
|
||||
{
|
||||
builder.OpenComponent<MudDivider>(ElementIndex++);
|
||||
builder.CloseComponent();
|
||||
break;
|
||||
}
|
||||
case FencedCodeBlock code:
|
||||
{
|
||||
var text = code.CreateCodeBlockText();
|
||||
|
||||
// Necessary to prevent Blazor from crashing when the code block is empty.
|
||||
// It seems that Blazor does not like empty attributes.
|
||||
if(string.IsNullOrWhiteSpace(text))
|
||||
break;
|
||||
|
||||
builder.OpenComponent<MudCodeHighlight>(ElementIndex++);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudCodeHighlight.Text), text);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudCodeHighlight.Language), code.Info ?? string.Empty);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudCodeHighlight.Theme), CodeBlockTheme);
|
||||
builder.CloseComponent();
|
||||
|
||||
break;
|
||||
}
|
||||
case HtmlBlock html:
|
||||
{
|
||||
if (html.TryGetDetails(out var detailsData))
|
||||
RenderDetailsHtml(builder, detailsData.Header, detailsData.Content);
|
||||
else
|
||||
RenderHtml(builder, html.Lines);
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
OnRenderMarkdownBlockDefault(container[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Renders a markdown block which is not covered by the switch-case block in <see cref="RenderMarkdown"/>
|
||||
/// </summary>
|
||||
protected virtual void OnRenderMarkdownBlockDefault(Markdig.Syntax.Block block)
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void RenderParagraphBlock(LeafBlock paragraph, RenderTreeBuilder builder, Typo typo = Typo.body1, string? id = null)
|
||||
{
|
||||
if (paragraph.Inline == null)
|
||||
return;
|
||||
|
||||
builder.OpenComponent<MudText>(ElementIndex++);
|
||||
|
||||
if (!string.IsNullOrEmpty(id))
|
||||
builder.AddAttribute(ElementIndex++, "id", id);
|
||||
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudText.Typo), typo);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudText.ChildContent), (RenderFragment)(contentBuilder => RenderInlines(paragraph.Inline, contentBuilder)));
|
||||
builder.CloseComponent();
|
||||
}
|
||||
|
||||
protected virtual void RenderInlines(ContainerInline inlines, RenderTreeBuilder builder)
|
||||
{
|
||||
foreach (var inline in inlines)
|
||||
{
|
||||
switch (inline)
|
||||
{
|
||||
case LiteralInline x:
|
||||
{
|
||||
builder.AddContent(ElementIndex++, x.Content);
|
||||
break;
|
||||
}
|
||||
case HtmlInline x:
|
||||
{
|
||||
builder.AddMarkupContent(ElementIndex++, x.Tag);
|
||||
break;
|
||||
}
|
||||
case LineBreakInline:
|
||||
{
|
||||
builder.OpenElement(ElementIndex++, "br");
|
||||
builder.CloseElement();
|
||||
break;
|
||||
}
|
||||
case CodeInline x:
|
||||
{
|
||||
builder.OpenElement(ElementIndex++, "code");
|
||||
builder.AddContent(ElementIndex++, x.Content);
|
||||
builder.CloseElement();
|
||||
break;
|
||||
}
|
||||
case EmphasisInline x:
|
||||
{
|
||||
if (!x.TryGetEmphasisElement(out var elementName))
|
||||
continue;
|
||||
|
||||
builder.OpenElement(ElementIndex++, elementName);
|
||||
RenderInlines(x, builder);
|
||||
builder.CloseElement();
|
||||
break;
|
||||
}
|
||||
case LinkInline x:
|
||||
{
|
||||
var url = OverrideLinkUrl?.Invoke(x) ?? x.Url;
|
||||
|
||||
if (x.IsImage)
|
||||
{
|
||||
var alt = x
|
||||
.OfType<LiteralInline>()
|
||||
.Select(static x => x.Content);
|
||||
|
||||
builder.OpenComponent<MudImage>(ElementIndex++);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudImage.Class), "rounded-lg");
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudImage.Src), url);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudImage.Alt), string.Join(null, alt));
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudImage.Elevation), 25);
|
||||
builder.CloseComponent();
|
||||
}
|
||||
else if (LinkCommand == null)
|
||||
{
|
||||
builder.OpenComponent<MudLink>(ElementIndex++);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudLink.Href), url);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudLink.ChildContent), (RenderFragment)(linkBuilder => RenderInlines(x, linkBuilder)));
|
||||
|
||||
if (url.IsExternalUri(NavigationManager?.BaseUri))
|
||||
{
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudLink.Target), "_blank");
|
||||
builder.AddAttribute(ElementIndex++, "rel", "noopener noreferrer");
|
||||
}
|
||||
// (prevent scrolling to the top of the page)
|
||||
// custom implementation only for links on the same page
|
||||
else if (url?.StartsWith('#') ?? false)
|
||||
{
|
||||
builder.AddEventPreventDefaultAttribute(ElementIndex++, "onclick", true);
|
||||
builder.AddAttribute(ElementIndex++, "onclick", EventCallback.Factory.Create<MouseEventArgs>(this, () =>
|
||||
{
|
||||
if (NavigationManager == null)
|
||||
return;
|
||||
|
||||
var uriBuilder = new UriBuilder(NavigationManager.Uri)
|
||||
{
|
||||
Fragment = url,
|
||||
};
|
||||
var args = new LocationChangedEventArgs(uriBuilder.Uri.AbsoluteUri, true);
|
||||
NavigationManagerOnLocationChanged(NavigationManager, args);
|
||||
}));
|
||||
}
|
||||
|
||||
builder.CloseComponent();
|
||||
}
|
||||
else
|
||||
{
|
||||
builder.OpenComponent<MudLinkButton>(ElementIndex++);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudLinkButton.Command), LinkCommand);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudLinkButton.CommandParameter), url);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudLinkButton.ChildContent), (RenderFragment)(linkBuilder => RenderInlines(x, linkBuilder)));
|
||||
builder.CloseComponent();
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case MathInline x:
|
||||
{
|
||||
builder.OpenComponent<MudMathJax>(ElementIndex++);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudMathJax.Delimiter), x.GetDelimiter());
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudMathJax.Value), x.Content);
|
||||
builder.CloseComponent();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
OnRenderInlinesDefault(inline, builder);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Renders inline block which is not covered by the switch-case block in <see cref="RenderInlines"/>
|
||||
/// </summary>
|
||||
protected virtual void OnRenderInlinesDefault(Inline inline, RenderTreeBuilder builder)
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void RenderTable(Table table, RenderTreeBuilder builder)
|
||||
{
|
||||
// First child is columns
|
||||
if (table.Count < 2)
|
||||
return;
|
||||
|
||||
builder.OpenComponent<MudSimpleTable>(ElementIndex++);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudSimpleTable.Style), "overflow-x: auto;");
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudSimpleTable.Striped), Styling.Table.IsStriped);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudSimpleTable.Bordered), Styling.Table.IsBordered);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudSimpleTable.Elevation), Styling.Table.Elevation);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudSimpleTable.ChildContent), (RenderFragment)(contentBuilder =>
|
||||
{
|
||||
// thread
|
||||
contentBuilder.OpenElement(ElementIndex++, "thead");
|
||||
RenderTableRow((TableRow)table[0], "th", contentBuilder, TableCellMinWidth);
|
||||
contentBuilder.CloseElement();
|
||||
|
||||
// tbody
|
||||
contentBuilder.OpenElement(ElementIndex++, "tbody");
|
||||
for (var j = 1; j < table.Count; j++)
|
||||
{
|
||||
RenderTableRow((TableRow)table[j], "td", contentBuilder);
|
||||
}
|
||||
|
||||
contentBuilder.CloseElement();
|
||||
}));
|
||||
builder.CloseComponent();
|
||||
}
|
||||
|
||||
protected virtual void RenderTableRow(TableRow row, string cellElementName, RenderTreeBuilder builder, int? minWidth = null)
|
||||
{
|
||||
builder.OpenElement(ElementIndex++, "tr");
|
||||
|
||||
for (var j = 0; j < row.Count; j++)
|
||||
{
|
||||
var cell = (TableCell)row[j];
|
||||
builder.OpenElement(ElementIndex++, cellElementName);
|
||||
|
||||
if (minWidth is > 0)
|
||||
builder.AddAttribute(ElementIndex++, "style", $"min-width:{minWidth}px");
|
||||
|
||||
if (cell.Count != 0 && cell[0] is ParagraphBlock paragraphBlock)
|
||||
RenderParagraphBlock(paragraphBlock, builder);
|
||||
|
||||
builder.CloseElement();
|
||||
}
|
||||
|
||||
builder.CloseElement();
|
||||
}
|
||||
|
||||
protected virtual void RenderList(ListBlock list, RenderTreeBuilder builder)
|
||||
{
|
||||
if (list.Count == 0)
|
||||
return;
|
||||
|
||||
var elementName = list.IsOrdered ? "ol" : "ul";
|
||||
var orderStart = list.OrderedStart.ParseOrDefault();
|
||||
|
||||
builder.OpenElement(ElementIndex++, elementName);
|
||||
|
||||
if (orderStart > 1)
|
||||
{
|
||||
builder.AddAttribute(ElementIndex++, "start", orderStart);
|
||||
}
|
||||
|
||||
for (var i = 0; i < list.Count; i++)
|
||||
{
|
||||
var block = (ListItemBlock)list[i];
|
||||
|
||||
for (var j = 0; j < block.Count; j++)
|
||||
{
|
||||
switch (block[j])
|
||||
{
|
||||
case ListBlock x:
|
||||
{
|
||||
RenderList(x, builder);
|
||||
break;
|
||||
}
|
||||
case ParagraphBlock x:
|
||||
{
|
||||
builder.OpenElement(ElementIndex++, "li");
|
||||
RenderParagraphBlock(x, builder);
|
||||
builder.CloseElement();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
OnRenderListDefault(block[j], builder);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
builder.CloseElement();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Renders a markdown block which is not covered by the switch-case block in <see cref="RenderList"/>
|
||||
/// </summary>
|
||||
protected virtual void OnRenderListDefault(Markdig.Syntax.Block block, RenderTreeBuilder builder)
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void RenderDetailsHtml(in RenderTreeBuilder builder, in string header, in string content)
|
||||
{
|
||||
var headerHtml = Markdown.Parse(header, Pipeline);
|
||||
var contentHtml = Markdown.Parse(content);
|
||||
|
||||
builder.OpenComponent<MudMarkdownDetails>(ElementIndex++);
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudMarkdownDetails.TitleContent), (RenderFragment)(titleBuilder => RenderMarkdown(headerHtml, titleBuilder)));
|
||||
builder.AddAttribute(ElementIndex++, nameof(MudMarkdownDetails.ChildContent), (RenderFragment)(contentBuilder => RenderMarkdown(contentHtml, contentBuilder)));
|
||||
builder.CloseComponent();
|
||||
}
|
||||
|
||||
protected virtual void RenderHtml(in RenderTreeBuilder builder, in StringLineGroup lines)
|
||||
{
|
||||
var markupString = new MarkupString(lines.ToString());
|
||||
builder.AddContent(ElementIndex, markupString);
|
||||
}
|
||||
|
||||
private async void NavigationManagerOnLocationChanged(object? sender, LocationChangedEventArgs e)
|
||||
{
|
||||
var idFragment = new Uri(e.Location, UriKind.Absolute).Fragment;
|
||||
if (!idFragment.StartsWith('#') || idFragment.Length < 2)
|
||||
return;
|
||||
|
||||
idFragment = idFragment[1..];
|
||||
|
||||
await JsRuntime.InvokeVoidAsync("scrollToElementId", idFragment)
|
||||
.ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private void OnCodeBlockThemeChanged(object? sender, CodeBlockTheme e) =>
|
||||
CodeBlockTheme = e;
|
||||
|
||||
private MarkdownPipeline GetMarkdownPipeLine()
|
||||
{
|
||||
if (MarkdownPipeline != null)
|
||||
return MarkdownPipeline;
|
||||
|
||||
return Pipeline ??= new MarkdownPipelineBuilder()
|
||||
.UseAdvancedExtensions()
|
||||
.Build();
|
||||
}
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -1,110 +0,0 @@
|
||||
/* Code */
|
||||
.mud-markdown-body code:not(.hljs) {
|
||||
background: var(--mud-palette-overlay-dark);
|
||||
color: var(--mud-palette-text-primary) !important;
|
||||
padding: 2.5px 7.5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* This component is public, so apply styling in all places, not only within mud-markdown-body */
|
||||
pre code.hljs {
|
||||
display: block !important;
|
||||
overflow-x: auto;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.mud-markdown-body .snippet-clipboard-content {
|
||||
position: relative !important;
|
||||
}
|
||||
|
||||
.mud-markdown-body .snippet-clipboard-content:hover > .snippet-clipboard-copy-icon {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
.mud-markdown-body .snippet-clipboard-content .snippet-clipboard-copy-icon {
|
||||
position: absolute;
|
||||
display: none;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
/* Quote */
|
||||
.mud-markdown-body blockquote {
|
||||
border-left: .25em solid var(--mud-palette-text-disabled);
|
||||
color: var(--mud-palette-text-secondary);
|
||||
background-color: var(--mud-palette-drawer-background);
|
||||
padding: 0.25em 1em;
|
||||
margin: 0.5em 0 1.25em;
|
||||
}
|
||||
|
||||
.mud-markdown-body blockquote p {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
/* Table */
|
||||
.mud-markdown-body table {
|
||||
margin: 1.25em 0;
|
||||
}
|
||||
|
||||
/* Link */
|
||||
.mud-markdown-body .mud-link:hover {
|
||||
cursor: pointer !important;
|
||||
}
|
||||
|
||||
/* List */
|
||||
.mud-markdown-body ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
.mud-markdown-body ul, .mud-markdown-body ol {
|
||||
padding-left: 2em;
|
||||
margin-bottom: 1.25em !important;
|
||||
}
|
||||
|
||||
.mud-markdown-body ul ul {
|
||||
list-style-type: circle;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.mud-markdown-body ul ul ul {
|
||||
list-style-type: square;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.mud-markdown-body li {
|
||||
display: list-item !important;
|
||||
text-align: -webkit-match-parent;
|
||||
}
|
||||
|
||||
/* Headers */
|
||||
.mud-markdown-body h1, .mud-markdown-body h2 {
|
||||
border-bottom: 1px solid var(--mud-palette-text-disabled);
|
||||
padding-bottom: 0.125em;
|
||||
margin-bottom: 0.4em;
|
||||
}
|
||||
|
||||
.mud-markdown-body h1, .mud-markdown-body h2, .mud-markdown-body h3, .mud-markdown-body h4, .mud-markdown-body h5, .mud-markdown-body h6 {
|
||||
scroll-margin-top: 5rem;
|
||||
margin-top: 0.25em;
|
||||
word-wrap: break-word;
|
||||
margin-bottom: 0.3em !important;
|
||||
}
|
||||
|
||||
.mud-markdown-body .mud-divider {
|
||||
margin: 0.5em 0;
|
||||
height: 0.25em;
|
||||
}
|
||||
|
||||
/* Paragraphs */
|
||||
.mud-markdown-body p {
|
||||
margin-bottom: 1.25em !important;
|
||||
}
|
||||
|
||||
.mud-markdown-body li p, .mud-markdown-body .mud-expand-panel p {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
/* Images */
|
||||
.mud-markdown-body img {
|
||||
max-width: 100%;
|
||||
}
|
@ -1,87 +0,0 @@
|
||||
import hljs from "highlight.js";
|
||||
|
||||
const codeStylesDir = "code-styles";
|
||||
const codeStylesSegment = `/MudBlazor.Markdown/${codeStylesDir}/`;
|
||||
|
||||
window.highlightCodeElement = function (element) {
|
||||
hljs.highlightElement(element);
|
||||
}
|
||||
|
||||
window.setHighlightStylesheet = function (stylesheetPath) {
|
||||
let isFound = false;
|
||||
const stylesheets = document.querySelectorAll("link[rel='stylesheet']");
|
||||
|
||||
for (let i = 0; i < stylesheets.length; i++) {
|
||||
const href = stylesheets[i].getAttribute("href");
|
||||
|
||||
if (!href) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const index = href.indexOf(codeStylesSegment);
|
||||
|
||||
if (index !== -1) {
|
||||
if (!isFound) {
|
||||
isFound = true;
|
||||
const newHref = href.substring(0, index + codeStylesSegment.length) + stylesheetPath;
|
||||
stylesheets[i].setAttribute("href", newHref);
|
||||
} else {
|
||||
stylesheets[i].remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isFound) {
|
||||
const link = document.createElement("link");
|
||||
link.rel = "stylesheet";
|
||||
link.href = `_content/MudBlazor.Markdown/${codeStylesDir}/${stylesheetPath}`;
|
||||
|
||||
document.head.appendChild(link);
|
||||
}
|
||||
}
|
||||
|
||||
window.scrollToElementId = function (elementId) {
|
||||
const element = document.getElementById(elementId);
|
||||
if (element) {
|
||||
const elementIdHref = `#${elementId}`;
|
||||
if (!window.location.pathname.endsWith(elementIdHref)) {
|
||||
history.replaceState(null, "", window.location.pathname + elementIdHref);
|
||||
}
|
||||
|
||||
element.scrollIntoView({
|
||||
behavior: "smooth",
|
||||
block: "start",
|
||||
inline: "nearest"
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
window.appendMathJaxScript = function (scriptId) {
|
||||
if (document.getElementById(scriptId)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const script = document.createElement("script");
|
||||
script.id = scriptId;
|
||||
script.type = "text/javascript";
|
||||
script.src = "_content/MudBlazor.Markdown/MudBlazor.Markdown.MathJax.min.js";
|
||||
|
||||
document.head.appendChild(script);
|
||||
}
|
||||
|
||||
window.refreshMathJaxScript = function () {
|
||||
try {
|
||||
MathJax.typeset();
|
||||
} catch (e) {
|
||||
// swallow since in some cases MathJax might not be initialized
|
||||
}
|
||||
}
|
||||
|
||||
window.copyTextToClipboard = async function (text) {
|
||||
try {
|
||||
await navigator.clipboard.writeText(text);
|
||||
return true;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
public interface IMudMarkdownClipboardService
|
||||
{
|
||||
ValueTask CopyToClipboardAsync(string text);
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
public interface IMudMarkdownThemeService
|
||||
{
|
||||
event EventHandler<CodeBlockTheme> CodeBlockThemeChanged;
|
||||
|
||||
void SetCodeBlockTheme(CodeBlockTheme theme);
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
internal sealed class MudMarkdownThemeService : IMudMarkdownThemeService
|
||||
{
|
||||
public event EventHandler<CodeBlockTheme>? CodeBlockThemeChanged;
|
||||
|
||||
public void SetCodeBlockTheme(CodeBlockTheme theme) =>
|
||||
CodeBlockThemeChanged?.Invoke(this, theme);
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
namespace MudBlazor;
|
||||
|
||||
public static class ServiceCollectionEx
|
||||
{
|
||||
public static IServiceCollection AddMudMarkdownServices(this IServiceCollection @this)
|
||||
{
|
||||
return @this.AddScoped<IMudMarkdownThemeService, MudMarkdownThemeService>();
|
||||
}
|
||||
|
||||
public static IServiceCollection AddMudMarkdownClipboardService<T>(this IServiceCollection @this)
|
||||
where T : class, IMudMarkdownClipboardService
|
||||
{
|
||||
return @this.AddScoped<IMudMarkdownClipboardService, T>();
|
||||
}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
global using System.Windows.Input;
|
||||
global using Markdig;
|
||||
global using Markdig.Helpers;
|
||||
global using Microsoft.AspNetCore.Components;
|
||||
global using Microsoft.AspNetCore.Components.Rendering;
|
||||
global using Microsoft.Extensions.DependencyInjection;
|
||||
global using Microsoft.JSInterop;
|
||||
global using MudBlazor.Extensions;
|
||||
global using MudBlazor.Utilities;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
[assembly: InternalsVisibleTo("MudBlazor.Markdown.Tests")]
|
@ -1,47 +0,0 @@
|
||||
const { src, dest, series } = require("gulp");
|
||||
const webpack = require("webpack-stream");
|
||||
const rename = require("gulp-rename");
|
||||
const minifyCss = require("gulp-clean-css");
|
||||
const changeCase = require("change-case");
|
||||
const all = require("gulp-all");
|
||||
|
||||
function fonts() {
|
||||
return src("Resources/Fonts/*.woff")
|
||||
.pipe(dest("wwwroot/output/chtml/fonts/woff-v2"));
|
||||
}
|
||||
|
||||
function cssMain() {
|
||||
return src("Resources/*.css")
|
||||
.pipe(minifyCss())
|
||||
.pipe(rename({ extname: ".min.css" }))
|
||||
.pipe(dest("wwwroot"));
|
||||
}
|
||||
|
||||
function cssCodeStyles() {
|
||||
return src("Resources/CodeStyles/src/**/*.css")
|
||||
.pipe(minifyCss({ level: { 1: { specialComments: "0" } } }))
|
||||
.pipe(rename(function (path) {
|
||||
path.dirname = changeCase.camelCase(path.dirname);
|
||||
path.extname = ".min.css";
|
||||
}))
|
||||
.pipe(dest("wwwroot/code-styles"));
|
||||
}
|
||||
|
||||
function img() {
|
||||
return src("Resources/CodeStyles/src/**/*.{png,jpg}")
|
||||
.pipe(dest("wwwroot/code-styles"));
|
||||
}
|
||||
|
||||
function jsMain() {
|
||||
const mainJs = src("Resources/MudBlazor.Markdown.js")
|
||||
.pipe(webpack({ mode: "production" }))
|
||||
.pipe(rename({ basename: "MudBlazor.Markdown", extname: ".min.js" }))
|
||||
.pipe(dest("wwwroot"));
|
||||
|
||||
const mathJax = src("Resources/MudBlazor.Markdown.MathJax.min.js")
|
||||
.pipe(dest("wwwroot"));
|
||||
|
||||
return all(mainJs, mathJax);
|
||||
}
|
||||
|
||||
exports.default = series(fonts, cssMain, cssCodeStyles, img, jsMain);
|
9070
MudBlazor.Markdown/package-lock.json
generated
9070
MudBlazor.Markdown/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,27 +0,0 @@
|
||||
{
|
||||
"name": "mudblazor.markdown",
|
||||
"version": "1.0.0",
|
||||
"description": "Markdown component for MudBlazor (https://mudblazor.com/)",
|
||||
"keywords": [
|
||||
"mudblazor",
|
||||
"markdown",
|
||||
"blazor"
|
||||
],
|
||||
"scripts": {
|
||||
"build": "gulp"
|
||||
},
|
||||
"author": "MyNihongo",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"change-case": "^4.1.2",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-all": "^1.1.0",
|
||||
"gulp-clean-css": "^4.3.0",
|
||||
"gulp-rename": "^2.0.0",
|
||||
"webpack": "^5.89.0",
|
||||
"webpack-stream": "^7.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"highlight.js": "^11.9.0"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="StructuralWrap" enabled="false" level="TYPO" enabled_by_default="false" />
|
||||
</profile>
|
||||
</component>
|
6
app/.idea/.idea.MindWork AI Studio/.idea/misc.xml
Normal file
6
app/.idea/.idea.MindWork AI Studio/.idea/misc.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="TaskProjectConfiguration">
|
||||
<server type="Gitlab" url="https://devops.tsommer.org" />
|
||||
</component>
|
||||
</project>
|
@ -1,6 +1,6 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="AI Studio" type="DotNetProject" factoryName=".NET Project">
|
||||
<option name="EXE_PATH" value="$PROJECT_DIR$/MindWork AI Studio/bin/Debug/net8.0/MindWork_AI_Studio" />
|
||||
<option name="EXE_PATH" value="$PROJECT_DIR$/MindWork AI Studio/bin/Debug/net8.0/osx-arm64/mindworkAIStudio.dll" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/MindWork AI Studio" />
|
||||
<option name="PASS_PARENT_ENVS" value="1" />
|
||||
|
@ -2,8 +2,6 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MindWork AI Studio", "MindWork AI Studio\MindWork AI Studio.csproj", "{059FDFCC-7D0B-474E-9F20-B9C437DF1CDD}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MudBlazor.Markdown", "..\MudBlazor.Markdown\MudBlazor.Markdown.csproj", "{9402C391-AFEE-431B-BDD4-107890772036}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@ -14,9 +12,5 @@ Global
|
||||
{059FDFCC-7D0B-474E-9F20-B9C437DF1CDD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{059FDFCC-7D0B-474E-9F20-B9C437DF1CDD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{059FDFCC-7D0B-474E-9F20-B9C437DF1CDD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9402C391-AFEE-431B-BDD4-107890772036}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9402C391-AFEE-431B-BDD4-107890772036}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9402C391-AFEE-431B-BDD4-107890772036}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9402C391-AFEE-431B-BDD4-107890772036}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
@ -35,7 +35,16 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudMarkdown Value="@textContent.Text"/>
|
||||
@if (this.Content.IsStreaming)
|
||||
{
|
||||
<MudText Typo="Typo.body1" Style="white-space: pre-wrap;">
|
||||
@textContent.Text
|
||||
</MudText>
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudMarkdown Value="@textContent.Text"/>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,16 +10,17 @@
|
||||
|
||||
<link rel="icon" type="image/png" href="favicon.png"/>
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
|
||||
<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
|
||||
<link href="_content/MudBlazor.Markdown/MudBlazor.Markdown.min.css" rel="stylesheet" />
|
||||
<link href="system/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
|
||||
<link href="system/MudBlazor.Markdown/MudBlazor.Markdown.min.css" rel="stylesheet" />
|
||||
<link href="app.css" rel="stylesheet" />
|
||||
<HeadOutlet/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<Routes @rendermode="new InteractiveServerRenderMode(prerender: false)"/>
|
||||
<script src="_framework/blazor.web.js"></script>
|
||||
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
|
||||
<script src="_content/MudBlazor.Markdown/MudBlazor.Markdown.min.js"></script>
|
||||
<script src="system/MudBlazor/MudBlazor.min.js"></script>
|
||||
<script src="system/MudBlazor.Markdown/MudBlazor.Markdown.min.js"></script>
|
||||
<script src="app.js"></script>
|
||||
</body>
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
</MudDrawerContainer>
|
||||
|
||||
<MudMainContent Class="mud-height-full pt-1">
|
||||
<MudContainer Fixed="@true" Class="mud-height-full">
|
||||
<MudContainer Fixed="@true" Class="mud-height-full" Style="margin-left: 5em; width: calc(100% - 5em);">
|
||||
@this.Body
|
||||
</MudContainer>
|
||||
</MudMainContent>
|
||||
|
@ -102,7 +102,7 @@ public partial class Chat : ComponentBase
|
||||
// Use the selected provider to get the AI response.
|
||||
// By awaiting this line, we wait for the entire
|
||||
// content to be streamed.
|
||||
await aiText.CreateFromProviderAsync(this.selectedProvider.UsedProvider.CreateProvider(), this.JsRuntime, this.SettingsManager, new Model("gpt-4-turbo-preview"), this.chatThread);
|
||||
await aiText.CreateFromProviderAsync(this.selectedProvider.UsedProvider.CreateProvider(), this.JsRuntime, this.SettingsManager, new Model("gpt-4o"), this.chatThread);
|
||||
|
||||
// Disable the stream state:
|
||||
this.isStreaming = false;
|
||||
|
@ -7,17 +7,36 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>AIStudio</RootNamespace>
|
||||
<AssemblyName>mindworkAIStudio</AssemblyName>
|
||||
|
||||
<PublishSingleFile>true</PublishSingleFile> <!-- Publish as single file -->
|
||||
<SelfContained>true</SelfContained> <!-- Publish as self-contained; requires no .NET runtime installed on the target machine -->
|
||||
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract> <!-- Include native libraries for self-extract -->
|
||||
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest> <!-- Generate embedded files manifest -->
|
||||
|
||||
<PublishTrimmed>true</PublishTrimmed> <!-- Publish with trimming, to reduce size -->
|
||||
<TrimMode>partial</TrimMode> <!-- Trim unused assemblies, but keep all assemblies referenced by the project -->
|
||||
<TrimmerRemoveSymbols>true</TrimmerRemoveSymbols> <!-- Remove debug symbols -->
|
||||
<EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization> <!-- Remove unsafe binary formatter serialization -->
|
||||
<EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding> <!-- Remove unsafe UTF7 encoding -->
|
||||
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault> <!-- Enable reflection for JSON serialization -->
|
||||
<SuppressTrimAnalysisWarnings>true</SuppressTrimAnalysisWarnings> <!-- Suppress trim analysis warnings -->
|
||||
<NoWarn>IL2026</NoWarn> <!-- Suppress warning IL2026: Usage of methods marked as RequiresUnreferencedCode. None issue here, since we use trim mode partial, though. -->
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Remove launchSettings.json from the project -->
|
||||
<None Remove="Properties\launchSettings.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MudBlazor" Version="6.19.1" />
|
||||
<!-- Embed all files in wwwroot folder -->
|
||||
<EmbeddedResource Include="wwwroot\**" CopyToOutputDirectory="PreserveNewest" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\MudBlazor.Markdown\MudBlazor.Markdown.csproj" />
|
||||
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.4" />
|
||||
<PackageReference Include="MudBlazor" Version="6.19.1" />
|
||||
<PackageReference Include="MudBlazor.Markdown" Version="0.1.3" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -1,12 +1,16 @@
|
||||
using System.Reflection;
|
||||
|
||||
using AIStudio;
|
||||
using AIStudio.Components;
|
||||
using AIStudio.Settings;
|
||||
using AIStudio.Tools;
|
||||
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
|
||||
using MudBlazor;
|
||||
using MudBlazor.Services;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
var builder = WebApplication.CreateBuilder();
|
||||
builder.Services.AddMudServices(config =>
|
||||
{
|
||||
config.SnackbarConfiguration.PositionClass = Defaults.Classes.Position.BottomLeft;
|
||||
@ -31,15 +35,36 @@ builder.Services.AddRazorComponents()
|
||||
x.MaximumReceiveMessageSize = null;
|
||||
});
|
||||
|
||||
builder.WebHost.UseKestrel();
|
||||
var port = args.Length > 0 ? args[0] : "5000";
|
||||
builder.WebHost.UseUrls($"http://localhost:{port}");
|
||||
|
||||
#if DEBUG
|
||||
builder.WebHost.UseWebRoot("wwwroot");
|
||||
builder.WebHost.UseStaticWebAssets();
|
||||
builder.WebHost.UseUrls("http://localhost:5000");
|
||||
#endif
|
||||
|
||||
var app = builder.Build();
|
||||
app.Use(Redirect.HandlerContentAsync);
|
||||
|
||||
#if DEBUG
|
||||
app.UseStaticFiles();
|
||||
#else
|
||||
|
||||
var fileProvider = new ManifestEmbeddedFileProvider(Assembly.GetAssembly(type: typeof(Program))!, "wwwroot");
|
||||
app.UseDeveloperExceptionPage();
|
||||
app.UseStaticFiles(new StaticFileOptions
|
||||
{
|
||||
FileProvider = fileProvider,
|
||||
RequestPath = string.Empty,
|
||||
});
|
||||
|
||||
#endif
|
||||
|
||||
app.UseAntiforgery();
|
||||
app.MapRazorComponents<App>()
|
||||
.AddInteractiveServerRenderMode();
|
||||
|
||||
app.Run();
|
||||
var serverTask = app.RunAsync();
|
||||
|
||||
Console.WriteLine("RUST/TAURI SERVER STARTED");
|
||||
await serverTask;
|
39
app/MindWork AI Studio/Redirect.cs
Normal file
39
app/MindWork AI Studio/Redirect.cs
Normal file
@ -0,0 +1,39 @@
|
||||
namespace AIStudio;
|
||||
|
||||
internal static class Redirect
|
||||
{
|
||||
private const string CONTENT = "/_content/";
|
||||
private const string SYSTEM = "/system/";
|
||||
|
||||
internal static async Task HandlerContentAsync(HttpContext context, Func<Task> nextHandler)
|
||||
{
|
||||
var path = context.Request.Path.Value;
|
||||
if(string.IsNullOrWhiteSpace(path))
|
||||
{
|
||||
await nextHandler();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
#if DEBUG
|
||||
|
||||
if (path.StartsWith(SYSTEM, StringComparison.InvariantCulture))
|
||||
{
|
||||
context.Response.Redirect(path.Replace(SYSTEM, CONTENT), true, true);
|
||||
return;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
if (path.StartsWith(CONTENT, StringComparison.InvariantCulture))
|
||||
{
|
||||
context.Response.Redirect(path.Replace(CONTENT, SYSTEM), true, true);
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
await nextHandler();
|
||||
}
|
||||
|
||||
}
|
123
app/MindWork AI Studio/build.nu
Executable file
123
app/MindWork AI Studio/build.nu
Executable file
@ -0,0 +1,123 @@
|
||||
#!/usr/bin/env nu
|
||||
|
||||
def main [] {}
|
||||
|
||||
def are_assets_exist [rid: string]: string -> bool {
|
||||
$"bin/release/net8.0/($rid)/publish/wwwroot/_content/MudBlazor/MudBlazor.min.css" | path exists
|
||||
}
|
||||
|
||||
def "main fix_web_assets" []: nothing -> nothing {
|
||||
|
||||
# Get the matching RIDs for the current OS:
|
||||
let rids = get_rids
|
||||
|
||||
# We chose the first RID to copy the assets from:
|
||||
let rid = $rids.0
|
||||
|
||||
if (are_assets_exist $rid) == false {
|
||||
print $"Web assets do not exist for ($rid). Please build the project first."
|
||||
return
|
||||
}
|
||||
|
||||
# Ensure, that the dist directory exists:
|
||||
mkdir wwwroot/system
|
||||
|
||||
# Copy the web assets from the first RID to the source project:
|
||||
let source_path: glob = $"bin/release/net8.0/($rid)/publish/wwwroot/_content/*"
|
||||
cp --recursive --force --update $source_path wwwroot/system/
|
||||
}
|
||||
|
||||
def "main publish" []: nothing -> nothing {
|
||||
|
||||
# Ensure, that the dist directory exists:
|
||||
mkdir bin/dist
|
||||
|
||||
# Get the matching RIDs for the current OS:
|
||||
let rids = get_rids
|
||||
|
||||
if ($rids | length) == 0 {
|
||||
print "No RIDs to build for."
|
||||
return
|
||||
}
|
||||
|
||||
let current_os = get_os
|
||||
let published_filename_dotnet = match $current_os {
|
||||
"windows" => "mindworkAIStudio.exe",
|
||||
_ => "mindworkAIStudio"
|
||||
}
|
||||
|
||||
# Build for each RID:
|
||||
for rid in $rids {
|
||||
print "=============================="
|
||||
print $"Start building for ($rid)..."
|
||||
|
||||
^dotnet publish --configuration release --runtime $rid
|
||||
|
||||
let final_filename = match $rid {
|
||||
"win-x64" => "mindworkAIStudio-x86_64-pc-windows-msvc.exe",
|
||||
"win-arm64" => "mindworkAIStudio-aarch64-pc-windows-msvc.exe",
|
||||
"linux-x64" => "mindworkAIStudio-x86_64-unknown-linux-gnu",
|
||||
"linux-arm64" => "mindworkAIStudio-aarch64-unknown-linux-gnu",
|
||||
"osx-arm64" => "mindworkAIStudio-aarch64-apple-darwin",
|
||||
"osx-x64" => "mindworkAIStudio-x86_64-apple-darwin",
|
||||
|
||||
_ => {
|
||||
print $"Unsupported RID for final filename: ($rid)"
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
let published_path = $"bin/release/net8.0/($rid)/publish/($published_filename_dotnet)"
|
||||
let final_path = $"bin/dist/($final_filename)"
|
||||
|
||||
if ($published_path | path exists) {
|
||||
print $"Published file ($published_path) exists."
|
||||
} else {
|
||||
print $"Published file ($published_path) does not exist. Compiling might failed?"
|
||||
return
|
||||
}
|
||||
|
||||
print $"Moving ($published_path) to ($final_path)..."
|
||||
mv --force $published_path $final_path
|
||||
}
|
||||
|
||||
print "=============================="
|
||||
print "Start building runtime..."
|
||||
|
||||
cd ../../runtime
|
||||
try {
|
||||
cargo tauri build
|
||||
};
|
||||
|
||||
cd "../app/MindWork AI Studio"
|
||||
print "=============================="
|
||||
print "Building done."
|
||||
}
|
||||
|
||||
def get_rids []: nothing -> list {
|
||||
# Define the list of RIDs to build for, cf. https://learn.microsoft.com/en-us/dotnet/core/rid-catalog:
|
||||
let rids = ["win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-arm64", "osx-x64"]
|
||||
|
||||
# Get the current OS:
|
||||
let current_os = get_os
|
||||
let current_os_dotnet = match $current_os {
|
||||
"windows" => "win-",
|
||||
"linux" => "linux-",
|
||||
"darwin" => "osx-",
|
||||
|
||||
_ => {
|
||||
print $"Unsupported OS: ($current_os)"
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
# Filter the RIDs to build for the current OS:
|
||||
let rids = $rids | where $it =~ $current_os_dotnet
|
||||
|
||||
# Return the list of RIDs to build for:
|
||||
$rids
|
||||
}
|
||||
|
||||
def get_os []: nothing -> string {
|
||||
(sys).host.name | str downcase
|
||||
}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/MudBlazor.Markdown.MathJax.min.js
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/MudBlazor.Markdown.MathJax.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/MudBlazor.Markdown.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/MudBlazor.Markdown.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.mud-markdown-body code:not(.hljs){background:var(--mud-palette-overlay-dark);color:var(--mud-palette-text-primary)!important;padding:2.5px 7.5px;border-radius:5px}pre code.hljs{display:block!important;overflow-x:auto;padding:1em}.mud-markdown-body .snippet-clipboard-content{position:relative!important}.mud-markdown-body .snippet-clipboard-content:hover>.snippet-clipboard-copy-icon{display:block!important}.mud-markdown-body .snippet-clipboard-content .snippet-clipboard-copy-icon{position:absolute;display:none;top:0;right:0}.mud-markdown-body blockquote{border-left:.25em solid var(--mud-palette-text-disabled);color:var(--mud-palette-text-secondary);background-color:var(--mud-palette-drawer-background);padding:.25em 1em;margin:.5em 0 1.25em}.mud-markdown-body blockquote p{margin-bottom:0!important}.mud-markdown-body table{margin:1.25em 0}.mud-markdown-body .mud-link:hover{cursor:pointer!important}.mud-markdown-body ul{list-style-type:disc}.mud-markdown-body ol,.mud-markdown-body ul{padding-left:2em;margin-bottom:1.25em!important}.mud-markdown-body ul ul{list-style-type:circle;margin-bottom:0!important}.mud-markdown-body ul ul ul{list-style-type:square;margin-bottom:0!important}.mud-markdown-body li{display:list-item!important;text-align:-webkit-match-parent}.mud-markdown-body h1,.mud-markdown-body h2{border-bottom:1px solid var(--mud-palette-text-disabled);padding-bottom:.125em;margin-bottom:.4em}.mud-markdown-body h1,.mud-markdown-body h2,.mud-markdown-body h3,.mud-markdown-body h4,.mud-markdown-body h5,.mud-markdown-body h6{scroll-margin-top:5rem;margin-top:.25em;word-wrap:break-word;margin-bottom:.3em!important}.mud-markdown-body .mud-divider{margin:.5em 0;height:.25em}.mud-markdown-body p{margin-bottom:1.25em!important}.mud-markdown-body .mud-expand-panel p,.mud-markdown-body li p{margin-bottom:0!important}.mud-markdown-body img{max-width:100%}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/MudBlazor.Markdown.min.js
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/MudBlazor.Markdown.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/a11y-dark.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/a11y-dark.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{background:#2b2b2b;color:#f8f8f2}.hljs-comment,.hljs-quote{color:#d4d0ab}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ffa07a}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#f5ab35}.hljs-attribute{color:gold}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#abe338}.hljs-section,.hljs-title{color:#00e0e0}.hljs-keyword,.hljs-selector-tag{color:#dcc6e0}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast:active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/a11y-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/a11y-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{background:#fefefe;color:#545454}.hljs-comment,.hljs-quote{color:#696969}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#d91e18}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#aa5d00}.hljs-attribute{color:#aa5d00}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:green}.hljs-section,.hljs-title{color:#007faa}.hljs-keyword,.hljs-selector-tag{color:#7928a1}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast:active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/agate.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/agate.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{background:#333;color:#fff}.hljs-doctag,.hljs-meta-keyword,.hljs-name,.hljs-strong{font-weight:700}.hljs-code,.hljs-emphasis{font-style:italic}.hljs-section,.hljs-tag{color:#62c8f3}.hljs-selector-class,.hljs-selector-id,.hljs-template-variable,.hljs-variable{color:#ade5fc}.hljs-meta-string,.hljs-string{color:#a2fca2}.hljs-attr,.hljs-quote,.hljs-selector-attr{color:#7bd694}.hljs-tag .hljs-attr{color:inherit}.hljs-attribute,.hljs-title,.hljs-type{color:#ffa}.hljs-number,.hljs-symbol{color:#d36363}.hljs-bullet,.hljs-template-tag{color:#b8d8a2}.hljs-built_in,.hljs-keyword,.hljs-literal,.hljs-selector-tag{color:#fcc28c}.hljs-code,.hljs-comment,.hljs-formula{color:#888}.hljs-link,.hljs-regexp,.hljs-selector-pseudo{color:#c6b4f0}.hljs-meta{color:#fc9b9b}.hljs-deletion{background:#fc9b9b;color:#333}.hljs-addition{background:#a2fca2;color:#333}.hljs-subst{color:#fff}.hljs a{color:inherit}.hljs a:focus,.hljs a:hover{color:inherit;text-decoration:underline}.hljs mark{background:#555;color:inherit}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/an-old-hope.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/an-old-hope.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{background:#1c1d21;color:#c0c5ce}.hljs-comment,.hljs-quote{color:#b6b18b}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#eb3c54}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#e7ce56}.hljs-attribute{color:#ee7c2b}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#4fb4d7}.hljs-section,.hljs-title{color:#78bb65}.hljs-keyword,.hljs-selector-tag{color:#b45ea4}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/androidstudio.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/androidstudio.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{color:#a9b7c6;background:#282b2e}.hljs-bullet,.hljs-literal,.hljs-number,.hljs-symbol{color:#6897bb}.hljs-deletion,.hljs-keyword,.hljs-selector-tag{color:#cc7832}.hljs-link,.hljs-template-variable,.hljs-variable{color:#629755}.hljs-comment,.hljs-quote{color:grey}.hljs-meta{color:#bbb529}.hljs-addition,.hljs-attribute,.hljs-string{color:#6a8759}.hljs-section,.hljs-title,.hljs-type{color:#ffc66d}.hljs-name,.hljs-selector-class,.hljs-selector-id{color:#e8bf6a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/arduino-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/arduino-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{background:#fff;color:#434f54}.hljs-subst{color:#434f54}.hljs-attribute,.hljs-doctag,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#00979d}.hljs-addition,.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-literal{color:#d35400}.hljs-link,.hljs-regexp,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#00979d}.hljs-deletion,.hljs-quote,.hljs-selector-class,.hljs-selector-id,.hljs-string,.hljs-template-tag,.hljs-type{color:#005c5f}.hljs-comment{color:rgba(149,165,166,.8)}.hljs-meta .hljs-keyword{color:#728e00}.hljs-meta{color:#434f54}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-function{color:#728e00}.hljs-section,.hljs-title{color:#800;font-weight:700}.hljs-number{color:#8a7b52}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/arta.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/arta.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{background:#222;color:#aaa}.hljs-subst{color:#aaa}.hljs-section{color:#fff}.hljs-comment,.hljs-meta,.hljs-quote{color:#444}.hljs-bullet,.hljs-regexp,.hljs-string,.hljs-symbol{color:#fc3}.hljs-addition,.hljs-number{color:#0c6}.hljs-attribute,.hljs-built_in,.hljs-link,.hljs-literal,.hljs-template-variable,.hljs-type{color:#32aaee}.hljs-keyword,.hljs-name,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag{color:#64a}.hljs-deletion,.hljs-template-tag,.hljs-title,.hljs-variable{color:#b16}.hljs-doctag,.hljs-section,.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/ascetic.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/ascetic.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{background:#fff;color:#000}.hljs-addition,.hljs-attribute,.hljs-bullet,.hljs-link,.hljs-section,.hljs-string,.hljs-symbol,.hljs-template-variable,.hljs-variable{color:#888}.hljs-comment,.hljs-deletion,.hljs-meta,.hljs-quote{color:#ccc}.hljs-keyword,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-strong,.hljs-type{font-weight:700}.hljs-emphasis{font-style:italic}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/atom-one-dark-reasonable.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/atom-one-dark-reasonable.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{color:#abb2bf;background:#282c34}.hljs-keyword,.hljs-operator{color:#f92672}.hljs-pattern-match{color:#f92672}.hljs-pattern-match .hljs-constructor{color:#61aeee}.hljs-function{color:#61aeee}.hljs-function .hljs-params{color:#a6e22e}.hljs-function .hljs-params .hljs-typing{color:#fd971f}.hljs-module-access .hljs-module{color:#7e57c2}.hljs-constructor{color:#e2b93d}.hljs-constructor .hljs-string{color:#9ccc65}.hljs-comment,.hljs-quote{color:#b18eb1;font-style:italic}.hljs-doctag,.hljs-formula{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/atom-one-dark.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/atom-one-dark.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/atom-one-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/atom-one-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
.hljs{color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/apathy.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/apathy.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#81b5ac;background:#031a16}.hljs ::selection{color:#184e45}.hljs-comment{color:#2b685e}.hljs-tag{color:#5f9c92}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#81b5ac}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#3e9688}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#3e7996}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#3e4c96}.hljs-strong{font-weight:700;color:#3e4c96}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#883e96}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#963e4c}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#96883e}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#4c963e}.hljs-emphasis{color:#4c963e;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#3e965b}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/apprentice.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/apprentice.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#bcbcbc;background:#262626}.hljs ::selection{color:#333}.hljs-comment{color:#6c6c6c}.hljs-tag{color:#787878}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#bcbcbc}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#ff8700}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#5f8787}.hljs-strong{font-weight:700;color:#5f8787}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#87af87}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#5f875f}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#ffffaf}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#87afd7}.hljs-emphasis{color:#87afd7;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#5f87af}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/ashes.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/ashes.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c7ccd1;background:#1c2023}.hljs ::selection{color:#565e65}.hljs-comment{color:#747c84}.hljs-tag{color:#adb3ba}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c7ccd1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#c7ae95}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#c7c795}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#aec795}.hljs-strong{font-weight:700;color:#aec795}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#95c7ae}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#95aec7}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#ae95c7}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#c795ae}.hljs-emphasis{color:#c795ae;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#c79595}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-cave-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-cave-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#585260;background:#efecf4}.hljs ::selection{color:#8b8792}.hljs-comment{color:#7e7887}.hljs-tag{color:#655f6d}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#585260}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#be4678}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aa573c}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a06e3b}.hljs-strong{font-weight:700;color:#a06e3b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#2a9292}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#398bc6}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#576ddb}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#955ae7}.hljs-emphasis{color:#955ae7;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#bf40bf}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-cave.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-cave.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#8b8792;background:#19171c}.hljs ::selection{color:#585260}.hljs-comment{color:#655f6d}.hljs-tag{color:#7e7887}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#8b8792}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#be4678}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aa573c}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a06e3b}.hljs-strong{font-weight:700;color:#a06e3b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#2a9292}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#398bc6}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#576ddb}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#955ae7}.hljs-emphasis{color:#955ae7;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#bf40bf}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-dune-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-dune-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#6e6b5e;background:#fefbec}.hljs ::selection{color:#a6a28c}.hljs-comment{color:#999580}.hljs-tag{color:#7d7a68}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#6e6b5e}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#d73737}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#b65611}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#ae9513}.hljs-strong{font-weight:700;color:#ae9513}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#60ac39}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#1fad83}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#6684e1}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#b854d4}.hljs-emphasis{color:#b854d4;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#d43552}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-dune.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-dune.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#a6a28c;background:#20201d}.hljs ::selection{color:#6e6b5e}.hljs-comment{color:#7d7a68}.hljs-tag{color:#999580}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#a6a28c}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#d73737}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#b65611}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#ae9513}.hljs-strong{font-weight:700;color:#ae9513}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#60ac39}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#1fad83}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#6684e1}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#b854d4}.hljs-emphasis{color:#b854d4;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#d43552}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-estuary-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-estuary-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#5f5e4e;background:#f4f3ec}.hljs ::selection{color:#929181}.hljs-comment{color:#878573}.hljs-tag{color:#6c6b5a}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#5f5e4e}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#ba6236}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#ae7313}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a5980d}.hljs-strong{font-weight:700;color:#a5980d}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#7d9726}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#5b9d48}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#36a166}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#5f9182}.hljs-emphasis{color:#5f9182;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#9d6c7c}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-estuary.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-estuary.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#929181;background:#22221b}.hljs ::selection{color:#5f5e4e}.hljs-comment{color:#6c6b5a}.hljs-tag{color:#878573}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#929181}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#ba6236}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#ae7313}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a5980d}.hljs-strong{font-weight:700;color:#a5980d}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#7d9726}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#5b9d48}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#36a166}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#5f9182}.hljs-emphasis{color:#5f9182;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#9d6c7c}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-forest-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-forest-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#68615e;background:#f1efee}.hljs ::selection{color:#a8a19f}.hljs-comment{color:#9c9491}.hljs-tag{color:#766e6b}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#68615e}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#f22c40}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#df5320}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#c38418}.hljs-strong{font-weight:700;color:#c38418}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#7b9726}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#3d97b8}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#407ee7}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#6666ea}.hljs-emphasis{color:#6666ea;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#c33ff3}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-forest.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-forest.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#a8a19f;background:#1b1918}.hljs ::selection{color:#68615e}.hljs-comment{color:#766e6b}.hljs-tag{color:#9c9491}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#a8a19f}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#f22c40}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#df5320}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#c38418}.hljs-strong{font-weight:700;color:#c38418}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#7b9726}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#3d97b8}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#407ee7}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#6666ea}.hljs-emphasis{color:#6666ea;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#c33ff3}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-heath-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-heath-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#695d69;background:#f7f3f7}.hljs ::selection{color:#ab9bab}.hljs-comment{color:#9e8f9e}.hljs-tag{color:#776977}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#695d69}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#ca402b}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#a65926}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#bb8a35}.hljs-strong{font-weight:700;color:#bb8a35}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#918b3b}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#159393}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#516aec}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#7b59c0}.hljs-emphasis{color:#7b59c0;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#c3c}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-heath.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-heath.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#ab9bab;background:#1b181b}.hljs ::selection{color:#695d69}.hljs-comment{color:#776977}.hljs-tag{color:#9e8f9e}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#ab9bab}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#ca402b}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#a65926}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#bb8a35}.hljs-strong{font-weight:700;color:#bb8a35}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#918b3b}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#159393}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#516aec}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#7b59c0}.hljs-emphasis{color:#7b59c0;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#c3c}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-lakeside-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-lakeside-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#516d7b;background:#ebf8ff}.hljs ::selection{color:#7ea2b4}.hljs-comment{color:#7195a8}.hljs-tag{color:#5a7b8c}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#516d7b}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#d22d72}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#935c25}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#8a8a0f}.hljs-strong{font-weight:700;color:#8a8a0f}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#568c3b}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#2d8f6f}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#257fad}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#6b6bb8}.hljs-emphasis{color:#6b6bb8;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#b72dd2}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-lakeside.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-lakeside.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#7ea2b4;background:#161b1d}.hljs ::selection{color:#516d7b}.hljs-comment{color:#5a7b8c}.hljs-tag{color:#7195a8}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#7ea2b4}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#d22d72}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#935c25}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#8a8a0f}.hljs-strong{font-weight:700;color:#8a8a0f}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#568c3b}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#2d8f6f}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#257fad}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#6b6bb8}.hljs-emphasis{color:#6b6bb8;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#b72dd2}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-plateau-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-plateau-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#585050;background:#f4ecec}.hljs ::selection{color:#8a8585}.hljs-comment{color:#7e7777}.hljs-tag{color:#655d5d}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#585050}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#ca4949}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#b45a3c}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a06e3b}.hljs-strong{font-weight:700;color:#a06e3b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#4b8b8b}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#5485b6}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#7272ca}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#8464c4}.hljs-emphasis{color:#8464c4;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#bd5187}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-plateau.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-plateau.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#8a8585;background:#1b1818}.hljs ::selection{color:#585050}.hljs-comment{color:#655d5d}.hljs-tag{color:#7e7777}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#8a8585}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#ca4949}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#b45a3c}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a06e3b}.hljs-strong{font-weight:700;color:#a06e3b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#4b8b8b}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#5485b6}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#7272ca}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#8464c4}.hljs-emphasis{color:#8464c4;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#bd5187}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-savanna-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-savanna-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#526057;background:#ecf4ee}.hljs ::selection{color:#87928a}.hljs-comment{color:#78877d}.hljs-tag{color:#5f6d64}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#526057}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#b16139}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#9f713c}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a07e3b}.hljs-strong{font-weight:700;color:#a07e3b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#489963}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#1c9aa0}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#478c90}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#55859b}.hljs-emphasis{color:#55859b;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#867469}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-savanna.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-savanna.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#87928a;background:#171c19}.hljs ::selection{color:#526057}.hljs-comment{color:#5f6d64}.hljs-tag{color:#78877d}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#87928a}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#b16139}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#9f713c}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a07e3b}.hljs-strong{font-weight:700;color:#a07e3b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#489963}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#1c9aa0}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#478c90}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#55859b}.hljs-emphasis{color:#55859b;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#867469}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-seaside-light.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-seaside-light.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#5e6e5e;background:#f4fbf4}.hljs ::selection{color:#8ca68c}.hljs-comment{color:#809980}.hljs-tag{color:#687d68}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#5e6e5e}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#e6193c}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#87711d}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#98981b}.hljs-strong{font-weight:700;color:#98981b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#29a329}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#1999b3}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#3d62f5}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#ad2bee}.hljs-emphasis{color:#ad2bee;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#e619c3}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-seaside.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-seaside.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#8ca68c;background:#131513}.hljs ::selection{color:#5e6e5e}.hljs-comment{color:#687d68}.hljs-tag{color:#809980}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#8ca68c}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#e6193c}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#87711d}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#98981b}.hljs-strong{font-weight:700;color:#98981b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#29a329}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#1999b3}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#3d62f5}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#ad2bee}.hljs-emphasis{color:#ad2bee;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#e619c3}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#5e6687;background:#f5f7ff}.hljs ::selection{color:#979db4}.hljs-comment{color:#898ea4}.hljs-tag{color:#6b7394}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#5e6687}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#c94922}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#c76b29}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#c08b30}.hljs-strong{font-weight:700;color:#c08b30}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#ac9739}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#22a2c9}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#3d8fd1}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#6679cc}.hljs-emphasis{color:#6679cc;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#9c637a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-sulphurpool.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atelier-sulphurpool.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#979db4;background:#202746}.hljs ::selection{color:#5e6687}.hljs-comment{color:#6b7394}.hljs-tag{color:#898ea4}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#979db4}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#c94922}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#c76b29}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#c08b30}.hljs-strong{font-weight:700;color:#c08b30}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#ac9739}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#22a2c9}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#3d8fd1}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#6679cc}.hljs-emphasis{color:#6679cc;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#9c637a}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atlas.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/atlas.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#a1a19a;background:#002635}.hljs ::selection{color:#517f8d}.hljs-comment{color:#6c8b91}.hljs-tag{color:#869696}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#a1a19a}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#ff5a67}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#f08e48}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#ffcc1b}.hljs-strong{font-weight:700;color:#ffcc1b}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#7fc06e}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#14747e}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#5dd7b9}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#9a70a4}.hljs-emphasis{color:#9a70a4;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#c43060}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/bespin.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/bespin.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#8a8986;background:#28211c}.hljs ::selection{color:#5e5d5c}.hljs-comment{color:#666}.hljs-tag{color:#797977}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#8a8986}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#cf6a4c}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#cf7d34}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#f9ee98}.hljs-strong{font-weight:700;color:#f9ee98}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#54be0d}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#afc4db}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#5ea6ea}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#9b859d}.hljs-emphasis{color:#9b859d;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#937121}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-bathory.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-bathory.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#e78a53}.hljs-strong{font-weight:700;color:#e78a53}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#fbcb97}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-burzum.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-burzum.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#9ba}.hljs-strong{font-weight:700;color:#9ba}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#dec}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-dark-funeral.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-dark-funeral.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#5f81a5}.hljs-strong{font-weight:700;color:#5f81a5}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#d0dfee}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-gorgoroth.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-gorgoroth.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#8c7f70}.hljs-strong{font-weight:700;color:#8c7f70}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#9b8d7f}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-immortal.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-immortal.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#567}.hljs-strong{font-weight:700;color:#567}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#79b}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-khold.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-khold.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#974b46}.hljs-strong{font-weight:700;color:#974b46}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#eceee3}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-marduk.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-marduk.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#626b67}.hljs-strong{font-weight:700;color:#626b67}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#a5aaa7}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-mayhem.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-mayhem.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#eecc6c}.hljs-strong{font-weight:700;color:#eecc6c}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#f3ecd4}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-nile.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-nile.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#775}.hljs-strong{font-weight:700;color:#775}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#a98}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-venom.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal-venom.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#79241f}.hljs-strong{font-weight:700;color:#79241f}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#f8f7f2}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/black-metal.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#c1c1c1;background:#000}.hljs ::selection{color:#222}.hljs-comment{color:#333}.hljs-tag{color:#999}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#c1c1c1}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#5f8787}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#aaa}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#a06666}.hljs-strong{font-weight:700;color:#a06666}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#d99}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#aaa}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#888}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#999}.hljs-emphasis{color:#999;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#444}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/brewer.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/brewer.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#b7b8b9;background:#0c0d0e}.hljs ::selection{color:#515253}.hljs-comment{color:#737475}.hljs-tag{color:#959697}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#b7b8b9}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#e31a1c}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#e6550d}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#dca060}.hljs-strong{font-weight:700;color:#dca060}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#31a354}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#80b1d3}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#3182bd}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#756bb1}.hljs-emphasis{color:#756bb1;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#b15928}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/bright.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/bright.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#e0e0e0;background:#000}.hljs ::selection{color:#505050}.hljs-comment{color:#b0b0b0}.hljs-tag{color:#d0d0d0}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#e0e0e0}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#fb0120}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#fc6d24}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#fda331}.hljs-strong{font-weight:700;color:#fda331}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#a1c659}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#76c7b7}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#6fb3d2}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#d381c3}.hljs-emphasis{color:#d381c3;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#be643c}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/brogrammer.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/brogrammer.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#4e5ab7;background:#1f1f1f}.hljs ::selection{color:#2dc55e}.hljs-comment{color:#ecba0f}.hljs-tag{color:#2a84d2}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#4e5ab7}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#d6dbe5}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#de352e}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#1dd361}.hljs-strong{font-weight:700;color:#1dd361}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#f3bd09}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#1081d6}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#5350b9}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#0f7ddb}.hljs-emphasis{color:#0f7ddb;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#fff}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/brush-trees-dark.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/brush-trees-dark.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#b0c5c8;background:#485867}.hljs ::selection{color:#6d828e}.hljs-comment{color:#8299a1}.hljs-tag{color:#98afb5}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#b0c5c8}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#b38686}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#d8bba2}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#aab386}.hljs-strong{font-weight:700;color:#aab386}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#87b386}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#86b3b3}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#868cb3}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#b386b2}.hljs-emphasis{color:#b386b2;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#b39f9f}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/brush-trees.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/brush-trees.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#6d828e;background:#e3efef}.hljs ::selection{color:#b0c5c8}.hljs-comment{color:#98afb5}.hljs-tag{color:#8299a1}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#6d828e}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#b38686}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#d8bba2}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#aab386}.hljs-strong{font-weight:700;color:#aab386}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#87b386}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#86b3b3}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#868cb3}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#b386b2}.hljs-emphasis{color:#b386b2;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#b39f9f}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/chalk.min.css
vendored
Executable file
1
app/MindWork AI Studio/wwwroot/system/MudBlazor.Markdown/code-styles/base16/chalk.min.css
vendored
Executable file
@ -0,0 +1 @@
|
||||
code.hljs{padding:3px 5px}.hljs{color:#d0d0d0;background:#151515}.hljs ::selection{color:#303030}.hljs-comment{color:#505050}.hljs-tag{color:#b0b0b0}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#d0d0d0}.hljs-operator{opacity:.7}.hljs-bullet,.hljs-deletion,.hljs-name,.hljs-selector-tag,.hljs-template-variable,.hljs-variable{color:#fb9fb1}.hljs-attr,.hljs-link,.hljs-literal,.hljs-number,.hljs-symbol,.hljs-variable.constant_{color:#eda987}.hljs-class .hljs-title,.hljs-title,.hljs-title.class_{color:#ddb26f}.hljs-strong{font-weight:700;color:#ddb26f}.hljs-addition,.hljs-code,.hljs-string,.hljs-title.class_.inherited__{color:#acc267}.hljs-built_in,.hljs-doctag,.hljs-keyword.hljs-atrule,.hljs-quote,.hljs-regexp{color:#12cfc0}.hljs-attribute,.hljs-function .hljs-title,.hljs-section,.hljs-title.function_,.ruby .hljs-property{color:#6fc2ef}.diff .hljs-meta,.hljs-keyword,.hljs-template-tag,.hljs-type{color:#e1a3ee}.hljs-emphasis{color:#e1a3ee;font-style:italic}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-meta .hljs-string{color:#deaf8f}.hljs-meta .hljs-keyword,.hljs-meta-keyword{font-weight:700}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user