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.
<PackageVersion Include="RTBlazorfied" Version="1.0.254" />
                    
Directory.Packages.props
<PackageReference Include="RTBlazorfied" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version 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.
#addin nuget:?package=RTBlazorfied&version=1.0.254
                    
Install RTBlazorfied as a Cake Addin
#tool nuget:?package=RTBlazorfied&version=1.0.254
                    
Install RTBlazorfied as a Cake Tool

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

Added a .NET 9 target.