Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 Контент вільний від AI. Цей пост на 100% написаний людиною, як і все на моєму блозі. Насолоджуйтесь!

23.07.2023

Створення доповнення для Obsidian

…Виявилося простою та приємною справою. Підготовка оточення потрібна мінімальна — доповнення це звичайний проєкт на TypeScript. Документація чудова. Декларації типів теж. Так званий зразок доповнення насправді містить всі потрібні налаштування - yarn, tsc, esbuild - та також приклади по більшості можливостей розширення. Оновлення наживу можливе.

Робота з інтерфейсом відбувається через HTML/CSS. Тобто ніякої інтерфейсної бібліотеки вивчати не треба. Навпаки, можна використати React або іншу бібліотеку.

Де цей інтерфейс буде? Авжеж, можна створити модальне вікно. Але, окрім того, можна додавати власний зміст прямо в документи. Для цього є два незручних способи та один обмежений, але дуже простий.

Оскільки в Obsidian є два режими документа — редагування та читання — то способи теж окремі. Для читання простіше — це, по суті, сторінка HTML, її можна змінювати як хочеш. Для редагування складніше — треба писати компонент редактора, хоча схоже що за інструкцією і це можливо зробити.

Але простіше за все, то є точка розширення registerMarkdownCodeBlockProcessor(). Вона дозволяє замінити блок коду (три лапки) з визначеною “мовою” на результат виклику функції, тобто довільний HTML. Це працює в обох режимах. Так, фактично, можна вкраплювати в документи справжні додатки — що я й спробую зробити.