README file from
GithubStructure Commander v2.2.2
Плагин Obsidian для управления многоуровневой Markdown-структурой: перемещение веток, повышение и понижение уровня (включая преобразования между текстом, заголовками и списками), сворачивание/разворачивание, перенумерация, экспорт ветки, боковая панель и узкая панель инструментов над редактором.
Назначение
Плагин превращает заголовки документа в управляемое дерево. Удобно работать с длинными заметками, ТЗ, конспектами, документацией: переставлять разделы, менять глубину иерархии, быстро сворачивать/разворачивать ветки, экспортировать отдельные подразделы в самостоятельные заметки.
Команды
Все команды доступны через палитру Ctrl+P. Названия команд начинаются с Structure Commander.
| Команда | Действие |
|---|---|
| Ветка выше | переместить ветку выше (или, если есть выделение — переместить выделенные строки выше) |
| Ветка ниже | переместить ветку ниже (или, если есть выделение — переместить выделенные строки ниже) |
| Повысить (заголовок/текст/список) | универсальное «повышение» по цепочке: а) → 1) → 1. → - → текст → H6 → H5 → … → H1 |
| Понизить (заголовок/текст/список) | универсальное «понижение» по цепочке: H1 → … → H6 → текст → - → 1. → 1) → а) |
| Свернуть ветку | свернуть только текущую ветку |
| Развернуть ветку | развернуть только текущую ветку |
| Показать документ до Hx | свернуть всё, что глубже Hx |
| Показать всё | полностью развернуть документ |
| Скрыть/показать боковую панель | переключатель видимости панели структуры |
| Скрыть/показать панель инструментов | переключатель видимости тулбара над редактором |
| Поставить заголовку ветки H1…H6 | назначить уровень верхнему заголовку, всю ветку сдвинуть с сохранением иерархии |
| Перенумеровать структуру | пронумеровать заголовки и/или списки |
| Удалить нумерацию | убрать существующие префиксы нумерации |
| Emoji-цифры | заменить нумерацию на 1️⃣, 2️⃣, … |
| Исправить пропуски уровней | подтянуть уровни так, чтобы не было прыжков H1 → H3 |
| Экспорт ветки | сохранить текущую ветку в отдельный .md |
Хоткеи по умолчанию
| Действие | Хоткей |
|---|---|
| Ветка выше | Alt+Shift+↑ |
| Ветка ниже | Alt+Shift+↓ |
| Повысить ветку | Alt+Shift+← |
| Понизить ветку | Alt+Shift+→ |
| Свернуть ветку | Alt+← |
| Развернуть ветку | Alt+→ |
Хоткеи Alt+←/→ выбраны намеренно вместо Ctrl+Shift+←/→: последние конфликтуют со стандартным выделением текста по словам в любом текстовом поле.
Изменить хоткеи: Настройки → Hotkeys, ищите Structure. В настройках плагина есть кнопка Открыть Hotkeys.
Панель инструментов над редактором
Над Markdown-редактором есть узкая горизонтальная панель:
[↑] [↓] [←] [→] [−] [+] [Показать: H1 ▾] [H? ▾] [№]
| Кнопка | Действие |
|---|---|
| ↑ ↓ | переместить ветку выше/ниже |
| ← → | повысить/понизить (заголовок, текст или список) |
| − + | свернуть / развернуть ветку |
| Показать: Hn ▾ | дропдаун с уровнями документа + «Показать всё». В тексте кнопки показан последний выбранный уровень |
| H? ▾ | уровень текущего заголовка; меню позволяет сменить уровень или назначить уровень верхнему заголовку всей ветки |
| № | перенумерация (ПКМ — подменю с другими режимами) |
В tooltip на кнопках показано действие и текущий хоткей. ПКМ по кнопке открывает меню с пунктом «Назначить хоткей» — это всплывающее окно, в котором достаточно нажать желаемую комбинацию клавиш (включая Numpad1..9, F1..F12, любые модификаторы), и плагин сразу её сохранит. Можно также очистить хоткей или открыть штатный редактор Obsidian.
Все выпадающие меню тулбара (Показать ▾, Hn ▾, ПКМ по №) показывают рядом с пунктами их текущие хоткеи, если хоткей назначен.
Кнопка × справа на тулбаре скрывает его. Вернуть тулбар: команда Скрыть/показать панель инструментов над редактором (или галка в настройках плагина).
Когда курсор стоит вне ветки заголовков, кнопки операций над веткой подсвечены приглушённо.
Если не нужна — отключается в настройках плагина.
Контекстное меню редактора (ПКМ)
ПКМ в Markdown-редакторе добавляет в контекстное меню несколько верхнеуровневых пунктов с подменю:
Развернуть/свернуть ▸
├─ Развернуть Alt+→
├─ Свернуть Alt+←
└─ Показать/скрыть панель структуры
Показать до ▸ H1, H2, …, Показать всё
(только реально существующие в документе уровни)
Уровень | Перенос ▸
├─ Повысить Alt+Shift+←
├─ Понизить Alt+Shift+→
├─ Вверх Alt+Shift+↑
├─ Вниз Alt+Shift+↓
├─ Понизить до ▸ H2, H3, … (вся ветка с сохранением иерархии)
└─ Повысить до ▸ H1, H2, … (вся ветка с сохранением иерархии)
Нумерация ▸ Перенумеровать, Удалить, Emoji, Исправить пропуски
Экспорт ветки…
В подменю «Понизить до» / «Повысить до» — только те уровни, при сдвиге к которым ни один заголовок ветки не выйдет за пределы H1…H6.
Повысить / Понизить универсальны: работают и на заголовке (вся ветка), и на обычном тексте (текст → H6 / текст → список), и на маркированном списке (список → текст).
Боковая панель
Команды:
Открыть боковую панель структуры справаОткрыть боковую панель структуры слеваОткрыть боковую панель структуры снизуСкрыть/показать боковую панель структуры(можно повесить хоткей)
В панели:
- поиск по заголовкам;
- фильтр глубины (
До H1…До H6,Все); - счётчик
видно / всего; - подсветка текущего заголовка (по позиции курсора в активном редакторе);
- кнопка
×в шапке скрывает панель; - ПКМ по пункту:
Перейти, свернуть/развернуть, переместить выше/ниже, повысить/понизить, экспорт.
Уровень заголовка в панели передаётся визуально — отступом, жирностью, наклоном и цветом текста. Подписи H1, H2 намеренно не дублируются в каждой строке.
Панель обновляется при смене активного файла, при изменении файла, при смене активного редактора. Чтение файла защищено от устаревших async-результатов и работает с debounce (≈220 мс).
Экспорт ветки
Окно экспорта:
- куда сохранить: рядом с текущей заметкой / в указанную папку / спрашивать каждый раз;
- папка по умолчанию:
_Exports; - чекбокс «Открыть файл после экспорта» (по умолчанию выключен);
- чекбокс «Привести корневой заголовок к H1» — при экспорте сдвигает уровни так, чтобы корень стал H1;
- имя файла берётся из заголовка корня ветки, запрещённые символы вычищаются;
- при коллизии добавляется суффикс
2,3,4…; - последний выбор запоминается,
Enterповторяет.
Перенумерация
Окно перенумерации:
- область: весь документ / текущая ветка / выделенный фрагмент;
- что менять: только заголовки / только списки / заголовки и списки;
- стиль:
1. / 1.1.или1️⃣ / 1️⃣.1️⃣; - предпросмотр: первые 8 изменений в виде
было → станет; - сводка
Будет изменено строк: N.
Применение — одной транзакцией. Курсор и позиция скролла сохраняются. Ctrl+Z откатывает всю операцию одним действием.
Транзакционность
Все массовые изменения (перемещение ветки, повышение/понижение, нормализация, перенумерация, удаление нумерации, emoji-цифры) применяются одной транзакцией редактора — Ctrl+Z откатывает каждую операцию одним действием.
moveBlock переписан так, чтобы:
- корректно работать на первой и последней ветке;
- корректно работать на файле без финального перевода строки;
- не создавать лишних пустых строк;
- не склеивать заголовки.
Ограничения
- Markdown поддерживает только заголовки H1 … H6.
- Плагин работает с ATX-заголовками:
#,##,###, … - Setext-заголовки (с подчёркиванием
===/---) не поддерживаются. - Заголовки внутри fenced code blocks (
```или~~~) игнорируются. - Глобальные хоткеи Windows / macOS / других приложений изнутри Obsidian проверить нельзя — коллизии с системными или сторонними хоткеями плагин не покажет, только коллизии внутри Obsidian.
- При использовании
Alt+←/→для свёртывания: на macOSAltэтоOption— учитывайте раскладки клавиатуры.
Установка
- Закрыть Obsidian.
- Скопировать папку
structure-commanderв.obsidian/plugins/хранилища. - Проверить структуру файлов:
.obsidian/plugins/structure-commander/manifest.json
.obsidian/plugins/structure-commander/main.js
.obsidian/plugins/structure-commander/styles.css
- Открыть Obsidian.
Настройки → Community plugins→ включитьStructure Commander.
Совместимость
minAppVersion: 1.0.0. Тестировалось с актуальными десктопными сборками Obsidian. На мобильных Obsidian панель инструментов над редактором тоже работает, но физических хоткеев на телефоне нет — пользуйтесь верхней панелью и подменю ПКМ.