RTBlazorfied 1.0.254

dotnet add package RTBlazorfied --version 1.0.254                
NuGet\Install-Package RTBlazorfied -Version 1.0.254                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RTBlazorfied" Version="1.0.254" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RTBlazorfied --version 1.0.254                
#r "nuget: RTBlazorfied, 1.0.254"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install RTBlazorfied as a Cake Addin
#addin nuget:?package=RTBlazorfied&version=1.0.254

// Install RTBlazorfied as a Cake Tool
#tool nuget:?package=RTBlazorfied&version=1.0.254                

RT Blazorfied

Author: Ryan Kueter
Updated: December, 2024

About

RT Blazorfied HTML Editor is a free .NET library available from the NuGet Package Manager that allows Blazor developers to easily add a rich text box / html editor to their Blazor application. The editor uses Google's Font Icons. It doesn't reference the icon library. However, it does embed .svg versions of those icons so they are customizable. It also uses the shadow DOM to isolate the HTML from inheriting the existing page styles. Because of that, it provides a preview window for the user to view the live page if the style sheets are applied to the host application. Users are also able to add CSS classes to many components allowing them to customize their appearance.

Targets:

  • .NET 8 - .NET 9

Features:

  • Shortcut Keys
  • Button Visibility
  • Copy and Taste Content and Tables
  • Highly Customized Appearance
  • Lists
  • Links
  • Tables
  • Colors and Highlighting
  • Images
  • Video
  • Audio
  • PDF Documents
  • HTML Pages
  • Code Blocks
  • Block Quotes

Adding the HTML Editor

Add the JavaScript Reference

Add the following reference to the end of your index.html file:

<script src="_content/RTBlazorfied/js/RTBlazorfied.js"></script>

Add the Element

In this example, the @Html is the html string. This height and width will override those specified in the configuration options.

@using RichTextBlazorfied

<RTBlazorfied @ref="box" @bind-Value="@Html" Height="500px" Width="1000px" />

The element reference provides another way to get the html or plaintext:

private RTBlazorfied? box { get; set; }

private async Task<string?> GetHtml() =>
        await box!.GetHtmlAsync();

private async Task<string?> GetPlainText() =>
        await box!.GetPlainTextAsync();

Configure the Options

RTBlazorfied was designed to allow developers to highly customize the appearance of the rich textbox with the following configuration options:

<RTBlazorfied @bind-Value="@Html" Options="@GetOptions()" />

CSS variables, e.g., var(--my-variable) are interchangeable with these styles. And omitting the ButtonVisibility options will display all the buttons.

public Action<IRTBlazorfiedOptions> GetOptions() => (o =>
{
    o.ToolbarStyles(o =>
    {
        o.BackgroundColor = "#00FF00";
        o.BorderColor = "var(--border-color)";
        o.BorderWidth = "1px";
        o.BorderStyle = "solid";
        o.BorderRadius = "10px 0px";
        o.DropdownBackgroundColor = "var(--background-color)";
        o.DropdownTextColor = "#FFFFFF";
        o.DropdownBackgroundColorHover = "#777777";
        o.DropdownTextColorHover = "#FFFFAA";
    });
    o.ModalStyles(o =>
    {
        o.RemoveCSSClassInputs();
        o.BackgroundColor = "#333333";
        o.TextColor = "#FFFFAA";
        o.TextSize = "20px";
        o.TextFont = "Comic Sans MS";
        o.TextboxBackgroundColor = "#333333"; // Texbox refers to inputs
        o.TextboxTextColor = "#FFFFAA";
        o.TextboxBorderColor = "#FFFFAA";
        o.CheckboxAccentColor = "#FFFFAA";
    });
    o.ButtonStyles(o =>
    {
        o.TextColor = "#ff0000";
        o.TextSize = "30px";
        o.TextFont = "Comic Sans MS";
        o.BackgroundColor = "#0000FF";
        o.BackgroundColorHover = "inherit";
        o.BackgroundColorSelected = "inherit";
        o.BorderColor = "#FFF000";
        o.BorderColorHover = "#FF0000";
        o.BorderColorSelected = "#0000FF";
        o.BorderStyle = "solid";
        o.BorderRadius = "0px";
        o.BorderWidth = "1px";
    });
    o.EditorStyles(o =>
    {
        o.RemoveResizeHandle();
        o.Width = "500px";
        o.Height = "700px";
        o.BorderRadius = "10px";
        o.BoxShadow = "3px 3px 5px 6px #ccc";
        o.BorderStyle = "dotted";
        o.BorderWidth = "10px";
        o.BorderColor = "#FF0000";
    });
    o.ContentStyles(o =>
    {
        o.ContentBoxShadow = "inset 0 0 7px #eee";
        o.BackgroundColor = "#FFFF99";
        o.TextColor = "#FFFFAA";
        o.TextSize = "30px";
        o.TextFont = "Comic Sans MS";
    });
    o.ScrollbarStyles(o =>
    {
        o.Width = "5px";
        o.Opacity = "0.5";
        o.ThumbBackground = "#0000FF";
        o.ThumbBackgroundHover = "#00FFFF";
        o.BackgroundColor = "transparent";
        o.ThumbBorderRadius = "10px";
    });
    o.ButtonVisibility(o =>
    {
        o.ClearAll();
        o.Size = true;
        o.Font = true;
        o.Format = true;
        o.Bold = true;
        o.Italic = true;
        o.Underline = true;
        o.Strikethrough = true;
        o.Subscript = true;
        o.Superscript = true;
        o.TextColor = true;
        o.AlignLeft = true;
        o.AlignCenter = true;
        o.AlignRight = true;
        o.AlignJustify = true;
        o.Copy = true;
        o.Cut = true;
        o.Delete = true;
        o.SelectAll = true;
        o.Image = true;
        o.Link = true;
        o.OrderedList = true;
        o.UnorderedList = true;
        o.Indent = true;
        o.Undo = true;
        o.Redo = true;
        o.Quote = true;
        o.CodeBlock = true;
        o.EmbedMedia = true;
        o.ImageUpload = true;
        o.HtmlView = true;
        o.Preview = true;

        // Dividers
        o.TextStylesDivider = false;
        o.FormatDivider = false;
        o.TextColorDivider = false;
        o.AlignDivider = false;
        o.ActionDivider = false;
        o.ListDivider = false;
        o.MediaDivider = false;
        o.HistoryDivider = false;
    });
});

Shortcut Keys

Bold: Ctrl + B
Italic: Ctrl + I
Underline: Ctrl + U
Strikethrough: Ctrl + D
Subscript: Ctrl + =
Superscript: Ctrl + Shift + [+]
Text Color: Ctrl + Shift + C
Text Background Color: Ctrl + shift + B
Align Left: Ctrl + L
Align Center: Ctrl + E
Align Right: Ctrl + R
Align Justify: Ctrl + J
Cut: Ctrl + X
Copy: Ctrl + C
Paste: Ctrl + V
Select All: Ctrl + A
Ordered List: Ctrl + Shift + O
Unordered List: Ctrl + Shift + U
Increase Indent: Tab
Decrease Indent: Shift + Tab
Insert Link: Ctrl + Shift + K
Insert Image: Ctrl + Shift + I
Insert Quote: Ctrl + Shift + Q
Insert Media: Ctrl + Shift + M
Insert Table: Ctrl + Shift + L
Insert Code Block: Ctrl + Shift + [*]
Undo: Ctrl + Z
Redo: Ctrl + Y
Format: Ctrl + Shift + [D, P, 1, 2, 3, and so on]
Size: Ctrl + Shift + [<, >]
Toggle Code and HTML: Ctrl + Shift + A

Contributions

This project is being developed for free by me, Ryan Kueter, in my spare time. So, if you would like to contribute, please submit your ideas on the Github project page.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.254 92 12/5/2024
1.0.253 191 8/18/2024
1.0.252 126 8/18/2024
1.0.251 126 8/18/2024
1.0.250 122 8/18/2024
1.0.249 137 8/18/2024
1.0.248 121 8/18/2024
1.0.247 126 8/15/2024
1.0.246 113 8/15/2024
1.0.245 124 8/14/2024
1.0.244 112 8/14/2024
1.0.243 141 8/13/2024
1.0.242 125 8/13/2024
1.0.241 117 8/13/2024
1.0.240 126 8/13/2024
1.0.239 86 8/4/2024
1.0.238 89 8/4/2024
1.0.237 78 8/3/2024
1.0.236 83 8/3/2024
1.0.235 80 8/3/2024
1.0.234 83 8/2/2024
1.0.233 95 8/2/2024
1.0.232 83 8/1/2024
1.0.231 93 8/1/2024
1.0.230 85 8/1/2024
1.0.229 83 7/31/2024
1.0.228 73 7/31/2024
1.0.227 73 7/31/2024
1.0.226 79 7/30/2024
1.0.225 74 7/30/2024
1.0.224 71 7/30/2024
1.0.223 59 7/29/2024
1.0.222 62 7/29/2024
1.0.221 57 7/29/2024
1.0.220 71 7/29/2024
1.0.219 76 7/29/2024
1.0.218 68 7/29/2024
1.0.217 74 7/28/2024
1.0.215 72 7/28/2024
1.0.214 69 7/28/2024
1.0.213 77 7/27/2024
1.0.212 78 7/26/2024
1.0.211 85 7/26/2024
1.0.210 84 7/26/2024
1.0.209 81 7/26/2024
1.0.208 76 7/26/2024
1.0.207 82 7/25/2024
1.0.206 78 7/25/2024
1.0.205 75 7/25/2024
1.0.204 66 7/25/2024
1.0.203 84 7/25/2024
1.0.202 76 7/25/2024
1.0.201 80 7/25/2024
1.0.200 81 7/25/2024
1.0.199 83 7/25/2024
1.0.198 82 7/24/2024
1.0.197 80 7/24/2024
1.0.196 76 7/24/2024
1.0.195 70 7/24/2024
1.0.194 82 7/24/2024
1.0.192 64 7/24/2024
1.0.191 96 7/23/2024
1.0.190 102 7/23/2024
1.0.189 103 7/23/2024
1.0.188 95 7/23/2024
1.0.187 89 7/23/2024
1.0.186 95 7/23/2024
1.0.185 96 7/22/2024
1.0.184 99 7/22/2024
1.0.183 111 7/22/2024
1.0.182 108 7/21/2024
1.0.181 107 7/21/2024
1.0.180 115 7/21/2024
1.0.179 119 7/21/2024
1.0.178 103 7/21/2024
1.0.177 109 7/21/2024
1.0.176 113 7/21/2024
1.0.175 126 7/21/2024
1.0.174 123 7/20/2024
1.0.173 119 7/20/2024
1.0.172 107 7/19/2024
1.0.171 109 7/19/2024
1.0.170 107 7/19/2024
1.0.169 117 7/18/2024
1.0.168 104 7/18/2024
1.0.167 95 7/18/2024
1.0.166 122 7/18/2024
1.0.165 104 7/18/2024
1.0.164 101 7/18/2024
1.0.163 110 7/18/2024
1.0.162 101 7/17/2024
1.0.161 114 7/17/2024
1.0.160 112 7/17/2024
1.0.159 106 7/17/2024
1.0.158 83 7/17/2024
1.0.157 98 7/17/2024
1.0.156 117 7/16/2024
1.0.155 99 7/16/2024
1.0.154 103 7/16/2024
1.0.153 99 7/16/2024
1.0.152 91 7/16/2024
1.0.151 102 7/16/2024
1.0.150 105 7/16/2024
1.0.149 107 7/15/2024
1.0.148 101 7/14/2024
1.0.147 103 7/14/2024
1.0.146 105 7/13/2024
1.0.145 101 7/13/2024
1.0.144 115 7/13/2024
1.0.143 107 7/13/2024
1.0.142 106 7/13/2024
1.0.141 102 7/13/2024
1.0.140 101 7/13/2024
1.0.139 100 7/13/2024
1.0.138 101 7/12/2024
1.0.137 98 7/11/2024
1.0.136 103 7/11/2024
1.0.135 109 7/11/2024
1.0.134 99 7/11/2024
1.0.133 100 7/10/2024
1.0.131 104 7/9/2024
1.0.130 106 7/7/2024
1.0.129 109 7/7/2024
1.0.128 97 7/7/2024
1.0.127 100 7/7/2024
1.0.126 110 7/7/2024
1.0.125 100 7/6/2024
1.0.124 104 7/6/2024
1.0.123 111 7/5/2024
1.0.122 106 7/5/2024
1.0.121 103 7/5/2024
1.0.120 98 7/5/2024
1.0.119 109 7/5/2024
1.0.118 105 7/5/2024
1.0.117 97 7/5/2024
1.0.116 107 7/5/2024
1.0.115 97 7/5/2024
1.0.114 94 7/5/2024
1.0.113 110 7/5/2024
1.0.112 100 7/5/2024
1.0.111 115 7/4/2024
1.0.110 125 7/4/2024
1.0.109 103 7/4/2024
1.0.108 103 7/4/2024
1.0.107 118 7/4/2024
1.0.106 113 7/4/2024
1.0.105 110 7/4/2024
1.0.104 113 7/4/2024
1.0.103 105 7/4/2024
1.0.102 103 7/4/2024
1.0.101 102 7/4/2024
1.0.100 109 7/3/2024
1.0.99 106 7/3/2024
1.0.98 117 7/3/2024
1.0.97 97 7/3/2024
1.0.96 111 7/3/2024
1.0.95 101 7/3/2024
1.0.94 95 7/3/2024
1.0.93 137 7/3/2024
1.0.92 107 7/3/2024
1.0.91 121 7/3/2024
1.0.90 108 7/2/2024
1.0.89 113 7/2/2024
1.0.88 112 7/2/2024
1.0.87 101 7/2/2024
1.0.86 105 7/2/2024
1.0.85 104 7/2/2024
1.0.84 109 7/2/2024
1.0.83 116 7/2/2024
1.0.82 115 7/2/2024
1.0.81 109 7/1/2024
1.0.80 112 7/1/2024
1.0.79 105 7/1/2024
1.0.78 117 6/30/2024
1.0.77 112 6/30/2024
1.0.76 112 6/30/2024
1.0.75 130 6/30/2024
1.0.74 126 6/28/2024
1.0.73 110 6/28/2024
1.0.72 105 6/28/2024
1.0.71 112 6/28/2024
1.0.70 102 6/27/2024
1.0.69 104 6/26/2024
1.0.68 110 6/26/2024
1.0.67 118 6/22/2024
1.0.66 118 6/22/2024
1.0.65 120 6/21/2024
1.0.64 117 6/20/2024
1.0.63 110 6/19/2024
1.0.62 111 6/19/2024
1.0.61 123 6/19/2024
1.0.60 117 6/18/2024
1.0.59 107 6/17/2024
1.0.58 100 6/17/2024
1.0.57 106 6/17/2024
1.0.56 99 6/17/2024
1.0.55 102 6/17/2024
1.0.54 103 6/17/2024
1.0.53 107 6/17/2024
1.0.52 98 6/17/2024
1.0.51 109 6/17/2024
1.0.50 108 6/17/2024
1.0.49 103 6/17/2024
1.0.48 108 6/17/2024
1.0.47 107 6/17/2024
1.0.46 105 6/16/2024
1.0.45 99 6/16/2024
1.0.44 115 6/16/2024
1.0.43 108 6/16/2024
1.0.42 107 6/16/2024
1.0.41 110 6/16/2024
1.0.40 109 6/16/2024
1.0.39 116 6/16/2024
1.0.38 146 6/16/2024
1.0.37 124 6/16/2024
1.0.36 114 6/14/2024
1.0.35 100 6/13/2024
1.0.34 109 6/13/2024
1.0.33 101 6/13/2024
1.0.32 101 6/13/2024
1.0.31 100 6/12/2024
1.0.30 101 6/12/2024
1.0.29 104 6/12/2024
1.0.28 100 6/11/2024
1.0.27 104 6/11/2024
1.0.26 101 6/10/2024
1.0.25 97 6/10/2024
1.0.24 101 6/10/2024
1.0.23 105 6/10/2024
1.0.22 112 6/10/2024
1.0.21 109 6/8/2024
1.0.20 116 6/8/2024
1.0.19 113 6/8/2024
1.0.18 117 6/8/2024
1.0.17 112 6/8/2024
1.0.16 105 6/7/2024
1.0.15 108 6/7/2024
1.0.14 115 6/7/2024
1.0.13 107 6/7/2024
1.0.12 107 6/7/2024
1.0.11 108 6/7/2024
1.0.9 117 6/6/2024
1.0.8 124 6/6/2024
1.0.7 111 6/6/2024
1.0.6 107 6/6/2024
1.0.5 118 6/6/2024
1.0.4 115 6/6/2024
1.0.3 118 6/6/2024
1.0.2 112 6/6/2024
1.0.1 115 6/6/2024

Added a .NET 9 target.