墨码
随笔

关于本站

「墨 · 码」是一个基于 Astro 开源主题 Quiet Pages 构建的个人博客,用来记录 Web 开发过程中的学习与思考。

SUN·1647 字·8 分钟

为什么建立这个站点

写作的过程本身也是一次学习。当能够把一个知识点完整地梳理并表达出来时,往往意味着自己已经真正理解了它。相比把知识零散地收藏在各个平台,我更希望把它们沉淀成一套能够持续完善、不断迭代的内容体系。

最初搭建博客的原因,与其说是为了“记录”,不如说是为了“自由”。在第三方平台写作,内容虽然属于自己,但排版、交互、主题风格都受平台限制。对于前端开发者而言,这始终有些遗憾。于是,我萌生了自建站点的念头:版式、字体、配色、交互,每一处细节都可以按照自己的心意去打磨,让网站真正成为一个属于自己的创作空间。

为了找到自己喜欢的风格,我也尝试过不少优秀的 Astro 主题,例如: Astro Wind、Bit Doze、ThoughtLite、Astro Rocket 等。每一款都有自己的特点,但随着时间推移,也逐渐产生了审美疲劳,我总会忍不住尝试新的设计与交互,虽然过程难免耗时,但也乐在其中

最近,我发现了 Quiet Pages。它极简、克制,把注意力更多地留给内容本身,这正是我想要的方向。于是,我决定以它为基础进行二次开发,希望让它既保留简约的设计风格,又更符合自己的审美和使用习惯。

与此同时,我也将此前散落在不同平台和旧博客中的文章陆续迁移到这里。这个站点不仅是一套主题,更是一个持续演进的个人知识库。未来,我也会继续打磨它,不断完善内容与功能,让它陪伴自己学习、记录与成长。

视觉设计

相比复杂华丽的设计风格,我更倾向于保持页面的简洁,并将更多的精力放在阅读体验与交互细节上。因此,整个站点采用了更为克制的设计语言,尽可能减少视觉干扰,让注意力回到阅读本身。

为了让页面在简洁之中保留一些趣味性,我引入了 Rough Notation,在部分标题与重点内容中加入手绘标注效果,在不破坏整体克制风格的前提下,为页面增加一点轻微的视觉点缀。

同时,本站也提供了一定程度的外观自定义能力,让访客可以根据个人偏好调整视觉体验,目前支持:

  • 明暗主题切换
  • 主题配色切换
  • 首页背景切换
  • 背景纹理切换

页面过渡

除了页面设计,我也比较关注浏览过程中的连贯性。

本站使用 Astro 的 ClientRouter 实现页面过渡,在页面切换时保留整体的浏览上下文,减少传统网页跳转带来的割裂感,使站点拥有更接近单页面应用的浏览体验。

内容归档

随着文章数量逐渐增加,仅依靠分页浏览会变得越来越低效。相比常见的时间轴形式,日历归档提供了一种更具结构感的浏览方式。

时间轴本质上仍是线性列表,当内容增多后,只能不断向下滚动,逐条查找。而日历以网格的方式组织时间,让写作的密度、停更的间隔与节奏变化都变得可视化,不仅是“先后顺序”,更能直观呈现博客的成长轨迹。

为此,本站提供了月视图、年视图与列表视图三种归档方式

  • 年视图用于回顾全年整体写作节奏
  • 月视图用于按月份查看内容的更新情况
  • 列表视图保留传统时间轴结构,适合按顺序逐篇浏览与回顾

评论交流

本站评论系统基于 Giscus 构建,评论数据存储于 GitHub Discussions,无需额外的数据库即可完成评论功能。

为了让评论区能够与站点整体风格保持一致,我没有使用 Giscus 提供的默认主题,而是重新设计了评论样式,并将主题文件托管在 GitHub,通过 jsDelivr 进行加速访问,从而确保评论区在视觉上与博客整体保持统一。

除了评论区之外,本站还在联系页面提供了邮件发送功能。该功能基于 Resend 构建,访客可以直接通过站内表单发送邮件,无需跳转至第三方邮箱客户端。

如果文章中存在错误、遗漏,或有更好的实现方式,欢迎在评论区交流讨论。

关于性能

相比复杂的动态博客系统,我更倾向于静态优先的设计思路。

本站基于 Astro 的 Island Architecture(孤岛架构)构建,大部分页面以静态 HTML 输出,仅在需要交互的组件中加载客户端 JavaScript,从而降低资源消耗,提高首屏加载速度。

部署方面,站点依托 Cloudflare 全球边缘网络进行内容分发并结合 Cloudflare Workers 与优选节点方案优化访问链路,尽可能提升不同地区用户的访问体验。

版权声明

本站所使用的部分资源来自公开或开源渠道,具体说明如下:

如相关资源存在侵权或不适宜使用的情况,可联系我进行处理。

技术栈

本站主要使用以下技术构建,在保证阅读体验的同时,也尽可能追求页面性能与访问速度。

  • Astro、React
  • TypeScript
  • Tailwind CSS
  • Lenis
  • Rough Notation
  • Giscus
  • Resend
  • Leaflet
  • Cloudflare Workers

未来计划

目前还有许多想法正在逐步实现:

  • 更完善的主题系统
  • 阅读统计与数据可视化
  • 文章关系图谱
  • 更丰富的交互动画

这个站点不会刻意追求内容数量,而是希望持续积累真正有价值的内容。如果某篇文章恰好帮助到了你,那么这个博客就已经实现了它存在的意义。

感谢你的到来,也欢迎以后常来看看。