From bfdd73d7324a4f66a16f55d4fb064b0ff08d40e9 Mon Sep 17 00:00:00 2001 From: Alexander Neonxp Kiryukhin Date: Mon, 2 Feb 2026 00:35:54 +0300 Subject: =?UTF-8?q?=D0=91=D0=BE=D0=BB=D1=8C=D1=88=D0=B0=D1=8F=20=D1=87?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20=D0=B1=D0=BB=D0=BE=D0=B3=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/posts/2024-11-17-obsidian.md | 240 ----------------------------------- 1 file changed, 240 deletions(-) delete mode 100644 content/posts/2024-11-17-obsidian.md (limited to 'content/posts/2024-11-17-obsidian.md') diff --git a/content/posts/2024-11-17-obsidian.md b/content/posts/2024-11-17-obsidian.md deleted file mode 100644 index 9ecf5f4..0000000 --- a/content/posts/2024-11-17-obsidian.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -categories: -- Без рубрики -date: '2024-11-17T22:30:37+03:00' -description: '' -image: files/2024-11-17-obsidian_img/logo.webp -location: Казань -tags: -- it -- joplin -- obsidian -title: Obsidian ---- - -Некоторое время назад я [писал](/posts/2024-07-13-joplin/) про заметочник -Joplin. - -С тех пор мои вкусы несколько поменялись и я открыл для себя его величество -[Obsidian](https://obsidian.md/). - -В целом он такой же заметочник, с ± тем же функционалом, но имеет для меня одну -особенность, которая буквально переворачивает всё. Это мощнейшая система -плагинов. Серьёзно, я нашел плагины которые покрывают для меня всё, кроме одного -(но об этом позже). - -## Что такое Obisidian? - -Obsidian представляет собой приложение для ведения персональных баз данных, -основанное на принципах локальных файлов Markdown. Это значит, что ваши данные -хранятся в виде обычных текстовых файлов, что обеспечивает максимальную гибкость -и независимость от облачных сервисов. - -Приложение работает на операционных системах: Windows, macOS, Linux, iOS, -Android. - - - -## Основные функции и преимущества - -1. **Граф связей** — да, он есть уже много где, но нельзя его не упомянуть. -2. **Markdown** — очень приятно, что все заметки хранятся в Markdown, что - обеспечивает максимальную интероперабельность и переносимость -3. **Плагины** — плагины пишутся на JS/TS и их много. Даже не так, их **МНОГО**. - Что приятно, они скачиваются и лежат в той же директории что и основное - хранилище, а это важно для следующего пункта -4. **Синхронизация** — она есть. Но вроде как платная. Но мне это и не - интересно, я использую Syncthing. Просто шарю через него директорию - хранилища по схеме оба ноутбука <-> NAS <-> Android. При этом синкаются все - плагины и настройки. -5. **Скорость** — не смотря на то, что он написан на проклятом электроне, - работает достаточно шустро, претензий нет. -6. **Доска для рисования** — мелочь, конечно, но удобно, когда надо на скорую - руку накидать небольшую схемку. В конце этого поста как раз есть пример - такой схемки. - -## Минусы - -1. **Проприетарность** — Obsidian хоть и в целом бесплатный, но он не свободный - и даже не opensource. Да, это серьёзный минус, но он компенсируется тем, что - хотябы вся база данных не в проприетарном формате. И в случае чего можно - будет с наименьшими проблемами свалить куда-нибудь. -2. **Electron** — ну это скорей мой личный пунктик. Но при этом приходиться - смиряться с электроном что на Obsidian что на VSCode (VSCodium, конечно же), - потому что лучше-то и нет. - -Это только то, что сейчас пришло в голову. - -## А теперь самое вкусное - -Не помню, я упоминал что у него много плагинов? :) - -Так вот, поехали, мои самые любимые: - -### Dataview - -https://blacksmithgu.github.io/obsidian-dataview/ - -Ну это просто must-have плагин, который позволяет обращаться с вашими заметками -именно как с базой данных, не меньше. - -Например, можно создать новый документ, написать в него - -``` - ```dataview - TASK - WHERE status = " " - ``` -``` - -и волшебным образом вместо этого блока появятся все невыполненные задачи, а вот -так - -``` - ```dataview - TASK - WHERE status = "x" - ``` -``` - -мы получим все выполненные. - -Язык запросов очень мощный[^1], в нём сто́ит разобраться. -[^1]:https://blacksmithgu.github.io/obsidian-dataview/queries/structure/ - -Ещё есть возможность делать однострочные запросы, например, в домашней заметке -(которая у меня открывается по умолчанию) у меня есть ссылка на именно -сегодняшнюю заметку ежедневного журнала. Сделано вот так: - -``` -`=link(dateformat(date(today), "yyyy.MM.dd"))` -``` - -### Templater - -https://silentvoid13.github.io/Templater/ - -Этот плагин позволяет мне задать некоторым директориям умолчальный шаблон. -Например, вот такой у меня шаблон для ежедневных журналов: - -``` -<%* -try { - // Получаем имя текущей ежедневной заметки - const noteName = tp.file.title; - - // Разбиваем полученное имя на компоненты даты - const [year, month, day] = noteName.split('.').map(Number); - - // Создаём объект Date на основе поученных компонентов - const currentNoteDate = new Date(year, month - 1, day); - - // Вычисляем предыдущий и следующий день - let previousDayDate = new Date(currentNoteDate.setDate(currentNoteDate.getDate() - 1)); - let nextDayDate = new Date(currentNoteDate.setDate(currentNoteDate.getDate() + 2)); - - // Форматируем дату обратно в "DD-MM-YYYY" - const formatDate = (date) => { - const dd = String(date.getDate()).padStart(2, '0'); - const mm = String(date.getMonth() + 1).padStart(2, '0'); - const yyyy = date.getFullYear(); - return `${yyyy}.${mm}.${dd}`; - }; - - const previousDay = formatDate(previousDayDate); - const nextDay = formatDate(nextDayDate); - - // Формируем ссылки - const baseFolder = tp.file.folder(true); - const previousNotePath = `${baseFolder}/${previousDay}.md`; - const nextNotePath = `${baseFolder}/${nextDay}.md`; - - // Выводим даты в виде ссылок - tR += `← [[${previousNotePath}|${previousDay}]] | [[${nextNotePath}|${nextDay}]] →`; -} catch (error) { - console.error("Templater Error:", error); -} -%> - -## Задачи -___ -<% -`- [ ]` -%> - -## Заметки -___ - -``` - -и переходя к сегодняшней заметке я сразу получаю такую заготовку: - -![Заметка из шаблона](/posts/files/2024-11-17-obsidian_img/templater.webp "Заметка из шаблона") - -### Остальные плагины - -Остальные тоже крутые, но я их приведу просто списком: - -- [tasks](https://publish.obsidian.md/tasks/Introduction) — помогает более - богато управлять задачами. В частности, у меня проставляет дату завершения - задачи, и проставляет даты дедлайна и прочее. -- [reminder](https://uphy.github.io/obsidian-reminder/) — трекает и напоминает - про задачи -- [calendar](https://github.com/liamcain/obsidian-calendar-plugin) — просто - миникалендарь в боковой панели -- [homepage](https://github.com/mirnovov/obsidian-homepage) — позволяет задать - произвольную заметку "домашней" -- [icon-folder](https://github.com/timolins/obsidian-icon-folder) — позволяет - задавать директориям и заметкам произвольные иконки. Пример есть как раз на - скриншоте выше. -- [pomodoro-timer](https://github.com/eatgrass/obsidian-pomodoro-timer) — думаю, - из названия и так понятно -- [kanban](https://publish.obsidian.md/kanban/) — шикарнейший канбан плагин - -## А что же мне не хватает? - -Я упомянул выше что мне кое чего не хватает. А именно, постить заметку в мой -блог по протоколу [Micropub](https://indieweb.org/Micropub). - -Только из-за Obsidian и того, что он использует Markdown я опять [вернулся на -Hugo](/posts/2024-11-15-hugo/), который так же рендерится из Markdown. - -«Но Hugo это же генератор статичных сайтов, куда ты ему будешь отправлять -заметку для публикации?» — можешь спросить меня ты. А я отвечу что у меня вот -такой план: - -```mermaid -graph TB -b1["Заметка в Obsidian"] -b2["Плагин obsidian-micropub"] -b3["micropub сервер на моем сервере"] -b4["вызов hugo"] -b5["Загрузка или копирование результата на веб сервер"] -b1 --> |Publish в контекстном меню| b2 -b2 --> |POST neonxp.ru/micropub| b3 -b3 --> |Запись в директорию content блога| b4 -b4 --> |hugo рендерит markdown -> html| b5 -style b1 fill:#28252e, stroke:#754fcc -style b2 fill:#2e2121, stroke:#c81319 -style b3 fill:#2e2121, stroke:#c81319 -style b4 fill:#222c2c, stroke:#20acaa -style b5 fill:#222c2c, stroke:#20acaa -``` - -То что выделено красным — ещё не существует в природе. - -micropub сервер для hugo я уже начал писать. Да, есть nanopub сервер, но у него -есть два серьёзных недостатка, это PHP и то что его сделал не я. - -micropub плагин для obsidian я вижу сделать на основе существующего плагина -rest-publish. Ну или как пойдёт. - -В общем, меня ждёт ещё очень много весёлого дрочева с этим всем. - -## Закругляюсь - -Пожалуй, пока на этом всё. Поделился как радостью использования Obsidian, так и -планами на пет-проекты, что ещё надо-то? - -Если что, пишите комментарии. Лучше всего здесь, но можно и во всяких -телеграмах-вкшках. -- cgit v1.2.3