[О блоге] [наверх] [пред] [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-ов я точно пока не хочу,
    ибо, как мне кажется, это задача очень не тривиальная.