关于我的博客建站经历

我是一名前端开发工程师,从大四的时候开始自学前端,荒废了三年时光,在大四的时候才算真正走进 "编程" 这扇大门。也是从那个时候开始学着搭建自己的个人博客,用来记录自己的学习笔记,但是却坚持不下来。而且发现一个奇怪的现象,对于搭建站点的过程我很感兴趣,内容输出却坚持不下来,这是我需要反思的地方。我也翻了翻过往的文章,大多都是记录单一知识点,而且内容很少,缺乏自己的思考。现在 AI 技术已经很成熟了,再记录这类的文章已经没有意义了,用 AI 工具一搜就出来了,而且更精准,更丰富。所以我觉得分享自己的踩坑记录会更有意义一点,这几年来,文章没写多少,搭建博客的工具倒是换了挺多...

那会觉得有一个自己的个人网站是一件很炫酷的事情,展示自己的个人作品,分享技术,慢慢的在这个圈子有一定的影响力... 当然这也只是想想,哈哈。

Wordpress + 自购服务器 + 域名

我最开始使用的博客搭建工具就是 wordpress,它因可以快速搭建起一个独立的网站而被很多人所喜爱,最常见的就是用它来搭建博客系统,因为使用者众多,所以 wordpress 社区非常活跃,有丰富的插件和许多精美的主题。

我搭建 wordpress 博客首先是寻找教程,去 B 站搜索 "wordpress 博客搭建教程" 有大把保姆级课程,都是免费的,或者直接浏览器搜索也能找到很多大佬写的教程。我是先在本地搭建,熟悉了流程之后再放到服务器上,当时用的是 XAMPP,它集成了 Apache 服务器、MySQL 数据库和 PHP 等组件,提供图形化界面,很方便的管理服务,再去 wordpress 官网下载源码,放于指定目录下就可以开始搭建了,根据教程基本上都能够完成!

接下来就是博客上线,又是一顿折腾!对于当时没有任何经验的我,只能是一点一点的摸索。

先是购买了服务器和域名,这里吐槽一下买服务器只有第一次购买是便宜的,到期之后再续费是有点小贵,这也是为什么我在后面放弃了这种方式,只是单纯的挂载一个博客的话成本有点高了。言归正传,买完服务器之后就可以在上面挂载博客了,但是我对于 Linx 的操作是完全不会,对于我这种小白来说,安装 宝塔面板 是再合适不过了,它提供了可视化的操作面板,支持快速创建并管理项目,支持一键安装软件及部署源码。其中它就支持一键部署 wordpress 项目,所以很快的就完成了博客的部署。

后续再完成域名备案就可以了,至于我为什么又放弃了 wordpress 博客,一个原因是因为服务器续费太贵了,我不能够长久使用,还有就是在使用一些主题的过程中经常遇到一些 bug,然后那些主题给我的感觉总是差一点点,我又有一点完美主义,所以结合种种原因,在服务器到期之后,就把文章暂时迁移到了 CSDN

Vite + Markdown-It

因为之前实在是找不到一款满意的主题,所以我打算自己写一款静态博客,文章以 md 的格式存储在 GitHub 仓库,还可以通过第三方插件的形式接入评论功能,完全不需要用到服务器,所以觉得对于我来说这种静态博客的形式是最适合的。

静态博客的优点有很多:

  • 加载速度快,响应时间更短,提供更好的用户体验
  • 不需要服务器端代码和数据库,减少了潜在的安全漏洞和攻击风险
  • 轻松集成第三方服务和 API,以实现更多的功能和扩展
  • 维护成本较低

这个时候我还不知道已经有很多成熟的 "静态站点生成器",傻乎乎的选择一个比较熟悉的框架 vite 和一个可以解析 markdown 语法的工具 markdown-it就开干了。我个人是喜欢那种简约的主题,"麻雀虽小五脏俱全",不需要多么花哨的功能,该有的功能都有就OK:大概规划主要是 列表页,详情页,分类页和标签页;然后要支持评论、搜索、主题切换等。

由于是从零开始搭建,很多东西都要自己去写,很快我就遇到了一道阻碍 "SEO",我使用的 vite 默认是通过 CSR 客户端渲染,这种模式构建出来的页面逻辑都放在了 script,所以渲染出来的是 "空白的" html 页面,这样会导致爬虫无法爬取到我的文章内容,页面也不会被收录,别人也就无法通过搜索引擎搜索到我的文章,这就失去了我建站的意义。后来翻阅文档发现 vite 支持设置 SSR 服务端渲染模式,但是配置起来比较复杂,就在我焦头烂额之际,突然发现了新大陆!

Vitepress + 自定义主题

没错,就是 vitepress,它是一个专为构建高效、灵活且具有极好开发体验的文档站点而设计的静态网站生成器。当然也可以用于构建博客系统,最重要的是它是基于 vite 开发的,所以我之前写的代码基本上可以照搬过来,而且它默认是使用 SSR 渲染模式,构建出的是一个完整的 html 文件,这就很完美的解决了我之前的难题。

在使用了一段时间后,我突然又萌生了一个开源的想法,我想要让别人也用上我写的主题。我当时使用的时候还在 0.x 版本,处于早期开发阶段,不是很成熟,市面上 vitepress theme 不是很多,所以这个想法愈加强烈,于是我又花了一段时间把主题抽离出来,命名为 vitepress-theme-poseidon 并发布到 npm 上。

很快就遇上了一个难以解决的 Bug,以至于让我直接放弃了这个框架!问题就是一个很简单的 Tab 切换,在本地运行毫无问题,部署到远端之后就出现了无法切换的情况。猜测是因为这部分不支持 SSR 组件的问题,使用 vitepress 推荐的 <ClientOnly> 包裹的方式也无用,后面又进行了一些其它的尝试也无果,无奈放弃!我把这些都归咎于 vitepress 还未正式发布,存在一些未知的 Bug。

但我心中做一款开源的博客主题的想法还未泯灭!

Hexo + 自定义主题

经过一番探索,最终我选择了 hexo,这是一款专门用来构建博客的框架,非常成熟,社区也有很多好用的插件。不过需要花时间去学习相关的技术,它支持 ejsnjkswigpug 等多种模板引擎,我选择的是 njk,它的语法有点类似 vue 中的插值表达式,看起来舒服一点。然后也是想吐槽一下 hexo 的文档写的真不咋样,要不是结合官方的案例,不然真的很难看懂。

最后成功的把主题使用 njk 语法重构了,不得不说,专门用来构建博客的框架确实不一样,内置了很多 API,很多之前写起来挺 "别扭" 的地方在这里都变得合理了。

终于,我把这个主题 hexo-theme-sea 开源了,并且在 阮一峰老师的周刊 推广下,成功收获了 100 多个 star!

这是一款简约风的博客主题,目前支持功能如下:

  • 响应式,完美适应 电脑、 Pad 和 手机
  • 主题内置了中英两种语言
  • 支持暗黑模式
  • SEO 友好
  • 支持评论、搜索功能

总结

到如今,我还在一直使用 hexo-theme-sea 主题,同时也在不断地完善和改进。期间也不乏遇见其它优秀的框架,例如:HugoJekyllAstro 等等,但我觉得目前这一款博客已经能够满足我的需求了,适合自己的总是最好的!

博客搭建算是告一段落了,后面还是以产出内容为主,不然光有华丽的外表,毫无内在也是不行的。不知不觉这篇文章已经写了好多字了,这应该算是我真正意义上的第一篇文章吧,以后也会多抽点时间出来分享一下自己的经历,期望能够通过这种方式来锻炼一下语言组织能力。

感兴趣的话关注一下我的个人博客:https://blog.izou.top

相关推荐
爱泡脚的鸡腿5 分钟前
HTML CSS 第二次笔记
前端·css
灯火不休ᝰ21 分钟前
前端处理pdf文件流,展示pdf
前端·pdf
智践行23 分钟前
Trae开发实战之转盘小程序
前端·trae
最新资讯动态29 分钟前
DialogHub上线OpenHarmony开源社区,高效开发鸿蒙应用弹窗
前端
lvbb6638 分钟前
框架修改思路
前端·javascript·vue.js
树上有只程序猿40 分钟前
Java程序员需要掌握的技术
前端
从零开始学安卓43 分钟前
Kotlin(三) 协程
前端
阿镇吃橙子1 小时前
一些手写及业务场景处理问题汇总
前端·算法·面试
庸俗今天不摸鱼1 小时前
【万字总结】前端全方位性能优化指南(九)——FSP(First Screen Paint)像素级分析、RUM+合成监控、Lighthouse CI
前端·性能优化