A plugin that transforms Unicode symbols into styled interactive checkboxes and numbered markers directly in your text. Attention! These inline checkboxes are not tasks and are not recognized by Obsidian or task plugins; they are for visual styling only.
- Inline checkboxes — not in lists, but anywhere in the text
- Click to toggle — cycles through states
- Two independent cycles:
- Checkboxes:
▢ → ☑ → ◧ → ☒ → ⚠ → ⍰ → ▢ - Digits:
① → ② → ③ → ④ → ⑤ → ⑥ → ⑦ → ⑧ → ⑨ → ①
- Checkboxes:
- Fully customizable — colors, sizes, glow effects via CSS variables
| Symbol | State | Description |
|---|---|---|
| ▢ | Empty | Not started |
| ☑ | Done | Completed |
| ◧ | In Progress | Work in progress |
| ☒ | Cancelled | Cancelled/rejected |
| ⚠ | Important | Requires attention |
| ⍰ | Question | Needs clarification |
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨
Use for priorities, numbered steps, ratings, etc.
Manual (BRAT plugin).
- Download the latest release
- Extract to
.obsidian/plugins/inline-checkboxes/ - Enable in Settings → Community Plugins
Usage with Note Toolbar Add a button to insert/toggle checkboxes:
JavaScript
const icons = ["▢", "☑", "◧", "☒", "⚠", "⍰"]; const editor = app.workspace.activeLeaf?.view?.editor; if (!editor) return; const c = editor.getCursor(); const line = editor.getLine(c.line);
let found = null, pos = -1, foundIdx = -1;
for (let p = c.ch; p >= Math.max(0, c.ch - 5); p--) { for (let i = 0; i < icons.length; i++) { if (line.substring(p, p + icons[i].length) === icons[i]) { found = icons[i]; pos = p; foundIdx = i; break; } } if (found) break; }
if (found) { const next = icons[(foundIdx + 1) % icons.length]; let end = pos + found.length; while (end < line.length && (line.charCodeAt(end) === 0xFE0E || line.charCodeAt(end) === 0xFE0F)) end++; editor.replaceRange(next, {line: c.line, ch: pos}, {line: c.line, ch: end}); editor.setCursor({line: c.line, ch: pos}); } else { let ws = c.ch; while (ws > 0 && !" \t,".includes(line[ws - 1])) ws--; editor.replaceRange("▢ ", {line: c.line, ch: ws}); editor.setCursor({line: c.line, ch: ws}); }
For digits, make another button and replace icons array with:
JavaScript
const icons = ["①","②","③","④","⑤","⑥","⑦","⑧","⑨"];
MIT
This plugin was entirely created by Claude.
This plugin will not be submitted to the official Obsidian community plugins directory. If you find it useful and would like to see it there, feel free to fork and submit your own version.
I'm not actively maintaining this plugin or accepting feature requests.
Feel free to:
- Fork this repository and adapt it to your needs
- Create your own version with additional features
- Share your improvements with the community
Плагин превращает Unicode-символы в стилизованные интерактивные псевдо-флажки и нумерованные маркеры внутри абзаца. Внимание! Флажки не являются задачами и не учитываются Обсидианом и плагинами задач, это чисто визуальное оформление.
- Инлайн-чекбоксы — не в списках, а в любом месте текста
- Клик для переключения — циклическая смена состояний
- Два независимых цикла:
- Флажки:
▢ → ☑ → ◧ → ☒ → ⚠ → ⍰ → ▢ - Цифры:
① → ② → ③ → ④ → ⑤ → ⑥ → ⑦ → ⑧ → ⑨ → ①
- Флажки:
- Полная кастомизация — цвета, размеры, эффекты свечения через CSS-переменные
| Символ | Состояние | Описание |
|---|---|---|
| ▢ | Пусто | Не начато |
| ☑ | Готово | Завершено |
| ◧ | В процессе | В работе |
| ☒ | Отменено | Отменено/отклонено |
| ⚠ | Важно | Требует внимания |
| ⍰ | Вопрос | Нужно уточнение |
① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨
Используйте для приоритетов, нумерованных шагов, рейтингов и т.д.
- Скачайте последний релиз
- Распакуйте в
.obsidian/plugins/inline-checkboxes/ - Включите в Настройки → Сторонние плагины
Toggle inline checkbox— вставить/переключить флажокToggle circled digit— вставить/переключить цифру
Кликните по флажку или цифре в тексте — состояние переключится.
Назначить горячие клавиши: Настройки → Горячие клавиши → "Inline Checkboxes"
CSS
:root { /* Цвета флажков */ --cb-empty: #FF8C00; --cb-done: #739834; --cb-progress: #FFA500; --cb-cancelled: #808080; --cb-important: #a33333; --cb-question: #DFA000;
/* Эффекты свечения */ --cb-glow-empty: #FF8C00; --cb-glow-prog: #FFA500;
/* Цифры в кружках */ --cb-digit-size: 0.55em; --cb-digit-color: #e040fb; --cb-digit-glow: #e040fb; }
Добавьте кнопку для вставки/переключения флажков:
const icons = ["▢", "☑", "◧", "☒", "⚠", "⍰"]; const editor = app.workspace.activeLeaf?.view?.editor; if (!editor) return; const c = editor.getCursor(); const line = editor.getLine(c.line);
let found = null, pos = -1, foundIdx = -1;
for (let p = c.ch; p >= Math.max(0, c.ch - 5); p--) { for (let i = 0; i < icons.length; i++) { if (line.substring(p, p + icons[i].length) === icons[i]) { found = icons[i]; pos = p; foundIdx = i; break; } } if (found) break; }
if (found) { const next = icons[(foundIdx + 1) % icons.length]; let end = pos + found.length; while (end < line.length && (line.charCodeAt(end) === 0xFE0E || line.charCodeAt(end) === 0xFE0F)) end++; editor.replaceRange(next, {line: c.line, ch: pos}, {line: c.line, ch: end}); editor.setCursor({line: c.line, ch: pos}); } else { let ws = c.ch; while (ws > 0 && !" \t,".includes(line[ws - 1])) ws--; editor.replaceRange("▢ ", {line: c.line, ch: ws}); editor.setCursor({line: c.line, ch: ws}); }
const icons = ["①","②","③","④","⑤","⑥","⑦","⑧","⑨"]; const editor = app.workspace.activeLeaf?.view?.editor; if (!editor) return; const c = editor.getCursor(); const line = editor.getLine(c.line);
let found = null, pos = -1, foundIdx = -1;
for (let p = c.ch; p >= Math.max(0, c.ch - 5); p--) { for (let i = 0; i < icons.length; i++) { if (line.substring(p, p + icons[i].length) === icons[i]) { found = icons[i]; pos = p; foundIdx = i; break; } } if (found) break; }
if (found) { const next = icons[(foundIdx + 1) % icons.length]; let end = pos + found.length; while (end < line.length && (line.charCodeAt(end) === 0xFE0E || line.charCodeAt(end) === 0xFE0F)) end++; editor.replaceRange(next, {line: c.line, ch: pos}, {line: c.line, ch: end}); editor.setCursor({line: c.line, ch: pos}); } else { let ws = c.ch; while (ws > 0 && !" \t,".includes(line[ws - 1])) ws--; editor.replaceRange("① ", {line: c.line, ch: ws}); editor.setCursor({line: c.line, ch: ws}); }
Лицензия MIT
Плагин полностью создан Claude.
Этот плагин не будет отправлен в официальный каталог плагинов Obsidian. Если он кажется вам полезным и вы хотели бы видеть его там — форкайте и подавайте свою версию.
Я не планирую активно развивать этот плагин и не смогу выполнять запросы на доработку.
Вы можете свободно:
- Форкнуть репозиторий и адаптировать под свои нужды
- Создать собственную версию с дополнительными функциями
- Делиться улучшениями с сообществом

