我没有用过静态博客生成器,有几点疑惑:

2019-08-29 19:58:29 +08:00
 dimlau
1、 它们是在每次新写一篇日志的时候都全部生成所有静态页面吗?

如果是,为什么这么蠢?十几二十年前的 blogger、movabletype 等静态发布功能都是增量生成新页面的啊(除了连带的几个索引页也会新建)。

2、 就像把拍到的好玩的视频传去视频网站,本地就顺手删掉一样。我希望发布 blog 文章时提交原始 文字、照片,然后程序自动生成适合网络浏览的版本。

但是拿 hugo 举例(当然并不是全盘评价),.md .jpg 之类原始素材,要留在本地,而只是把处理过的文件发布到网络。

嗯……怎么说呢,其实相对于 vps 的硬盘,我的笔记本其实更不靠谱,磁盘又小,而且换台电脑就不能发新文章了?

3、 鉴于以上,即便要用,也是直接在服务器端跑个 Server 更舒服吧?

至少 hugo 可以这样做,更简单的 php 也有 Kirby、Grav 之类的动态从 markdown 文件生成网页的程序。

我自己的 blog: https://kaix.in
现在用的 grav
2681 次点击
所在节点    问与答
21 条回复
kran
2019-08-29 20:09:12 +08:00
我是通过同步云笔记本,生成博客(伪)
好处是不丢数据,不需要处理任何静态资源,并且有非常好的写作体验
geelaw
2019-08-29 20:19:02 +08:00
1. 我自己写的生成器会缓存编译结果。
2. 用版本控制系统保留源代码,生成的文件爱怎么发布怎么发布。
3. 静态博客生成器的一个好处是你不需要自己有一个 server,而管理一个 server 比管理 GitHub Pages 麻烦好多。
LittleWhiteMouse
2019-08-29 20:21:38 +08:00
主题不同会带来不确定性

比如我按照一定算法为每篇文章后面加上一些关联文章。那么有可能我新发布的这一篇和前面所有文章都有关联。
当然,可以通过记录,比对来实现部分生成。但这样未必就是最节省算力和时间的,而在数量不是太大的情况下,全部生成也不需要多少时间,所以简单粗暴,并稳定好用,就可以了。

静态博客生成也可以放在服务器上,没什么问题。只是在某些逻辑上和动态博客不太一样。比如程序本身并不需要对读者营业之类
ysc3839
2019-08-29 20:21:45 +08:00
1. 我不确定是不是,但我认为不难做到,只需要检查一下文件是否存在即可。
2. 你可以同步到网盘等地方
3. 我觉得生成静态文件主要是考虑到服务器成本,动态生成的成本更高,静态文件成本低甚至有许多免费的服务。
ipwx
2019-08-29 20:23:46 +08:00
你不是静态博客系统的目标用户。比如我,不发照片,文章可能混合代码、公式、表格数据、参考文献。希望写的公式将来在整理成 latex 的时候能直接用而不需要再打一遍。希望文章有版本控制,能管理历史版本。不想自建服务器。这是典型的静态博客用户。
momocraft
2019-08-29 21:23:32 +08:00
写一个正确的增量发布也没特别大好处, 大家都这么忙
dimlau
2019-08-29 21:39:42 +08:00
@LittleWhiteMouse 我是想着既然都本地了,做个数据索引关联页面,生成的时候联动就好。

因为有时候不是生成速度的问题,还涉及到传输过程浪费了很多时间吧。

@geelaw 厉害了~~

但是归根到底本地功能全了,就意味着换台电脑就不方便管理和发布。

---

其实我也没想清楚,最优方案应该是什么。所以暂时还是保持原样不动了。

(虽然很明显是杞人忧天,但是我还是忍不住时常会想,更长久和稳妥的方式,之类的问题)
LittleWhiteMouse
2019-08-29 21:43:27 +08:00
@dimlau #7 Hexo 用 giit 传输速度很快的,就不在意。FTP 的话,就哭唧唧
ipwx
2019-08-29 21:44:33 +08:00
@dimlau 针对传输速度: 写个脚本,本地编译完,增量更新到服务器。比如用 github pages 就先 clone 再覆盖再 commit 再 push。自己的服务器就 rsync
dimlau
2019-08-29 21:48:34 +08:00
@ipwx 有道理,但是另一方面来说,你其实是说的 github (之类)吧。
如果它提供更方便的在线操作,也没有必要搞本地生成。
dimlau
2019-08-29 21:56:26 +08:00
@ipwx
@LittleWhiteMouse

我现在是用 resilio 除了文本同步之外还兼顾着自己的一些照片之类的,现在以及未来,速度应该不会在成为很大问题了。刚刚我主要是说的重复发布造成的时间上的浪费,虽然也不是很多,但是总归心里感觉有点洁癖犯了。
kingcos
2019-08-29 21:58:32 +08:00
我集成了 CI,commit 上去即可
LittleWhiteMouse
2019-08-29 22:01:12 +08:00
@dimlau #11

粗暴简洁带来的感觉就是这样,在稳定的时候我们会抱怨它。

而当复杂度提升到一定程度之后,我们又会怀念它。
xiri
2019-08-29 22:03:45 +08:00
静态博客肯定会用 Github 之类的备份一份源文件啊,只存在本地那也太蛋疼了。
我现在博客用的 hexo+github pages,前两天刚配置好了 Travis CI 自动部署,本地不需要 hexo 的环境了,文章编辑好后 push 一下就能自动编译更新,挺方便的。
rayhy
2019-08-29 22:07:32 +08:00
推到 GitHub 上的是编译前的呀,就那些 md,jpg 之类的。所以 repo 里就备份了图片。换电脑的时候 clone 下来继续写就行了。
xiri
2019-08-29 22:08:20 +08:00
@xiri 并且这样貌似在 github 上面在线修改文件提交 commit 后也可以触发更新,可以完全脱离本地操作,除了无法做到完全的实时更新之外跟一般的博客系统也没啥区别了(不过我还是喜欢在本地写好后 push,本地可以预览效果😂)
geelaw
2019-08-30 00:48:24 +08:00
@dimlau #7 并不是,我一开始是给 Windows 写的,后来拿到了一台 Mac,随便改改就可以在 macOS 上跑了。显然静态生成器的源代码也是要备份的。
mengzhuo
2019-08-30 08:37:06 +08:00
想这么多不如多写篇文章,毕竟你会发现其实编译的次数一年也不会有几次的。
wdv2ly
2019-08-30 08:40:37 +08:00
直接提交到 git,然后用 ci 跑生成就行了啊?
lancelock
2019-08-30 10:54:57 +08:00
我习惯用动态博客,方便简单,就是吃资源

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/596317

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX