Inscriptum

by inscriptum
5
4
3
2
1
Score: 51/100

Description

Local-first rich text editor for Obsidian

Reviews

No reviews yet.

Stats

0
stars
252
downloads
0
forks
28
days
2
days
2
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
129
commits

Latest Version

2 days ago

Changelog

[0.9.0] - 2026-09-18

Added

  • "Export as website" command and note pane-menu item: a note becomes a self-contained static page (index.html, note.css with embedded fonts, images/) inside the vault, ready to host anywhere.
  • Hide-keyboard button at the right end of the mobile toolbar.

Fixed

  • Every note now ends with an empty paragraph: when the last block is anything else (code block, image, table, heading, list, …) the editor keeps a paragraph below it, so the caret can always be placed at the end of the note. Previously a trailing code block or image left nowhere to put the caret (a stub cursor on desktop; on mobile the note could not be continued at all), and a click near a trailing image selected it, so the next keystroke replaced it.
  • iOS: a dead strip between the toolbar and the keyboard — the safe-area inset kept padding the toolbar while the inset area was hidden behind the keyboard (is-keyboard-open now zeroes it).
  • iOS: toolbar/selection-bar horizontal flings past their edge opened the file/info drawers and dismissed the keyboard (scroll chaining is contained; the toolbar host carries data-ignore-swipe, Obsidian's own opt-out from its drawer-swipe gesture).
  • iOS: taps on the note periodically did nothing after drawer interactions — WKWebView stopped synthesizing mouse events, so ProseMirror never saw the tap; focus now also recovers on pointerup (always delivered), only for real taps, and the editor stays unfocused while a drawer is open (matching native Obsidian — no keyboard floating above it).
  • Desktop: switching back to a note pane no longer resets the caret/selection when the file on disk is unchanged; external changes with unsaved local edits now route to the conflict dialog instead of silently reloading.

README file from

Github

Inscriptum — local-first rich text editor

Obsidian plugin Latest release License

A comfortable WYSIWYG editor for creating structured documents.

Inscriptum lets you create and edit rich documents without having to write Markdown.

Write structured documents with headings, lists, todo items, tables, images, links, code blocks, and more — using a familiar visual editor.

Your documents stay local and under your control. No cloud storage, no account, and no lock-in.

Rich text editing example

The Obsidian plugin brings Inscriptum to your Obsidian vault, allowing you to use the editor alongside your existing notes and workflow.

Features

  • WYSIWYG rich text editing
  • Headings and structured documents
  • Todo lists and regular lists
  • Blockquotes
  • Tables with cell selection and styling
  • Images
  • Links and automatic URL/email linking
  • Code blocks with syntax highlighting
  • Switchable syntax highlighting themes
  • Bubble menu for quick formatting

Local-first

Inscriptum keeps your documents in your Obsidian vault.

There is no cloud service, no account, and no external storage required. Your documents and data remain on your device and under your control.

Installation

  1. Open Settings → Community plugins in Obsidian.
  2. Disable Restricted mode if it is on.
  3. Click Browse and search for Inscriptum.
  4. Install and enable it.

Alternatively, open the plugin page directly: Inscriptum on Obsidian Plugins.

Via BRAT

If you want to try the latest development versions before they are released, install Inscriptum using BRAT.

  1. Install BRAT in Obsidian.

  2. Open BRAT → Add Beta Plugin.

  3. Add:

    inscriptum/obsidian-plugin

  4. Install and enable Inscriptum.

Manually

  1. Download main.js, manifest.json, and styles.css from the latest release.

  2. Create the plugin directory:

    .obsidian/plugins/inscriptum/

  3. Copy the downloaded files into it.

  4. Reload Obsidian.

  5. Enable Inscriptum under Settings → Community plugins.

Development

Clone the repository and install dependencies:

git clone https://github.com/inscriptum/obsidian-plugin.git
cd obsidian-plugin
npm ci

Start the development build:

npm run dev

The development build runs in watch mode and automatically deploys the plugin to:

.obsidian/plugins/inscriptum/

Create a production build:

npm run build

Run tests:

npm test

Release

Releases are built automatically by GitHub Actions.

Create a new version and push the tag:

npm version patch
git push --follow-tags

The workflow builds the plugin, takes the release notes for the new version from CHANGELOG.md, and publishes the release automatically.

Before pushing the tag, add a ## [x.y.z] section to CHANGELOG.md describing the changes — the release will be created only if that section exists.

License

MIT © 2026 sumbad