一、为什么要搭建个人技术博客?

在技术圈,拥有个人博客的好处不言而喻:

  • 简历加分项:面试官更青睐有技术沉淀的候选人
  • 知识系统化:输出倒逼输入,加深技术理解
  • 人脉拓展:吸引同行关注,甚至获得内推机会

据统计,92%的技术大牛都有自己的技术博客(数据来源:Stack Overflow 2024开发者调查)

二、为什么选择GitHub Pages+Hexo?

方案对比:

方案优点缺点
自建服务器完全自定义,功能强大成本高,维护复杂
WordPress功能丰富,插件多性能一般,需服务器
GitHub Pages+Hexo免费、稳定、无运维成本需要一定技术门槛
三、环境准备
  1. 安装Git

    # Windows用户下载安装包:https://git-scm.com/download/win
    # macOS用户使用brew安装:
    brew install git
    # 验证安装
    git --version  # 输出类似:git version 2.39.2
    
  2. 安装Node.js和npm

    # macOS用户:
    brew install node
    # Ubuntu用户:
    sudo apt-get install nodejs npm
    # 验证安装
    node -v      # 输出:v18.16.0
    npm -v       # 输出:9.5.1
    
四、GitHub Pages配置
  1. 创建GitHub仓库

    • 仓库名必须为:你的用户名.github.io(如:doubao.github.io
    • 选择Public公开仓库(免费)
  2. 配置GitHub账号

    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你的GitHub邮箱"
    # 生成SSH Key
    ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱"
    

    将生成的公钥(~/.ssh/id_rsa.pub)添加到GitHub账户设置中

五、Hexo安装与配置
  1. 安装Hexo CLI

    npm install -g hexo-cli
    
  2. 初始化博客

    hexo init my-blog
    cd my-blog
    npm install
    
  3. 目录结构解析

    my-blog/
    ├── _config.yml      # 博客全局配置
    ├── package.json     # 项目依赖
    ├── scaffolds/       # 文章模板
    ├── source/          # 文章和资源
    │   ├── _drafts/     # 草稿
    │   └── _posts/      # 文章
    └── themes/          # 主题文件夹
    
六、主题配置(以Butterfly主题为例)
  1. 安装主题

    cd my-blog
    git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
    
  2. 修改配置

    # _config.yml
    theme: butterfly
    
  3. 主题个性化

    # themes/butterfly/_config.yml
    # 修改博客标题
    title: 豆包的技术博客
    # 设置作者
    author: 豆包
    # 配置社交链接
    social:GitHub: https://github.com/yourname || fab fa-githubLinkedIn: https://www.linkedin.com/in/yourname || fab fa-linkedin
    
七、发布文章
  1. 创建新文章

    hexo new "第一篇博客"
    

    文章默认生成在 source/_posts/第一篇博客.md

  2. 文章格式示例

    ---
    title: 第一篇博客
    date: 2025-07-12 10:00:00
    tags:- 技术- 博客
    categories:- 教程
    ---这是我的第一篇技术博客...
    
八、部署到GitHub Pages
  1. 安装部署插件

    npm install hexo-deployer-git --save
    
  2. 配置部署信息

    # _config.yml
    deploy:type: gitrepo: git@github.com:你的用户名/你的用户名.github.io.gitbranch: main
    
  3. 一键部署

    hexo clean && hexo generate && hexo deploy
    
九、常见问题解决
  1. 访问404错误

    • 检查仓库名是否为 用户名.github.io
    • 确认GitHub Pages设置中分支为main
  2. 图片显示问题

    # 使用相对路径引用图片
    ![示例图片](https://picsum.photos/800/400?random=2)
    
  3. 主题不生效

    • 检查主题文件夹名称是否为themes/butterfly
    • 确认_config.yml中theme配置正确
十、进阶优化
  1. 添加评论系统(Valine)

    # themes/butterfly/_config.yml
    valine:enable: trueappId: your_appIdappKey: your_appKey
    
  2. 配置SEO

    # themes/butterfly/_config.yml
    seo: true
    
  3. 添加谷歌分析

    # themes/butterfly/_config.yml
    google_analytics:enable: truetracking_id: UA-XXXXXXXX-X
    
十一、总结

通过本文,你已经学会了:

  1. GitHub Pages和Hexo的基本原理
  2. 博客环境搭建与配置
  3. 主题个性化设置
  4. 文章发布与部署流程
  5. 常见问题解决方法

现在,访问 https://你的用户名.github.io 即可看到你的个人博客!后续可以持续更新文章,打造属于自己的技术品牌。

十二、扩展阅读
  • Hexo官方文档
  • Butterfly主题文档
  • GitHub Pages官方指南
十三、互动话题

你打算在博客中分享哪些技术内容?遇到问题欢迎在评论区留言,我会一一解答!

作者简介
豆包,全栈开发工程师,热衷于技术分享与开源项目。
GitHub:https://github.com/doubao
个人博客:https://doubao.github.io

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914127.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914127.shtml
英文地址,请注明出处:http://en.pswp.cn/news/914127.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu22.04 设置显示存在双屏却无法双屏显示

文章目录一、背景描述二、解决方法一、背景描述 回到工位后,发现昨天离开时还可正常显示的双屏,今早ubuntu22.04 的设置界面显示有双屏,但外接的显示屏无法正常显示。 首先,查看当前图像处理显卡是否为N卡,没错&#…

高亚科技签约奕源金属,助力打造高效智能化采购管理体系

深圳市奕源金属制品有限公司近日,国内企业管理软件服务商高亚科技与深圳市奕源金属制品有限公司(以下简称“奕源金属”)正式签约,双方将基于高亚科技自主研发的8Manage SRM采购管理系统,共同推动奕源金属采购管理的数字…

数据结构之map

map的基本介绍我们常常把map称之为映射,就是将一个元素(通常称之为key键)与一个相对应的值(通常称之为value)关联起来,比如说一个学生的名字(key)有与之对应的成绩(value…

vue3 canvas 选择器 Canvas 增加页面性能

文章目录Vue3 选择器 Canvas 增加页面性能基于Vue3 Composition API和Canvas实现的交互式选择器,支持PC端和移动端的拖动选择、多选取消选择功能vue3组件封装html代码Vue3 选择器 Canvas 增加页面性能 基于Vue3 Composition API和Canvas实现的交互式选择器&#xf…

Python 实战:打造多文件批量重命名工具

引言在实际运维、测试、数据分析、开发流程中,我们经常会处理成百上千条命令操作,例如:各种脚本任务(启动、备份、重启、日志查看)数据处理流程(爬取 → 清洗 → 统计 → 可视化)配置自动化&…

设计模式笔记_结构型_代理模式

1. 代理模式介绍代理模式是一种结构型设计模式,它允许你提供一个代理对象来控制对另一个对象的访问。代理对象通常在客户端和目标对象之间起到中介作用,能够在不改变目标对象的前提下增加额外的功能操作,比如延迟初始化、访问控制、日志记录等…

C语言<数据结构-单链表>(收尾)

上篇博客我将基础的尾插、尾删、头插、头删逐一讲解了,这篇博客将对上篇博客进行收尾,讲一下指定位置操作增删以及查找这几个函数,其实大同小异:一.查找函数:查找函数其实就是一个简单的循环遍历,所以不加以…

十年架构心路:从单机到云原生的分布式系统演进史

十年架构心路:从单机到云原生的分布式系统演进史 这里写目录标题十年架构心路:从单机到云原生的分布式系统演进史一、技术生涯的起点:单体架构的黄金时代1.1 典型技术栈1.2 记忆深刻的故障二、分布式架构转型期2.1 服务化拆分实践2.2 分布式事…

使用docker搭建nginx

安装docker 和 docker compose验证docker版本配置docker目录配置代理,使docker能访问外网能否ping通最后直接拉入镜像即可docker pull nginx

Intel新CPU助攻:微软Copilot+将登陆台式电脑

微软的Copilot PC计划已经推出一年多,但目前仅支持平板电脑和笔记本电脑,以及少数迷你电脑。 随着Intel下一代桌面处理器——代号为“Arrow Lake Refresh”的推出,Copilot PC功能有望扩展到桌面计算机。 要支持Copilot PC的所有功能&#xff…

【Kubernetes】跨节点 Pod 网络不通排查案例

最近在部署一个集群环境的时候,发现集群中一个子节点与其他子节点不通,而 master 节点可与任何子节点互通,通过抓包排查后,发现是 Linux 路由决策导致的。因此,在此记录下来,希望对大家有所帮助。1、环境及…

【算法训练营Day11】二叉树part1

文章目录理论基础二叉树的递归遍历前序遍历中序遍历后序遍历总结二叉树的层序遍历基础层序遍历二叉树的右视图理论基础 二叉树在结构上的两个常用类型: 满二叉树完全二叉树 在功能应用上的比较常用的有: 二叉搜索树: 节点有权值、遵循”左…

Flutter 之 table_calendar 控件

1.库导入在pubspec.yaml文件中dev_dependencies:table_calendar: ^3.2.02. 代码编写TableCalendar(daysOfWeekHeight: 20,availableGestures: AvailableGestures.horizontalSwipe,firstDay: DateTime.now().subtract(const Duration(days: 365)),lastDay: DateTime.now(),cal…

【leetcode】1486. 数组异或操作

数组异或操作题目题解题目 1486. 数组异或操作 给你两个整数,n 和 start 。 数组 nums 定义为:nums[i] start 2*i(下标从 0 开始)且 n nums.length 。 请返回 nums 中所有元素按位异或(XOR)后得到的…

php7.4使用 new DateTime;报错 Class DateTime not found

php7.4使用 new DateTime;报错Uncaught Error: Class ‘app\home\c\DateTime’ not found 查了半天资料,最后找到了解决办法 DateTime 是 php 内置的类,不隶属于任何命名空间,如果你需要在命名空间中使用须有 \ 声明,解决办法就是…

Gartner《构建可扩展数据产品建设框架》心得

一、背景与价值 1.1 “数据产品”为什么忽然重要? 传统模式:业务提出需求 → IT 建数据集 → ETL 管道爆炸 → 维护成本指数级上升。 新范式:把“数据”包装成“产品”,以产品思维迭代演进,强调复用、自助、可扩展。 Gartner 观察到:大量组织把“报表”或“数据仓库”重…

CentOS/RHEL LVM 磁盘扩展完整教程

CentOS/RHEL LVM 磁盘扩展完整教程📝 前言 在Linux系统管理中,磁盘空间不足是经常遇到的问题。特别是在生产环境中,当根分区空间告急时,我们需要通过添加新磁盘来扩展存储空间。本教程将详细介绍如何在CentOS/RHEL系统中使用LVM&a…

LVGL应用和部署(用lua做测试)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】嵌入式产品做好了,下面就是测试和量产了。以按键屏幕的开发模式为例,如果仅仅是简单的功能测试,那还比较好解决&…

phpstudy搭建pikachu

一.启动mysql和nginx服务二.修改靶场文件参数点击管理打开根目录,将下载好的靶场源文件解压到www目录下三.找到此文件用记事本打开四.修改配置文件五.打开浏览器,输入127.0.0.1/pikachu六.按照步骤初始化心得体会:如果mysql启动又立刻停止,大…

【Linux】GDB/CGDB 调试器学习笔记

GDB/CGDB 调试器学习笔记🚀 前言 GDB 是 GNU 项目下功能强大的命令行调试器,适用于 C/C 等多种语言。CGDB 则是在 GDB 之上构建的轻量级 curses 界面,适合喜欢终端操作且习惯 vi 风格的人。一、GDB 入门篇 1. 编译时带调试信息 gcc -g -O0 -W…