Twitter 上的论坛链接,无图片(移除元标签)

这可行吗?我一直在推文中添加指向论坛主页的链接,但更希望不显示图片。我猜目前使用的是 opengraph image(我尚未上传任何图片)。

有没有办法完全去掉这张图片?我的所有主题都不会包含图片,因此我很乐意在全站范围内进行此设置。

如果作为次优方案,我上传一个非常小的 logo 作为 opengraph image 会怎样?Twitter 会将其调整到与现在相同的尺寸吗?

谢谢。

我查看了一下,只需要去掉:

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

这有可能实现吗?

是的,这是可行的 :slight_smile:

你可以编写一个插件,重写该模块中的 crawlable_meta_data 方法:

在软件领域,一切皆有可能……几乎没有什么事情是计算机软件“无法做到”的 :slight_smile:

另外,你通常也可以直接使用 Pups 进行匹配和删除,但这在元数据团队看来,大多是不被提倡的做法。

1 个赞

谢谢。我会研究如何创建 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 插件的乐趣。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.