💾 Archived View for dmntv.ru › other › subscription.gmi captured on 2024-08-18 at 17:21:19. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-03-21)
-=-=-=-=-=-=-
В этом документе описывается соглашение, согласно которому клиенты Gemini могут «подписаться» на регулярно обновляемую страницу Gemini (например, индексную страницу драгоценного журнала) даже при отсутствии полноценной технологии распространения, такой как Atom или RSS. Он задуман как облегченная альтернатива таким технологиям, позволяющая снизить барьеры для публикации серийного контента в Geminispace, за чем можно легко следить без утомительной регулярной ручной проверки закладок. В частности, явной целью является то, что простая, обновляемая вручную, удобочитаемая индексная страница того типа, который авторы контента, вероятно, в любом случае создадут, должна иметь возможность подписаться без каких-либо специальных изменений. Очевидно, что такое соглашение будет менее мощным, чем более сложные технологии, такие как Atom, и не будет работать так же хорошо, как более сложные технологии во всех мыслимых случаях использования. Тем не менее, ожидается, что он будет адекватно функционировать в широком диапазоне разумных случаев использования. Ничто в этом соглашении не мешает авторам контента одновременно публиковать канал Atom, если они того пожелают. Фактически, это соглашение может облегчить создание указанных каналов.
В оставшейся части этого документа описывается, как интерпретировать отдельный текстовый документ/документ Gemini, как если бы это был канал Atom со всеми необходимыми элементами. Соглашение описано таким образом, чтобы гарантировать, что клиенты могут поддерживать как это упрощенное соглашение о подписке, так и подписку на каналы Atom с упрощенной кодовой базой и согласованным пользовательским интерфейсом, а также продемонстрировать, насколько простое автоматическое создание каналов Atom возможно. Более простые клиенты, которые поддерживают только это соглашение о подписке, могут игнорировать элементы Atom по своему усмотрению.
URL-адрес, с которого извлекается документ text/gemini, служит обязательным элементом «id» фида и рекомендуемым элементом «link».
Содержимое первой строки заголовка документа, начинающееся с одного #, служит обязательным элементом «заголовка» фида. По этой причине авторам рекомендуется использовать заголовки, которые обеспечивают собственный контекст, например: «Журнал гемлогов Абеляра Линдси», а не «Мой журнал гемлогов» или «Индекс гемлогов».
Если строка заголовка, начинающаяся с ##, встречается в документе после первой строки, начинающейся с одного #, но перед любой непустой строкой, не являющейся заголовком, ее содержимое может служить дополнительным элементом «subtitle» фида.
Обязательный «обновленный» элемент фида должен быть установлен равным самому последнему значению из всех обязательных «обновленных» элементов связанной записи. Если из документа невозможно извлечь никакие записи, то канал пуст (что разрешено стандартом Atom), а «обновленный» элемент канала должен быть установлен равным времени получения документа.
Элементы входа фида извлекаются из подмножества его строк ссылок, если таковые имеются.
Каждая строка ссылки, в которой за URL-адресом следует метка, первые 10 символов которой соответствуют дате в формате ISO 8601 (т. е. ГГГГ-ММ-ДД), представляет собой одну запись. Строки ссылок, не соответствующие этому критерию, игнорируются.
Обязательный элемент "id" записи и обязательный элемент "link" с rel="alternate" (элементы "link" не являются обязательными в записях Atom в целом, но это соглашение не назначает элементы "content" записям и, следовательно, rel=" альтернативная ссылка становится обязательной) оба равны URL-адресу соответствующей строки ссылки.
Обязательным «обновляемым» элементом записи является полдень по всемирному координированному времени в день, указанный 10-значной отметкой даты в начале метки соответствующей строки ссылки.
Обязательный элемент «заголовок» записи получается из того, что осталось от метки соответствующей строки ссылки после удаления первого компонента, разделенного пробелами (который обязательно включает отметку даты). Клиенты могут просто получить всю оставшуюся часть, но можно попытаться выполнить простую санацию, чтобы учесть тот факт, что пользователи могут, например. используйте метки с разделителем между датой и заголовком, например «23 марта 1965 г. — успешный запуск Gemini 3!».
Документ Gemini ниже, полученный с сайта gemini://gemini.jrandom.net/gemlog/:
# J. Random Geminaut's gemlog Welcome to my Gemlog, where you can read every Friday about my adventures in urban gardening and abstract algebra! ## My posts => bokashi.gmi 2020-11-20 - Early Bokashi composting experiments => finite-simple-groups.gmi 2020-11-13 - Trying to get to grips with finite simple groups... => balcony.gmi 2020-11-06 - I started a balcony garden! ## Other gemlogs I enjoy => gemini://example.com/foo/ Abelard Lindsay's gemlog => gemini://example.net/bar/ Vladimir Harkonnen's gemlog => gemini://example.org/baz/ Case Pollard's gemlog => ../ Back to my homepage Thanks for stopping by!
может интерпретироваться как эквивалент следующего канала Atom:
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>J. Random Geminaut's gemlog</title> <link href="gemini://gemini.jrandom.net/gemlog/"/> <updated>2020-11-20T12:00:00Z</updated> <id>gemini://gemini.jrandom.net/gemlog/</id> <entry> <title>Early Bokashi composting experiments</title> <link rel="alternate" href="gemini://gemini.jrandom.net/gemlog/bokashmi.gmi"/> <id>gemini://gemini.jrandom.net/gemlog/bokashmi.gmi</id> <updated>2020-11-20T12:00:00Z</updated> </entry> <entry> <title>Trying to get to grips with finite simple groups...</title> <link rel="alternate" href="gemini://gemini.jrandom.net/gemlog/finite-simple-groups.gmi"/> <id>gemini://gemini.jrandom.net/gemlog/finite-simple-groups.gmi</id> <updated>2020-11-13T12:00:00Z</updated> </entry> <entry> <title>I started a balcony garden!</title> <link rel="alternate" href="gemini://gemini.jrandom.net/gemlog/balcony.gmi"/> <id>gemini://gemini.jrandom.net/gemlog/balcony.gmi</id> <updated>2020-11-06T12:00:00Z</updated> </entry> </feed>
Основным недостатком этого соглашения является то, что оно не указывает ни время суток, в которое публикуются сообщения, ни часовой пояс, в котором действительна отметка даты. Это делает упрощенную подписку неподходящей для приложений, где каждый день ожидается несколько обновлений и важен относительный порядок обновлений (как внутри, так и между источниками каналов), например, отслеживание заголовков последних новостей, обновлений погоды, условий дорожного движения и т. д. Такие приложения вместо этого настоятельно рекомендуется внедрить более надежные технологии подписки, такие как Atom или RSS.
Ожидается, что этот недостаток не будет иметь серьезных последствий для широкого спектра общих и ценных видов деятельности в Близнецах, которые осуществляются в «человеческом масштабе». Например, это соглашение вполне приемлемо для отдельного читателя, использующего свой локальный клиент для подписки на десять или двадцать тщательно отобранных журналов драгоценных камней, которые каждые несколько дней обновляются некритичным по времени контентом о повседневной жизни людей, хобби, мнениях о состоянии экономики. мир, рецепты, фотографии и т. д. Очень редко важно читать подобный контент, который был написан Алисой в среду утром, до того, который был написан Бобом в среду вечером, или точно знать, когда каждый человек написал свои сообщения. Если время суток соответствует содержанию поста, автор обязательно упомянет об этом.