个人博客

本文最后更新于 2025年5月15日 早上

Web Log(网络日志),简称 Blog(博客)。

笔者使用 Typora 做学习记录。苦恼的是,md 文档的大量开启会导致计算机运行内存占用陡增,遂产生了建立博客的念头——在网站上浏览自己的记录。

【注】:只看前两章即可。

1. Personal Choices

记录可以使用笔记软件/工具,也可以发布在平台社区或个人博客网站上,方式各有优劣。


笔记工具,诸如 Notion、Wolai、语雀、Obsidian 和 Typora 等。笔记工具使用门槛低,适合个人整理、快速记录。笔记工具不要随意切换,数据迁移比较繁琐。如果是本地编辑,个人推荐 Obsidian 或 Typora;如果偶尔需要网页编辑,可以使用语雀。

  • Notion:互联工作站。

  • Wolai:Notion 的本土化版本,云笔记且支持本地存储。

  • 语雀:云端知识库。

  • Obsidian:本地知识库。

  • Typora:原始的 MarkDown 编辑器。

  • 语雀云端知识库:支持诸如定制 URL、在线编辑、自带评论功能等,还具备一定的社区环境(社交)。缺点是占用内存且卡顿、审核、付费、非自建等。【语雀停机事件】也引发用户对数据安全问题的广泛关注。

DeepSeek 锐评各大笔记软件:Obsidian、Notion、flomo、思源笔记、语雀、OneNote - 链滴

快速拥有自己的博客,语雀或许是不错的选择 - 少数派

为什么笔记用户要保卫自己的「数字主权」? - 少数派


平台社区,诸如 CSDN、ITeye、博客园、开源中国、微信公众号、简书、知乎专栏、稀土掘金、SegmentFault、GitHub等。平台社区的好处在于“社区”二字——交流反馈以及打造商业价值。需要注意的是,博主受制于平台政策。平台可能会要求博主整改博文,甚至删帖。因此,平台仅适合作为内容的“分发渠道”,但不建议作为主阵地。此外,平台社区人员混杂。个人很喜欢 ITeye 的 RednaxelaFX,他现在偶尔在知乎回答问题。

  • CSDN:SEO 好,阅读量高,内容限定计算机领域。布局差,广告多。(不是很推荐,个人希望搜浏览器少显示 CSDN 的内容!)
  • ITeye:原 JavaEye,old school,现已迁移到 CSDN。(shit! ITeye died!)
  • 博客园:SEO 好,阅读量有保证,内容限定计算机领域,可以定制主题界面。平台陈旧,有广告。
  • 开源中国
  • 微信公众号:个人引流,只是平台。
  • 简书:界面简洁,双端适配。SEO 差,故事会多,无法定制。
  • 知乎专栏:商业价值高,界面设计现代。SEO 一般,内容混杂,无法定制(原界面就够好)。
  • 稀土掘金:开发者的技术内容分享与交流平台,抄袭panda。
  • SegmentFault:开发者技术社区。
  • GitHub:全球同性交友平台。(Nicccccce!!!!!!)

个人技术博客的选择:CSDN、博客园、简书、知乎专栏还是Github Page? - Carzy_Learner - 博客园

【资料合集】 RednaxelaFX写的文章/回答的导航帖(work in progress) - 知乎


个人博客网站,可使用动态/静态博客框架。动态博客框架,诸如 WordPress、Ghost、Typecho 等,适合追求一定自由度又不想从零搭建的人,功能需要付费($: NO WAY!)。静态博客框架,诸如 Hexo、Hugo 等,需要一定的配置和部署,自主性高。

如果还不清楚,可以参考这些博文:2020 年,如何才能拥有一个个人网站? - 少数派如何挑选博客框架、在线博客平台 | EdNovas的小站Hugo | 一起动手搭建个人博客吧 | 小球飞鱼

【新手向】你究竟需要什么样的博客方案 – 此方方有限公司

静态/动态博客Blog框架简介_静态博客-CSDN博客


笔者决定搭建静态博客,因为其自主性高,“水形依器”。静态博客的维护成本相对较低(比较动态),能够让笔者更专注于写作(impossible)。

  1. Hexo 是一个基于 Node.js 的快速、简洁且高效的静态博客框架。Hexo 支持 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
  2. Hugo 是一个快速且灵活的静态站点生成器,采用 Go 语言编写,简单、易用、高效、易扩展、快速部署。
  3. Valaxy is Next Generation Static Blog Framework.

Hugo 生成静态网页的速度快。Valaxy 新!新手友好!笔者暂时使用 Hexo,因为它比较 old,适合探索。

个人博客的最终归宿是静态网站吗 - atpX

浅谈我为什么从 HEXO 迁移到 HUGO - 少数派

静态博客(前端)只是开始,你可以自行增加功能,使之成为动态博客(前后端)。比如:评论系统(可能需要连接数据库)、登录系统(Flask, Django, Next.js)等。

Next.js 实践总结 - 登录授权验证最佳方案 - 掘金

探索微博客平台:microblog——一个轻量级、强大的个人博客系统-CSDN博客

如何使用Next.js和GitHub Issues构建个人博客:从零到上线的完整指南-CSDN博客

2. 建站流程与 Github Pages

域名系统 - 维基百科,自由的百科全书

个人网站的一般建站流程如下:

  1. 注册域名(Domain Name)。(域名注册商一般也提供域名解析服务。 )
  2. 获取服务器。
  3. 将个人网站部署到服务器上,服务器分配独立 IP。(通过独立 IP 可直接定位到个人 Web 网站。)
  4. DNS(Domain Name System,域名系统)解析域名——名称服务器(Name Server,简称 NS)添加 DNS 记录,绑定个人域名和服务器分配的独立 IP。
  5. 通过个人域名访问部署在服务器上的个人网站。
  6. 注册数字证书,并部署到服务器的个人网站上 balabala ……

服务器也可能分配的是域名,而不是独立 IP。可以使用服务器分配的域名访问个人网站;或者 DNS 将个人域名指向服务器分配的域名,然后使用个人域名访问个人网站。

Tips:若服务器分配域名,意味者用户使用的是服务器提供的公用 IP,服务器必须通过域名部分定位特定用户的资源。Github Pages 就是采用该模式。

2.1 域名与 IP 地址

域名 - 维基百科,自由的百科全书

IP 地址(Internet Protocol Address)是分配给每台连接互联网的计算机或网络设备的唯一数字标识,通常以点分十进制(IPv4,例如 192.168.1.1)或冒号分隔的十六进制(IPv6,例如 2001:0db8::1)表示。主机之间通过 IP 地址来定位和通信。

域名(Domain Name,简称 Domain)是互联网中用来唯一标识网站或资源的字符地址,更便于人类记忆和使用。

域名通过 DNS 映射到对应的 IP 地址,用户通过域名访问网站,背后由 DNS 将其解析为实际的 IP 地址,完成与目标服务器的通信。


域名是一个由字母、数字和连字符组成的字符串,用点(.)分隔。域名从右到左依次是顶级域、二级域、子域(可选)。www.google.com 为例 ,.com 是顶级域,google 是二级域,www 是子域。

顶级域(Top-Level Domain,简称 TLD)位于域名的最右端部分,用于划分互联网域名的类别或区域。顶级域主要分为以下几类:

  1. 通用顶级域(gTLD,generic TLD),适用于各种用途。例如:.com(商业),.org(组织),.net(网络相关),.info(信息),.biz(商务) 等。
  2. 国家和地区顶级域(ccTLD,country code TLD),代表特定国家或地区。例如:.cn(中国),.us(美国),.uk(英国),.jp(日本)等。
  3. 新通用顶级域(new gTLD),近年来新增的多样化域名,涵盖行业、兴趣、品牌等。例如:.app(应用),.tech(科技),.shop(商店),.中国(中文通用顶级域名)等。

二级域(Second-Level Domain)位于顶级域的左侧,通常是由企业、组织或个人注册的名字,用于标识具体的实体或网站。

一般我们付费注册的域名是 Apex Domain(顶级域名/根域名)。Apex Domain 是没有子域的二级域名本身,由【二级域 + 顶级域】组成。

Tip:Apex Domain 强调的是域名的最高层级,TLD 强调的是顶级域的类型。不要使用“一级域名”这种非正式用词来描述顶级域名。

子域(Subdomain)位于域名的左侧,通常在二级域名前面,用点(.)隔开。子域可以用来划分网站的不同部分或服务,例如:mail 用于邮件系统,shop 用于电子商务。子域名可以有多级,形成更复杂的层级结构。

Tip:Github Pages 的顶级域名是 github.io,它分配给用户的固定子域名是 <username>.github.io

完整的域名由【子域(可选)+ 二级域 + 顶级域】组成。这三者结合起来,构成了完整的互联网域名体系,方便用户访问、组织和管理网站资源。

2.2 服务器

(没空整理!)

服务器 - 维基百科,自由的百科全书

网页托管服务 - 维基百科,自由的百科全书

2.3 Github Pages

GitHub - 维基百科,自由的百科全书

GitHub Pages 文档 - GitHub 文档

GitHub 是一个在线软件源代码托管服务平台,开源免费。GitHub Pages 是 GitHub 提供的一个静态网站托管服务,它直接从 GitHub Pages 仓库获取 HTML、CSS 和 JavaScript 静态资源文件。

Note:GitHub Pages 仓库是指 name 固定的 GitHub 仓库——<username>.github.io

GitHub Pages 提供固定的子域名 <username>.github.io 。用户可以通过该域名访问 GitHub Pages 仓库的静态资源文件。GitHub Pages 支持自定义域名。


GitHub Pages 网站受以下使用限制的约束:

  1. 每个账号只能创建一个 GitHub Pages 网站。
  2. GitHub Pages 源仓库的建议限制为 1 GB。
  3. 已发布的 GitHub Pages 网站不能大于 1 GB。
  4. GitHub Pages 站点的软带宽限制为每月 100 GB。“软带宽限制”指的是该网站每月允许的最大数据传输量限制,超过此限制可能会受到限制或额外收费。
  5. GitHub Pages 站点的软限制为每小时 10 次构建(可超)。如果您使用自定义 GitHub Actions 工作流程构建和发布站点,则此限制不适用。

“Hexo - Git - Github Pages 仓库(public)” 是一种常用的静态博客架构,简单、免费($: SAY NO!),但公开。

先使用 Hexo 生成本地静态博客,再使用 Git 将静态站点 push 到 Github Pages 仓库。这样,一个静态网络博客就构建好了。你可以通过 https://<username>.github.io 访问自己的博客。

Add:早期,很多站主/博主考虑到个人网站/博客在国内的可访性和访问速度,使用 coding pages 而不是 Github Pages 来部署源站(个人网站/博客)。后来,coding pages 项目终止,由此产生的数据丢失及其他问题致使不少博主终止博客,很多有价值的博文也随之消散。部分博文因为 CSDN 的偷取而保留了下来,后来者几乎只能付费从 CSDN 获取早期博主的智慧结晶,见 如何获取CSDN付费文件? - 开发调优 - LINUX DO 评论区。如果你想要自己的博文还附带分享价值——首先,请备份好数据(Git 是个好选择,Github 勉强够用);其次,分享精神不懈怠(Github Pages 免去烦恼,Cloudflare Pages 也推荐)。

该架构还有很大的改动空间,取决于你的需求和 money。

  • 如果博客需要评论系统 Waline,可以将它部署到 Vercel。

    Tip:GitHub Pages 只支持托管静态资源,而 Waline 涉及数据库交互,是动态的。

  • 考虑到 GitHub Pages 源仓库的容量限制,博客的图片等资源可以存储到其他位置,在博客中使用链接引用它们。比如,使用阿里云 OSS(Object Storage Service)存储博客的图片等资源。

  • ……

3. Blog Design & Optimization

对个人博客而言,数据安全隐私保护页面性能(如渲染效率、资源优化等)也是三大核心焦点。

Tip:在博客未商用仅作交流的角度下考虑。如果是商业化项目,用户几乎没有隐私权。

数据安全是确保数据的机密性完整性可用性。(CIA 三元组:Confidentiality,Integrity 和 Availability)

  • 数据丢失(如存储故障、误删除)—— 属于可用性问题。
  • 数据泄露(如黑客攻击、内部人员窃取)—— 属于机密性问题。
  • 数据篡改(如恶意修改)—— 属于完整性问题。

可以通过加密、访问控制、备份、防篡改机制等技术手段确保数据安全。


隐私保护是保障个人对自身数据的控制权,确保数据收集、处理、共享符合法律法规(如 GDPR)和用户授权。

  • 避免过度收集用户数据(如 APP 权限滥用)。
  • 匿名化/去标识化处理(如医疗数据研究)。
  • 用户知情权与选择权(如隐私政策透明)。

可以通过数据脱敏、差分隐私、最小化收集原则等技术手段实现隐私保护。

当个人博客集成第三方服务时需要注意这点。比如评论系统,Disqus 侵犯用户隐私,Valine 存在隐私泄露问题。

Disqus因违反GDPR许可规则被罚款250万欧元


页面性能主要关乎用户体验,比如网页加载速度、交互流畅度等。

  • CDN(Content Delivery Network),内容分发网络。简单地说,CDN 就是节点服务器缓存数据,供用户就近获取。
  • 可以通过资源优化(压缩资源,CDN 等)来减少浏览器渲染时间。
  • ……

4. Further use of GitHub

【待实现】GitHub Issues can be used as micro blog.

探索创新:使用GitHub Issues构建个人博客的新方式-CSDN博客

使用 GitHub Issues 持续写作 | reuixiy

使用 GitHub Issues 来写博客 - 知乎

使用 VS Code + Github 搭建个人博客 - 知乎

使用GitHub Issues打造个人博客的终极指南 - github中文站

尝试在 GitHub Issues 上写文章并自动同步至博客 | ChrAlpha’s blog

再谈在 GitHub Issues 写作,顺带算是样式开源 | ChrAlpha’s blog


个人博客
https://cornst.com/posts/个人博客.html
作者
shaton沙桐
发布于
2025年4月27日
更新于
2025年5月15日
许可协议