我的个人网站发展历程
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
我刚刚重新设计了我的个人网站,这感觉像是第500次了。说实话,我这么做是因为我懒得重新登录之前网站所在的DigitalOcean服务器。
这次,我采用了非常非常基本的布局:全灰色背景,我的名字,一些标语,我的帐户链接,以及90 年代 After Dark 屏幕保护程序中飞行烤面包机的 gif 动画。
这个网站我只花了一个小时就做好了。坦白说,它的布局只是create-react-app基于最初的布局,我添加了一些额外的链接。
我意识到,随着时间的推移,我的个人网站变得越来越简陋,我对它们的重视程度也比以前的版本越来越低。
前几个网站
我最初的几个网站都使用了一个我在黑客马拉松上获得的免费域名danstarner.me。当时我还在学习网页开发,所以我在谷歌上搜索“免费HTML简历模板”,然后选择了第一个看起来比较吸引我的模板。
我用 Python Flask 搭建了这个网站,虽然网站规模不大,但代码却相当混乱。一开始我把它部署在了Heroku上,因为我对反向代理和服务器管理一窍不通。不过我并不在意,因为那是我自己的网站,感觉棒极了。
从那以后,我有点贪心了,也学到了一些东西。我在 Python 的 Django 和 Flask 框架之间来回切换了好几次,但它们最终都实现了相同的功能。我尝试添加一个动态博客,这让我第一次接触到了数据库。这感觉太棒了……我可以控制网站上显示的数据,而且甚至不用重新部署?这真是太酷了。
这些网站变得越来越复杂,我花了数天甚至数周的时间试图添加所有我想要的功能;Markdown 转 HTML 文章、文章标签、评论、标记……所有的一切。
慢慢地,搭建个人网站所花费的时间比我在网站上展示的项目还要多。我一心想把网站做到尽善尽美……但是后来……
倦怠
随着网站规模越来越大,我渐渐疏于维护。它是我边摸索边搭建的,功能一个接一个地添加,边学边做。这意味着我没有留下任何关于如何管理或维护的文档。更新静态信息或部署修复程序从未发生过,因为我找不到时间、精力或动力去做。就连写博客也渐渐停止了,因为我觉得它太麻烦了。
那段时间对我的网站来说是段艰难时期,但也彻底改变了我处理所有事情的方式……
我有一种程序员的思维模式:“我知道有这个工具,但我还是要自己做一个版本。 ” 这在某些方面是可以接受的,但我为什么要为了一个主要内容是静态的网站重建整个服务器和Web技术栈呢?所以,我最终还是妥协了。
静态网站的时代
我尝试过使用 Jekyll、Metalsmith、Wintersmith 之类的静态网站生成器,但始终无法真正喜欢上它们。我一直想要的是在浏览器中更新和创建新内容的体验,而不是每次都要重新部署。
我还发现,我不太擅长编辑 Mustache 或 Jade 模板,使之看起来像我喜欢的样子,而默认视图对我来说又显得太基础了。
我试用了 GitHub Pages,有一段时间我的个人网站完全是 HTML 编写的,没有 JavaScript 或 CSS,因为我把它用作我教授的基础网页设计课程的示例。
我的个人网站无人问津,就像一片荒芜的废土,上面全是几年前的内容。真是太令人难过了……
新的视角
经历了一段时间的混乱之后,我又开始重新考虑我的个人网站。我想更频繁地更新博客,而要做到这一点,我需要一个让我引以为傲的网站。当时我所在的公司使用Ghost来管理他们的博客。过去,我也尝试过自己开发博客软件。我并不觉得这有多难,但我不想再自己维护它了。
我试用了 Ghost,搭配DigitalOcean 的一键图片服务,哇哦,它简直满足了我对博客平台的所有期待,甚至超出预期!更棒的是,它是开源的(#Hacktoberfest 太棒了!),所以完全免费🤑🤑(当然,DigitalOcean 的主机服务每月要 5 美元,但仍然物超所值。)它至今仍是我使用的博客软件,除了为了体验 v2 的新功能而从 v1 升级到 v2 之外,我几乎没怎么改动过它。我仍然会向想要开始写博客的朋友推荐 Ghost(当然,dev.to 除外😃)。
最后,我把个人网站精简到了最核心的部分:我的名字、一两句标语,以及所有账号的链接。不再有复杂的功能,不再有数据库或复杂的MVC架构……只有托管在GitHub Pages上的基本功能。
你知道吗?现在感觉棒极了!如果需要更新,只需一个简单的npm命令即可。感觉又回到了以前静态网站的感觉,但因为我的所有内容都在博客上,所以我觉得一切都在掌控之中。说到博客,现在用 Ghost 写文章也一样轻松快捷,完全没有以前那么麻烦了!
你的个人网站发展历程是怎样的?也经历过类似的迭代和困难吗?我以后可能还会改版我的网站,但目前一切都很顺利。
文章来源:https://dev.to/dan_starner/evolution-of-my-personal-site-1849

