周末弄下了下 Hugo,把 Doks 整理了下,还是挺好用的,也比较简单,但中途遇到一个问题,就是图片资源管理问题。
我的需求是这样的:
- 不使用云存储,因为可以自己写脚本整理图片,比较方便。
- 支持本地直接使用 typora 进行编辑,typora 不知道的话建议了解下,Mac/Windows双端免费的简约的 markdown 文档编辑器。
- 支持 Hugo 静态部署,即可以正常展示,这是一句废话,本来就是需要的。
那么问题在哪呢?主要在于本地图片路径的问题。一般本地编辑时粘贴保存的图片,都放在当前目录的一个用文件名命名的文件夹中,类似这样的:
DOC ├─ 计算机网络.assets │ ├─ IMG_2021082210205847.png │ ├─ IMG_2021082210205849.png │ └─ IMG_2021082210205850.png └─ 计算机网络.md
所以如果 md 文件中的图片路径为:
./计算机网络.assets/IMG_2021082210205847.png
那么根据 hugo 的路径规则就会被识别为:
DOC/计算机网络/计算机网络.assets/IMG_2021082210205847.png
解释一下,第一层 DOC
是指代最外层目录,第二次 计算机网络
是指代 计算机网络.md
,再然后是 计算机网络.assets
,发现了吗,多套了一层,实际上真实目录是:
DOC/计算机网络.assets/IMG_2021082210205847.png
我找了很久,有人使用链接的方式,有人使用图床,后来我在 Doks 的 sample 代码中发现了 _index.md
与 index.md
,这使我感到好奇,似乎可以解决。官方链接:https://gohugo.io/content-management/organization/
简单说就是一种利用 index.md 进行文件管理,直接上两个路径图:
- 将图片与 md 文件放在同一个目录
计算机网络 ├─ IMG_2021082210205847.png ├─ IMG_2021082210205849.png ├─ IMG_2021082210205850.png └─ index.md
适用少量图片时。
- 将图片放在一个单独的文件夹
计算机网络 ├─ index.md └─ 计算机网络.assets ├─ IMG_2021082210205847.png ├─ IMG_2021082210205849.png └─ IMG_2021082210205850.png
这种方案就很好了,方便管理多图情况。
有没有发现共同点,规则就是将 md 文件上一层文件夹名改为 md 文件名,同时将 md 文件名改为:index.md,md 中直接使用相对路径即可。
以上;
参考:
本站由以下主机服务商提供服务支持:
test
可以试试obsidian,所见即所得现在做的typora差不多,有库管理,所以贴图片可以用绝对路径
Mosaic-C
是一个新思路,不过从 typora 收费后就没怎么用过了,毕竟编辑 md 的方式可以简单到直接用文本打开,显示等就交给 hugo 去渲染了。
try-agaaain
感觉会增加更多文件,有点麻烦,文件夹变得不简洁了
Mosaic-C
一切按自己喜好选择即可,没有固定答案