博客篇-我的hexo博客搭建
博客搭建
准备工作
- 安装node.js npm
我以前安装过,版本node v20.17.0 npm 10.8.3
安装淘宝镜像源,这样速度会快
npm install -g cnpm –registry=https://registry.npm.taobao.org
我开始没有成功,输入npm cache clean –forece清除缓存后再安装成功
cnpm 版本9.4.0 - 用cnpm全局安装hexo
cnpm install -g hexo-cli1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27C:\Users\Administrator>hexo -v
hexo-cli: 4.3.2
os: win32 10.0.22631 undefined
node: 20.17.0
acorn: 8.11.3
ada: 2.9.0
ares: 1.32.3
base64: 0.5.2
brotli: 1.1.0
cjs_module_lexer: 1.2.2
cldr: 45.0
icu: 75.1
llhttp: 8.1.2
modules: 115
napi: 9
nghttp2: 1.61.0
nghttp3: 0.7.0
ngtcp2: 1.1.0
openssl: 3.0.13+quic
simdutf: 5.3.0
tz: 2024a
undici: 6.19.2
unicode: 15.1
uv: 1.46.0
uvwasi: 0.0.21
v8: 11.3.244.8-node.23
zlib: 1.3.0.1-motley-209717d
搭建博客
建立文件夹blog,从文件夹里打开终端
hexo init #生成博客 初始化博客
1 | PS D:\Pragram code\blog> hexo init |
hexo s #启动本地博客服务
1 | PS D:\Pragram code\blog> hexo s |
hexo n “我的第一篇文章” #创建新的文章
1 | PS D:\Pragram code\blog> hexo n "我的第一篇文章" |
然后在blog文件夹/source/_posts/新增了一个“我的第一篇文章.md”文件
更新文章内容后,回到blog文件夹打开终端,先输入hexo clean,然后输入hexo g 生成,然后再hexo s启动
1 | PS D:\Pragram code\blog> hexo n "我的第一篇文章" |
常用命令
Hexo常用命令
退出hexo:ctrl + c (在键盘上按不是输入到终端!)
初始化博客:hexo init 文件夹名称
新建文章:hexo new 文章名称 (简写)hexo n 文章名称
清理缓存有时能解决报错: hexo clean
在线预览: hexo server(简写)hexo s
生成静态html文件:hexo generate(简写)hexo g
一键部署:hexo deploy (简写)hexo d
在更新博客后要部署到github:hexo cl,hexo g,hexo d
Hexo常用命令解释
- hexo cl (clean)
作用: 清理生成的缓存文件和静态文件。
具体行为:
删除 public 文件夹(Hexo 生成的静态文件存放的地方)。
删除 .cache 文件夹(Hexo 缓存文件存放的地方)。
用途:
当你修改了某些配置或模板文件后,运行 hexo cl 可以清理旧的生成文件,确保重新生成的内容是最新的。 - hexo g (generate)
作用: 根据 Markdown 源文件、主题模板和配置文件生成静态 HTML 文件。
具体行为:
Hexo 会读取 source 文件夹中的 Markdown 文件、_config.yml 配置文件,以及主题文件夹中的模板文件。
将 Markdown 文件通过模板引擎(如 EJS、Pug 等)渲染成 HTML 文件。
最终生成的静态文件会存储在 public 文件夹中。
用途: 这是将你的博客内容从 Markdown 转换成网页的核心步骤。 - hexo d (deploy)
作用: 将生成的静态文件部署到远程仓库(如 GitHub Pages)。
具体行为:
读取 _config.yml 中的 deploy 配置。
将 public 文件夹中的静态文件上传到指定的远程仓库(通常是 GitHub Pages 的仓库)。
用途: 这一步是让你的博客内容上线的关键操作。
部署到github上
- 在github上新建仓库
登录Github,新建一个仓库new repository,注意名字的命名一定要符合特定要求!!
仓库名一定要和前面Owner的名字一样,不然会404,我下面这个图是错的!
正确的仓库名是Nie7-Melon - 在blog文件夹下安装git插件
在文件夹中打开git bash,然后输入指令1
cnpm install --save hexo-deployer-git
- 设置_config.yml文件
打开文件,拉到最后,原来是这样的补充扩展,把git和仓库地址加进去1
2
3
4
5# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: ''
补充后是这样的1
2
3
4
5
6# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: 'git'
repo: 'https://github.com/Nie7-Melon/melonnie77.github.io.git'
branch: 'master' - 部署 hexo d
在blog文件夹终端里或者git bash里面输入都可以
但是我在bit bash里面输入报错啦
- 可能因为我没有设置我的git的global身份
要先但我输入这些还是报错呢1
2git config --global user.email "xxx"
git config --global user.name "xxx"1
fatal: unable to access 'https://github.com/Nie7-Melon/melonnie77.github.io.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0
- 我把_config.yml文件里的https地址改成了SSH地址
还是会报错呢1
2
3Please make sure you have the correct access rights
and the repository exists.这个错误表明 Git 无法通过 SSH 连接到 GitHub 仓库,因为没有找到有效的 SSH 目标。以下步骤可以帮助您解决
- 我又把_config.yml文件文件的地址改回了https地址,输入hexo d
这次好像成功了
但是好像有时候成功有时候失败呢,不是一定成功
不成功的时候多换几个代理试试,总有一个会成功!
这时候再访问刚才在github上建的仓库 - 但是!我访问https://melonnie77.github.io/一直是404,检查发现,仓库名好像必须和我的github用户名一致才可以!!!
我重新改了仓库名和_config.yml文件
这次成功了
关于hexo
hexo+butterfly主题+github,技术栈讲解
- hexo
是基于node.js开发的静态网站生成器,核心功能是将markdown内容、主题模板、配置文件编译成静态的Html、css、js文件,供浏览器直接访问。 - butterfly主题:
通过模板文件和样式文件,将 Hexo 生成的静态内容结构化为美观的网页。 - GitHub + GitHub Pages(托管与部署):
GitHub 是代码托管平台,而 GitHub Pages 是其提供的静态网站托管服务;通过插件(如 hexo-deployer-git)将生成的静态文件推送到 GitHub 仓库,最终通过 GitHub Pages 发布;
GitHub Pages 免费托管、全球 CDN 加速、与 Git 版本控制无缝集成。 - 工作流程:
Markdown 文章 → Hexo 编译 → 生成静态文件 → GitHub Pages 托管 → 用户访问
Hexo 通过主题配置文件(_config.yml)加载 Butterfly 主题,将 Markdown 内容填充到主题模板中,最终生成静态 HTML 文件。 Hexo 读取 Markdown 文件,解析其内容和元数据,结合主题模板生成最终的 HTML 页面。 通过将 Hexo 生成的静态文件推送到 GitHub 仓库,可以快速发布博客。 Hexo 的 deploy 命令依赖 GitHub 的 API 和 Git 协议,将本地生成的文件同步到 GitHub 仓库,最终通过 GitHub Pages 全球 CDN 加速访问
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Melon_Nie的月光橘海!
评论