跳到主内容

琅環笔记

有博学强记者,尝为鹅厂从事。游于洞宫,遇一人于途,问逍遥曰:“君读书几何?”遥曰:“吾之未读者,则二十年内书盖有之也,若二十年外,则吾固已尽读之矣。”其人论议超然,遥颇内服,相与欢甚。因共至一处,大石中忽然有门,引遥入数歩,则别是天地,宫室嵯峨。引入一室中,陈书满架,其人曰:“此PL史也。”又至一室,则曰:“OS志也。”毎室各有奇书,惟一室屋宇颇高,封识甚严,有二犬守之。遥问故,答曰:“此皆操作系统、编程语言、算法分析、生发正骨诸秘籍。”指二犬曰:“此龙也。”历观诸室书,皆Windows以前事,多所未闻者,如「BeOS」、「Solaris」、「FreeBSD」、「LISP」亦皆在焉。遥心乐之,欲赁住数十日,其人笑曰:“君痴矣。此岂可赁地耶?”即命小童送出,遥问地名,对曰:“琅嬛福地也。”

Nikola Tips

Nikola Tips

1. Nikola serve 自动刷新的命令行怎么写?

nikola auto

即使 conf.py 中已绑定非127.0.0.1的地址,上面的命令也只会在127.0.0.1启动调试。

没有去看源代码,可能这样实现从安全角度存在一定的合理性。

如果需要任意主机都能获得访问,可使用 -a 参数指定地址0.0.0.0

nikola auto -a0.0.0.0

2. Nikola Theme 如何定制 css

如果在模板中有代码

%if has_custom_css:
  <link href="/assets/css/custom.css" rel="stylesheet" type="text/css">
%endif

因此,增加 /assets/css/custom.css 文件即可。

3. Nikola 如何推送到 GitHub

先设置好 git 推送

git config --global --add safe.directory /usr/home/kaffa/web/note.tt4e.com
git config --global user.email "yourname@tt4e.com"
git config --global user.name "Your Name"

将以下内容保存为 aio.sh 脚本

#!/bin/bash
#
# nikola output push to github
cd ~/web/note.tt4e.com/
nikola build
git add .
git commit -am 'Kaffa'
git push

先 su 到 root 用户,然后运行以下命令,再 su 会当前用户

chown -R kaffa:wheel .git
chmod -R 777 ./aio.sh

如果遇到错误提示 Unable to create ** /.git/index.lock: Permission denied,则需要

chown -R kaffa:wheel .git

其中 用户名和所属组,可以用 groups 命令查看。

完成书上步骤后,则每次可以运行 aio.sh 来推送 GitHub,GitHub 收到推送后,会使用 GitHub Action 来处理发布。

使用以上方法是有效的,但却说明没有认真读 nikola 文档。

Nikola 官方支持推送到 GitHub

官方文档

解释一下:

  1. GITHUB_DEPLOY_BRANCH:发布分支,是 Nikola 产生的 HTML 文件,建议命名为 src。

  2. GITHUB_SOURCE_BRANCH:源码分支,建议在 GitHub 上设置为默认分支,建议命名为 main,而不是 master [1]

  3. GITHUB_REMOTE_NAME:远程仓库名;

  4. GITHUB_COMMIT_SOURCE:True,发布时会自动提交 src 分支。

补充:

采用这种方法时,Github Pages 的 Build and deployment 一节,source 下拉框中,要选择 Deploy from a branch,而不是 GitHub Actions。

nikola github_deploy

脚注

评论

Comments powered by Disqus