[О блоге]
[наверх]
[пред]
[2020-01-12 18:40:29+03:00]
[c8d8659f0edc25f9af671d0e390d6deee5c8d555]
Темы: [git]
Написал собственный движок для блога: SGBlog
https://git.stargrave.org/cgit.cgi/sgblog.git/tree/README
Психанул и за несколько часов написал вот такое вот творение. Которое
уже крутится на http://blog.stargrave.org/
По сути я полностью заменил cgit как просмотрщик блога который в Git-е.
Работает так же через CGI, на pure-Go работает с Git репозиторием.
Имеет пагинацию, Atom feed-ы, показ git-notes. Из улучшений:
* В списке записей (например http://blog.stargrave.org/russian/) он для
каждой берёт её log message и первые встречающиеся ссылки распарсивает
и показывает как домен
* Большая часть URL-ов преобразуется в ссылки настоящие, чтобы можно
было сразу перейти
* Большая часть SHA1 хэшей преобразуются в ссылки на сам блог, так как я
не редко ссылаюсь на собственные записи
* Всё обмазано <link rel> ссылками, которые например в Lynx сразу же
видны и удобны для перехода
* У каждой страницы (и индекса и записей) есть сильный (strong в
терминах HTTP/1.1) ETag и он его честно блюдёт, отвечая 304-ым кодом и
не делая особо тяжёлых действий во время рендеринга таблиц
* Уважает Accept-Encoding и может сжимать gzip-ом. Причём и Atom тоже
* В целом HTML-ки существенно более компактны чем cgit-ные
Его можно установить просто go get go.stargrave.org/sgblog/cmd/sgblog.
[оставить комментарий]
- комментарий 0:
From: noname
Date: 2020-01-14 23:11:28+03:00
В этой записи парсер ссылок захватил скобку в первом пункте списка "Из улучшений". Получается, самым простым оставлять разделитель (пробел) после url?
- комментарий 1:
From: Sergey Matveev
Date: 2020-01-14 23:17:18+03:00
Парсер очень простой: разбивает по словам строку и каждое слово пытается
отпарсить как URL. Вообще это очень частая проблема что URL-ы
захватывают скобочку, видимо, потому что примерно такие же простые
алгоритмы для нахождения URL-ов используются.
Да, пробел (или конец строки) точно решит проблему.
Делать какие-то особо умные анализаторы URL-ов я точно пока не хочу,
ибо, как мне кажется, это задача очень не тривиальная.