向<head>添加动态内容 - AMP - 有任何建议吗?

有人能告诉我如何在头部插入一段由 POST ID 动态生成的代码吗?

我试过了,但它被放在了 head 和 body 之外。此外,它只在页面加载后才渲染,在 view-source 中看不到。

<script type="text/x-handlebars" data-template-name="/connectors/PLUGIN-OUTLET-NAME/UNIQUE-NAME">
</script>

我认为需要一个插件来实现这个功能!
这就像 \app\helpers\application_helper.rb 一样。

附:旧帖子 Add rel="amphtml" to head - any tips?

我使用了:

<script type="text/discourse-plugin" version="0.8">
    api.onPageChange((url, title) => {
        var res = url.match(/\/t\/(.*?)\/(\w+)/);
        if (res && res[2] > 0) {
            var amp = 'domain/amp/t/'+res[2];
            if (document.getElementById("amphtml")) document.getElementById("amphtml").href = amp;
            else{
                var link=document.createElement('link');
                link.id='amphtml';
                link.rel='amphtml';
                link.href=amp;
                document.getElementsByTagName('head')[0].appendChild(link);
            }
        }
    });
</script>

但查看源代码时并未出现,仅在 JavaScript 执行后才显示。
那么如何从一开始就进行渲染呢?


2020-03-13

我尝试通过向站点地图添加 <xhtml:link rel="amphtml" href="" /> 来修改
演示:GitHub - bcat95/discourse-sitemap: Generate XML sitemap for your Discourse forum. · GitHub

2020-03-14

成功了,Google 开始索引 AMP 页面