<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Domternal Blog &amp; Tutorials</title><description>Articles and step-by-step tutorials on building rich text editors with Domternal: Notion-style block UX, accessibility, ProseMirror internals, and Angular, React, and Vue.</description><link>https://domternal.dev/</link><language>en-us</language><item><title>Adding Markdown to the Editor: Paste, Export, and What Gets Lost</title><link>https://domternal.dev/blog/add-markdown-import-and-export-to-your-editor/</link><guid isPermaLink="true">https://domternal.dev/blog/add-markdown-import-and-export-to-your-editor/</guid><description>How Domternal turns Markdown-looking pastes into rich content, exports GitHub-flavored Markdown with fidelity warnings, and runs headlessly against any schema.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate><category>markdown</category><category>gfm</category><category>prosemirror</category><category>wysiwyg</category><category>webdev</category></item><item><title>Build a Notion-Style Editor in Angular</title><link>https://domternal.dev/tutorials/build-a-notion-style-editor-in-angular/</link><guid isPermaLink="true">https://domternal.dev/tutorials/build-a-notion-style-editor-in-angular/</guid><description>Step-by-step Angular tutorial for a Notion-style block editor with slash commands, drag handles, nested drag-and-drop, block colors and a floating outline, all on signals.</description><pubDate>Fri, 03 Jul 2026 00:00:00 GMT</pubDate><category>tutorial</category></item><item><title>Making Editor Content Accessible: Alt Text and ARIA</title><link>https://domternal.dev/blog/making-editor-content-accessible-alt-text-and-aria/</link><guid isPermaLink="true">https://domternal.dev/blog/making-editor-content-accessible-alt-text-and-aria/</guid><description>An editor can be accessible to use and still let you ship inaccessible content. How Domternal helps you author the accessible kind: editable image alt text and a details block that announces its state.</description><pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate><category>accessibility</category><category>alt-text</category><category>aria</category><category>prosemirror</category><category>webdev</category></item><item><title>Adding LaTeX Math to the Editor, Without Bundling a Math Engine</title><link>https://domternal.dev/blog/add-latex-math-to-your-editor/</link><guid isPermaLink="true">https://domternal.dev/blog/add-latex-math-to-your-editor/</guid><description>How Domternal adds inline and block LaTeX equations through a renderer you supply: KaTeX by default, any engine you like, with input rules, a slash menu, and a live edit popover.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate><category>latex</category><category>math</category><category>katex</category><category>prosemirror</category><category>webdev</category></item><item><title>Domternal 0.9.0: Lists That Feel Like Notion</title><link>https://domternal.dev/blog/domternal-0-9-0/</link><guid isPermaLink="true">https://domternal.dev/blog/domternal-0-9-0/</guid><description>What&apos;s new in Domternal 0.9.0: type-preserving list items, per-item Turn into, Notion-style list spacing, split-aware outdent, and wrappers that no longer pull in the block-menu package.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate><category>release</category><category>notion</category><category>prosemirror</category><category>webdev</category></item><item><title>Building a Comment Box Found Four Bugs in My Editor</title><link>https://domternal.dev/blog/building-a-comment-box-found-four-bugs-in-my-editor/</link><guid isPermaLink="true">https://domternal.dev/blog/building-a-comment-box-found-four-bugs-in-my-editor/</guid><description>Dogfooding a Vue comment box surfaced four real bugs in Domternal: an invisible placeholder, a clipped popup, hover beating arrow keys, and a CSS calc() trap.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate><category>prosemirror</category><category>debugging</category><category>showdev</category><category>webdev</category></item><item><title>Build a Notion-Style Editor in React</title><link>https://domternal.dev/tutorials/build-a-notion-style-editor-in-react/</link><guid isPermaLink="true">https://domternal.dev/tutorials/build-a-notion-style-editor-in-react/</guid><description>Step-by-step React tutorial for a Notion-style block editor with slash commands, drag handles, multi-level nesting, block colors and a floating outline.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate><category>tutorial</category></item><item><title>Notion-Style Block Editor for Any Framework - Domternal</title><link>https://domternal.dev/blog/notion-style-block-editor-headless-framework-agnostic/</link><guid isPermaLink="true">https://domternal.dev/blog/notion-style-block-editor-headless-framework-agnostic/</guid><description>Notion-style block editing as headless ProseMirror extensions: slash menu, drag handles, Turn into, block colors, and a scroll-spy outline, in any framework.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate><category>notion</category><category>showdev</category><category>typescript</category><category>webdev</category></item><item><title>Build a Comment Box with @Mentions in Vue</title><link>https://domternal.dev/tutorials/build-a-comment-box-with-mentions-in-vue/</link><guid isPermaLink="true">https://domternal.dev/tutorials/build-a-comment-box-with-mentions-in-vue/</guid><description>Step-by-step Vue tutorial for a comment box with an @mention popup, emoji autocomplete, Enter to send, and a thread that knows exactly who to notify.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate><category>tutorial</category></item><item><title>Rich Text in Angular Reactive Forms</title><link>https://domternal.dev/tutorials/rich-text-in-angular-reactive-forms/</link><guid isPermaLink="true">https://domternal.dev/tutorials/rich-text-in-angular-reactive-forms/</guid><description>Step-by-step Angular tutorial for a rich text editor inside reactive forms, with required validation that actually works, a character limit, lock and reset.</description><pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate><category>tutorial</category></item><item><title>Making a Rich Text Editor WCAG 2.1 AA Accessible</title><link>https://domternal.dev/blog/making-a-rich-text-editor-accessible-wcag-21-aa/</link><guid isPermaLink="true">https://domternal.dev/blog/making-a-rich-text-editor-accessible-wcag-21-aa/</guid><description>How we implemented WCAG 2.1 AA across 8 ProseMirror editor packages: focus indicators, ARIA roles, keyboard navigation, reduced motion.</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><category>accessibility</category><category>webdev</category><category>typescript</category><category>showdev</category></item><item><title>Angular Deserves Better Than React Editor Wrappers. So I Built One.</title><link>https://domternal.dev/blog/angular-deserves-better-than-react-editor-wrappers/</link><guid isPermaLink="true">https://domternal.dev/blog/angular-deserves-better-than-react-editor-wrappers/</guid><description>After years of React-first wrapper pain in Angular, I built Domternal: a headless ProseMirror editor with native Angular components.</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate><category>angular</category><category>showdev</category><category>typescript</category><category>webdev</category></item></channel></rss>