Здесь будет более менее живая заметка о том, как происходит переход. Идея была честно скопирована с западного примера: https://quartz.eilleeenz.com/Quartz-customization-log
Что хочется поменять
Функционально:
- добавить Recent notes слева на Desktop
- добавить navbar с дизайном с vanadium23.me
- на десктопе сделать более широкий контент
- переверстать страницу одной заметки на более минималистичную
- накатить новый дизайн на classless
Проблемы:
- из-за наличия permalinks у меня не сломались старые пути, но новые выглядят как
openbox/Openbox
- необходимо придумать как от дубля избавиться- решилось тем, что openbox в архив, а quartz натянут на блог
- починить slugify в obsidian-digital-garden, который создаёт бесконечный редирект на quartz
- решилось тем, что отключил slugify в настройках obsidian-digital-garden
- проверить, что даты правильно подтягиваются из frontmatter
- починить preview для ссылок (opengraph метаданные)
Переход на quartz
В тот же момент, когда и выбирал разворачивать в прошлый раз quartz уже был. Правда, вся его архитектура была другая: в основе был hugo и сверху него был скрипт, который приводил obsidian markdown к hugo like. Выглядела конструкция хрупко, а сейчас у этого инструмента уже v4.
В этот раз всё сделано с помощью Typescript и довольно сильно напоминает eleventy. И стоит посмотреть на архитектуру:
- сам quartz из себя представляет pipeline применённых плагинов, которые разделяются на три вида:
- transformers - меняют контент внутри заметки (регулярки на стероидах)
- filters - фильтруют какие файлы не надо публиковать
- emitters - преобразуют заметку + метаданные в финальный вид (html для сайта, xml для RSS, json для графа)
- компоненты - это то из чего состоит страница.
- сама страница разбивается на 5 блока: сверху, контент, справа и футер
- компонентами являются: метаданные, table of content, локальный граф, и много чего ещё
Что было до текущего состояния
Хотелось часть своих заметок выносить в публичное пространство (подробнее в цифровом архиве написано). Для этого ковырялся в апреле 2022 года и сделал следующее:
- за основу github pages взял шаблон на jekyll https://github.com/maximevaillancourt/digital-garden-jekyll-template
- а для отправки в Github API выбрал obsidian-digital-garden, но его пришлось форкнуть и дорабатывать