Заголовок может оставаться прежним, а в качестве описания — сводка от ИИ. И, возможно, её можно будет редактировать, если пользователи захотят, аналогично тому, как это реализовано в WordPress с плагином Yoast.
register_modifier(:meta_data_content) do |content, property, opts|
next content if property == :url # мы не хотим переопределять url
url = opts[:url]
override = Topic.find_by_url(url)[:ai_meta_data_override]
if override
content = override[property] if override[property] # это может быть либо :title, либо :description
end
content
end
Здесь не требуется встроенный ИИ — для динамических OG-изображений достаточно передавать параметры из темы в URL, например ?title=Hello+World&date=2025-04-27.
Это может быть шаблонная система вроде {{topic.author.username}} или любой другой вариант, который вы сочтете уместным.
Таким образом пользователь сможет подключиться к любому существующему сервису генерации OG-изображений, использовать собственный сервис или обратиться к будущему предложению от Discourse, если вы захотите обеспечить поддержку первого класса.
О, понятно. Не могли бы вы привести пример ситуации, когда вы хотели бы переопределить настройки? Это происходит, когда вы делитесь ссылкой с вашего форума, например, темой, которая будет выглядеть иначе, или это в основном связано с вопросами SEO?
Это очень круто. Я знаю, что некоторые компании используют впечатляющие динамически добавляемые изображения для Open Graph, чтобы сделать их более привлекательными. Надеюсь, эта функция будет добавлена в ядро Discourse или станет стандартным плагином. Отличная работа!