这可行吗?我一直在推文中添加指向论坛主页的链接,但更希望不显示图片。我猜目前使用的是 opengraph image(我尚未上传任何图片)。
有没有办法完全去掉这张图片?我的所有主题都不会包含图片,因此我很乐意在全站范围内进行此设置。
如果作为次优方案,我上传一个非常小的 logo 作为 opengraph image 会怎样?Twitter 会将其调整到与现在相同的尺寸吗?
谢谢。
这可行吗?我一直在推文中添加指向论坛主页的链接,但更希望不显示图片。我猜目前使用的是 opengraph image(我尚未上传任何图片)。
有没有办法完全去掉这张图片?我的所有主题都不会包含图片,因此我很乐意在全站范围内进行此设置。
如果作为次优方案,我上传一个非常小的 logo 作为 opengraph image 会怎样?Twitter 会将其调整到与现在相同的尺寸吗?
谢谢。
我查看了一下,只需要去掉:
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="filename.png">
这有可能实现吗?
是的,这是可行的 ![]()
你可以编写一个插件,重写该模块中的 crawlable_meta_data 方法:
在软件领域,一切皆有可能……几乎没有什么事情是计算机软件“无法做到”的 ![]()
另外,你通常也可以直接使用 Pups 进行匹配和删除,但这在元数据团队看来,大多是不被提倡的做法。
谢谢。我会研究如何创建 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 插件的乐趣。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.