Component

BOBCodeBlock

Syntax-highlighted code with a title, language label, and one-click copy. Auto-dedents, auto-formats.

API reference ↗

Basic usage

CSHARP
var name = "BlazOrbit";
Console.WriteLine($"Hello {name}!");
RAZOR
<BOBCodeBlock Language="SyntaxHighlightLanguage.CSharp"
              Code="@("var name = \"BlazOrbit\";\nConsole.WriteLine($\"Hello {name}!\");")" />

Languages

Pick from any SyntaxHighlightLanguage — CSharp, Razor, TypeScript, Css, Json.

RAZOR
<BOBButton Text="Save" />
CSS
.bob-demo { color: var(--palette-primary); }
JSON
{ "name": "BlazOrbit", "version": "1.0.0" }
RAZOR
<BOBCodeBlock Language="SyntaxHighlightLanguage.Razor" Code="@("<BOBButton Text=\"Save\" />")" />
<BOBCodeBlock Language="SyntaxHighlightLanguage.Css" Code="@(".bob-demo { color: var(--palette-primary); }")" />
<BOBCodeBlock Language="SyntaxHighlightLanguage.Json" Code="@("{\n  \"name\": \"BlazOrbit\",\n  \"version\": \"1.0.0\"\n}")" />

Custom title

Set Title to override the language badge with a filename or custom label.

Program.cs
builder.Services.AddBlazOrbit();
await builder.Build().RunAsync();
RAZOR
<BOBCodeBlock Title="Program.cs"
              Language="SyntaxHighlightLanguage.CSharp"
              Code="@("builder.Services.AddBlazOrbit();\nawait builder.Build().RunAsync();")" />

Sizes

RAZOR
<BOBButton Text="Small" />
RAZOR
<BOBButton Text="Medium" />
RAZOR
<BOBButton Text="Large" />
RAZOR
<BOBCodeBlock Size="BOBSize.Small" Language="SyntaxHighlightLanguage.Razor" Code='@("<BOBButton Text=\"Small\" />")' />
<BOBCodeBlock Size="BOBSize.Medium" Language="SyntaxHighlightLanguage.Razor" Code='@("<BOBButton Text=\"Medium\" />")' />
<BOBCodeBlock Size="BOBSize.Large" Language="SyntaxHighlightLanguage.Razor" Code='@("<BOBButton Text=\"Large\" />")' />

Border

CSHARP
// Rounded large
CSHARP
// Primary border
CSHARP
// Dotted border
RAZOR
<BOBCodeBlock Language="SyntaxHighlightLanguage.CSharp"
              Code="@("// Rounded large")"
              Border="@BOBBorderPresets.RoundedLarge" />
<BOBCodeBlock Language="SyntaxHighlightLanguage.CSharp"
              Code="@("// Primary border")"
              Border="@BOBBorderPresets.Primary" />
<BOBCodeBlock Language="SyntaxHighlightLanguage.CSharp"
              Code="@("// Dotted border")"
              Border="@BOBBorderPresets.Dotted" />

Properties

6 rows.
PropertyTypeDefaultDescription
Codestringstring.EmptySource code to render and highlight. Required.
LanguageSyntaxHighlightLanguageSyntaxHighlightLanguage.CSharpLanguage.
Titlestring?Tooltip text displayed on hover.
SizeBOBSizeBOBSize.MediumVisual size of the code block.
BorderBorderStyle?Border style applied to the code block edge.
BackgroundColorstring?Background color of the code block. Accepts any valid CSS color value.