Публичная картотека из маркдаун файлов и генератора статических страниц

3D-граф, это что-то новенькое.

Я сам не использую Obsidian. Попробовал свои какие-то старые заметки из Obsidian запустить. Запустилось, можно сказать, с первого раза. Сначала только ошибка вылезла (встречается на маках)

obsidianhtml.lib.DuplicateFileNameInRoot: Two or more files with the name “.DS_Store” exist in the root folder.

Решается такой командой в Terminal

find . -name ".DS_Store" -delete

Вместо точки после find должен быть указан путь до папки Obsidian.

Из новостей от техписов, Stripe выложили свой движок для документации и публикации.

Markdoc is a powerful, flexible, Markdown-based authoring framework.

Свои заморочки само собой, но может быть кому-то понравится :cowboy_hat_face:

1 лайк

Примерно такой же путь прошла с Gatsby :slight_smile: Мне ваше сообщение навеяло завиральный метод определения того, стоит ли что-то новое изучать, и сколько времени это займет.

Допустим, задача создать digital garden с помощью Gatsby.

Смотрим на Udemy:
а) Есть ли по этом теме тьюториал с большим количеством отзывов и хорошим рейтингом (это значит, что люди более-менее чего-то добились с помощью этого тьюториала)? В нашем случае есть, к примеру Gatsby.js Tutorial and Projects Course. Отмечаем длину курса в часах - 22 часа в этом случае.

б) Смотрим, какие там пререквизиты. В случае этого курса, нужно “базовое знание React”.
Находим курс по React. К примеру React - The Complete Guide (incl Hooks, React Router, Redux). Длина курса - 48 часов, пререквизиты: “JavaScript + HTML + CSS fundamentals are absolutely required”.

в) Ну и если вы не занимаетесь веб-разработкой каждый день, то в этом месте можно уже, в принципе, заканчивать, но можно еще добавить часы по JavaScript + HTML + CSS fundamentals. Я думаю, там будет часов 100 еще.

г) 22+48+100 = 170 часов. Потом смотрим (можно на том же Udemy) топик, к которому эта задача относится, в этом примере Programming Languages. И, по шкале от 1-5, оцениваем, насколько часто мы этим топиком занимаемся в нашем постоянной деятельности, где 1 - каждый день; 2 - еженедельно; 3 - ежемесячно-чаще чем раз в год; 4 - ежегодно и реже; 5 - вообще никогда. Умножаем часы на получившееся число: 170 x 5 = 850.

д) получается, что сделать самостоятельно более-менее нормальный сайт на Gatsby (и поддерживать его в случае проблем) у человека не из сферы IT и не программиста получится примерно за 850 часов или ~106 рабочих дней по 8 часов. Это будет сайт “для себя”, без UI/UX, основ дизайна, сетевого администрирования и т.д. :crazy_face:

е) но это может быть хорошим началом и пет-проектом для карьеры будущего веб-разработчика. :grinning:

4 лайка

Не смотрел на подобные вещи с точки зрения трудочасов, а может и стоило бы. Потому как правильней.

Прочёл два раз и понял, что натурально много. Других проектов хватает ) лучше 850 часов на что-то иное, например начать писать книжку ))

2 лайка

И всё-таки я это сделал: https://fedorovpishet.netlify.app

Закинул свою папку «Тестовая картотека». Стек — GitHub+Netlify+Jekyll. Пока особо не лазил в настройках ЦСС и прочих визуальных штук, собственный домен не прикрутил ещё. Так, немного поигрался.

Как картинки добавлять, тоже пока не понял. Кажется, что маркдаун теги картинок там не работают.

Подробности потом, а то уже спать охота)))

2 лайка

Мыши плакали, кололись, но продолжали #### кактус Gatsby, в надежде сделать себе публичные заметки как у Матушака. :sunglasses:

А ты пока только на локал хосте поднял и там ковыряешь?

Ну пока да. Дома вечером попробую развернуть уже публичную ссылку и прикрутить CNAME.

Мне этот шаблон очень понравился, но у меня с Gatsby ничего не получалось. Случайно пришла идея, установить Gatsby не через npm, как советовали во всех гайдах, а через brew. И сработало блин!

Вот что значит, не тупо копировать инфу, а разбираться с ней, кстати. Неожиданный инсайт)

Вот так и получаются веб-девелоперы из писателей :slight_smile:

5 лайков

Я хоть сам и программист, но до сих пор не нашёл рабочего решения. Хотя как мне кажется у меня запрос довольно тривиальный

  • из папки со вложенными папками и markdown файлами, сгенерировать статические html
  • рабочие backlinks
  • генерировать по файловой структуре панель file explorer
  • поддержка embed pdf, или хотя бы генерация pdf как ссылки
  • мне (пока что) не нужна интеграция с Github, Netlify и т.д.
  • граф мне не нужен

Казалось бы не сильно замысловатый запрос, но ничего толкового не находится.

Я бы давно сам написал такой генератор, но боженька не дал мне чувство прекрасного, так что юзабельный UI я родить не могу.

А так хотелок у меня море. Например, полнотекстовый поиск ещё прикрутить.

Obsidian Publish стоит грабительски дорого, и даже к нему полнотекстовый поиск прикрутить пока что невозможно.

Я решил это по другому.

Первое что мне нужно – это возможность и место выгружать свои файлики марк даун. Второй, чтобы можно было строить систему отдельную от основной базы. Долго каначертыхался со всем что есть на рынке, в итоге отошел от решений типа цифровой сад и статические сайты и посмотрел на то что у меня есть и привычно, без костылей и прочего.

Взор упал на вордпресс, попробовал и до сих пробую, получается вполне себе сносно. Есть парочка нюансов, которые не решил еще. Это обратные ссылки. У меня там многие вещи друг с другом пересекаются, и приходиться вручную прописывать ссылки. Это немного раздражает, но добавляет осмысленности.

1 лайк

От обратных ссылок я категорически против отказаться

Мне вот тоже эта история не нравиться, но не получается найти ни плагина, ни какого-то решения. Но уверен, оно есть, просто ищу не там. Вордпресс – сильный инструмент. Зайди ко мне на сайт, посмотри как там все устроено, в шапке моего профиля есть ссылка.

Хотел опять про ghost написать, может у вас получится в статику ) но и там садоводы плачут Adding Bidirectional Links to Ghost (like Roam, Notion, etc) - Themes - Ghost Forum

Я все ищу решение для подобных ссылок для вордересса. Пока все такое себе :frowning:

Пока искал технические варианты, накинулся на Backlinking Is Not Very Useful -- Often Even Harmful • Zettelkasten Method . Прямо смуту наводят:

Backlinking is just linking notes without connecting knowledge.

Так и есть. Связи и тем более обратные связи — очень опасная штука. С ними нужно быть очень осторожным.

Вот что я об этом думаю: Связи это поэзия

Emanote не смотрели?

Поддержку embed pdf еще не реализовали, но генерация ссылок на разные файлы уже есть.

Полнотекстовый поиск в работе.

Проблема состоит не в том, что это сложно, а в том, что это так просто, что от пользователя это спрятали и заставляют пользоваться “костылями”.

Что такое “сайт”. Это значит, что вы как-то договариваетесь с “хостингом” (хранилищем файлов) отправляете куда-то свой “файл” - текст или картинку. Затем любой пользователь Сети говорит своему “браузеру”, что хочет именно этот “файл”, и “браузер” его получает у “хостинга” и выдает на экран в меру своего понимания “языка файла”. Более того, обнаружив, что вы, как-то реагируете на содержимое “файла”, браузер может что-то перезапросить или перевывести…

По идее, имея контроль над ключевыми точками “хостинга” и “браузера” я могу на лету подменять содержимое файла в любой из этих точек. Точнее, написать “программы”, которые могут это сделать без вашего участия. Упомянутые выше “костыли”, и есть такие “программы”, имеющие наглость утверждать, что справятся лучше вас.

С чем же они справятся?

  1. Вы можете посылать на “хостинг” “файл-заготовку”, которая на “хостинге” раскроется в полноценный “файл”. Если вы работаете на Linux и вам удалось найти нормальный "хостинг"на Unix, то вы даже не будете замечать, что и где делается - у вас будет единая Операционная Система, которая изначально предназначена именно на автоматизацию превращения “текста-заготовки” в “текст нормальный”.

Программы (на обычных Linux-языках) будут, в основном, состоять из набора “команд”

s/строка1/строка2/

Т.е. “заменить строку1 на строку2”. Чаще всего, с какими-либо “обобщениями”. Например, “все буквы” на “заглавные”, или “номер символа” на “сам символ”. Придумав набор “команд s///” на вашу самодельную “систему разметки”, вы сможете прогонять свои “заготовки” одну за другой.

  1. Но вдруг вам захочется добавить в “разметку” что-то особенное? Linux умеет и это. s/// можно включать прямо в “заготовку” и путем простейших преобразований “программы” добавлять их к списку (1).

  2. Итак на “хостинге” получается “файл”, готовый к выгрузке “пользователю”. А, если вы хотите его еще подправить в зависимости от запроса “пользователя”? Это тоже просто. Вместо адреса “файла” вы подсовываете пользователю адрес “файла-программы”. Это называется CGI-программированием. Если “хостинг” его разрешает, вы пишете точно те же “программы”, что в (1) и (2). На тех же или очень похожих языках. Разворачивание “заготовок” происходит до передачи “файлов” “браузеру”.

  3. Наконец, когда “браузер” честно рисует “файл” на экране и встречает “Java Script”, он запускает его, как “программу”. Опять те же s/// только с двумя заморочками. Язык JS, в отличие от простых Linux-языков, которые можно изучить за 5 минут, вещь жутко убогая и по-идиотски-устроенная (это - “костыль”! и броузер - “костыль”!). Это первое. А второе, следствие первого, состоит в том, что “место вставки строки в документ” это вам не “строка в файле”, и придется попрыгать. Зато, вы можете переписать “документ” практически полностью, что может превратить ваш “текст” в настоящую рисованную игрушку реального времени.

  4. Еще одно отличие (4) от (1-3) состоит в том, что вам здесь недоступны все “файлы” вашего “сайта” разом и вы должны их подкачивать. И наш “JS-костыль” опять сделает все, чтобы вам не было скучно. JS - это, вообще, набор рецептов, передающихся из рук в руки.

  5. Ну, еще вам может захотеться иметь “макет сайта” у себя на машине. В случае (1-3) это, опять просто. Ставите Apache и все работает, как в Сети. В случае (4) все и так работает у вас на машине, ничего менять не надо. А, вот, в случае (5) придется еще попрыгать.

Итак, чем меньше “костылей”, тем проще. Программки из 10-100 строк будут исправно работать за вас годами (у меня они проработали лет 17, невзирая на то, что я писал их на коленке). Но кто же это допустит? Фиг вам доступ к (1-6)! Только “костыли”! Каждый только на одну стадию процесса и совместим с другим, в лучшем случае, через “костыль-посредник”.

Самое страшное, что продавцы костылей сами давно уже забыли, что речь идет о простейших вещах, что я описал выше. И вас просто не поймут, объясняя одни “костыли” через другие.

Как-то так.

И зачем я это написал? Все равно, “костыли”, “костыли” и “костыли”…

2 лайка