Structure Commander
approvedby akudlay-ru
This plugin has not been manually reviewed by Obsidian staff. Manage Markdown structure as a tree: move branches, change heading levels, fold sections, renumber outlines, export branches, and navigate long notes.
Structure 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
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.