Ссылка на форум в Twitter без изображения (удалить мета-теги)

Это возможно? Я добавлял ссылку на главную страницу форума к твитам, но хотел бы обойтись без изображения. Похоже, используется opengraph image (сейчас я ещё не загрузил его).

Можно ли полностью убрать изображение? У моих тем тоже не будет изображений, так что я был бы рад сделать это для всего сайта.

В качестве компромисса: что если я загрузю очень маленький логотип в opengraph image? Twitter просто изменит его размер до текущего?

Спасибо.

Я посмотрел и мне нужно просто убрать:

<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="filename.png">

Это как-нибудь возможно?

Да, это возможно :slight_smile:

Вы можете написать плагин, чтобы переопределить метод crawlable_meta_data в этом модуле:

Всё возможно с помощью программного обеспечения… очень мало что в программном обеспечении для компьютеров является «невозможным» :slight_smile:

Также вы, скорее всего, можете просто сопоставить и удалить это с помощью Pup, но это в большинстве случаев не приветствуется мета-командой.

Спасибо. Я изучу, как создать плагин для Discourse и как работает Ruby!

В целом, однако, мне придется заменять весь метод и следить за соответствующими изменениями при каждом обновлении Discourse?

Создание плагина, похоже, займет у меня слишком много времени в краткосрочной перспективе. Что произойдет, если я найду соответствующий файл в моей установке Discourse и просто закомментирую эти строки при каждом обновлении?

    if opts[:twitter_summary_large_image].present?
      result << tag(:meta, name: 'twitter:card', content: "summary_large_image")
      result << tag(:meta, name: "twitter:image", content: opts[:twitter_summary_large_image])
    elsif opts[:image].present?
      result << tag(:meta, name: 'twitter:card', content: "summary")
      result << tag(:meta, name: "twitter:image", content: opts[:image])
    else
      result << tag(:meta, name: 'twitter:card', content: "summary")
    end

При обновлении эти файлы перезаписываются, когда репозиторий Discourse подтягивается в вашу рабочую директорию; поэтому вы не можете просто «закомментировать» строки в файле, так как эти файлы будут перезаписаны.

Хотя в мире технологий существует множество способов решения задач, общепринятым методом модификации ядра является использование плагинов, как упоминалось ранее.

В общем случае в этой ситуации вы переопределяете метод в этом модуле своим кодом.

Лучше создать среду разработки, так как вы не хотите нарушить работу вашего рабочего приложения.

Написание такого плагина относительно несложно, но поскольку вы пока не обладаете опытом в этом стиле разработки, возможно, стоит обратиться в канал Marketplace и попросить помощи у опытных разработчиков, которые зарабатывают на создании плагинов.

Или же вы можете настроить среду разработки и с удовольствием изучить создание плагинов для Discourse.