заметкошизы тред, поехали
@zvezdochetia @cybertailor @sarahquartz @kafazen @evgandr правда, в некоторый момент я пришёл к идее проставления временных меток — мне почему-то нравится помечать, когда возникла некоторая идея — с тех пор журналом я пользуюсь несколько реже. По большей части, как черновиком. Выглядит это примерно так:
```
- (@ Четверг 15 января 2026) некоторый пункт списка в norg
- #ts("2026-01-15") некоторый пункт списка в typst
// timestamp
#let ts(date) = [(#toml(bytes("date = " + date)).date.display())]
```
Спустя несколько лет использования #neorg я незаметно для себя перешёл от идеи формата разметки с [развитой системой ссылок](https://mastodon.ml/@mintbug/114072074832481412) (привет, #norg) к идее формата, которому можно скормить что угодно и назвать это ссылкой (#markdown, иди нахуй), ибо все проблемы решаются [кастомными](https://mastodon.ml/@mintbug/115833182576699583) uri-[схемами](https://mastodon.ml/@mintbug/114015148511221715). Впрочем, когда мы имеем дело с полноценным языком программирования (привет, #typst), мы можем не только без боли использовать строки с возможностью экранирования, но и расширить его собственные возможности.
https://dorpsdrogisterijnorg.petities.nl nieuwe #petitie "Behoud Drogisterij en Parfumerie Ina in Norg" #norg #noordenveld
https://github.com/nvim-neorg/neorg что-то интересное, не знаю.
Во мне борются два чувака. Один кричит, что #norg нужен всем и каждому, другой кричит, что экосистема аццки сырая, реализация есть буквально только для #neovim'а (и та работает с горем пополам), поэтому не нужно пытаться тянуть людей в эту нору. В итоге я врываюсь в каждый тред, который хоть как-то касается заметок, и навожу там [шороху](https://mastodon.ml/@mintbug/115317846858724763).
(Третий чувак только что вспомнил, что люди уже [генератор статических сайтов](https://mastodon.ml/@mintbug/114801663256690748) написали, и надо в конце концов его потыкать.)
Использование двоеточий в названиях файлов попросту не предусмотрено в norg, поскольку в этом случае теряется возможность на них сослаться: `{:$/file: name:}` — ошибочный синтаксис, и возможность как-либо это экранировать в стандарте не оговаривается. Так ещё и богомерзкий ведроид не разрешает двоеточия в имена файлов втыкать. Видимо, остаётся только сидеть и грустить. Либо полыхать и писать `{:$/file(двоеточие) name:}` :blobcatthisisfinegoogly:
Когда я последний раз тыкал https://github.com/NTBBloodbath/norgolith, он ещё не поддерживал ссылки. Никакие. А недавно чуваки его допилили, и он, по сути, [готов к использованию](https://ntbbloodbath.github.io/norgolith/). Я плачу.
Я использую https://github.com/stevearc/oil.nvim, на который идея хорошо ложится. Приведённая выше ссылка должна открываться подобным образом:
```fish
foot -- nvim ~/Documents/ -c 'silent! /sync'
```
Осталось только сляпать скрипт, реализующий схему.
Единственный оставшийся вопрос — нужна ли часть `//`?
У меня имеется файлик `packages.norg`, в который я складирую названия установленных в системе пакетов. Пытаюсь разбивать на разделы, типа «terminal emulators», «file manager», «browser», «messengers», «players»… Один фиг получается бардак. Сохранять список всех пакетов, установленных в системе, мне не хочется — там может быть что-то, что я установил потыкать и забыл. Тащить этот хлам в новую систему желания нет.
Сейчас подумал: а не ввести ли мне [иерархический тег](https://mastodon.ml/@mintbug/113925329285609768) ⟪packages⟫? Буду в файлике, посвящённом работе с браузерами, подписывать что-то вроде ⟪packages:arch:firefox⟫, ⟪packages:flathub:io.gitlab.librewolf-community⟫, в файлике, посвящённом matrix — ⟪packages:arch:element-desktop⟫, ⟪packages:arch:neochat⟫. А после грепать всё это дело и динамически составлять список пакетов для установки.
А как вы ведёте учёт необходимых вам пакетов?
У меня некоторые файлы месяцами ждут, пока я до них доберусь. Они, по сути, представляют кончик нитки для проработки некоторой темы. Различные задачи раскиданы в заметках там и тут, но некоторые я определяю как то, над чем стоит работать далее. Пожалуй, стоит воткнуть в индекс новый заголовок «текущая работа» и перестать держать открытыми кучу nvim'ов.
Переписал функцию для поиска дубликатов данной ссылки, чтобы она игнорировала подзаголовки (части после `#`). Всё сломалось, поскольку теперь вместо буквального поиска строки используется регулярное выражение, в которое подставляется часть ссылки, и какие-нибудь скобки в этой ссылке всё ломают. Поэтому нужно экранировать специальные символы.
В [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim/blob/a4ed82509cecc56df1c7138920a1aeaf246c0ac5/lua/telescope/builtin/__files.lua#L22) есть функция, делающая то, что мне нужно. Однако она локальная для файла, а копипастить её в свой конфиг я не хочу. В итоге я нашёл функцию `:h escape()`, встроенную в редактор, которая делает то, что мне нужно. Зачем в telescope её завелосипедили — загадка.