dorsetdigital / silverstripe-amppages
为 SS4 提供AMP页面的基本支持框架
v1.0.0beta
2018-02-01 10:11 UTC
Requires
- silverstripe/cms: ^4.0
- silverstripe/vendor-plugin: ^1.0
This package is auto-updated.
Last update: 2024-09-06 09:54:51 UTC
README
添加半自动化的AMP页面功能,并在Silverstripe 4中创建AMP页面提供一些基本帮助。
需求
*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项目
致谢
- 非常受 Silverstripe AMP HTML for SS3 的启发
- 感谢Silverstripe Slack用户耐心的帮助 Slack频道注册
- 一如既往,感谢核心团队的所有辛勤工作。