mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-11 09:49:06 +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">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="AI Studio" type="DotNetProject" factoryName=".NET Project">
|
<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="PROGRAM_PARAMETERS" value="" />
|
||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/MindWork AI Studio" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/MindWork AI Studio" />
|
||||||
<option name="PASS_PARENT_ENVS" value="1" />
|
<option name="PASS_PARENT_ENVS" value="1" />
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
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}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MindWork AI Studio", "MindWork AI Studio\MindWork AI Studio.csproj", "{059FDFCC-7D0B-474E-9F20-B9C437DF1CDD}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MudBlazor.Markdown", "..\MudBlazor.Markdown\MudBlazor.Markdown.csproj", "{9402C391-AFEE-431B-BDD4-107890772036}"
|
|
||||||
EndProject
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
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}.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.ActiveCfg = Release|Any CPU
|
||||||
{059FDFCC-7D0B-474E-9F20-B9C437DF1CDD}.Release|Any CPU.Build.0 = 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
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
@ -34,10 +34,19 @@
|
|||||||
<MudSkeleton Width="100%"/>
|
<MudSkeleton Width="100%"/>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
@if (this.Content.IsStreaming)
|
||||||
|
{
|
||||||
|
<MudText Typo="Typo.body1" Style="white-space: pre-wrap;">
|
||||||
|
@textContent.Text
|
||||||
|
</MudText>
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
<MudMarkdown Value="@textContent.Text"/>
|
<MudMarkdown Value="@textContent.Text"/>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -10,16 +10,17 @@
|
|||||||
|
|
||||||
<link rel="icon" type="image/png" href="favicon.png"/>
|
<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="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="system/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
|
||||||
<link href="_content/MudBlazor.Markdown/MudBlazor.Markdown.min.css" rel="stylesheet" />
|
<link href="system/MudBlazor.Markdown/MudBlazor.Markdown.min.css" rel="stylesheet" />
|
||||||
|
<link href="app.css" rel="stylesheet" />
|
||||||
<HeadOutlet/>
|
<HeadOutlet/>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<Routes @rendermode="new InteractiveServerRenderMode(prerender: false)"/>
|
<Routes @rendermode="new InteractiveServerRenderMode(prerender: false)"/>
|
||||||
<script src="_framework/blazor.web.js"></script>
|
<script src="_framework/blazor.web.js"></script>
|
||||||
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
|
<script src="system/MudBlazor/MudBlazor.min.js"></script>
|
||||||
<script src="_content/MudBlazor.Markdown/MudBlazor.Markdown.min.js"></script>
|
<script src="system/MudBlazor.Markdown/MudBlazor.Markdown.min.js"></script>
|
||||||
<script src="app.js"></script>
|
<script src="app.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
</MudDrawerContainer>
|
</MudDrawerContainer>
|
||||||
|
|
||||||
<MudMainContent Class="mud-height-full pt-1">
|
<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
|
@this.Body
|
||||||
</MudContainer>
|
</MudContainer>
|
||||||
</MudMainContent>
|
</MudMainContent>
|
||||||
|
@ -102,7 +102,7 @@ public partial class Chat : ComponentBase
|
|||||||
// Use the selected provider to get the AI response.
|
// Use the selected provider to get the AI response.
|
||||||
// By awaiting this line, we wait for the entire
|
// By awaiting this line, we wait for the entire
|
||||||
// content to be streamed.
|
// 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:
|
// Disable the stream state:
|
||||||
this.isStreaming = false;
|
this.isStreaming = false;
|
||||||
|
@ -7,17 +7,36 @@
|
|||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<RootNamespace>AIStudio</RootNamespace>
|
<RootNamespace>AIStudio</RootNamespace>
|
||||||
<AssemblyName>mindworkAIStudio</AssemblyName>
|
<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>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<!-- Remove launchSettings.json from the project -->
|
||||||
<None Remove="Properties\launchSettings.json" />
|
<None Remove="Properties\launchSettings.json" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="MudBlazor" Version="6.19.1" />
|
<!-- Embed all files in wwwroot folder -->
|
||||||
|
<EmbeddedResource Include="wwwroot\**" CopyToOutputDirectory="PreserveNewest" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<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>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
|
||||||
using AIStudio;
|
using AIStudio;
|
||||||
using AIStudio.Components;
|
using AIStudio.Components;
|
||||||
using AIStudio.Settings;
|
using AIStudio.Settings;
|
||||||
using AIStudio.Tools;
|
using AIStudio.Tools;
|
||||||
|
|
||||||
|
using Microsoft.Extensions.FileProviders;
|
||||||
|
|
||||||
using MudBlazor;
|
using MudBlazor;
|
||||||
using MudBlazor.Services;
|
using MudBlazor.Services;
|
||||||
|
|
||||||
var builder = WebApplication.CreateBuilder(args);
|
var builder = WebApplication.CreateBuilder();
|
||||||
builder.Services.AddMudServices(config =>
|
builder.Services.AddMudServices(config =>
|
||||||
{
|
{
|
||||||
config.SnackbarConfiguration.PositionClass = Defaults.Classes.Position.BottomLeft;
|
config.SnackbarConfiguration.PositionClass = Defaults.Classes.Position.BottomLeft;
|
||||||
@ -31,15 +35,36 @@ builder.Services.AddRazorComponents()
|
|||||||
x.MaximumReceiveMessageSize = null;
|
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.UseWebRoot("wwwroot");
|
||||||
builder.WebHost.UseStaticWebAssets();
|
builder.WebHost.UseStaticWebAssets();
|
||||||
builder.WebHost.UseUrls("http://localhost:5000");
|
#endif
|
||||||
|
|
||||||
var app = builder.Build();
|
var app = builder.Build();
|
||||||
|
app.Use(Redirect.HandlerContentAsync);
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
app.UseStaticFiles();
|
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.UseAntiforgery();
|
||||||
app.MapRazorComponents<App>()
|
app.MapRazorComponents<App>()
|
||||||
.AddInteractiveServerRenderMode();
|
.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