Два фида

NB: This is an old article (2019). Everything may have changed since publication.


Один из моментов, которые мне нравятся в этом сайте — это то, как чисто выглядит главная страница: немного ссылок на статьи, фотография, моё имя.

Но в индивеб-читалках такая разметка превратится только в заголовки, без какого-либо намёка на содержимое.

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

Решение подсказала Вика: завести вторую страницу с полными текстами, и прилинковать её из основного фида.

<div class="h-feed">
    [...h-entry]
    <a class="u-url u-uid" href="/full_feed/">Фид целиком</a>
</div>

Читалки, увидев u-uid u-url, поймут, что это ссылка на полную версию фида и предпочтут её. Впрочем, возможно, что некоторые люди тоже предпочтут вариант «много постов на одной странице» — это частое решение для блогов.

Этот паттерн с двумя вариантами ленты называется partial feed, и это неплохой компромисс между принципом DRY и дизайном, который я хочу. Второй HTML-файл лучше RSS или Atom-ленты, потому что это один и тот же формат, пусть и с разным количеством контента внутри: не возникает проблем вида «лента валидна в этом формате, но невалидна в этом».

Сейчас HTML на главной странице и для полного фида я генерирую по-разному: на главной хочется выделить блок с Индивеб-календарём, поэтому эти статьи стоят отдельно. Для я этого я добавляю всем статьям «теги» в терминологии 11ty: индивеб-статьям добавлены теги indiewebcalendar и post, обычным статьям — entry и post; полный фид делает выборку по post, а главная — две выборки.


Если же в фиде и так уже лежат посты целиком, то делать второй HTML-файл для машин не стоит: это повышает усилия по поддержке сайта (надо обновлять шаблоны в двух местах), и сдвигает фокус от людей на машины.

Каждый раз, когда начинаешь делать разметку не для людей, а для машин (кто сказал Schema.org?), стоит поймать себя за руку: а нельзя ли сделать эту информацию, которую я добавляю, полезной не только машинам, но и людям?

Я как-то переводил для «Фронтира» эссе Доктору про метаданные («Метачушь», оригинал 2001 года), в котором он убедительно показывает, что метаданные не работают: не точны, теряются, перестают быть актуальными. Когда же делаем из метаинформации просто информацию, то становится проще её поддерживать.

Микроформаты помогают добавлять минимум мета-: ссылка на полную версию фида это всё-таки ссылка, которую может нажать читатель.

День 17: Импорт · День 19

Published at no particular date