开发个人网站
去年冬天,个人我花了一个周末把用了三年的网站个人博客从WordPress换成了自己写的静态站点。原因很简单:WordPress后台越来越臃肿,个人每次打开都要加载几十个请求,网站而我只需要一个能写文章、个人能归档、网站能搜索的个人地方。换完之后,网站首页加载时间从2.3秒降到0.4秒,个人这种感觉就像把塞满杂物的网站抽屉清空,只留下真正需要的个人东西。 开发个人网站,网站第一步不是个人选框架,而是网站想清楚你要它干什么。我见过太多人一上来就纠结React还是个人Vue,结果三个月过去,首页还挂着“Hello World”。我的建议是:先写一份清单,列出你真正需要的功能。比如我的清单只有四项——写文章、按标签分类、全文搜索、RSS订阅。就这四项,其他花哨的东西一概不要。清单越短,你越可能把它做完。 技术选型上,别被“最新最热”绑架。我用的是Hugo,一个Go写的静态站点生成器。为什么不用Next.js?因为我不需要服务端渲染,不需要API路由,不需要那些我根本用不上的抽象层。Hugo的模板语法有点怪,但编译速度极快,几百篇文章不到一秒就能生成完。选工具的逻辑应该是:你的需求决定工具,而不是工具决定你的需求。 域名和托管是另一个容易过度思考的环节。我的域名在Namecheap注册,一年不到十美元。托管用Netlify的免费套餐,绑定GitHub仓库,每次push自动构建部署。整个过程不需要碰服务器,不需要配Nginx,不需要担心SSL证书过期。有人觉得用免费服务不够“独立”,但我觉得把精力花在写代码和写文章上,比花在运维上划算得多。网站是给人看的,不是给服务器看的。 设计上,我走了极简路线。没有侧边栏,没有推荐阅读,没有弹窗订阅。页面只有三样东西:标题、正文、页脚。字体用系统默认的无衬线体,颜色只有黑灰白。这样做的好处是,读者打开页面立刻就能开始阅读,不需要先关掉三个弹窗。我观察过自己的阅读习惯——在别人的博客上,我平均停留时间不到三十秒,因为干扰太多。我不想让自己的网站也变成那样。 开发过程中最花时间的其实是细节。比如代码高亮,我试了五六个方案,最后用Prism.js加自定义CSS,因为默认主题的配色太刺眼。比如图片懒加载,Hugo有内置的shortcode,但需要手动指定尺寸,我写了个小脚本自动从图片文件读取宽高。这些细节单个看都不重要,但加起来决定了网站用起来舒不舒服。就像买椅子,参数表上看不出差别,坐上去才知道腰疼不疼。 上线之后,我给自己定了个规矩:每写一篇文章,必须同时改进一个网站的小功能。这个规矩让我保持迭代,又不至于陷入无休止的重构。上个月我加了暗色模式,用CSS变量实现,不到二十行代码。这个月我打算把搜索从客户端Fuse.js换成更轻量的方案,因为Fuse.js的索引文件有200KB,对纯文字博客来说太重了。 维护个人网站像养一盆植物。你不需要每天浇水,但隔几天得看一眼。链接有没有失效,依赖有没有安全更新,备份有没有正常跑。这些事情花不了多少时间,但不做的话,某天打开网站发现一片空白,那种感觉可不好受。我的做法是每月第一个周六花半小时检查一遍,顺便看看访问日志里有没有奇怪的爬虫。 说到底,开发个人网站的核心不是技术,是取舍。你知道自己要什么,也知道自己不要什么。然后动手,做完,上线。剩下的时间,用来写真正想写的东西。
- 随机阅读
- 搜索
-
- 友情链接
-