AMP

AMPing up Drupal

未分类

由 Matthew Tift,Lullabot 发布

此帖子最初出现在 https://www.lullabot.com/articles/amping-up-drupal

今天,我们自豪地宣布一个新的 Drupal 8 模块,该模块为加速移动页面 (AMP) 项目提供支持。AMP 项目是一个新的开源计划,极大地提升了移动网络的性能。2016 年 1 月,Lullabot 和 Google 开始合作创建 Drupal AMP 模块。Drupal 8 的 AMP 模块的测试版现已推出,我们正在着手开发 Drupal 7 版本的模块,该版本将于 3 月中旬推出。

在许多情况下,移动网络是一种缓慢且令人沮丧的体验。AMP 项目是一个开源计划,体现了出版商可以创建移动优化内容一次并让其在任何地方立即加载的愿景。AMP 于去年 10 月首次推出时,许多评论员立即将其与 Facebook 的即时文章和 Apple 的新闻应用程序进行了比较。AMP 与其他解决方案之间最大的区别之一是 AMP 是开源的。

AMP HTML本质上是 HTML 的一个子集。它确实让网络变得更快。AMP HTML 旨在支持智能缓存、可预测的性能以及现代、美观的移动内容。由于 AMP HTML 建立在现有的网络技术之上,因此出版商可以继续托管自己的内容、打造自己的用户体验,并灵活地整合他们的广告和商业模式——所有这些都使用熟悉的工具,其中现在将包括 Drupal!

Drupal 最受吹捧的功能之一是其灵活性,因此让 Drupal 生成 AMP HTML 需要对设计方法进行大量仔细考虑。为了让 Drupal 输出 AMP HTML,我们创建了一个 AMP 模块AMP 主题 和一个 PHP 库

当安装 AMP 模块 时,可以为任何内容类型启用 AMP。在这一点上,将为该内容类型创建一个新的 AMP 视图模式,并且 AMP 内容将出现在诸如 node/1/amp 或 node/article-title/amp 的 URL 上。我们还为文本、图像和视频字段创建了特殊的 AMP 格式化程序。

AMP 主题 旨在生成 AMP HTML 标准 所需的非常具体的标记。AMP 主题针对在 /amp 路径上提供的任何节点触发。与任何 Drupal 主题一样,AMP 主题可以使用子主题进行扩展,从而允许发布者根据需要自定义 AMP 页面显示方式,并具有很大的灵活性。这也使得使用 Drupal 的块系统在 AMP 页面上放置 AMP 广告块等操作成为可能。

PHP 库分析用户输入到富文本字段中的 HTML,并报告可能使 HTML 不符合 AMP 标准的问题。该库尽最大努力在可能的情况下对 HTML 进行更正,并自动将图像和 iframe 转换为其 AMP HTML 等效项。未来将提供更多自动转换。PHP 库与 CMS 无关,旨在供 Drupal 模块的 Drupal 8 和 Drupal 7 版本以及非 Drupal PHP 项目使用。

我们已尽最大努力使此解决方案尽可能地交钥匙,但该模块在其当前状态下并不是功能完整的。在这一点上,只有节点页面可以转换为 AMP HTML。初始模块支持 AMP HTML 标记,例如 amp-adamp-pixelamp-imgamp-videoamp-analyticsamp-iframe,但我们计划在不久的将来添加对更多 扩展组件 的支持。目前,该模块支持 Google Analytics、AdSense 和 DoubleClick for Publisher 广告网络,但即将提供其他网络支持。

虽然 AMP HTML 已被世界上一些最大的出版商和平台(例如纽约时报、经济学人、卫报、BBC、Vox Media、LinkedIn、Pinterest 等)使用,但您不必成为大型出版商才能利用 AMP。现在,任何 Drupal 8 网站都可以使用 AMP 模块 输出 AMP HTML。我们邀请您试用一下,并告诉我们您的想法!

最后,如果您对这个主题感兴趣,并希望了解更多有关使用 Drupal 发布 AMP 的信息,请在我们的 DrupalCon 新奥尔良提案 上发表评论。