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

Added a .NET 9 target.