По этой теме есть много обсуждений, которые вы можете найти здесь: Search results for 'zapier' - Discourse Meta
Однако я хотел бы обсудить это подробнее.
Вот мой скрипт в Zapier для публикации новых тем на странице Facebook.
Я использую RSS вместо API Discourse в Zapier. Я пробовал использовать API, но возникла проблема: контент был слишком длинным, и я столкнулся с заблокированными URL-адресами. Поэтому я решил обрезать текст или сделать его кратким. В итоге я перешёл на RSS для описания.
Я использую обрезку вместо краткого резюме (я пока использую API для создания краткого резюме и проверю его эффективность перед применением, но сначала обрезал текст).
Как вы видите, я использую https://api.thuvienmuasam.com/rss/?url=https://thuvienmuasam.com/latest.rss вместо https://thuvienmuasam.com/latest.rss.
Поскольку описание содержит HTML-теги, я пробовал форматировать его в HTML и Markdown, но при публикации в Facebook текст всё равно отображался в исходном виде.
Может быть, стоит попробовать запрос вроде https://meta.discourse.org/latest.rss?excerpt=true с параметром excerpt=true?
Почему я не использую встроенный API? Я не нашёл поля для короткого описания, только поле с полным контентом, но при публикации он отображался в виде необработанного HTML. Это трудно читать и слишком длинно. Я хочу, чтобы пользователи переходили на сайт для просмотра полной версии.
Краткие содержания тем не передаются в Zapier через официальную интеграцию Zapier с Discourse. Также краткие содержания не отправляются из Discourse, если вы подключаете веб-хук Discourse к Zapier, добавляя его в триггер веб-хука (подробности о настройке этого процесса можно найти здесь: Trigger a Zapier task with Discourse Webhooks). Однако вы можете создавать краткие содержания из необработанного содержимого поста непосредственно в Zapier. Вот как я настроил это с помощью триггера «Новый пост в Discourse»:
Сначала настройте триггер «Новый пост в Discourse». Подробная информация о настройке доступна здесь: Use the Zapier Discourse Zap Templates. После конфигурации шаг триггера должен выглядеть примерно так:
Затем добавьте шаг «Formatter by Zapier». Выберите событие «Текст». В опции «Преобразование» выберите «Обрезать». В качестве входных данных укажите «Необработанное содержимое» из вашего шага триггера и установите значение «Макс. длина» на количество символов, которое вы хотите отображать в посте. После конфигурации шаг «Текст» должен выглядеть примерно так:
Обратите внимание, что если вы используете либо официальную интеграцию Discourse, либо веб-хук Discourse вместо RSS-канала, постоянная ссылка на тему не будет установлена автоматически. Вы можете сформировать постоянную ссылку в поле ввода «URL ссылки» шага действия, используя slug темы и ID темы, передаваемые из вашего начального шага триггера:
Подробности о создании постоянной ссылки, а также о добавлении шага фильтрации приведены в этой теме: Use the Zapier Discourse Zap Templates. В этом руководстве не описано, как обрезать необработанное содержимое поста. Эта информация полезна, поэтому я добавлю её туда.
Описанный мной подход также работает при подключении веб-хука Discourse к Zapier с помощью триггера веб-хука Zapier.