dorsetdigital/silverstripe-amppages

为 SS4 提供AMP页面的基本支持框架

安装: 275

依赖项: 0

建议者: 0

安全: 0

星标: 4

关注者: 3

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

v1.0.0beta 2018-02-01 10:11 UTC

This package is auto-updated.

Last update: 2024-09-06 09:54:51 UTC


README

添加半自动化的AMP页面功能,并在Silverstripe 4中创建AMP页面提供一些基本帮助。

Scrutinizer Code Quality Build Status License Version

需求

*Silverstripe 4.0.x

安装

  • 使用 composer require dorsetdigital/silverstripe-amppages 安装代码
  • 运行 dev/build?flush 更新您的项目

用法

请注意:这不是一个“开箱即用”的解决方案,您还需要做一些工作!

此插件提供了一些基本的框架,以便将您的网站启用AMP。对于SiteTree中的页面,会在html头部添加一个链接,指向页面的AMP版本。包括一些基本的AMP模板。

处理AMP页面的控制器会强制删除通过 Requirements 添加到父页面的任何脚本、CSS等。这是由于AMP对可包含内容的严格限制。有一个名为 Amp.ss 的基本页面模板,并且可以通过在主题中同一目录下添加名为 ClassName_amp.ss 的文件来为其他页面类型添加模板。

按照AMP建议,CSS应被压缩并内联包含在页面中。
为了保持一致的工作流程,Requirements 类已被扩展,以提供将AMP CSS自动注入页面AMP版本的选项。
可以在页面控制器类中使用如下方式


class ExamplePageController extends \PageController
{
    public function init()
    {
        parent::init();
        AmpPagesRequirementsExtension::ampCSS('amp');
    }
}

上面的代码会自动在主题的CSS目录中找到名为 amp.css 的CSS文件,并将其内容内联添加到正确的 <style amp-custom> 标签中。可以通过再次调用 ampCSS() 方法添加额外的样式表,它们将被附加。 (记住,AMP中CSS的大小有限制)

有用链接

有关AMP页面中可以做什么以及不可以做什么的更多信息,请参阅 AMP项目

致谢