commit 661fff229562c1efa18f4260842b199f019d345a from: Aleksey Ryndin date: Sat Sep 28 06:52:18 2024 UTC Add /vostok/atom2gemfeed.gmi commit - f12c4927d4f9203400143e64d0074ea64f8740df commit + 661fff229562c1efa18f4260842b199f019d345a blob - 940e7fc8e0d070a8602d61cd5b1fbbadc77b7e6f blob + 247ee853a858dd49fa1f143232b0b63c6cf4ad9b --- capsule/atom.xml +++ capsule/atom.xml @@ -8,7 +8,13 @@ continue continue@to.any-key.press - 2024-09-22T18:53:03.298054+00:00 + 2024-09-28T06:45:45.841143+00:00 + + gemini://any-key.press/vostok/atom2gemfeed.gmi + + vostok 🚀 Gemini-лента публикаций из Atom-ленты + 2024-09-28T06:45:45.841143+00:00 + gemini://any-key.press/vostok/vgi_router.gmi blob - b6d796e750ca49700ed8d181ca7a6a7ff8882dfb blob + 0b56a73d2665d629f04ed2c535244e4904f9bbf4 --- capsule/index.gmi +++ capsule/index.gmi @@ -4,7 +4,8 @@ Здесь я публикую что-то среднее между страницами дневника и техническими отчётами о проделанной работе моих домашних некоммерческих проектов. -=> atom.xml Лента публикаций (Atom/XML) +=> gemini://any-key.press/vgi/atom2gemfeed/?gemini%3A%2F%2Fany-key.press%2Fatom.xml Лента публикаций (Gemini feed) +=> atom.xml Лента публикаций (Atom feed) ## Программирование blob - /dev/null blob + a8c1a0a456e9ef46bfcb99819e81cb191ed93e68 (mode 644) --- /dev/null +++ capsule/vostok/atom2gemfeed.gmi @@ -0,0 +1,14 @@ +# Gemini-лента публикаций из Atom-ленты + +Уже довольно давно (ещё со времён ведения HTTP блога) я привык вести RSS/Atom ленту. Поэтому изначально, когда завёл Gemini капсулу и понял, что буду регулярно её пополнять, я решил добавить Atom ленту. Но недавно я перечила документ "Subscribing to Gemini pages": +=> gemini://geminiprotocol.net/docs/companion/subscription.gmi + +Я еще раз ознакомился с форматом Gemini ленты и захотел такую для своей капсулы. Вести две ленты мне совершенно не хочется, но формировать Gemini feed из более строго XML (а Atom описывается именно в формате XML) показалось более логичным ходом. Сказано - сделано, 100 строк на python: + +=> gemini://any-key.press/vostok/atom2gemfeed.py Исходный код VGI скрипта atom2gemfeed.py + +Скрипт размещён в капсуле по адресу gemini://any-key.press/vgi/atom2gemfeed/ и ожидает, что в query-части URL будет передан URL адрес целевой Atom ленты. То есть, гипотетически, можно генерировать Gemini-ленту для любой капсулы, даже не размещая скрипт у себя. Например для Atom-ленты gemini://bbs.geminispace.org/s/russian?atom ссылка будет выглядеть так: + +=> gemini://any-key.press/vgi/atom2gemfeed/?gemini%3A//bbs.geminispace.org/s/russian%3Fatom + +А ссылку для генерации Gemini-ленты для своей Atom-ленты я разметил на заглавной странице своей капсулы. blob - 3ee7b1c443e4a05f90474d1e44fe71f7f8785090 blob + 8e2c23cac696a8faee072c43cb7acd4e6cfc986f --- capsule/vostok/index.gmi +++ capsule/vostok/index.gmi @@ -18,12 +18,18 @@ ______ ___ ___ _____ ___ _ __ => how_to_run_on_openbsd.gmi Как запустить сервер vostok на OpenBSD => av98.gmi Gemini клиент AV-98 -=> vgi_router.gmi Маршрутизация VGI ## Блог разработки сервера vostok на русском языке => reports/ Блог разработки сервера vostok +## VGI (CGI-like) + +Vostok's Gateway Interface + +=> vgi_router.gmi Маршрутизация VGI +=> atom2gemfeed.gmi Gemini-лента публикаций из Atom-ленты + ## Обратная связь Патчи, вопросы и предложения присылайте на электронную почту