README file from
GithubStructure Commander v2.3.4
Structure Commander — плагин для Obsidian, который превращает Markdown-документ в управляемую структуру. Не просто «ещё одна панель заголовков», а рабочий инструмент для длинных заметок, технических заданий, конспектов, проектной документации и любых текстов, где разделы нужно двигать, сворачивать, повышать, понижать, нумеровать и экспортировать без ручной хирургии по строкам.
Если встроенная структура Obsidian показывает дерево, Structure Commander даёт с этим деревом работать: переставлять ветки, менять уровни, сворачивать нужные части, быстро показывать документ до выбранной глубины и выносить отдельные ветки в самостоятельные .md-файлы.
Последнее обновление: v2.3.4
Исправлено сохранение выделения после перемещения блока вверх/вниз: повторное перемещение выделенного блока больше не теряет строки. Также восстановлено свёрнутое состояние ветки после перемещения и синхронизирована версия в manifest.json и README.
Что умеет
- Перемещать Markdown-ветки вверх и вниз вместе со всеми вложенными заголовками и текстом.
- Перемещать выделенные строки вверх и вниз без потери выделения при повторных перемещениях.
- Повышать и понижать уровень текущей ветки с сохранением внутренней иерархии.
- Работать не только с заголовками, но и с обычным текстом, маркированными и нумерованными списками.
- Сворачивать и разворачивать текущую ветку.
- Показывать документ до H1, H2, H3, H4, H5 или H6.
- Показывать только реально существующие уровни заголовков в меню «Показать до».
- Полностью разворачивать документ через «Показать всё».
- Перенумеровывать заголовки и списки.
- Удалять нумерацию.
- Заменять нумерацию на emoji-цифры.
- Исправлять пропуски уровней, например H1 → H3.
- Экспортировать текущую ветку в отдельную Markdown-заметку.
- Показывать структуру в боковой панели.
- Добавлять компактную панель инструментов над редактором.
- Показывать текущие хоткеи прямо в tooltip, контекстном меню и меню тулбара.
- Быстро назначать хоткеи из настроек плагина или через ПКМ по кнопке тулбара.
- Добавлять файловые операции в контекстное меню vault.
- Открывать файл/папку в проводнике, копировать путь и копировать файл в буфер.
- Использовать режим отработки для файловых операций без фактического изменения файлов.
- Выполнять Ctrl+Z/Ctrl+Y для файловых операций плагина.
Быстрый старт
Откройте Markdown-заметку, поставьте курсор внутрь нужного раздела и используйте хоткеи:
| Действие | Хоткей |
|---|---|
| Ветка выше | Alt+Shift+↑ |
| Ветка ниже | Alt+Shift+↓ |
| Повысить ветку | Alt+Shift+← |
| Понизить ветку | Alt+Shift+→ |
| Свернуть ветку | Alt+← |
| Развернуть ветку | Alt+→ |
Эти же действия доступны через:
- контекстное меню редактора;
- панель инструментов над редактором;
- боковую панель структуры;
- палитру команд
Ctrl+P; - ribbon-иконку Structure Commander.
Кнопка Structure Commander на левой панели Obsidian открывает правую боковую панель структуры.
Основная идея
Ветка — это ближайший заголовок выше курсора и всё его содержимое до следующего заголовка того же или более высокого уровня.
Пример:
# Раздел 1
Текст раздела.
## Подраздел 1.1
Текст подраздела.
## Подраздел 1.2
Текст подраздела.
# Раздел 2
Если курсор стоит внутри Раздел 1, команда «Ветка ниже» перенесёт весь блок Раздел 1 вместе с Подраздел 1.1 и Подраздел 1.2 ниже Раздел 2.
Если курсор стоит внутри Подраздел 1.1, команда работает только с этой вложенной веткой.
Контекстное меню редактора
ПКМ в Markdown-редакторе добавляет компактные верхнеуровневые пункты с подменю:
Развернуть/свернуть ▸
├─ Развернуть Alt+→
├─ Свернуть Alt+←
├─ Показать/скрыть панель структуры
└─ Показать/скрыть панель инструментов
Показать до ▸
├─ H1
├─ H2
├─ H3
├─ ...
└─ Показать всё
Уровень | Перенос ▸
├─ Повысить Alt+Shift+←
├─ Понизить Alt+Shift+→
├─ Вверх Alt+Shift+↑
├─ Вниз Alt+Shift+↓
├─ Понизить до ▸ H2, H3, H4, ...
└─ Повысить до ▸ H1, H2, H3, ...
Нумерация ▸
├─ Перенумеровать…
├─ Удалить нумерацию…
├─ Emoji-цифры…
└─ Исправить пропуски уровней
Экспорт ветки…
В меню «Показать до» выводятся только уровни заголовков, которые реально есть в документе. Если в файле есть только H2 и H4, меню не будет притворяться, что H1 и H3 существуют.
В подменю «Понизить до» и «Повысить до» показываются только допустимые уровни: плагин не даст сдвинуть ветку так, чтобы вложенные заголовки вышли за пределы H1…H6.
Контекстное меню файлов vault
ПКМ по файлу или папке vault добавляет пункт Файл ▸.
Файл ▸
├─ Открыть в проводнике
├─ Скопировать путь
├─ Скопировать файл в буфер
├─ Отправить ▸
├─ Режим отработки
├─ Ctrl+Z — отменить файловую операцию
└─ Ctrl+Y — повторить файловую операцию
Режим отработки показывает план операции, но не меняет файлы.
Панель инструментов над редактором
Над Markdown-редактором появляется компактная панель:
[↑] [↓] [←] [→] [−] [+] [Показать: H1 ▾] [H? ▾] [№] [×]
| Кнопка | Действие |
|---|---|
↑ |
ветка выше |
↓ |
ветка ниже |
← |
повысить ветку / строку |
→ |
понизить ветку / строку |
− |
свернуть текущую ветку |
+ |
развернуть текущую ветку |
Показать: Hn ▾ |
выбрать глубину показа документа и выполнить «Показать всё» |
H? ▾ |
изменить уровень текущего заголовка или всей ветки |
№ |
открыть перенумерацию |
ПКМ по № |
меню: перенумеровать, удалить нумерацию, emoji-цифры, исправить уровни |
× |
скрыть toolbar |
Tooltip у кнопок показывает действие и текущий хоткей. Если хоткей изменён в настройках Obsidian, tooltip подтянет актуальное значение.
Боковая панель структуры
Панель структуры похожа на штатную outline-панель Obsidian, но добавляет управляющие действия.
В панели есть:
- поиск по заголовкам;
- фильтр глубины:
До H1,До H2,До H3,До H4,До H5,Все; - счётчик
показано / всего; - подсветка активного заголовка по позиции курсора;
- кнопка обновления;
- кнопка закрытия панели;
- контекстное меню для каждого заголовка.
ПКМ по заголовку в панели:
Перейти
Свернуть ветку
Развернуть ветку
Ветку выше
Ветку ниже
Повысить
Понизить
Экспорт ветки…
Уровни в панели передаются визуально: отступом, жирностью, наклоном и цветом. Подписи H1, H2, H3 не повторяются в каждой строке.
Экспорт ветки
Команда Экспорт ветки… сохраняет текущую ветку в отдельный Markdown-файл.
Окно экспорта позволяет выбрать:
- сохранить рядом с текущей заметкой;
- сохранить в указанную папку;
- спрашивать каждый раз;
- открыть файл после экспорта;
- привести корневой заголовок экспортируемой ветки к H1.
Имя файла берётся из заголовка ветки. Запрещённые символы очищаются. Если файл уже существует, добавляется суффикс 2, 3, 4 и так далее.
Перенумерация
Окно перенумерации поддерживает три области:
- весь документ;
- текущая ветка;
- выделенный фрагмент.
И три цели:
- только заголовки;
- только списки;
- заголовки и списки.
Стили:
1. / 1.1. / 1.1.1.
1️⃣ / 1️⃣.1️⃣ / 1️⃣.1️⃣.1️⃣
Перед применением показывается предпросмотр: первые 8 изменений в формате было → станет и общее количество изменяемых строк.
Транзакционность и Undo
Массовые операции применяются одной транзакцией редактора:
- перемещение ветки;
- перемещение выделенного диапазона;
- повышение/понижение;
- нормализация уровней;
- перенумерация;
- удаление нумерации;
- emoji-нумерация.
Ctrl+Z откатывает операцию одним действием.
Перемещение реализовано через атомарную перестановку строк. Оно не должно:
- добавлять лишние пустые строки;
- склеивать заголовки;
- терять выделение строк при повторном перемещении;
- разворачивать свёрнутую ветку после перемещения;
- ломаться на первой или последней ветке;
- ломаться на файле без финального перевода строки.
Ограничения
- Поддерживаются ATX-заголовки:
#,##,###,####,#####,######. - Markdown-заголовки H1…H6 — это предел.
- Setext-заголовки с подчёркиванием
===/---не поддерживаются. - Заголовки внутри fenced code blocks (
```или~~~) игнорируются. - Глобальные хоткеи Windows / macOS / других приложений не проверяются.
- На мобильных устройствах физические хоткеи обычно бесполезны, используйте toolbar и меню.
- Файловые действия с проводником, буфером файлов и SendTo зависят от desktop-среды и возможностей Electron/ОС.
Установка вручную
- Закрыть Obsidian.
- Создать папку:
.obsidian/plugins/structure-commander/
- Скопировать в неё:
main.js
manifest.json
styles.css
- Открыть Obsidian.
- Перейти в
Настройки → Community plugins. - Включить
Structure Commander.
Состав релиза
Для релиза GitHub должны быть приложены отдельные assets:
main.js
manifest.json
styles.css
Не только Source code (zip) и не только архив. Obsidian Community Plugins проверяет именно отдельные release assets.
Совместимость
minAppVersion: 1.0.0.
Плагин не требует внешних сервисов, аккаунтов, сетевых запросов или отдельной базы данных. Работает внутри текущего vault и меняет файлы только по команде пользователя.
License
MIT