schihei 5befb3a0bc Add "Convert List Bullets to Em Dash" command
Adds bulletToEmdash() to formatter.ts and registers the new
unicode-formatter:bullet-to-emdash command. Updates README accordingly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 15:18:15 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00
2026-03-19 19:00:24 +01:00

Unicode Text Formatter

An Obsidian plugin that transforms selected text into Unicode Mathematical Alphanumeric Symbols — Sans-Serif Bold, Italic, and Bold-Italic — for use in LinkedIn and Facebook posts.

Features

  • Unicode Bold — converts letters and digits to sans-serif bold (𝗔𝗕𝗖 / 𝗮𝗯𝗰 / 𝟬𝟭𝟮)
  • Unicode Italic — converts letters to sans-serif italic (𝘈𝘉𝘊 / 𝘢𝘣𝘤)
  • Unicode Bold Italic — converts letters to sans-serif bold italic (𝘼𝘽𝘾 / 𝙖𝙗𝙘)
  • Remove Unicode Formatting — converts any formatted Unicode characters back to plain ASCII
  • Convert List Bullets to Em Dash — replaces leading * bullet markers with on each selected line
  • Non-mapped characters (punctuation, spaces, emoji, etc.) are passed through unchanged

Usage

  1. Select text in the editor
  2. Open the Command Palette (Ctrl/Cmd + P)
  3. Run one of:
    • Format as Unicode Bold
    • Format as Unicode Italic
    • Format as Unicode Bold Italic
    • Remove Unicode Formatting — reverses any of the above back to plain ASCII
    • Convert List Bullets to Em Dash — replaces * prefixes with

The selected text is replaced in place.

Installation

Manual

  1. Build the plugin (see Development) or download a release
  2. Copy main.js and manifest.json to your vault at:
    <VaultFolder>/.obsidian/plugins/unicode-text-formatter/
    
  3. In Obsidian: Settings → Community Plugins → Installed Plugins — enable Unicode Text Formatter

Development

Requirements: Node.js ≥ 16

npm install
npm run dev     # watch mode — recompiles on save
npm run build   # one-time production build
npm run lint    # ESLint check

Project structure

File Purpose
src/unicode-maps.ts Builds character lookup maps from Unicode code point ranges
src/formatter.ts transformText(text, style), cleanText(text), and bulletToEmdash(text) — text transformation functions
src/commands.ts Registers the five editor commands with the Obsidian plugin API
src/main.ts Plugin entry point — calls registerCommands on load

Unicode blocks used

Style Uppercase Lowercase Digits
Sans-Serif Bold U+1D5D4U+1D5ED U+1D5EEU+1D607 U+1D7ECU+1D7F5
Sans-Serif Italic U+1D608U+1D621 U+1D622U+1D63B
Sans-Serif Bold-Italic U+1D63CU+1D655 U+1D656U+1D66F

Releasing

  1. Update manifest.json with the new version and minimum Obsidian version
  2. Update versions.json: "new-version": "min-obsidian-version"
  3. Create a GitHub release tagged with the exact version number
  4. Attach manifest.json and main.js as release assets

You can bump the version automatically:

npm version patch   # or minor / major

API Documentation

See https://docs.obsidian.md

S
Description
No description provided
Readme 0BSD 192 KiB
Languages
TypeScript 88.7%
JavaScript 7%
CSS 4.3%