diff --git a/README.md b/README.md index 89bd842..4d6b2b5 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ -# Structure Commander v2.3.1 +# Structure Commander v2.3.4 Structure Commander — плагин для Obsidian, который превращает Markdown-документ в управляемую структуру. Не просто «ещё одна панель заголовков», а рабочий инструмент для длинных заметок, технических заданий, конспектов, проектной документации и любых текстов, где разделы нужно двигать, сворачивать, повышать, понижать, нумеровать и экспортировать без ручной хирургии по строкам. Если встроенная структура Obsidian показывает дерево, Structure Commander даёт с этим деревом работать: переставлять ветки, менять уровни, сворачивать нужные части, быстро показывать документ до выбранной глубины и выносить отдельные ветки в самостоятельные `.md`-файлы. -## Последнее обновление: v2.3.1 +## Последнее обновление: v2.3.4 -Исправлен баг с переносом выделенного текста: при повторном перемещении выделенного диапазона больше не теряется по одной строке выделения. Цельное построчное выделение теперь корректно восстанавливается после перемещения вверх или вниз. +Исправлено сохранение выделения после перемещения блока вверх/вниз: повторное перемещение выделенного блока больше не теряет строки. Также восстановлено свёрнутое состояние ветки после перемещения и синхронизирована версия в `manifest.json` и README. ## Что умеет @@ -27,6 +27,10 @@ Structure Commander — плагин для Obsidian, который превр - Добавлять компактную панель инструментов над редактором. - Показывать текущие хоткеи прямо в tooltip, контекстном меню и меню тулбара. - Быстро назначать хоткеи из настроек плагина или через ПКМ по кнопке тулбара. +- Добавлять файловые операции в контекстное меню vault. +- Открывать файл/папку в проводнике, копировать путь и копировать файл в буфер. +- Использовать режим отработки для файловых операций без фактического изменения файлов. +- Выполнять Ctrl+Z/Ctrl+Y для файловых операций плагина. ## Быстрый старт @@ -49,7 +53,7 @@ Structure Commander — плагин для Obsidian, который превр - палитру команд `Ctrl+P`; - ribbon-иконку Structure Commander. -Хоткеи `Alt+←/→` выбраны намеренно вместо `Ctrl+Shift+←/→`: `Ctrl+Shift+←/→` конфликтуют со стандартным выделением текста по словам в любом текстовом поле. +Кнопка Structure Commander на левой панели Obsidian открывает правую боковую панель структуры. ## Основная идея @@ -77,59 +81,6 @@ Structure Commander — плагин для Obsidian, который превр Если курсор стоит внутри `Подраздел 1.1`, команда работает только с этой вложенной веткой. -## Команды - -Все команды доступны через палитру `Ctrl+P`. Названия команд начинаются с `Structure Commander`. - -| Команда | Действие | -|---|---| -| Открыть Structure Commander | открыть общий пульт команд | -| Открыть настройки горячих клавиш | перейти к штатным настройкам Hotkeys | -| Открыть боковую панель структуры справа | открыть панель справа | -| Открыть боковую панель структуры слева | открыть панель слева | -| Открыть боковую панель структуры снизу | открыть панель снизу | -| Скрыть/показать боковую панель структуры | переключить боковую панель | -| Скрыть/показать панель инструментов над редактором | переключить toolbar над редактором | -| Свернуть все заголовки | свернуть весь документ | -| Развернуть все заголовки / Показать всё | полностью развернуть документ | -| Показать документ до H1…H6 | свернуть документ ниже выбранного уровня | -| Поставить текущему заголовку уровень H1…H6 | изменить только строку текущего заголовка | -| Поставить заголовку ветки H1…H6 | изменить уровень корня ветки и сдвинуть вложенные уровни | -| Свернуть текущую ветку | свернуть ветку под курсором | -| Развернуть текущую ветку | развернуть ветку под курсором | -| Переключить сворачивание текущей ветки | fold/unfold для текущей ветки | -| Показать текущую ветку до глубины 1…6 | развернуть ветку только до выбранной глубины | -| Повысить только текущий заголовок | изменить только строку заголовка | -| Понизить только текущий заголовок | изменить только строку заголовка | -| Повысить (заголовок/текст/список) | универсальное повышение строки или ветки | -| Понизить (заголовок/текст/список) | универсальное понижение строки или ветки | -| Скопировать текущую ветку | скопировать ветку в буфер обмена | -| Экспортировать ветку в `.md` | сохранить ветку отдельным файлом | -| Ветка выше | переместить ветку выше | -| Ветка ниже | переместить ветку ниже | -| Исправить пропуски уровней | нормализовать H-иерархию | -| Перенумеровать структуру | пронумеровать заголовки и/или списки | -| Удалить нумерацию | убрать существующие числовые префиксы | -| Заменить нумерацию на emoji-цифры | заменить нумерацию на emoji-формат | - -## Универсальное повышение и понижение - -Команды `Повысить` и `Понизить` работают как лестница между типами строк. - -Понижение: - -```text -H1 → H2 → H3 → H4 → H5 → H6 → текст → - список → 1. список → 1) список → а) список -``` - -Повышение: - -```text -а) список → 1) список → 1. список → - список → текст → H6 → H5 → H4 → H3 → H2 → H1 -``` - -На заголовке команда меняет всю ветку. На обычном тексте или списке команда меняет текущую строку. При выделении нескольких строк операция применяется к выделенному диапазону одной транзакцией, а нумерация внутри выделения пересчитывается. - ## Контекстное меню редактора ПКМ в Markdown-редакторе добавляет компактные верхнеуровневые пункты с подменю: @@ -169,6 +120,23 @@ H1 → H2 → H3 → H4 → H5 → H6 → текст → - список → 1. В подменю «Понизить до» и «Повысить до» показываются только допустимые уровни: плагин не даст сдвинуть ветку так, чтобы вложенные заголовки вышли за пределы H1…H6. +## Контекстное меню файлов vault + +ПКМ по файлу или папке vault добавляет пункт `Файл ▸`. + +```text +Файл ▸ + ├─ Открыть в проводнике + ├─ Скопировать путь + ├─ Скопировать файл в буфер + ├─ Отправить ▸ + ├─ Режим отработки + ├─ Ctrl+Z — отменить файловую операцию + └─ Ctrl+Y — повторить файловую операцию +``` + +Режим отработки показывает план операции, но не меняет файлы. + ## Панель инструментов над редактором Над Markdown-редактором появляется компактная панель: @@ -193,15 +161,6 @@ H1 → H2 → H3 → H4 → H5 → H6 → текст → - список → 1. Tooltip у кнопок показывает действие и текущий хоткей. Если хоткей изменён в настройках Obsidian, tooltip подтянет актуальное значение. -ПКМ по кнопкам `↑ ↓ ← → − +` открывает быстрое назначение хоткея: - -- нажать ПКМ по кнопке; -- выбрать «Назначить хоткей»; -- нажать нужную комбинацию; -- сохранить. - -Поддерживаются обычные клавиши, стрелки, `F1…F12`, `Numpad1…Numpad9`, `Enter`, `Tab`, модификаторы `Ctrl`, `Alt`, `Shift`, `Meta`. - ## Боковая панель структуры Панель структуры похожа на штатную outline-панель Obsidian, но добавляет управляющие действия. @@ -229,25 +188,7 @@ Tooltip у кнопок показывает действие и текущий Экспорт ветки… ``` -Уровни в панели передаются визуально: отступом, жирностью, наклоном и цветом. Подписи `H1`, `H2`, `H3` не повторяются в каждой строке, чтобы панель не выглядела как бухгалтерская ведомость после неудачного импорта. - -Панель обновляется при смене активного файла, изменении файла и смене активного редактора. Чтение файла защищено от устаревших async-результатов и обновляется с debounce. - -## Настройки - -В настройках плагина доступны: - -- полный список команд с текущими хоткеями; -- быстрое назначение хоткея через кнопку «Изменить»; -- очистка хоткея через `×`; -- кнопка «Открыть Hotkeys» для штатного редактора Obsidian; -- глубина боковой панели по умолчанию; -- открытие боковой панели справа, слева или снизу; -- включение/выключение toolbar над редактором; -- папка экспорта по умолчанию; -- сброс настроек. - -Плагин видит коллизии хоткеев внутри Obsidian. Глобальные перехваты Windows, macOS или других приложений изнутри Obsidian проверить нельзя. +Уровни в панели передаются визуально: отступом, жирностью, наклоном и цветом. Подписи `H1`, `H2`, `H3` не повторяются в каждой строке. ## Экспорт ветки @@ -263,8 +204,6 @@ Tooltip у кнопок показывает действие и текущий Имя файла берётся из заголовка ветки. Запрещённые символы очищаются. Если файл уже существует, добавляется суффикс `2`, `3`, `4` и так далее. -Последний выбранный режим сохраняется. Повторный экспорт можно подтвердить клавишей `Enter`. - ## Перенумерация Окно перенумерации поддерживает три области: @@ -288,8 +227,6 @@ Tooltip у кнопок показывает действие и текущий Перед применением показывается предпросмотр: первые 8 изменений в формате `было → станет` и общее количество изменяемых строк. -Удаление нумерации снимает числовые, emoji и некоторые визуальные префиксы. Для списков удаление нумерации переводит их в маркированный список. - ## Транзакционность и Undo Массовые операции применяются одной транзакцией редактора: @@ -321,6 +258,7 @@ Tooltip у кнопок показывает действие и текущий - Заголовки внутри fenced code blocks (` ``` ` или `~~~`) игнорируются. - Глобальные хоткеи Windows / macOS / других приложений не проверяются. - На мобильных устройствах физические хоткеи обычно бесполезны, используйте toolbar и меню. +- Файловые действия с проводником, буфером файлов и SendTo зависят от desktop-среды и возможностей Electron/ОС. ## Установка вручную @@ -359,7 +297,7 @@ styles.css `minAppVersion`: `1.0.0`. -Плагин не требует внешних сервисов, аккаунтов, сетевых запросов или отдельной базы данных. Работает внутри текущего vault и меняет только открытые Markdown-файлы по команде пользователя. +Плагин не требует внешних сервисов, аккаунтов, сетевых запросов или отдельной базы данных. Работает внутри текущего vault и меняет файлы только по команде пользователя. ## License