RTBlazorfied 1.0.253

dotnet add package RTBlazorfied --version 1.0.253                
NuGet\Install-Package RTBlazorfied -Version 1.0.253                
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.253" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RTBlazorfied --version 1.0.253                
#r "nuget: RTBlazorfied, 1.0.253"                
#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.253

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

RT Blazorfied

Author: Ryan Kueter
Updated: August, 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

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

Add the ability to remove the resize handle and other minor fixes.