在群晖中,如果会使用ssh登录并运行docker, 安装和运行hugo并不是什么复杂的事情。具体可参考 “基于docker搭建Hugo” 这篇文章。照着做,hugo就跑起来了。但是,这篇文章又挖了个坑没有填上,用http://ip:1313虽然能运行,但浏览器看到的页面显示很混乱,css并没有工作,另外,我们还是希望hugo在群晖自带的docker套件容器中运行起来。
现在我们就来解决这个问题。
在docker注册表中搜索hugo,找到klakegg/hugo,版本选latest-ext,下载映像,先别急着安装启动。
确保你已经有一个hugo站点的基本结构和文件。你可以用开头提到的那篇文章通过命令行新建一个,也可以用theme主题里带的例子站点,当然你如果已经有一个hugo开发站点,也可以移植到NAS中,最最基本的就是,你要有个config.toml文件,才能保证hugo跑起来。
如果你是移植,把你的hugo站点文件,复制到NAS你想放置的文件夹中。然后在docker中双击映像文件开始安装。
添加文件夹,选站点存放的文件夹,装载路径填 /src ,这是必填项。
端口设置1313,也可填其他端口
最后,在环境选项卡中输入执行命令
hugo启动最简单的命令,输入
server -D
hugo能够运行了,但是当你通过NAS的ip地址访问网页时,页面显示是乱的,CSS文件没有加载成功。 要让ip访问显示正常,应该输入以下命令:
server -D --bind "0.0.0.0" --baseURL http://NAS-IP:1313
注意:参数 bind 和 baseURL后面跟的参数值是以空格隔开,而不是通常的=符号。
好了,现在hugo这个平台才真正搭建起来了。通过NAS所在IP访问完全正常。
新增页面通过docker的终端机操作。
终端机页面点击新增,然后在bash里输入命令
hugo new posts/first.md
如果你编辑文章也在NAS里做的话,也是可行的。用NAS的文本编辑器,记得在偏好设置里将默认编码改成UTF-8,还有,自动换行改成依据窗口大小换行。
NAS的文本编辑器不能编辑TOML文件,这也是一个麻烦事。这个编辑器定义可打开的文件的扩展名放在这个json中:
/volume1/@appstore/TextEditor/ui/TextEditor.js
SSH登录用vi命令,或者ftp进去,打开文件。搜索“TextFileExtensions”,然后在一大堆文件后缀名中,添加一个:
toml:"toml"
保存后,关闭浏览器。重新登录进去。如果点击config.toml文件,右键菜单中没有出现“用文本编辑器打开”的项目,可能你需要按住ctrl+浏览器刷新键,强制刷新一下。