From 0d0c7ebfe48a643eff0a7b3b4205abe240a7765e Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Mon, 16 Jun 2025 16:51:46 +0300 Subject: [PATCH 1/2] docs(Editor): Improve schema overview --- components/editor/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/editor/overview.md b/components/editor/overview.md index dab5623375..dfd07c5433 100644 --- a/components/editor/overview.md +++ b/components/editor/overview.md @@ -56,7 +56,7 @@ The Blazor HTML Editor has a `Value` parameter, similar to other input component An empty string is a valid initial Editor `Value`, but after the user interacts with the component, the minimal component `Value` is at least an empty element (usually `"

"`). Note that [the Editor and the browser treat empty paragraphs differently](slug:editor-kb-missing-br-tags-in-value). -The Editor manages its content and `Value` depending on a [customizable schema](#prosemirror-schema-and-plugins), which defines the allowed HTML tags and attributes. The component strips all other tags and attributes for compliance and security reasons. +The Editor manages its content and `Value` depending on a [customizable schema](#prosemirror-schema-and-plugins). The component strips all other tags and attributes for compliance and security reasons. ## Security @@ -90,7 +90,7 @@ The Telerik UI for [Blazor Editor](https://www.telerik.com/blazor-ui/editor) use ## ProseMirror Schema and Plugins -The Editor uses a built-in ProseMirror Schema containing some of the most common HTML tags and a set of predefined ProseMirror Plugins for its basic functionalities. You can customize the default ProseMirror [Schema](slug:editor-prosemirror-schema-overview) and [Plugins](slug:editor-prosemirror-plugins) to achieve the desired functionality in the Editor for Blazor. +The Editor uses a built-in [ProseMirror Schema](https://prosemirror.net/docs/guide/#schema) that includes most of the common HTML tags and a set of predefined [ProseMirror Plugins](https://prosemirror.net/docs/ref/#state.Plugin_System) for its basic functionalities. Find out how to customize the default ProseMirror [Schema](slug:editor-prosemirror-schema-overview) and [Plugins](slug:editor-prosemirror-plugins) to achieve the desired functionality in the Editor for Blazor. ## Editor Parameters From 3c62c918761d83c22e19a1395a21bdfd4c8cda61 Mon Sep 17 00:00:00 2001 From: Dimo Dimov <961014+dimodi@users.noreply.github.com> Date: Mon, 16 Jun 2025 17:03:31 +0300 Subject: [PATCH 2/2] Update overview.md --- .../editor/prosemirror-schema/overview.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/components/editor/prosemirror-schema/overview.md b/components/editor/prosemirror-schema/overview.md index e1f61d5a7e..4402551f6a 100644 --- a/components/editor/prosemirror-schema/overview.md +++ b/components/editor/prosemirror-schema/overview.md @@ -10,17 +10,24 @@ position: 0 # ProseMirror Schema Overview -The Telerik UI for Blazor Editor component is based on the ProseMirror library. ProseMirror provides a set of tools and concepts for building rich textual editors, using user interface inspired by the What-You-See-Is-What-You-Get (WYSIWYG). +The Telerik UI for Blazor Editor component is based on the [ProseMirror library](https://prosemirror.net/). ProseMirror provides a set of tools and concepts for building rich textual editors, using user interface inspired by the What-You-See-Is-What-You-Get (WYSIWYG). ## Schema Concept -ProseMirror defines its own data structure, the `Node`, to represent content documents. The ProseMirror document is a tree-like structure comprised of nodes. A document is an instance of `Node` with children that are also instances of `Node`. +ProseMirror defines its own data structure, the [`Node`](https://prosemirror.net/docs/ref/#model.Node), to represent content documents. The [ProseMirror document](https://prosemirror.net/docs/guide/#doc) is a tree-like structure comprised of nodes. A document is an instance of `Node` with children that are also instances of `Node`. -Each ProseMirror `document` conforms to a specific schema. Document schemas allow you to edit documents with a custom structure without writing your own editor from scratch. +Each ProseMirror `document` conforms to a specific [schema](https://prosemirror.net/docs/guide/#schema). Document schemas allow you to edit documents with a custom structure without writing your own editor from scratch. -The schema describes all nodes that may occur in the document, the way they are nested, and any marks applied to them. A mark is a piece of information that can be attached to a node. For example, emphasized text, text in code block or a link. It has a type and optionally a set of attributes that provide further information (such as the target of the link). +The Prosemirror schema describes: -For more details, refer to the ProseMirror schema guide. +* All HTML elements and attributes that may occur in the document. +* What tag nesting is allowed. +* What is the order or the HTML attributes. +* What marks can be applied to a HTML node. A mark is a piece of information that can be attached to a node. For example, emphasized text, text in code block or a link. It has a type and optionally a set of attributes that provide further information (such as the target of the link). + +As a result, the Editor may automatically modify its initial `Value` on first user interaction. + +For more details, refer to the [ProseMirror schema guide](https://prosemirror.net/docs/guide/#schema). ## Editor Schema