Я обсуждал создание страницы сейчас с помощью Eleventy, но я также синдицирую подмножество этого контента для Mastodon, используя @11ty/eleventy-activity-feed
и Make. @11ty/eleventy-activity-feed
позволяет объединять различные веб-каналы в один канал, вставляя записи из каналов последовательно по мере их публикации. Мой follow-feed.11ty.js
выглядит так:
module.exports = class { data() { return { permalink: '/follow.xml', } } async render() { const { ActivityFeed } = await import('@11ty/eleventy-activity-feed') const feed = new ActivityFeed() feed.addSource('atom', 'Blog', 'https://coryd.dev/feed.xml') feed.addSource('rss', 'Letterboxd', 'https://letterboxd.com/cdme/rss') feed.addSource('rss', 'Glass', 'https://glass.photo/coryd/rss') feed.addSource('rss', 'Oku', 'https://oku.club/rss/collection/NvEmF') return feed.toRssFeed({ title: "Cory Dransfeldt's activity feed", language: 'en', url: 'https://coryd.dev/follow/', subtitle: "Cory Dransfeldt's activity across the web.", }) } }
Когда я обновляю вышеуказанные каналы, мой канал активности, найденный по адресу https://coryd.dev/follow.xml, обновляется. Мой рабочий процесс в Make[1] наблюдает за /follow.xml
, проверяя его каждые 2 часа и публикуя заголовок и URL новейшего элемента в Mastodon.
Если вы решите использовать Make для чего-то подобного, вам потребуется использовать модуль RSS, который я настроил для возврата максимум 3 элементов за проверку, а также либо модуль Mastodon, либо модуль HTTP (последний я использовал в качестве бывший ошибся при доступе к моему экземпляру). Если вы используете модуль HTTP, конфигурация довольно проста:
- Войдите в свой экземпляр, открыв настройки, затем меню
Development
. - Создайте новое приложение, назовите его как хотите (мое называется coryd.dev [2]) с областью видимости
write:statuses
. - Вернитесь к Make, подключив модуль HTTP к вашему модулю RSS.
- Добавьте заголовок
Authorization
со значениемBearer <TOKEN OBTAINED FROM YOUR MASTODON INSTANCE>
. - Добавьте второй заголовок с именем
Accept
со значениемapplication/json
. - Установите тип кузова на
Application/x-www-form-urlencoded
- Добавьте поле с ключом, установленным на
status
, и значением к даннымTitle
иURL
, полученным из вашего модуля RSS. - Сохраните и запланируйте запуск сценария с нужной вам частотой.
Теперь вы должны видеть сообщения из вашего фида подписчиков, которые отправляются на ваш экземпляр Mastodon по мере их обновления.