返回

Hugo:插入Adsense代码

以stack主题为例

缘起

最近一直在申请这个啊,虽然不知道能不能过,各种操作倒是都弄了一遍。这里简单总结一下。因为网页上这类信息还挺少的。

在主题layout文件中加入代码

hugo构建网页模板在主题文件夹下面的layout文件夹里面,我们要在最后生成的页面的<head>部分加上adsense的代码,就要修改主题里面的对应部分。

查阅参考文献1可得:

主题预留了 layouts/partials/head/custom.htmllayouts/partials/footer/custom.html 这两个文件来自定义页面头部和底部的内容。

直接打开\themes\hugo-theme-stack\layouts\partials\head\custom.html添加代码即可。

添加代码
添加代码

此时本地运行,就可以看到有代码了。

推送代码到云端

我是按照submodule的方式安装的主题。对主题进行修改后,发现不能提交,也无法推送到云端。

查阅参考文献2:

此时在主项目中使用 git status 能够看到关于子模块尚未暂存以备提交的变更,但是于主项目而言是无能为力的,使用 git add/commit 对其也不会产生影响。

在此情景下,通常需要进入子模块文件夹,按照子模块内部的版本控制体系提交代码。

说明此时主模块和子模块submodule是两个不同的体系。应该在hugo-theme-stack文件夹下单独运行git,然后推送到云端。

实现修改
实现修改

切换到子项目
切换到子项目

使子项目和主项目匹配

完成上一步之后,子项目确实更新了,提交了一个新的版本号,但是主项目还是沿用的旧版本(这样做也是防止子项目抽风影响主项目)。此时还要转到主项目进行修改。

修改主项目,前面这个框要打勾,截图没截好。

修改主项目
修改主项目

OK!大功告成!!

可以看到已经有代码了
可以看到已经有代码了

说明:权限问题

如果子模块是直接从作者处拉取的,则我们没有权限对其进行修改,所以在拉取主题文件时,就应该注意先fork再拉取自己仓库里面的版本。

如果你已经拉取了原版,可以先删除原版,再拉取自己的版本。参照参考文献2:

git submodule deinit --all -f 
git submodule add  -f  git://github.com/kerms0/hugo-theme-stack/ themes/hugo-theme-stack #修改成你的仓库名

对文件进行修改之后,回到上一步,如果提示权限问题,选择fork即可,会自动检测已有仓库并合并的,无需担心。

可以参考文献3

附录

参考文献

  1. 修改主题 | Hugo 主题 Stack (jimmycai.com)
  2. Git中submodule的使用 - 知乎 (zhihu.com)
  3. GitHub怎样fork别人代码到自己仓库并进行贡献_BADAO_LIUMANG_QIZHI的博客-CSDN博客

版权信息

本文原载于kermsite.com,复制请保留原文出处。

Built with Hugo
Theme Stack designed by Jimmy