cara-tm / pat_if_amp
Google AMP for Textpattern CMS。
Requires
- textpattern/installer: *
- textpattern/lock: >=4.6.0
This package is not auto-updated.
Last update: 2024-09-29 02:39:27 UTC
README
AMP 页面为 Textpattern CMS。
此条件标签检查当前页面的 URL,并确定是否以 'amp.' 结尾。这允许使用 Google 的加速移动页面 (AMP) 项目标准渲染自定义页面。
链接
别忘了查看我的其他也兼容 Google AMP 的插件:pat_article_social
注意
从 TXP 4.7+ 及其新功能开始,您可以选择使用内置标签解决方案而不是此插件。更多详情请参阅 Oleg 在 此论坛帖子(别忘了在网站上动态添加 TXP 变量以供进一步使用)
<txp:evaluate query='contains(<txp:page_url escape="quote" />, "/amp")'>
AMP page
<txp:else />
regular page
</txp:evaluate>
安装
使用 Composer
$ composer require cara-tm/pat_if_amp:*
或从 GitHub 项目页面 下载插件的最新版本,将代码粘贴到 Textpattern 插件管理面板中,安装并启用插件。
pat_if_amp
属性
url字符串 (可选):网站的地址(URL)。默认:hu(在 Textpattern 预设面板中设置的网站 URL)。subdomain字符串 (可选):设置重定向到的子域名称。默认:amp。permlink布尔值 (可选):如果设置为0(false),则不会在子域内对同一文章的 URL 模式进行重定向。默认:1(true)。
示例
在您的单个文章模板的头部放置类似以下的代码,以便正确检测 AMP 页面
<txp:if_individual_article>
<link rel="canonical" href="<txp:permlink />">
<link rel="amphtml" href="<txp:permlink />/amp/">
</txp:if_individual_article>
在您的单个文章模板中放置类似以下的代码以显示替代格式
<txp:pat_if_amp>
<txp:output_form form="amp_page" />
<txp:else />
<txp:output_form form="standard_page" />
</txp:mkp_if_amp>
Textpattern 变量使用
自动生成一个值为 true/false(1 或 0)的 <txp:variable name="pat_amp" />,用于测试此是否为 AMP 上下文。
使用
<txp:if_variable name="pat_amp" value="1">
AMP context
<txp:else />
Normal context
</txp:if_variable>
示例
<txp:if_variable name="pat_amp" value="1">
...Do some AMP things...
<a href="<txp:site_url />category/<txp:category name='<txp:category1 />' />?amp">AMP Category 1 Link</a>
<txp:else />
...Do some normal (non-AMP) things...
</txp:if_variable>
此示例涉及类别,对于 pages 和/或 archives,使用类似的模型。
pat_amp_sanitize
一个用于渲染不带任何内联样式的文章文本内容的标签。用作标准 Textpattern <txp:body /> 标签和/或 <txp:excerpt /> 标签的替代。
属性
content字符串 (可选):选择要清理的文章内容body或excerpt。默认:body。
使用
在文章表单上下文中
<txp:pat_amp_sanitize content="excerpt" />
pat_amp_redirect
一个用于网页重定向到子域名的简单标签。与《卫报》网站使用的行为相同。必须与移动设备检测脚本(例如 adi_mobile 插件)一起使用。一些网页设计师可能会选择为他们的移动网站使用子域名(可能不建议,但官方 AMP 博客位于子域名中,见:https://amphtml.wordpress.com)。在这种情况下,Textpattern 多站点功能使得操作更简单。
注意:仅在在线服务器上工作,不适用于本地服务器安装。
使用
<txp:pat_amp_redirect url="" subdomain="" permlink="" />
建议:将主站点的 config.php 文件复制到子域配置文件夹中,以便共享相同的数据库。因此,所有由校对编辑撰写的文章将自动从仅附加到“正常”网站的 Textpattern 管理界面发送到“AMP 驱动的网站”。但设计师有一个独立且更干净的空间来构建他们的 AMP 页面。
属性
url字符串 (可选):网站的地址(URL)。默认:hu(在 Textpattern 预设面板中设置的网站 URL)。subdomain字符串 (可选):设置重定向到的子域名称。默认:amp。permlink布尔值(可选):选择在子域内重定向相同单个文章的标题 URL。默认值:0(false)。
示例
<txp:pat_amp_redirect subdomain="amp" permlink="1" />
在这种情况下,如果您的域名是 example.com,它将重定向到 amp.example.com 子域,并使用来自主域的单个文章的相同 URL。
致谢
非常感谢 Phil Wareham 整理了这个插件代码及其帮助文件。
感谢 Michael K. Pate,他的原始想法被接受,以“pat”前缀插件的形式分发我的整个重写代码。
