前言
博客自创建以来已有 4 月余,然而内容更新寥寥。自个儿分析原因,盖因有二:
- 其一,所感所悟甚少,能将之表达者更少;
- 其二,从构思创建到发布浏览,整个博客流程较为繁琐,且势必用到电脑,对于业余几乎不用电脑的我而言着实有点麻烦。
当然,上述第二点问题对于一般的程序员当是小菜一碟,但就我这个 Git 小白、网页小白而言却着实需要费一番搜索学习的功夫才能有勇气去面对。为了坐实自己文采不佳的事实,同时激励自己多阅读多思考多写作多输出,解决上述第二点问题当是一个无可奈何却也顺理成章之举。
凭着多年谷歌搜索的经验,技术问题当先自己动手搜索,实在不行再去求人。为了能在移动端更新博客,很自然的会去搜索 ‘iOS’、‘Hugo’ 这样的关键词,也很容易的会被一步一步引向 Github Actions 和 Travis 等服务,因为名字较熟悉的缘故,我也毫无疑问的会接着去找 Github Actions 的相关配置教程。
动手
总的来说,配置上面的难度并不大,按照教程来就行了,这两个是我学习的教程[1][2],在这里记录,用于方便日后自己回顾学习。下面谈几个教程中可能没涉及,但自己搭建过程中遇到的问题。
不同于教程中从头开始新建存放源码的仓库然后生成 Hugo 主体页面,我是在本地原有源码文件夹的基础上操作的,所以一开始想着现在 Github 新建一个放源码的仓库,然后将本地的源码文件夹关联进来,但是反复尝试 push 都不能成功,也根据错误代码进行了学习搜索,但都无法解决。最终只好新建一个 Github 仓库,然后将其 clone 至本地,再将原来的源码文件夹内容复制进来,进行 Push.
通过教程中的命令行生成 ssh key 的时候,对于 private key,要将其添加到对应 Github Page 的 Secrets 里,因其内容的首行和末行会有
-----BEGIN OPENSSH PRIVATE KEY-----
和-----END OPENSSH PRIVATE KEY-----
,而 Github 页面也没提示,故一开始我将这两行删除后进行添加,结果出错了,添加的时候应该==全部复制添加==。Actions 代码中 Push 的时候要注意是 Push 到哪个 Branches.
教程1的 Actions 代码中,
publish_dir:
的值是空的,导致运行 Action 后,会将 Github Page 的 repo 内容变成与源码仓库的 repo 内容一样,后来仔细比对了教程2我才发现应该写publish_dir: ./public
. 实际上,按我的理解,Actions 中的代码就是在每次源码仓库有 commit 的时候执行一次 hugo 构建,构建的内容就是将源码仓库(不包含 public 文件夹)打包重新生成 public 文件夹,再将这个文件夹 push 到 Github Page 的 repo 中。因此通过源码仓库里的 config 文件配置,应该也能方便的切换不同的 theme。第4步完成后,照理说会将源码的 public 文件夹内的所有东西都 Push 到 Github Page 中,然而令我纳闷的是仅有几个文件出现在这里,而所有的文章都没有生成。仔细观察,在 Github 网页中我发现源码仓库中的 public 文件夹上面有一个白色的小箭头,而且这个文件夹是无法点进去的。又是一番搜索,原来是在操作第1步的时候,我是将之前的整个文件夹复制粘贴过来的,而其中的 public 文件夹是之前我在进行博客更新的时候 Push 过的,所以会有 .git 文件在,这会导致 Github 将其视作系统的子模块了,根据网上教程又是一番操作,最终才将完整的 public 文件夹进行了 Push.
上面步骤都完成后,应该可以通过直接写 .md 文件到指定文件夹,再 Push 就能在博客页面看到文章了。这篇文章就是这样操作的,如果能在页面看到,那么就表示成功了。后续在 iOS 上操作会用到 WorkingCopy 这个 App,具体的操作流程也简单,就是生成文章抬头上,可能需要再通过 Shortcuts 来解决。
很不幸,按照上面的设置完,把这篇文章 Push 后倒是成功的触发了 Github Action,但是 Github Page 没有更新,也就没有生成新的博客文章,又是一番查找比对,应该还是 Github Aciton 代码的问题。加入
submodules: true
后总算解决了,具体原理我也不清楚,应该与我所用的 Hugo Theme 有关。下面贴上我用的 Action 代码:
|
|