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 104 12/5/2024
1.0.253 191 8/18/2024
1.0.252 126 8/18/2024
1.0.251 128 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 126 8/15/2024
1.0.246 115 8/15/2024
1.0.245 128 8/14/2024
1.0.244 116 8/14/2024
1.0.243 143 8/13/2024
1.0.242 125 8/13/2024
1.0.241 117 8/13/2024
1.0.240 129 8/13/2024
1.0.239 86 8/4/2024
1.0.238 89 8/4/2024
1.0.237 80 8/3/2024
1.0.236 83 8/3/2024
1.0.235 82 8/3/2024
1.0.234 83 8/2/2024
1.0.233 97 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 85 7/31/2024
1.0.228 73 7/31/2024
1.0.227 75 7/31/2024
1.0.226 79 7/30/2024
1.0.225 74 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 76 7/29/2024
1.0.218 68 7/29/2024
1.0.217 76 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 80 7/26/2024
1.0.211 85 7/26/2024
1.0.210 86 7/26/2024
1.0.209 83 7/26/2024
1.0.208 78 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 68 7/25/2024
1.0.203 84 7/25/2024
1.0.202 78 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 84 7/24/2024
1.0.197 80 7/24/2024
1.0.196 76 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 97 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 113 7/22/2024
1.0.182 110 7/21/2024
1.0.181 109 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 110 7/21/2024
1.0.176 113 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 108 7/19/2024
1.0.171 110 7/19/2024
1.0.170 110 7/19/2024
1.0.169 118 7/18/2024
1.0.168 105 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 102 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 86 7/17/2024
1.0.157 99 7/17/2024
1.0.156 135 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 108 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 104 7/13/2024
1.0.144 116 7/13/2024
1.0.143 108 7/13/2024
1.0.142 109 7/13/2024
1.0.141 103 7/13/2024
1.0.140 102 7/13/2024
1.0.139 101 7/13/2024
1.0.138 104 7/12/2024
1.0.137 101 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 98 7/7/2024
1.0.127 101 7/7/2024
1.0.126 111 7/7/2024
1.0.125 101 7/6/2024
1.0.124 105 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 95 7/5/2024
1.0.113 113 7/5/2024
1.0.112 101 7/5/2024
1.0.111 116 7/4/2024
1.0.110 126 7/4/2024
1.0.109 106 7/4/2024
1.0.108 104 7/4/2024
1.0.107 119 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 108 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 109 7/3/2024
1.0.98 118 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 98 7/3/2024
1.0.93 138 7/3/2024
1.0.92 108 7/3/2024
1.0.91 125 7/3/2024
1.0.90 109 7/2/2024
1.0.89 114 7/2/2024
1.0.88 113 7/2/2024
1.0.87 102 7/2/2024
1.0.86 106 7/2/2024
1.0.85 107 7/2/2024
1.0.84 112 7/2/2024
1.0.83 117 7/2/2024
1.0.82 116 7/2/2024
1.0.81 110 7/1/2024
1.0.80 113 7/1/2024
1.0.79 106 7/1/2024
1.0.78 118 6/30/2024
1.0.77 113 6/30/2024
1.0.76 113 6/30/2024
1.0.75 135 6/30/2024
1.0.74 127 6/28/2024
1.0.73 113 6/28/2024
1.0.72 108 6/28/2024
1.0.71 115 6/28/2024
1.0.70 105 6/27/2024
1.0.69 105 6/26/2024
1.0.68 113 6/26/2024
1.0.67 119 6/22/2024
1.0.66 121 6/22/2024
1.0.65 121 6/21/2024
1.0.64 120 6/20/2024
1.0.63 113 6/19/2024
1.0.62 112 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 102 6/17/2024
1.0.55 103 6/17/2024
1.0.54 104 6/17/2024
1.0.53 108 6/17/2024
1.0.52 101 6/17/2024
1.0.51 110 6/17/2024
1.0.50 111 6/17/2024
1.0.49 104 6/17/2024
1.0.48 109 6/17/2024
1.0.47 110 6/17/2024
1.0.46 106 6/16/2024
1.0.45 100 6/16/2024
1.0.44 116 6/16/2024
1.0.43 109 6/16/2024
1.0.42 108 6/16/2024
1.0.41 113 6/16/2024
1.0.40 113 6/16/2024
1.0.39 119 6/16/2024
1.0.38 147 6/16/2024
1.0.37 127 6/16/2024
1.0.36 115 6/14/2024
1.0.35 103 6/13/2024
1.0.34 110 6/13/2024
1.0.33 104 6/13/2024
1.0.32 102 6/13/2024
1.0.31 103 6/12/2024
1.0.30 104 6/12/2024
1.0.29 105 6/12/2024
1.0.28 103 6/11/2024
1.0.27 105 6/11/2024
1.0.26 104 6/10/2024
1.0.25 100 6/10/2024
1.0.24 104 6/10/2024
1.0.23 108 6/10/2024
1.0.22 113 6/10/2024
1.0.21 110 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 108 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.