Obsidian CLI — це інтерфейс командного рядка, який дозволяє керувати Obsidian з терміналу для створення скриптів, автоматизації та інтеграції із зовнішніми інструментами. Все, що ви можете зробити в Obsidian, ви можете зробити з командного рядка. Obsidian CLI навіть включає [[#Команди для розробників|команди для розробників]] для доступу до інструментів розробника, інспектування елементів, створення знімків екрана, перезавантаження додатків тощо. ![[obsidian-cli.mp4#interface]] > [!warning] Потрібен інсталятор Obsidian 1.12 > Для використання CLI потрібен інсталятор Obsidian 1.12. Див. [[Оновлення Obsidian#Оновлення інсталятора|посібник з оновлення версії інсталятора]]. ## Встановлення Obsidian CLI Оновіться до останньої [[Оновлення Obsidian|версії інсталятора Obsidian]] (1.12.7+). Увімкніть Obsidian CLI в Obsidian: 1. Перейдіть до **Налаштування** → **Загальне**. 2. Увімкніть **Інтерфейс командного рядка**. 3. Дотримуйтесь підказки для реєстрації Obsidian CLI. Якщо у вас виникли проблеми зі встановленням Obsidian CLI, див. [[#Вирішення проблем]]. ## Початок роботи Obsidian CLI підтримує як окремі команди, так і термінальний інтерфейс користувача (TUI) з інтерактивною довідкою та автодоповненням. > [!info] Застосунок Obsidian має бути запущений > Obsidian CLI вимагає, щоб застосунок Obsidian був запущений. Якщо Obsidian не запущений, перша виконана команда запустить Obsidian. > > Шукаєте синхронізацію без десктопного застосунку? Див. [[Автономна синхронізація|Obsidian Headless]]. ### Виконання команди Виконайте окрему команду без відкриття TUI: ```shell # Виконати команду довідки obsidian help ``` ### Використання термінального інтерфейсу Використовуйте TUI, ввівши `obsidian`. Подальші команди можна вводити без `obsidian`. ```shell # Відкрити TUI, потім виконати довідку obsidian help ``` TUI підтримує автодоповнення, історію команд та зворотний пошук. Використовуйте `Ctrl+R` для пошуку в історії команд. Див. [[#Сполучення клавіш]] для всіх доступних скорочень. ## Приклади Ось кілька прикладів того, що може робити Obsidian CLI. ### Щоденне використання ```shell # Відкрити сьогоднішню щоденну нотатку obsidian daily # Додати завдання до щоденної нотатки obsidian daily:append content="- [ ] Купити продукти" # Пошук у сховищі obsidian search query="нотатки зустрічі" # Прочитати активний файл obsidian read # Перерахувати всі завдання з щоденної нотатки obsidian tasks daily # Створити нову нотатку з шаблону obsidian create name="Подорож до Парижа" template=Travel # Перерахувати всі мітки в сховищі з підрахунком obsidian tags counts # Порівняти дві версії файлу obsidian diff file=README from=1 to=3 ``` ### Для розробників Багато [[#Команди для розробників|команд для розробників]] доступні для розробки додатків та тем. Ці команди дозволяють агентним інструментам програмування автоматично тестувати та налагоджувати. ```shell # Відкрити інструменти розробника obsidian devtools # Перезавантажити додаток спільноти, який ви розробляєте obsidian plugin:reload id=my-plugin # Зробити знімок екрана застосунку obsidian dev:screenshot path=screenshot.png # Виконати JavaScript у консолі застосунку obsidian eval code="app.vault.getFiles().length" ``` ## Як користуватися ### Використання параметрів та прапорців Команди можуть використовувати **параметри** та **прапорці**. Більшість команд не вимагають жодних параметрів чи прапорців. Обов'язкові параметри позначені як `required`. Наприклад: ```shell # Створити нову нотатку з назвою за замовчуванням "Без назви" obsidian create ``` **Параметр** приймає значення, записане як `параметр=значення`. Якщо значення містить пробіли, обгорніть його в лапки: ```shell # Створити нову нотатку з назвою "Нотатка" та вмістом "Привіт, світе" obsidian create name=Нотатка content="Привіт, світе" ``` **Прапорець** — це булевий перемикач без значення. Включіть його, щоб увімкнути, наприклад `open` та `overwrite` — це прапорці: ```shell # Створити нотатку та відкрити її obsidian create name=Нотатка content="Привіт" open overwrite ``` Для багаторядкового вмісту використовуйте `\n` для нового рядка. Використовуйте `\t` для табуляції. ```bash obsidian create name=Нотатка content="# Заголовок\n\nОсновний текст" ``` ### Вибір сховища Якщо поточна робоча тека вашого терміналу є текою сховища, це сховище використовується за замовчуванням. В іншому випадку використовується поточне активне сховище. Використовуйте `vault=<назва>` або `vault=<ідентифікатор>`, щоб вказати конкретне сховище. Це має бути першим параметром перед вашою командою: ```shell obsidian vault=Notes daily obsidian vault="My Vault" search query="test" ``` У TUI використовуйте `vault:open <назва>` або `<ідентифікатор>`, щоб переключитися на інше сховище. ### Вибір файлу Багато команд приймають параметри `file` та `path` для вибору конкретного файлу. Якщо жоден не вказано, команда застосовується до активного файлу. - `file=<назва>` розпізнає файл, використовуючи ту саму роздільну здатність посилань, що й [[Внутрішні посилання|wiki-посилання]], зіставляючи за назвою файлу без необхідності повного шляху або розширення. - `path=<шлях>` вимагає точний шлях від кореня сховища, наприклад `folder/note.md`. ```shell # Ці команди еквівалентні, якщо "Recipe.md" — єдиний файл з такою назвою obsidian read file=Recipe obsidian read path="Templates/Recipe.md" ``` ### Копіювання виводу Додайте `--copy` до будь-якої команди, щоб скопіювати вивід у буфер обміну: ```shell read --copy search query="TODO" --copy ``` ## Загальні команди ### `help` Показати список усіх доступних команд. | Параметр | Опис | | ----------- | ------------------------------------- | | `<command>` | Показати довідку для конкретної команди. | ### `version` Показати версію Obsidian. ### `reload` Оновити вікно застосунку. ### `restart` Перезапустити застосунок. ## Бази Команди для [[Вступ до Баз|Баз]]. ### `bases` Перерахувати всі файли `.base` у сховищі. ### `base:views` Перерахувати подання в поточному файлі бази. ### `base:create` Створити новий елемент у базі. За замовчуванням використовується активне подання бази, якщо файл не вказано. ```bash file=<name> # назва файлу бази path=<path> # шлях до файлу бази view=<name> # назва подання name=<name> # назва нового файлу content=<text> # початковий вміст open # відкрити файл після створення newtab # відкрити в новій вкладці ``` ### `base:query` Виконати запит до бази та повернути результати. ```bash file=<name> # назва файлу бази path=<path> # шлях до файлу бази view=<name> # назва подання для запиту format=json|csv|tsv|md|paths # формат виводу (за замовчуванням: json) ``` ## Закладки Команди для [[Закладки|Закладок]]. ### `bookmarks` Перерахувати закладки. ```bash total # повернути кількість закладок verbose # включити типи закладок format=json|tsv|csv # формат виводу (за замовчуванням: tsv) ``` ### `bookmark` Додати закладку. ```bash file=<path> # файл для закладки subpath=<subpath> # підшлях (заголовок або блок) у файлі folder=<path> # тека для закладки search=<query> # пошуковий запит для закладки url=<url> # URL для закладки title=<title> # назва закладки ``` ## Меню команд Команди для [[Меню команд]] та [[Сполучення клавіш]]. Включає всі команди, зареєстровані додатками. ### `commands` Перерахувати доступні ідентифікатори команд. ```bash filter=<prefix> # фільтрувати за префіксом ID ``` ### `command` Виконати команду Obsidian. ```bash id=<command-id> # (обов'язково) ID команди для виконання ``` ### `hotkeys` Перерахувати сполучення клавіш для всіх команд. ```bash total # повернути кількість сполучень клавіш verbose # показати, чи є сполучення користувацьким format=json|tsv|csv # формат виводу (за замовчуванням: tsv) ``` ### `hotkey` Отримати сполучення клавіш для команди. ```bash id=<command-id> # (обов'язково) ID команди verbose # показати, чи є користувацьким або стандартним ``` ## Щоденні нотатки Команди для [[Щоденні нотатки|Щоденних нотаток]]. ### `daily` Відкрити щоденну нотатку. ```bash paneType=tab|split|window # тип панелі для відкриття ``` ### `daily:path` Отримати шлях до щоденної нотатки. Повертає очікуваний шлях, навіть якщо файл ще не створено. ### `daily:read` Прочитати вміст щоденної нотатки. ### `daily:append` Додати вміст у кінець щоденної нотатки. ```bash content=<text> # (обов'язково) вміст для додавання paneType=tab|split|window # тип панелі для відкриття inline # додати без нового рядка open # відкрити файл після додавання ``` ### `daily:prepend` Додати вміст на початок щоденної нотатки. ```bash content=<text> # (обов'язково) вміст для додавання paneType=tab|split|window # тип панелі для відкриття inline # додати без нового рядка open # відкрити файл після додавання ``` ## Історія файлів ### `diff` Перерахувати або порівняти версії з локального [[Відновлення файлів|відновлення файлів]] та [[Вступ до Obsidian Sync|Sync]]. Версії нумеруються від найновішої до найстарішої. ```bash file=<name> # назва файлу path=<path> # шлях до файлу from=<n> # номер версії для порівняння від to=<n> # номер версії для порівняння до filter=local|sync # фільтрувати за джерелом версії ``` **Приклади:** ```shell # Перерахувати всі версії активного файлу diff # Перерахувати всі версії конкретного файлу diff file=Recipe # Порівняти останню версію з поточним файлом diff file=Recipe from=1 # Порівняти дві версії diff file=Recipe from=2 to=1 # Показати лише версії Sync diff filter=sync ``` ### `history` Перерахувати версії лише з [[Відновлення файлів]]. Див. [[#Sync|sync:history]] для еквівалентної команди Sync. ```bash file=<name> # назва файлу path=<path> # шлях до файлу ``` ### `history:list` Перерахувати всі файли з локальною історією. ### `history:read` Прочитати версію з локальної історії. ```bash file=<name> # назва файлу path=<path> # шлях до файлу version=<n> # номер версії (за замовчуванням: 1) ``` ### `history:restore` Відновити версію з локальної історії. ```bash file=<name> # назва файлу path=<path> # шлях до файлу version=<n> # (обов'язково) номер версії ``` ### `history:open` Відкрити відновлення файлів. ```bash file=<name> # назва файлу path=<path> # шлях до файлу ``` ## Файли та теки ### `file` Показати інформацію про файл (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу ``` Приклад: ``` path Notes/Recipe.md name Recipe extension md size 1024 created 1700000000000 modified 1700001000000 ``` ### `files` Перерахувати файли у сховищі. ```bash folder=<path> # фільтрувати за текою ext=<extension> # фільтрувати за розширенням total # повернути кількість файлів ``` ### `folder` Показати інформацію про теку. ```bash path=<path> # (обов'язково) шлях до теки info=files|folders|size # повернути лише конкретну інформацію ``` ### `folders` Перерахувати теки у сховищі. ```bash folder=<path> # фільтрувати за батьківською текою total # повернути кількість тек ``` ### `open` Відкрити файл. ```bash file=<name> # назва файлу path=<path> # шлях до файлу newtab # відкрити в новій вкладці ``` ### `create` Створити або перезаписати файл. ```bash name=<name> # назва файлу path=<path> # шлях до файлу content=<text> # початковий вміст template=<name> # шаблон для використання overwrite # перезаписати, якщо файл існує open # відкрити файл після створення newtab # відкрити в новій вкладці ``` ### `read` Прочитати вміст файлу (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу ``` ### `append` Додати вміст у кінець файлу (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу content=<text> # (обов'язково) вміст для додавання inline # додати без нового рядка ``` ### `prepend` Додати вміст після початкових метаданих (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу content=<text> # (обов'язково) вміст для додавання inline # додати без нового рядка ``` ### `move` Перемістити або перейменувати файл (за замовчуванням: активний файл). Це автоматично оновить [[Внутрішні посилання|внутрішні посилання]], якщо це увімкнено у ваших [[Налаштування#Завжди оновлюйте внутрішні посилання|налаштуваннях сховища]]. ```bash file=<name> # назва файлу path=<path> # шлях до файлу to=<path> # (обов'язково) тека або шлях призначення ``` ### `rename` Перейменувати файл (за замовчуванням: активний файл). Розширення файлу зберігається автоматично, якщо воно не вказане в новій назві. Використовуйте [[#`move`|move]], щоб перейменувати та перемістити файл одночасно. Це автоматично оновить [[Внутрішні посилання|внутрішні посилання]], якщо це увімкнено у ваших [[Налаштування#Завжди оновлюйте внутрішні посилання|налаштуваннях сховища]]. ```bash file=<name> # назва файлу path=<path> # шлях до файлу name=<name> # (обов'язково) нова назва файлу ``` ### `delete` Видалити файл (за замовчуванням: активний файл, у кошик). ```bash file=<name> # назва файлу path=<path> # шлях до файлу permanent # пропустити кошик, видалити назавжди ``` ## Посилання Команди для [[Зворотні посилання|Зворотних посилань]] та [[Вихідні посилання|Вихідних посилань]]. ### `backlinks` Перерахувати зворотні посилання на файл (за замовчуванням: активний файл). ```bash file=<name> # назва цільового файлу path=<path> # шлях до цільового файлу counts # включити кількість посилань total # повернути кількість зворотних посилань format=json|tsv|csv # формат виводу (за замовчуванням: tsv) ``` ### `links` Перерахувати вихідні посилання з файлу (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу total # повернути кількість посилань ``` ### `unresolved` Перерахувати нерозпізнані посилання у сховищі. ```bash total # повернути кількість нерозпізнаних посилань counts # включити кількість посилань verbose # включити файли-джерела format=json|tsv|csv # формат виводу (за замовчуванням: tsv) ``` ### `orphans` Перерахувати файли без вхідних посилань. ```bash total # повернути кількість сиріт ``` ### `deadends` Перерахувати файли без вихідних посилань. ```bash total # повернути кількість тупиків ``` ## Структура Команди для [[Вміст|Структури]]. ### `outline` Показати заголовки для поточного файлу. ```bash file=<name> # назва файлу path=<path> # шлях до файлу format=tree|md|json # формат виводу (за замовчуванням: tree) total # повернути кількість заголовків ``` ## Додатки Команди для [[Вбудовані додатки|Вбудованих додатків]] та [[Додатки спільноти|Додатків спільноти]]. ### `plugins` Перерахувати встановлені додатки. ```bash filter=core|community # фільтрувати за типом додатка versions # включити номери версій format=json|tsv|csv # формат виводу (за замовчуванням: tsv) ``` ### `plugins:enabled` Перерахувати увімкнені додатки. ```bash filter=core|community # фільтрувати за типом додатка versions # включити номери версій format=json|tsv|csv # формат виводу (за замовчуванням: tsv) ``` ### `plugins:restrict` Увімкнути/вимкнути або перевірити обмежений режим. ```bash on # увімкнути обмежений режим off # вимкнути обмежений режим ``` ### `plugin` Отримати інформацію про додаток. ```bash id=<plugin-id> # (обов'язково) ID додатка ``` ### `plugin:enable` Увімкнути додаток. ```bash id=<id> # (обов'язково) ID додатка filter=core|community # тип додатка ``` ### `plugin:disable` Вимкнути додаток. ```bash id=<id> # (обов'язково) ID додатка filter=core|community # тип додатка ``` ### `plugin:install` Встановити додаток спільноти. ```bash id=<id> # (обов'язково) ID додатка enable # увімкнути після встановлення ``` ### `plugin:uninstall` Видалити додаток спільноти. ```bash id=<id> # (обов'язково) ID додатка ``` ### `plugin:reload` Перезавантажити додаток (для розробників). ```bash id=<id> # (обов'язково) ID додатка ``` ## Властивості Команди, пов'язані з [[Властивості|Властивостями]]. ### `aliases` Перерахувати псевдоніми у сховищі. Використовуйте `active` або `file`/`path`, щоб показати псевдоніми для конкретного файлу. ```bash file=<name> # назва файлу path=<path> # шлях до файлу total # повернути кількість псевдонімів verbose # включити шляхи до файлів active # показати псевдоніми для активного файлу ``` ### `properties` Перерахувати властивості у сховищі. Використовуйте `active` або `file`/`path`, щоб показати властивості для конкретного файлу. ```bash file=<name> # показати властивості для файлу path=<path> # показати властивості для шляху name=<name> # отримати кількість конкретної властивості sort=count # сортувати за кількістю (за замовчуванням: назва) format=yaml|json|tsv # формат виводу (за замовчуванням: yaml) total # повернути кількість властивостей counts # включити кількість входжень active # показати властивості для активного файлу ``` ### `property:set` Встановити властивість для файлу (за замовчуванням: активний файл). ```bash name=<name> # (обов'язково) назва властивості value=<value> # (обов'язково) значення властивості type=text|list|number|checkbox|date|datetime # тип властивості file=<name> # назва файлу path=<path> # шлях до файлу ``` ### `property:remove` Видалити властивість з файлу (за замовчуванням: активний файл). ```bash name=<name> # (обов'язково) назва властивості file=<name> # назва файлу path=<path> # шлях до файлу ``` ### `property:read` Прочитати значення властивості з файлу (за замовчуванням: активний файл). ```bash name=<name> # (обов'язково) назва властивості file=<name> # назва файлу path=<path> # шлях до файлу ``` ## Publish Команди для [[Вступ до Obsidian Publish|Obsidian Publish]]. ### `publish:site` Показати інформацію про сайт Publish (slug, URL). ### `publish:list` Перерахувати опубліковані файли. ```bash total # повернути кількість опублікованих файлів ``` ### `publish:status` Перерахувати зміни для публікації. ```bash total # повернути кількість змін new # показати лише нові файли changed # показати лише змінені файли deleted # показати лише видалені файли ``` ### `publish:add` Опублікувати файл або всі змінені файли (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу changed # опублікувати всі змінені файли ``` ### `publish:remove` Скасувати публікацію файлу (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу ``` ### `publish:open` Відкрити файл на опублікованому сайті (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу ``` ## Випадкові нотатки Команди для [[Випадкова нотатка|Випадкової нотатки]]. ### `random` Відкрити випадкову нотатку. ```bash folder=<path> # обмежити текою newtab # відкрити в новій вкладці ``` ### `random:read` Прочитати випадкову нотатку (включає шлях). ```bash folder=<path> # обмежити текою ``` ## Пошук Команди для [[Пошук|Пошуку]]. ### `search` Пошук тексту у сховищі. Повертає шляхи до відповідних файлів. ```bash query=<text> # (обов'язково) пошуковий запит path=<folder> # обмежити текою limit=<n> # максимальна кількість файлів format=text|json # формат виводу (за замовчуванням: text) total # повернути кількість збігів case # враховуючи регістр ``` ### `search:context` Пошук з контекстом відповідних рядків. Повертає вивід у стилі grep `шлях:рядок: текст`. ```bash query=<text> # (обов'язково) пошуковий запит path=<folder> # обмежити текою limit=<n> # максимальна кількість файлів format=text|json # формат виводу (за замовчуванням: text) case # враховуючи регістр ``` ### `search:open` Відкрити подання пошуку. ```bash query=<text> # початковий пошуковий запит ``` ## Sync Команди для [[Вступ до Obsidian Sync|Obsidian Sync]]. > [!tip] Синхронізація без десктопного застосунку > Ці команди керують Sync у запущеному застосунку Obsidian. Щоб синхронізувати сховища з командного рядка без десктопного застосунку, див. [[Автономна синхронізація]]. ### `sync` Призупинити або відновити синхронізацію. ```bash on # відновити синхронізацію off # призупинити синхронізацію ``` ### `sync:status` Показати стан синхронізації та використання. ### `sync:history` Перерахувати історію версій Sync для файлу (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу total # повернути кількість версій ``` ### `sync:read` Прочитати версію Sync (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу version=<n> # (обов'язково) номер версії ``` ### `sync:restore` Відновити версію Sync (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу version=<n> # (обов'язково) номер версії ``` ### `sync:open` Відкрити історію Sync (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу ``` ### `sync:deleted` Перерахувати видалені файли в Sync. ```bash total # повернути кількість видалених файлів ``` ## Мітки Команди для [[Мітки|Міток]]. ### `tags` Перерахувати мітки у сховищі. Використовуйте `active` або `file`/`path`, щоб показати мітки для конкретного файлу. ```bash file=<name> # назва файлу path=<path> # шлях до файлу sort=count # сортувати за кількістю (за замовчуванням: назва) total # повернути кількість міток counts # включити кількість міток format=json|tsv|csv # формат виводу (за замовчуванням: tsv) active # показати мітки для активного файлу ``` ### `tag` Отримати інформацію про мітку. ```bash name=<tag> # (обов'язково) назва мітки total # повернути кількість входжень verbose # включити список файлів та кількість ``` ## Завдання Команди для керування завданнями. ### `tasks` Перерахувати завдання у сховищі. Використовуйте `active` або `file`/`path`, щоб показати завдання для конкретного файлу. ```bash file=<name> # фільтрувати за назвою файлу path=<path> # фільтрувати за шляхом до файлу status="<char>" # фільтрувати за символом статусу total # повернути кількість завдань done # показати виконані завдання todo # показати невиконані завдання verbose # групувати за файлом з номерами рядків format=json|tsv|csv # формат виводу (за замовчуванням: text) active # показати завдання для активного файлу daily # показати завдання з щоденної нотатки ``` **Приклади:** ```bash # Перерахувати всі завдання у сховищі tasks # Перерахувати невиконані завдання у сховищі tasks todo # Перерахувати виконані завдання з конкретного файлу tasks file=Recipe done # Перерахувати завдання з сьогоднішньої щоденної нотатки tasks daily # Порахувати завдання в щоденній нотатці tasks daily total # Перерахувати завдання з шляхами до файлів та номерами рядків tasks verbose # Фільтрувати за користувацьким статусом (лапки для спеціальних символів) tasks 'status=?' ``` ### `task` Показати або оновити завдання. ```bash ref=<path:line> # посилання на завдання (шлях:рядок) file=<name> # назва файлу path=<path> # шлях до файлу line=<n> # номер рядка status="<char>" # встановити символ статусу toggle # переключити статус завдання daily # щоденна нотатка done # позначити як виконане todo # позначити як невиконане ``` **Приклади:** ```bash # Показати інформацію про завдання task file=Recipe line=8 task ref="Recipe.md:8" # Переключити виконання завдання task ref="Recipe.md:8" toggle # Переключити завдання в щоденній нотатці task daily line=3 toggle # Встановити статус завдання task file=Recipe line=8 done # → [x] task file=Recipe line=8 todo # → [ ] task file=Recipe line=8 status=- # → [-] task daily line=3 done # Позначити завдання щоденної нотатки як виконане ``` ## Шаблони Команди для [[Шаблони|Шаблонів]]. ### `templates` Перерахувати шаблони. ```bash total # повернути кількість шаблонів ``` ### `template:read` Прочитати вміст шаблону. ```bash name=<template> # (обов'язково) назва шаблону title=<title> # заголовок для розпізнавання змінних resolve # розпізнати змінні шаблону ``` ### `template:insert` Вставити шаблон в активний файл. ```bash name=<template> # (обов'язково) назва шаблону ``` **Примітки:** - Опція `resolve` обробляє змінні `{{date}}`, `{{time}}`, `{{title}}` - Використовуйте `create path=<path> template=<name>`, щоб створити файл із шаблону ## Теми та сніпети Команди для [[Теми|Тем]] та [[Сніпети CSS|Сніпетів CSS]]. ### `themes` Перерахувати встановлені теми. ```bash versions # включити номери версій ``` ### `theme` Показати активну тему або отримати інформацію. ```bash name=<name> # назва теми для деталей ``` ### `theme:set` Встановити активну тему. ```bash name=<name> # (обов'язково) назва теми (порожнє для стандартної) ``` ### `theme:install` Встановити тему спільноти. ```bash name=<name> # (обов'язково) назва теми enable # активувати після встановлення ``` ### `theme:uninstall` Видалити тему. ```bash name=<name> # (обов'язково) назва теми ``` ### `snippets` Перерахувати встановлені сніпети CSS. ### `snippets:enabled` Перерахувати увімкнені сніпети CSS. ### `snippet:enable` Увімкнути сніпет CSS. ```bash name=<name> # (обов'язково) назва сніпета ``` ### `snippet:disable` Вимкнути сніпет CSS. ```bash name=<name> # (обов'язково) назва сніпета ``` ## Унікальні нотатки Команди для [[Конструктор унікальних нотаток|Конструктора унікальних нотаток]]. ### `unique` Створити унікальну нотатку. ```bash name=<text> # назва нотатки content=<text> # початковий вміст paneType=tab|split|window # тип панелі для відкриття open # відкрити файл після створення ``` ## Сховище ### `vault` Показати інформацію про сховище. ```bash info=name|path|files|folders|size # повернути лише конкретну інформацію ``` ### `vaults` Перерахувати відомі сховища. ```bash total # повернути кількість сховищ verbose # включити шляхи до сховищ ``` ### `vault:open` Переключитися на інше сховище (лише TUI). ```bash name=<name> # (обов'язково) назва сховища ``` ## Вебпереглядач Команди для [[Вебпереглядач|Вебпереглядача]]. ### `web` Відкрити URL у вебпереглядачі. ```bash url=<url> # (обов'язково) URL для відкриття newtab # відкрити в новій вкладці ``` ## Лічильник слів Команди для [[Лічильник слів|Лічильника слів]]. ### `wordcount` Порахувати слова та символи (за замовчуванням: активний файл). ```bash file=<name> # назва файлу path=<path> # шлях до файлу words # повернути лише кількість слів characters # повернути лише кількість символів ``` ## Робочий простір Команди для [[Робочий простір|Робочого простору]] та додатка [[Простори|Простори]]. ### `workspace` Показати дерево робочого простору. ```bash ids # включити ID елементів робочого простору ``` ### `workspaces` Перерахувати збережені робочі простори. ```bash total # повернути кількість робочих просторів ``` ### `workspace:save` Зберегти поточний макет як робочий простір. ```bash name=<name> # назва робочого простору ``` ### `workspace:load` Завантажити збережений робочий простір. ```bash name=<name> # (обов'язково) назва робочого простору ``` ### `workspace:delete` Видалити збережений робочий простір. ```bash name=<name> # (обов'язково) назва робочого простору ``` ### `tabs` Перерахувати відкриті вкладки. ```bash ids # включити ID вкладок ``` ### `tab:open` Відкрити нову вкладку. ```bash group=<id> # ID групи вкладок file=<path> # файл для відкриття view=<type> # тип подання для відкриття ``` ### `recents` Перерахувати нещодавно відкриті файли. ```bash total # повернути кількість нещодавніх файлів ``` ## Команди для розробників Команди для допомоги у розробці [[Додатки спільноти|Додатків спільноти]] та [[Теми|Тем]]. Дізнатися більше можна в [документації для розробників Obsidian](https://docs.obsidian.md). ### `devtools` Увімкнути/вимкнути інструменти розробника Electron. ### `dev:debug` Приєднати/від'єднати налагоджувач Chrome DevTools Protocol. ```bash on # приєднати налагоджувач off # від'єднати налагоджувач ``` ### `dev:cdp` Виконати команду Chrome DevTools Protocol. ```bash method=<CDP.method> # (обов'язково) метод CDP для виклику params=<json> # параметри методу у форматі JSON ``` ### `dev:errors` Показати перехоплені помилки JavaScript. ```bash clear # очистити буфер помилок ``` ### `dev:screenshot` Зробити знімок екрана (повертає PNG у base64). ```bash path=<filename> # шлях до вихідного файлу ``` ### `dev:console` Показати перехоплені повідомлення консолі. ```bash limit=<n> # максимальна кількість повідомлень (за замовчуванням 50) level=log|warn|error|info|debug # фільтрувати за рівнем логування clear # очистити буфер консолі ``` ### `dev:css` Інспектувати CSS з локаціями джерел. ```bash selector=<css> # (обов'язково) CSS-селектор prop=<name> # фільтрувати за назвою властивості ``` ### `dev:dom` Запитувати DOM-елементи. ```bash selector=<css> # (обов'язково) CSS-селектор attr=<name> # отримати значення атрибута css=<prop> # отримати значення CSS-властивості total # повернути кількість елементів text # повернути текстовий вміст inner # повернути innerHTML замість outerHTML all # повернути всі збіги замість першого ``` ### `dev:mobile` Увімкнути/вимкнути емуляцію мобільного. ```bash on # увімкнути емуляцію мобільного off # вимкнути емуляцію мобільного ``` ### `eval` Виконати JavaScript та повернути результат. ```bash code=<javascript> # (обов'язково) код JavaScript для виконання ``` ## Сполучення клавіш Ці скорочення доступні в [[#Використання термінального інтерфейсу|TUI]]. ### Навігація | Дія | Скорочення | | ----------------------------------------------------------- | --------------- | | Перемістити курсор ліворуч | `←` / `Ctrl+B` | | Перемістити курсор праворуч (приймає підказку в кінці рядка) | `→` / `Ctrl+F` | | Перейти на початок рядка | `Ctrl+A` | | Перейти в кінець рядка | `Ctrl+E` | | Перемістити назад на одне слово | `Alt+B` | | Перемістити вперед на одне слово | `Alt+F` | ### Редагування | Дія | Скорочення | | -------------------------------- | --------------------------- | | Видалити до початку рядка | `Ctrl+U` | | Видалити до кінця рядка | `Ctrl+K` | | Видалити попереднє слово | `Ctrl+W` / `Alt+Backspace` | ### Автодоповнення | Дія | Скорочення | | ------------------------------------------------------------- | ------------- | | Увійти в режим підказок / прийняти вибрану підказку | `Tab` | | Вийти з режиму підказок | `Shift+Tab` | | Увійти в режим підказок (з нового вводу) | `↓` | | Прийняти першу/вибрану підказку (в кінці рядка) | `→` | ### Історія | Дія | Скорочення | | --------------------------------------------------------------------- | --------------- | | Попередній запис історії / переміщення по підказках вгору | `↑` / `Ctrl+P` | | Наступний запис історії / переміщення по підказках вниз | `↓` / `Ctrl+N` | | Зворотний пошук в історії (введіть для фільтрації, `Ctrl+R` для циклу) | `Ctrl+R` | ### Інше | Дія | Скорочення | | ------------------------------------------------------------ | --------------------- | | Виконати команду або прийняти підказку | `Enter` | | Скасувати автодоповнення / вийти з режиму підказок / очистити ввід | `Escape` | | Очистити екран | `Ctrl+L` | | Вийти | `Ctrl+C` / `Ctrl+D` | ## Вирішення проблем Якщо у вас виникли труднощі з запуском Obsidian CLI: - Переконайтеся, що ви використовуєте останню [[Оновлення Obsidian|версію інсталятора Obsidian]] (1.12.7 або вище). - Якщо ви щойно оновили Obsidian з попередньої версії, вимкніть налаштування CLI та увімкніть його знову, а потім дозвольте Obsidian виконати автоматичну реєстрацію PATH. - Перезапустіть термінал після реєстрації CLI, щоб зміни PATH набули чинності. - Obsidian має бути запущений. CLI підключається до запущеного екземпляра Obsidian. ### Windows Obsidian CLI на Windows вимагає інсталятор Obsidian 1.12.7+. Див. [[Оновлення Obsidian|Оновлення версії інсталятора]]. Windows використовує термінальний редиректор, який правильно підключає Obsidian до stdin/stdout. Це необхідно, оскільки Obsidian зазвичай працює як GUI-застосунок, що є несумісним з виводом у термінал на Windows. Коли ви встановите Obsidian 1.12.7+, термінальний редиректор `Obsidian.com` буде додано в теку, де ви встановили файл `Obsidian.exe`. Реєстрація CLI додає Obsidian до змінної PATH вашого користувача, що набуває чинності лише після перезапуску терміналу. ### macOS Реєстрація CLI створює символічне посилання в `/usr/local/bin/obsidian`, що вказує на бінарний файл CLI, який входить до складу застосунку. Для цього потрібні права адміністратора — вам буде запропоновано системне діалогове вікно. Перевірте, що символічне посилання існує та вказує на правильний бінарний файл: ``` ls -l /usr/local/bin/obsidian ``` Якщо символічне посилання відсутнє, створіть його вручну: ``` sudo ln -sf /Applications/Obsidian.app/Contents/MacOS/obsidian-cli /usr/local/bin/obsidian ``` > [!note] Якщо ви раніше реєстрували CLI зі старішою версією Obsidian, у вашому `~/.zprofile` може залишитися запис PATH. Новий процес реєстрації видаляє його автоматично, але якщо він залишається, ви можете безпечно видалити рядки, що починаються з `# Added by Obsidian`, з `~/.zprofile`. ### Linux Реєстрація CLI копіює бінарний файл CLI до `~/.local/bin/obsidian`. Це робиться тому, що деякі методи встановлення Linux запускаються з тимчасових директорій, на які неможливо створити постійне символічне посилання. Переконайтеся, що `~/.local/bin` є у вашому PATH. Додайте наступне до вашого `~/.bashrc` або `~/.zshrc`, якщо його немає: ``` export PATH="$PATH:$HOME/.local/bin" ``` Перевірте, що бінарний файл існує: ``` ls -l ~/.local/bin/obsidian ``` Якщо бінарний файл відсутній, скопіюйте його вручну з директорії встановлення Obsidian: ``` cp /path/to/Obsidian/obsidian-cli ~/.local/bin/obsidian chmod 755 ~/.local/bin/obsidian ```