Skip to main content

Portable Text Editor

Create verifiable, referable, evolvable content with structured rich text while preserving a future one-to-one conversion path with REZICS Markdown.

Current statusAvailable

Portable Text rich-text editing, formatting tools, links, spoilers, images, Unit mentions, and slash-command entry points are implemented; bidirectional CodeMirror 6/Markdown editing remains in development.

Core purpose

REZICS does not treat rich text as opaque display markup. The editor directly manipulates Portable Text structures, so paragraphs, headings, lists, marks, links, images, Unit mentions, and custom blocks can be validated, transformed, and safely rendered.

The editor wraps its output in a Block Schema Portable Text document with _type, _key, and document-version semantics. Saving and reading revalidate it; compile-time types alone are not trusted.

What is available now

  1. Edit paragraphs, headings, quotes, bullet lists, and numbered lists.
  2. Apply bold, italic, link, and spoiler marks and annotations.
  3. Insert and validate images and other supported blocks.
  4. Use Unit mentions to put works, people, and other identities in a body rather than only their display text.
  5. Search for and insert structured content through slash commands and mention entry points.
  6. Restrict capabilities by product so reviews, replies, and wikis use only lawful content shapes.
  7. Normalize external input and explicitly degrade unsupported marks and invalid URLs.

What Portable Text provides

Portable Text separates presentation from meaning: link targets, spoiler marks, Unit-mention IDs, and image resources have verifiable shapes. Renderers can select appropriate presentation for feed previews, article detail, and other surfaces without rewriting the source.

The same content can support language-aware word count, reading time, and content metrics, while block identity enables future paragraph comments and finer history.

CodeMirror 6 and REZICS Markdown

The long-term direction uses CodeMirror 6 for general text/code editing while maintaining a one-to-one semantic relationship between the custom Portable Text schema and REZICS Markdown. The aim is reliable round-tripping—not a one-off export—so people can freely switch between rich and plain-text editing.

This is still in development. The available feature is the Portable Text rich-text editor, not a finished bidirectional Markdown workflow.

Relationships and boundaries

The editor is not the content model and does not write every keystroke into formal history. Products such as Posts decide fields and permissions, Block Schema validates documents, and the publication boundary lets History create traceable revisions.