67、【Ubuntu】【Hugo】搭建私人博客(一)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Ubuntu】【Gitlab】拉出内网 Web 服务:Gitlab 配置审视(八)

分析完了 server 块中的 location 配置,下面进入一个新领域:搭建私人博客

搭建私人博客

虽然在线博客,比如 CSDN,博客园,掘金,知乎专栏等平台提供了便捷的在线写作和发布环境,但有时候会有些比较私人,系统化的内容,更想记录在一个自己的专属空间里(不图流量,不图曝光),这个时候,私人博客就是个比较好的选择,下面将用一些篇幅着重介绍下搭建私人博客的过程

首先来看下,私人博客和在线博客的一些特点和区别,从几个角度:内容自主可控,个性化与自由度,长期稳定性与可迁移性等等方面

  • 数据所有权 :对于在线博客等平台,写的文章属于平台托管 ,平台可能修改规则,下架内容,甚至关闭账号等(当然,正常情况下,这种也比较少),而私人博客的数据完全由自己掌握
  • 无审查限制 :平台可能会对敏感词,技术讨论 (有些技术可能还是比较敏感的),个人观点进行过滤或删除,而私人博客只要遵守法律法规,内容自由度高得多
  • 设计自由:可以完全自定义博客的外观,布局,交互逻辑等,而不用受平台模板限制(属于风格可以自定义吧)
  • 功能扩展:可以集成评论系统,搜索,暗黑模式,RSS 订阅(让用户订阅网站的更新内容,而无需频繁手动访问网站),多语言支持等等,按需定制,组件化程度高
  • 域名专属 :可以拥有自己的域名,建立专业形象,CSDN 虽然也可以自定义域名,但属于 xxx.csdn.net 这样的子域名
  • 易于备份与迁移:私人博客(一般是静态博客)本质是一堆 HTML 文件 + Markdown 源文件,可轻松备份到 GitHub,本地硬盘或迁移到任何服务器,备份和迁移方便
  • 专注写作,无干扰:私人博客干净简洁,没有广告,没有推荐流,读者体验更纯粹,不会被平台广告或无关内容干扰。
  • 避免数据追踪:大型平台一般会收集用户行为数据用于推荐或广告,而自建博客可选择不集成任何追踪脚本

举个形象点的比喻,博客平台是租来的摊位,而私人博客是自己盖的房子,如果只图方便,用平台博客就足够了

OK,分析完平台博客和私人博客的一些特点,下面来分析看私人博客都有哪些主流系统,首先是第一类:主流静态博客生成器(适合大多数人,其主要优点在于安全,快速,免费托管,版本可控,支持 Markdown 语法等)

1、Hugo(Go 语言),极速之王

  • 适合人群:追求极致构建速度、希望快速迭代内容的人
  • 优势 :构建速度极快(万篇文章秒级生成,Go 语言本身就是性能利器 ),博客主题丰富(可参考 Hugo 主题网站 https://themes.gohugo.io),原生支持多语言,分类,标签,RSS 订阅,搜索等功能
  • 缺点:模板语法(Go Template)对新手稍有门槛

2、Hexo(Node.js),中文生态友好

  • 适合人群:熟悉 JavaScript / Node.js 的用户,尤其中文博主
  • 优势 :插件生态成熟(比如 hexo-deployer-git 一键部署),中文主题多(NexT,Butterfly 等美观且功能强),社区教程丰富(B站,知乎大量入门指南)
  • 缺点:依赖 Node 环境,大型站点构建较慢

3、Jekyll(Ruby),GitHub 官方亲儿子
适合人群:想用 GitHub Pages 但不想折腾部署的人

  • 优势 :GitHub Pages 原生支持,无需 CI/CD,并且与 GitHub 深度集成(Issues 评论、Actions 自动构建等)
    缺点国内配置略麻烦,主题较少更新

这里再提一点,上面提到的三种系统都是静态博客生成器(Static Site Generator,简称 SSG) ,SSG 可以将纯文本内容(一般是 Markdown 文件)和模板自动转换为完整的静态 HTML 网站,其流程大致如下

SSG 不依赖数据库或服务器端脚本(没有后端) ,最终生成的网站只包含 HTML,CSS,JavaScript 和图片等静态文件,可以直接通过任何 Web 服务器(甚至 GitHub Pages 等免费托管平台)快速,安全地提供服务


OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
【Ubuntu】【Hugo】搭建私人博客(二)

相关推荐
爱宇阳1 分钟前
Nuxt4 + Tailwind CSS v4 自定义响应式断点完整指南
前端·css·nuxt4
Jutick21 分钟前
揭秘低延迟:WebSocket 实时行情如何拯救你的量化策略?——Python 生产级实现
前端
~欲买桂花同载酒~22 分钟前
项目优化-vite打包优化
前端·javascript·vue.js
林夕sama24 分钟前
多线程基础(五)
java·开发语言·前端
我叫蒙奇28 分钟前
husky 和 lint-staged
前端
Eric.Lee202128 分钟前
查看ubuntu机器正在使用的网络端口
网络·ubuntu·php
kyriewen29 分钟前
JavaScript 继承的七种姿势:从“原型链”到“class”的进化史
前端·javascript·ecmascript 6
穷鱼子酱32 分钟前
ElSelect二次封装组件-实现分页(下拉加载、缓存)、回显
前端
科科睡不着33 分钟前
拆解iOS实况照片📷 - 附React web实现
前端
前端老兵AI33 分钟前
Electron 桌面应用开发入门:前端工程师的跨平台利器
前端·electron