目录

Termux+hugo搭建博客全过程

1. 安装termux

2 termux部分

先换源提高termux下载速度

sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list

sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list

sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list

pkg update

termux安装需要用到的软件包

pkg install -y git openssh hugo

新建hugo项目

hugo new site blog

安装主题(目前我用的是loveit)

cd blog
git clone https://github.com/dillonzq/LoveIt.git themes/LoveIt

配置config.toml

这部分参阅 主题文档 - 基本概念

hugo命令

  • 新建项目hugo new [自定义文件夹名称]
  • 新建文章hugo new posts/test.md
  • 生成静态文件hugo
    信息
    生成的静态文件保存在/public文件夹

3 部署到github

github创建同名仓库 你的用户名.github.io

tremux 创建 rsa密钥

cd
ssh-keygen -t rsa -C "你的邮箱"

查看公钥

cat ~/.ssh/id_rsa.pub

添加公钥到githubKEY

删除public文件夹,克隆仓库为public

git clone git@github.com:yourname/yourname.github.io.git /blog/public
技巧
克隆时用ssh链接

termux生成静态文件

cd ~/blog && hugo

上传github

cd ~/blog/public
git add -A ;git commit -am 'First Commit' ; git push​

4 配置algolia搜索

安装 atomic-algolia 包

npm init  // 不懂的就回车好了
npm install atomic-algolia --save

修改目录下的 package.json 文件,在 scripts 下添加 “algolia”: “atomic-algolia”

"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "algolia": "atomic-algolia"
},

注意 “test” 那一行末尾有个英文逗号,不要漏了。

根目录下新建 .env 文件,内容如下:

ALGOLIA_APP_ID=你的Application ID
ALGOLIA_INDEX_NAME=你的索引名字
ALGOLIA_INDEX_FILE=public/algolia.json
ALGOLIA_ADMIN_KEY=你的Admin API Key

注意替换你自己Algolia索引的信息。 另外特别注意 ALGOLIA_ADMIN_KEY 可以用来管理你的索引,所以尽量不要提交到公共仓库。 一般的做法是在你的自动化部署工具中设置环境变量,比如说本站就是在 Travis CI 中设置环境变量。

上传索引的命令 你可以本地执行 npm run algolia 查看运行效果:

可以看到我们成功添加了记录。 后续就是把下面的命令加到你的部署脚本即可:

npm install
npm run algolia

// 在hugo命令后面执行

至此,如果你运行 npm run algolia 没有报错的话,就可以继续下一步了。 同样的,如果有问题欢迎在下面留言。