不花一分钱,用Hexo和GitHub Pages搭建个人博客🏢

前言

由于在技术社区中发的文章主题、自定义布局等页面效果受限于社区平台提供的规则和主题,因此想着自己搭一个博客同步发表到社区中的文章,对于前端选手来讲,没事儿还能自己魔改一下,研究技术的同时,顺便还能自嗨一下,这里选择使用 HexoGitHub 来搭建自己的博客,主要原因如下

Hexo 使用

Hexo 安装

使用 npmyarn 全局安装

css 复制代码
npm i hexo-cli -g

如果通过命令安装出现如下错误 permission denied,如下效果

bash 复制代码
$ npm i hexo-cli -g

npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules

npm ERR! code EACCES

npm ERR! syscall access

npm ERR! path /usr/local/lib/node_modules

npm ERR! errno -13

npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'

npm ERR!  [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {

npm ERR!   errno: -13,

npm ERR!   code: 'EACCES',

npm ERR!   syscall: 'access',

npm ERR!   path: '/usr/local/lib/node_modules'

npm ERR! }

npm ERR! 

npm ERR! The operation was rejected by your operating system.

npm ERR! It is likely you do not have the permissions to access this file as the current user

npm ERR! 

npm ERR! If you believe this might be a permissions issue, please double-check the

npm ERR! permissions of the file and its containing directories, or try running

npm ERR! the command again as root/Administrator.

  


npm ERR! A complete log of this run can be found in:

npm ERR!     /Users/xxxx/.npm/_logs/2023-10-29T05_31_24_377Z-debug.log

这种情况一般是权限不足导致的,使用管理员权限执行对应命令

Mac 或 Linux

使用管理员权限安装命令,命令前面添加 sudo 即可

bash 复制代码
sudo npm i hexo-cli -g

Windows

使用管理员权限,打开命令行提示符,执行如下命令

bash 复制代码
npm i hexo-cli -g

初始化博客文件目录

bash 复制代码
hexo init blog

进入blog目录,安装依赖

bash 复制代码
cd blog
npm install

hexo-cli 自动创建了相关文件和目录,这时候的 blog 项目目录为如下效果

运行 Hexo 服务,本地预览

bash 复制代码
hexo server

访问 http://localhost:4000/ 地址效果如下,这是 hexo 默认的主题效果,一个博客的基本雏形已经有了

Github Pages 部署

创建仓库

创建一个 GitHub用户名 的仓库,提交本地生成 hexo 的仓库代码

设置 GitHub Pages

Settings > Pages > Source 选择 GitHub Actions , 然后点击 create your own

创建 pages.yml 部署流程文件,直接把 官方的配置 复制过来

修改一下对应的 node 版本,把下面位置的 node 版本改成本地的 node 对应版本

yml 复制代码
- name: Use Node.js 16.x

注意!

这里的版本如果和本地不对应的话,在GitHub上部署后可能预览效果和本地会不一致

添加 pages.yml 文件成功后,在 Actions 选项中会有对应的工作流运行起来

注意!

如果项目能访问,但是 css, jquery 等文件 404,导致页面样式不生效,如下效果,查看 _config.yml 文件中 URL 的配置,看是否是自己的 github 项目仓库链接

修改 url 参数为自己的仓库地址

bash 复制代码
# URL
## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project'
url: https://gywgithub.github.io/gywgithub

修改后再次部署应该就能正常访问了,我的博客访问地址: gywgithub.github.io/gywgithub

更新博客

更新文章的话,使用 hexo new "My New Post" 创建好文件,然后直接把写好的 MarkDown 文章格式内容粘进去就行了,重新提交代码即可

参考链接

Hexo 官网:hexo.io/zh-cn/index...

GitHub Pages 上部署 Hexo:hexo.io/zh-cn/docs/...

版本记录

不同版本可能效果会有区别,这里记录一下版本

  • node: v16.17.0
  • npm: 8.15.0
  • hexo-cli: 4.3.1
  • hexo: hexo-cli@4.3.1

写在最后

目前基于 GitHub 的免费博客平台就搭好了,总体操作不复杂,自己操作过程中也不是一帆风顺,由于我的操作是不同时间以及不同电脑上操作的,也遇到了各种小问题,遇到的问题一步步解决,通过搜索和分析也解决不了的问题,我就把项目删了重来

下一步准备把社区中发布的文章同步到这个博客站点,修改一下默认主题,或者基于默认主题自己用代码调整优化一下,以及添加评论功能等等,让整个博客内容丰富起来

欢迎大家讨论交流,如果文章感觉有用,随手点个赞再走呗 ^_^ 🥰🥰

微信公众号:草帽Lufei

相关推荐
橙子家8 小时前
浏览器缓存之【身份与会话管理】:Cookies 和 Private state tokens
前端
最新资讯动态9 小时前
HDC 2026 | 对话鲸鸿动能:存量时代,品牌如何夺回营销“主动权”?
前端
最新资讯动态9 小时前
游戏出海,从产品走向体系
前端
最新资讯动态9 小时前
20人团队跑出百万DAU、大厂也来抢量:谁在鸿蒙生态跑出加速度
前端
最新资讯动态9 小时前
千万开发者背后,鸿蒙商业化的B面
前端
爱勇宝11 小时前
AI 时代:智商决定起点,情商决定走多远
前端·ai编程
kyriewen11 小时前
用了半年 Claude Code 后,我尝试关掉它写了一周代码——结果比想象中严重
前端·javascript·ai编程
IT_陈寒12 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
徐小夕12 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
一份执念13 小时前
uni-app 小程序分包限制处理与主包体积优化实战
前端·微信小程序