整合具有隐私保护的 Shariff 社交按钮

5.1.0 2023-10-26 07:25 UTC

README

如今,每个页面上都有社交插件,但如果您对访客的隐私有顾虑,整合它们并非易事。德国出版商 Heise 创建了一个通用解决方案,允许在保护网站访客隐私的同时显示每个分享的计数。这是通过使用网站的服务器作为访客的代理来实现的。 http://ct.de/-2467514

此插件通过几个简单步骤将 Shariff 集成到 Neos。

安装

$ composer require networkteam/neos-shariff

兼容性

请参阅以下表格以选择正确的插件版本

配置

Settings.yaml 中配置要显示的服务列表(例如,在您的站点包中)

Networkteam:
  Neos:
    Shariff:
      options:
        services:
          - WhatsApp
          - Twitter
          - Facebook
          - Pinterest
          - Mail

有关可能的选项的更多信息,请参阅 Configuration/Settings.yaml

用法

作为内容元素

此包包含一个简单的节点类型 Networkteam.Neos.Shariff:Shariff,它通过 Shariff 渲染社交分享按钮。只需在 Neos 后端文档中添加一个新的此类型节点即可。

通过 Fusion 使用

在您的原型中定义一个渲染社交插件如下所示的属性

prototype(My.Awesome.Package:Post) {
    socialButtons = Networkteam.Neos.Shariff:Shariff
}

然后在相应的模板中按此方式渲染路径

{socialButtons -> f:format.raw()}

配置

Shariff 通过 data-attributes 进行配置。这些属性的基本集合已由包设置定义。

  • data-backend-url
  • data-services
  • data-theme
  • data-orientation
  • data-lang

您可以在 settings.yaml 中覆盖它们。

Networkteam:
  Neos:
    Shariff:
      frontend:
        theme: standard
        orientation: horizontal
        language: en
      options:
        domain: ~
        cache:
          ttl: 3600
        services:
#          - Facebook
#          - Twitter
#          - LinkedIn
#          - Reddit
#          - StumbleUpon
#          - Flattr
#          - Pinterest
#          - Xing

如果您想扩展配置,只需这样做

prototype(Networkteam.Neos.Shariff:Shariff) {
    attributes {
        // Put additional attributes here, see https://github.com/heiseonline/shariff#options-data-attributes
        // data-example = 'value'
    }
}

使用 Pinterest

为了在 Shariff 中使用 "Pin it" 按钮,Pinterest 不会自动抓取您页面的图片。您必须使用 "data-media-url" 属性定义一个。因此,只需扩展 prototype(Networkteam.Neos.Shariff:Shariff) 并使用当前文档节点中的 twitterCardImage 属性等来提供合适的图片。

开发

当您发布新版本时,请确保运行 npm run-script build。这将更新 Shariff 包并将资产复制到公共文件夹。在构建后检查修改后的文件。

致谢

Neos 集成的开发由 networkteam GmbH - Neos Agentur 赞助。

许可

在 GPLv2+ 许可下发布,请参阅 LICENSE