Ligature
approvedby Pixel
Replace typed character sequences with Unicode symbols while preserving protected Markdown contexts. - This plugin has not been manually reviewed by Obsidian staff.
Ligature
Ligature is an Obsidian plugin that immediately replaces typed character sequences with real Unicode symbols. For example, typing -> changes the Markdown source itself to →, so the result remains visible outside Obsidian.
Ligature 0.1.0 requires Obsidian 1.8.7 or later. Desktop, iOS, and Android are supported.
Features
- Replace configured sequences immediately after the final character is typed.
- Include useful arrow and comparison rules by default.
- Add, edit, enable, disable, and delete custom rules.
- Restore the default rule set from the settings page.
- Keep YAML, code, math, HTML, comments, and link destinations unchanged.
- Restore the typed source sequence with one standard Undo operation.
- Follow Obsidian's display language in English, Japanese, Simplified Chinese, and Traditional Chinese.
Usage
-
Enable Ligature under Settings → Community plugins.
-
Open Settings → Ligature to review or edit the replacement rules.
-
Type a configured sequence in a Markdown editor:
A -> BThe Markdown source becomes:
A → B -
Use
Cmd+Zon macOS orCtrl+Zon Windows and Linux immediately after a replacement to restore->.
Default rules
| Type | Result |
|---|---|
-> | → |
<- | ← |
=> | ⇒ |
!= | ≠ |
<= | ≤ |
>= | ≥ |
~= | ≈ |
Custom rules
Each rule has a source sequence, a replacement, and an enabled state. Select Apply changes after editing.
Sources for enabled rules must be unique. One enabled source also cannot be a prefix of another, because the shorter rule would otherwise be replaced before the longer sequence could be completed. Empty values, line breaks, and rules whose source and replacement are identical are rejected.
Protected Markdown contexts
Ligature replaces text in paragraphs, headings, lists, blockquotes, and Markdown link labels. It does not replace text in:
- YAML frontmatter
- fenced code blocks or inline code
- inline or block math
- HTML and HTML comments
- Markdown link destinations and URLs
Only direct single-character typing triggers replacement. Paste, drag and drop, autocomplete, IME composition, programmatic edits, multiple cursors, and batch conversion of existing notes are not supported.
Installation
Community plugins
After Ligature is accepted into the Obsidian Community directory, search for Ligature under Settings → Community plugins.
BRAT or manual beta
For beta testing, add PMGWork/obsidian-ligature in BRAT. For a manual installation, download main.js, manifest.json, and styles.css from the matching GitHub release and place them in .obsidian/plugins/ligature/.
Privacy and security
Ligature works entirely inside the active Markdown editor. It does not make network requests, collect telemetry, show ads, require an account, or read note files in the background. Settings are stored locally in the vault's plugin configuration.
Development
npm ci
npm run dev
Run the complete release check with npm run check. Production main.js is generated locally and can be copied with manifest.json and styles.css into a test vault.
License
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.