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

Added a .NET 9 target.