Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Markdown Mason

Marcus BreidenMarcus Breiden483 downloads

Reshape pasted or whole-note Markdown to fit a note's structure — heading cascade, footnote renumbering and dedup — plus a runnable, consent-gated script library.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates16

Markdown Mason logo

Markdown Mason

Solid formatting, block by block.

Reshape pasted or whole-note Markdown to fit a note's structure — heading cascade, footnote renumbering and dedup — plus a runnable, consent-gated script library.

Markdown Mason is a desktop Obsidian plugin for the moment after you paste. When you drop an answer from Perplexity (or another LLM or web source) into an existing note, the heading levels rarely match and citation numbers restart from [1], colliding with footnotes you already have. Mason fits the incoming text into the target note instead: it cascades headings relative to where the cursor sits, turns inline citations into real footnotes, renumbers and deduplicates them against what's already there, and files them into a Resources section.

The transforms run as small scripts managed by the plugin — installed from a curated, reviewed library or imported from your own vault — not as loose files scattered through your notes.

Status: early (v0.0.1). Desktop-only; requires Obsidian 1.6.6 or newer.

Features

  • Paste and run scripts — transform clipboard text with your enabled converter scripts and insert it at the cursor in one step, with a plain-paste fallback if anything goes wrong.
  • Paste and format — paste the clipboard, then apply Mason's cleanup recipe to just the pasted text (7 steps: dewrap, dehyphenate, decompose ligatures and punctuation, tidy whitespace, normalize bullets and ordered lists, normalize headings) as a single undo step.
  • Fit paste to list context — paste inside a list item and the text joins the list: one item per pasted paragraph, no leftover blank lines, and a pasted sub-list nested under the paragraph that introduces it. Outside a list, nothing changes.
  • Format selection — run the full 11-step recipe on a selection or the whole note (the 7 cleanup steps plus cascade headings and the three footnote steps).
  • Run a script on a selection — reformat text already in your note in place, or run a script across the whole note.
  • Curated script library — install reviewed formatters (currently three Perplexity copy surfaces) from the in-plugin catalog, with update notifications when newer versions ship.
  • Bring your own scripts — import scripts from your vault and bind any script to its own command and hotkey.
  • Consent-gated execution — scripts run with full plugin permissions only after an explicit, per-version disclosure; a per-script kill-switch disables any of them instantly.

Installation

Open Settings → Community plugins → Browse, search for Markdown Mason, then Install and Enable. Markdown Mason is desktop-only and requires Obsidian 1.6.6 or newer. For manual installation, updating, and verification steps, see docs/installation.md.

Quick start

  1. Open Settings → Community plugins → Markdown Mason → Scripts.
  2. Click Browse official, enable a script, and confirm the disclosure prompt.
  3. Copy some text, place your cursor, and run Markdown Mason: Paste and run scripts from the command palette. To paste plain text and just clean it up, run Markdown Mason: Paste and format instead — no script needed.

The full walkthrough — common workflows, format-in-place, when to use which paste command, and per-script commands — is in docs/usage.md.

Commands

Three commands cover the paste-and-format workflows. Pick by what you need:

Command id What it runs Scope
Paste and run scripts mason.pasteAndRunScripts Runs your enabled paste-converter scripts on the clipboard (e.g. a Perplexity copy → structured Markdown) and inserts the result at the cursor; falls back to a plain paste if no script matches or one errors. Clipboard → cursor
Paste and format mason.pasteAndFormatText Pastes the clipboard, then applies the 7-step cleanup recipe scoped to just the pasted text — 4 cleanup steps, 2 list steps, and normalize headings — as one undo. Paste inside a list item and the result joins that list: one item per paragraph, sub-lists nested. No scripts, no cascade, no footnote steps. Clipboard → pasted text
Format selection preset.formatSelection Runs the full 11-step recipe on the selection (or whole note) — the same 7 cleanup steps plus cascade headings and the 3 footnote steps. Selection + whole note

The crisp distinction: Paste and run scripts is about converter scripts; Paste and format (7 steps) and Format selection (11 steps) are about cleanup. The other built-in commands (each footnote and heading step on its own, plus Run script…) are listed in the Commands Reference.

No default hotkeys are registered — assign your own under Settings → Hotkeys.

Scripts and trust

Mason's scripts are real JavaScript running with full plugin permissions — there is no sandbox. Safety comes from policy, disclosure, and consent, in two tiers:

  • Official library (reviewed): submitted by pull request, documented, and limited to editing Markdown in the current note — no network or cross-plugin access.
  • Imported / self-written (unreviewed): brought in from your vault and run at your own discretion and risk, exactly like your own hand-written scripts.

To write your own, see docs/SCRIPT_AUTHORING.md.

Permissions and data access

Obsidian's automated review flags two capabilities this plugin uses. Both are intrinsic to its features and disclosed here so you know exactly what they do:

  • Direct filesystem access — Mason stores and runs its script library as real files in the plugin folder, using Node's fs module rather than the vault API. This is why the plugin is desktop-only: it can read and write files on the device outside the vault. Script execution is consent-gated (see above), and the reviewed official library is limited to editing Markdown in the current note.
  • Clipboard access — the Paste and run scripts and Paste and format commands read the system clipboard to reshape what you paste. Content copied from outside Obsidian passes through the plugin only when you invoke one of those commands; nothing is sent anywhere.

Support

If you find Markdown Mason useful, you can support development via Buy Me a Coffee or GitHub Sponsors.

The original German design briefing for the project is preserved at PROJECT_BRIEFING.de.md.

Documentation

  • Installation
  • Configuration
  • Usage
  • Troubleshooting
  • Commands Reference
  • Release process
  • Writing a Markdown Mason script

License

MIT © Marcus Breiden

HealthExcellent
ReviewSatisfactory
About
Markdown Mason helps you to keep your notes formatted in a way you like. When you paste a web source into an existing note, the heading levels rarely match and citation numbers restart from [1], colliding with footnotes you already have. Mason fits the incoming text into the target note instead: it cascades headings relative to where the cursor sits, turns inline citations into real footnotes, renumbers and deduplicates them against what's already there, and files them into a Resources section. The transforms run as small scripts managed by the plugin — installed from a curated, reviewed library or imported from your own vault — not as loose files scattered through your notes. This allows you to configure Mason in a way you want, to format your notes in the way you want.
FormattingMarkdownEditing
Details
Current version
0.9.2
Last updated
2 weeks ago
Created
3 months ago
Updates
16 releases
Downloads
483
Compatible with
Obsidian 1.7.2+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Sponsor
Ko-fi
GitHub Sponsors
Buy Me a Coffee
Author
Marcus BreidenMarcus Breidenmmomm-org
www.mmomm.org
GitHubmmomm-org
marcusbreiden
xing.com
mmomm-org
  1. Community
  2. Plugins
  3. Formatting
  4. Markdown Mason

Related plugins

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.

Outliner

Work with your lists like in Workflowy or Roam Research.

Image Captions

Add captions to images with inline Markdown and link support. The caption format is compatible with the Commonmark spec and other Markdown applications.

Sort and Permute lines

Sort and Permute lines in whole file or selection.

Various Complements

Complete words similar to auto-completion in an IDE.

Heading Shifter

Easily Shift and Change Markdown headings.

Shortcuts extender

Use shortcuts for input special symbols without language switching.

Chord Sheets

Work with chord sheets (chords over lyrics or inline) in Live Preview and reading mode: Chord diagrams for guitar, ukulele, mandolin and piano, transpose, autoscroll, and more.

Blur

Create obfuscated blocks of text.