基于Github Pages搭建個人博客站點:hexo環境搭建、本地預覽與發布

步驟

  1. 確認 Hexo 博客的源文件在哪里

  2. 安裝 Hexo 命令行工具:npm install -g hexo-cli

  1. 在源文件目錄中使用 hexo new "文章標題" 創建新文章

  2. 編輯生成的 Markdown 文件

  1. 使用 hexo generate 生成靜態文件

  2. 使用 hexo deploy 部署到這個 GitHub Pages 倉庫

設置Hexo博客環境

  1. 首先我們需要確保你的系統已經安裝了 Node.jshttps://learn.microsoft.com/zh-cn/windows/dev-environment/javascript/nodejs-on-windows,在windows上通過nvm-windows安裝Node.js和npm

節點版本管理器(通常稱為 nvm)是安裝多個版本的 Node.js的最常用方法,但僅適用于 Mac/Linux,在 Windows 上不受支持。 相反,我們建議安裝 nvm-windows,然后使用它安裝 Node.js 和節點包管理器(npm)。

Power shell中執行npm --version失敗,可以參考

https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.5#powershell-execution-policies

PowerShell 執行策略并說明如何管理它們

  • 檢查 Node.js 環境:
PS C:\WINDOWS\system32> node -v
v22.18.0
PS C:\WINDOWS\system32> npm -v
10.9.3
  • 安裝 Hexo 命令行工具并創建一個新的博客源文件目錄:
npm install -g hexo-cli
  • 創建一個新的 Hexo 博客源文件目錄。我們將其命名為 blog-source
hexo init blog-source 
cd blog-source 
npm install

第一步若出現可以改用 git clone git@github.com:hexojs/hexo-starter.git 先克隆好

git clone https://github.com/hexojs/hexo-starter.git/
Cloning into ‘hexo-starter’…
fatal: unable to access ‘https://github.com/hexojs/hexo-starter.git/’: OpenSSL SSL_read: Connection was reset, errno 10054

  • 安裝一些必要的插件,特別是 Git 部署插件:
npm install hexo-deployer-git --save
  • 配置博客,改配置文件來設置你的博客信息:
# Hexo Configuration
## Basics
title: Programming In Bug
subtitle: '編程之路'
description: '分享編程經驗與心得'
keywords:
author: EndlessGo
language: zh-CN
timezone: 'Asia/Shanghai'# URL
## Set your site url here
url: https://endlessgo.github.io
root: /
permalink: :year/:month/:day/:title/
permalink_defaults:
pretty_urls:trailing_index: truetrailing_html: true# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:# Writing
new_post_name: :title.md
default_layout: post
titlecase: false
external_link:enable: truefield: siteexclude: ''
filename_case: 0
render_drafts: false
post_asset_folder: true
relative_link: false
future: true
highlight:enable: trueline_number: trueauto_detect: falsetab_replace: ''wrap: truehljs: false
prismjs:enable: falsepreprocess: trueline_number: truetab_replace: ''# Category & Tag
default_category: uncategorized
category_map:
tag_map:# Metadata elements
meta_generator: true# Date / Time format
date_format: YYYY-MM-DD
time_format: HH:mm:ss# Pagination
per_page: 10
pagination_dir: page# Include / Exclude file(s)
include:
exclude:
ignore:# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: landscape# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:type: gitrepo: https://github.com/EndlessGo/EndlessGo.github.io.gitbranch: main
  • 在vscode terminal中運行npm和nvm等指令

若無法運行,可以嘗試讓 VS Code 的終端繼承 PATH,步驟如下

在 VS Code 里 打開設置

搜索 terminal.integrated.env.windows

在settings.json 中加入

    "terminal.integrated.env.windows": {"PATH": "D:\\exe\\nodejs\\;D:\\exe\\nvm\\;${env:PATH}"}

編寫markdown文章測試與本地預覽

  1. 讓我們創建一個測試文章來確保一切正常工作,會在source/_posts/目錄下創建文件my-first-test-blog.md
hexo new "my first test blog"
  • 編輯文章
---
title: 我的第一篇博客
date: 2024-02-06 14:55:30
tags: 
- 博客
- Hexo
categories:
- 技術筆記
---## 歡迎來到我的博客這是我使用 Hexo 搭建的個人博客的第一篇文章。在這里,我將會分享:- 編程技術心得
- 學習筆記
- 項目經驗
- 個人感悟### Markdown 示例這是一個 Markdown 語法的簡單示例:```python
def hello_world():print("Welcome to my blog!")
```#### 列表示例
1. 第一項
2. 第二項
3. 第三項#### 引用示例
> 學習編程最好的方式就是動手實踐### 結語希望這個博客能夠記錄我的成長歷程,也希望能幫助到其他人!
  • 本地預覽:在blog-source目錄下執行,生成靜態文件并啟動本地服務器來預覽
hexo clean && hexo generate && hexo server

若出現報錯

ERROR Cannot find module 'hexo' from 'D:\code\git\EndlessGo.github.io'
ERROR Local hexo loading failed in D:\code\git\EndlessGo.github.io
ERROR Try running: 'rm -rf node_modules && npm install --force'windwos下直接執行
npm install --force
npm audit fix

服務器已經啟動,你可以通過訪問 http://localhost:4000 來預覽你的博客

D:\blog\blog-source>hexo clean && hexo generate && hexo server
INFO  Validating config
INFO  Validating config
INFO  Start processing
INFO  Files loaded in 98 ms
INFO  Generated: archives/2024/index.html
INFO  Generated: archives/index.html
INFO  Generated: archives/2025/index.html
INFO  Generated: archives/2024/02/index.html
INFO  Generated: archives/2025/08/index.html
INFO  Generated: tags/Hexo/index.html
INFO  Generated: index.html
INFO  Generated: tags/博客/index.html
INFO  Generated: categories/技術筆記/index.html
INFO  Generated: css/style.css
INFO  Generated: fancybox/jquery.fancybox.min.css
INFO  Generated: js/script.js
INFO  Generated: fancybox/jquery.fancybox.min.js
INFO  Generated: js/jquery-3.6.4.min.js
INFO  Generated: css/images/banner.jpg
INFO  Generated: 2025/08/05/hello-world/index.html
INFO  Generated: 2024/02/06/my-first-test-blog/index.html
INFO  17 files generated in 214 ms
INFO  Validating config
INFO  Start processing
INFO  Hexo is running at http://localhost:4000/ . Press Ctrl+C to stop.

發布GitHub

當你要發布文章時,使用以下命令:

  • 文章格式

    • 每篇文章開頭都有 Front-matter 配置(就是 --- 之間的內容)

    • 可以設置標簽(tags)和分類(categories)

    • 支持所有 Markdown 語法

  • 圖片支持

    • post_asset_folder: true,這意味著每次創建新文章時,會自動創建同名文件夾

    • 可以將圖片放在這個文件夾中,然后在文章中使用相對路徑引用

總結

  1. 寫作新文章

    1. 使用命令 hexo new "文章標題" 創建新文章,位于 source/_posts 目錄下對應的.md文件

    2. 使用任何支持 Markdown 的編輯器編輯文章

  2. 本地預覽

    1. hexo clean && hexo generate && hexo server

    2. 訪問 http://localhost:4000 來預覽你的博客

  3. 發布github

    1. hexo clean && hexo generate && hexo deploy

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918327.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918327.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918327.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Shell腳本實現自動封禁惡意掃描IP

iptables 簡介我們使用iptables工具實現功能iptables 是 Linux 系統上最常用的防火墻工具,可以指定策略。Shell文件創建首先我們先創建文件scanners.shvim /usr/local/bin/auto_block_ip.sh我的目標是每10分鐘自動掃描,再10分鐘內一個IP訪問50次以上就就…

LeetCode_哈希表

哈希表(散列表)一、哈希表二、有效的字母異位詞1、有效的字母異位詞(力扣242)2、贖金信(力扣383)3、字母異位詞分組(力扣49)4、找到字符串中所有字母異位詞(力扣438)三、兩個數組的交集1、兩個數組的交集(力扣349)2、兩個數組的交集 II(力扣350)三、其他…

2.變量和常量

1.變量2.2 變量的基本使用2.3 變量的本質 2.4 變量命名規則與規范 2.5 變量拓展-數組 1.數組的基本使用 2.常量

Java并發核心基礎解析

目錄 一、背景 二、Java線程模型 三、Synchronized實現原理 3.1 鎖的使用 3.2 解釋執行 3.3 JIT執行 3.4 鎖的狀態 3.5 monitorenter 3.5.1 偏向鎖 3.5.2 輕量級鎖 3.5.3 重量級鎖 3.6 monitorexit 3.6.1 偏向鎖 3.6.2 輕量級鎖 3.6.3 重量級 四、可見性的真相…

線程池111

線程池框圖C語言線程池詳解:從基礎到實現通俗理解線程池想象你開了一家快遞站,每天要處理很多包裹派送:?沒有線程池?:每來一個包裹就雇一個新快遞員,送完就解雇問題:頻繁招聘解雇成本高(線程創…

Qt-Advanced-Docking-System

直譯一下 : 先進的停靠系統 github: mfreiholz/Qt-Advanced-Docking-System: Advanced Docking System for Qt 這是這個項目的起源 這個最后一次更新: githubuser0xFFFF/Qt-Advanced-Docking-System: Advanced Docking System for Qt 這是另一個人復刻…

湖南(源點咨詢)市場調研 如何在行業研究中快速有效介入 中篇

我們接著起頭篇來說邁克爾波特認為一個行業內存在著五種基本競爭力量,即潛在入侵者、替代產品、供方、需方以及行業內現有競爭者。如附圖:即:同行業內現有競爭者的競爭能力、潛在競爭者進入的能力、替代品的替代能力、供應商的討價還價能力、…

【無標題】消息隊列(Message Queue)是一種**進程間通信(IPC)機制

消息隊列(Message Queue)是一種進程間通信(IPC)機制,它允許進程通過在隊列中添加和讀取消息來交換數據。與管道(命名/匿名)相比,消息隊列具有結構化消息、異步通信和消息持久化等特點…

mac中多版本JDK配置和切換

下載 從jdk官網下載即可,找到自己要用的版本。 官網:https://www.oracle.com/java/technologies/downloads/#jdk21-mac 我這里下載的jdk1.8和21。 根據自己芯片下載,一般都是m芯片。下載好后,點擊,一直下一步就行&…

【JVM】流程匯總

【JVM】流程匯總【一】編譯過程和內存分布【1】案例程序:簡單的 Java 類【2】Java 編譯過程:從.java到.class(1)編譯命令(2)編譯結果(3)字節碼的作用【3】Java 運行過程:…

專業MP3瘦身工具WinMP3Shrink 1.1,綠色單文件,極速壓縮

[軟件名稱]: 專業MP3瘦身工具WinMP3Shrink 1.1 [軟件大小]: 1.1 MB [軟件大小]: 夸克網盤 | 百度網盤 軟件介紹 WinMP3Shrink 是一款免費的 MP3 壓縮軟件,能夠有效減少 MP3 文件的體積,同時還能增強音質。即使不重新編碼,通過移除保留空間…

LeetCode 每日一題 2025/8/4-2025/8/10

記錄了初步解題思路 以及本地實現代碼;并不一定為最優 也希望大家能一起探討 一起進步 目錄8/4 904. 水果成籃8/5 3477. 水果成籃 II8/6 3479. 水果成籃 III8/7 3363. 最多可收集的水果數目8/8 808. 分湯8/9 231. 2 的冪8/10 869. 重新排序得到 2 的冪8/4 904. 水果…

Python爬蟲實戰:研究Ruia框架,構建博客園文章采集系統

1. 引言 1.1 研究背景與意義 在數字化時代,數據已成為驅動科技創新與產業升級的核心生產要素。互聯網作為全球最大的信息載體,蘊含著億級結構化、半結構化與非結構化數據,這些數據在商業決策、學術研究、公共服務等領域具有不可替代的價值。網絡爬蟲技術作為自動獲取網絡公…

Office安裝使用?借助Ohook開源工具?【圖文詳解】微軟Office產品

一、問題背景 很多用戶在使用 Office 軟件一段時間后,會遇到以下問題。 二、解決方案 Ohook 是 Office 獨有的可用方式,源自 GitHub 上的開源項目,代碼開源(開源地址:https://github.com/asdcorp/ohook)。 …

LeetCode簡單題 - 學習

力扣題庫 - 簡單題 - 僅記錄學習 來源地址: 力扣 (LeetCode) 全球極客摯愛的技術成長平臺 1. 兩數之和 給定一個整數數組 nums 和一個整數目標值 target,請你在該數組中找出 和為目標值 target 的那 兩個 整數,并返回它們的數組下標。 你…

Android Camera 打開和拍照APK源碼

完整下載路徑: 【免費】AndroidcameraAPK完整源碼(包括打開攝像頭和拍照保存功能)Android10驗證可完整運行資源-CSDN下載 效果: 源碼: package com.example.mycamera;import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appco…

【系統分析師】軟件需求工程——第11章學習筆記(上)

軟件需求工程是包括創建和維護軟件需求文檔所必需的一切活動的過程。可分為兩大工作:需求開發需求獲取需求分析需求定義(編寫需求規格說明書)需求驗證需求管理定義需求基線處理需求變更需求跟蹤在需求開發階段需要確定軟件所期望的用戶類型&a…

機器學習第七課之支持向量機SVM

目錄 簡介: 一、什么是支持向量機 二、如何選取最佳的超平面 1.超平面方程 (優化目標) 2.如何尋找最優的超平面 3.舉例分析 4.軟間隔?編輯 三、核函數 1舉例 2常用核函數 3.多項式核函數 4.高斯核函數: 四、svm的優缺點 五、支持向量機的API 六、案例…

P3232 [HNOI2013] 游走,solution

原題: link,點擊這里喵。 題意: 給定一個 nnn 個點 mmm 條邊的無向連通圖,圖無重邊和自環,頂點從 111 編號到 nnn,邊從 111 編號到 mmm。 小 Z 在該圖上進行隨機游走,初始時小 Z 在 111 號頂…

Docker容器部署discuz論壇與線上商城

準備 關閉防火墻,上下文[rootdocker ~]# systemctl disable --now firewalld[rootdocker ~]# setenforce 0下載應用yum remove runc -y ### rocky8才需要yum install -y yum-utils yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/cento…