Scoria

What differs from Obsidian

Three kinds of difference, kept apart because they mean different things: not yet, deliberately different, and not ever.

If you are deciding whether Scoria can be your daily editor, this is the page to read.

Not yet

Things Obsidian does that Scoria intends to do and does not.

Rendering

Math$x$ and $$x$$ are parsed but not typeset — you see the TeX source. In Live Preview the dollars are hidden and the source is centred in the accent color
HTML in notesParsed, shown as literal text
Remote images![](https://…) does not load. Local images do
Mermaid diagramsNot rendered
PDF viewing and exportPDFs are recognized as a file kind; there is no viewer and no export
Audio and video playersRecognized as file kinds; no player
Heading foldingHeadings do not collapse
Code block copy buttonsSelect and copy
Toggling a task in reading viewCheckboxes render but are inert there. They toggle in Live Preview

Views

CanvasThe JSON Canvas 1.0 format is implemented and round-trips; there is no canvas view
BasesThe Bases YAML format is implemented and round-trips; there is no base view
Tabs and split panesOne note at a time, with back and forward history
Popout windows—
Multiple vaults in one windowRun Scoria once per vault
Local graph depth beyond 1, arrows, timelapse, screenshot exportSee the graph
Local graph as a side paneThe graph is a full view

Editing

Table cell editingA table is a widget in Live Preview; edit the Markdown as text
Properties editorFrontmatter is YAML text
AutocompletionNo suggestions when you type [[, # or ![[
Auto-pairingautoPairBrackets and autoPairMarkdown are read, not acted on
Bold/italic togglesCtrl + B and Ctrl + I are registered ids with no behavior — type the asterisks
Templates, daily notes, file recovery—
Vim modevimMode is read, not implemented
Line numbers, indent guides, inline title, right-to-leftRead and shown in Settings, not acted on
Spellcheck—
Ctrl + hover page previews—

Files and settings

Writing settingsSettings is read-only. Change settings in Obsidian or edit the JSON
Writing graph.jsonGraph forces and filters are read, not written back
Drag and drop in FilesUse file-explorer:move-file
Inline title editingUse F2
Pasting or dropping attachmentsPut the file in the folder yourself
System trash on Windows and macOSImplemented on Linux (freedesktop trash with a .trashinfo record); elsewhere it falls back to the vault's .trash/
Themes (cssTheme)Base theme, accent color and fonts are honored; a CSS theme is not. Tier 3
Workspace layoutworkspace.json is read but not applied; Scoria opens its own default layout and never writes the file
Search result sorting, copying, collapsingSee search
Vault-wide search and replaceReplace works within one note

Markdown edge cases

Two of the 1,009 corpus notes do not match Obsidian's output, on three constructs: nested delimiter runs such as ****a****, ==== four ==x===y==, and a wikilink inside Markdown link text (which Obsidian splits the link on). See compatibility.

Deliberately different

Places where Scoria does not copy Obsidian, on purpose.

Frontmatter links are rewritten in place. When a rename changes a link in your YAML, Obsidian re-serialises the whole frontmatter block — which can turn aliases: [Bee] into a block list, changing bytes you did not touch. Scoria replaces the link text and leaves every other byte alone. This is a difference in Scoria's favor and it is not going to be "fixed".

Settings is read-only. Not an omission so much as a sequencing choice: Obsidian rewrites an entire settings file on every change, and doing that without dropping keys Scoria does not recognize is exactly the kind of thing the round-trip gate exists to guarantee. Writing settings comes after that gate, not before it.

The command palette lists only runnable commands. This matches how Obsidian hides a command whose check callback fails, but the effect is more visible here because more commands are unimplemented. The Hotkeys tab still lists all 244 ids so your bindings are visible.

No window-layout restore. Scoria opens its own three-pane layout every time, which is also why it starts instantly.

The default font is Liberation Sans. Not a taste decision: the pinned GPUI cannot select weights from a variable font, so with a single-file variable font nothing renders bold. Liberation Sans ships static Bold faces. Your appearance.json fonts override it.

Not ever

Obsidian's community plugins will not run in Scoria. They are JavaScript against an Electron app's API, with Node and DOM access. Scoria is a native binary with neither. Embedding a JavaScript runtime and a DOM to host them would rebuild the thing whose absence is the entire point of the project.

What is planned instead is a native plugin API of Scoria's own (tier 4, the last phase). Your community-plugins.json and plugin manifests are read and listed in Settings, so you can see what your vault has — they are simply not executed.

Obsidian Sync, Publish and the commercial services are Obsidian's products, not file formats. Scoria has nothing to do with them. Use any file-level sync — git, Syncthing, Dropbox, or Obsidian Sync itself: they all move files, and files are all Scoria needs.

Keeping this page honest

This list is maintained against docs/scoria/Development.md in the repository, which carries the per-item status and the gate notes. If you find something missing from it — a difference you hit that is not written here — that is worth reporting in its own right.

Next

Source: sites/scoria/content/docs/reference/differences.md