從0到1搭建個人技術博客:用GitHub Pages+Hexo實現

一、為什么要搭建個人技術博客?

在技術圈,擁有個人博客的好處不言而喻:

  • 簡歷加分項:面試官更青睞有技術沉淀的候選人
  • 知識系統化:輸出倒逼輸入,加深技術理解
  • 人脈拓展:吸引同行關注,甚至獲得內推機會

據統計,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…