Hexo+GitHubPages搭建个人博客网站
Hexo 是一个静态网站生成器,GitHub Pages 可以免费帮我们托管静态网站,本文主要介绍如何结合两者搭建一个博客网站。
官网:https://hexo.io/zh-cn/
Hexo 介绍
Hexo 是一个基于 Node.js 开发的静态网页生成器,官网的说明是博客框架,但是我认为它不仅仅可以用于博客,还可以用于企业宣传站、产品展示、文本文档等以信息展示为主的网站。
特点
超快速度
Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染。支持Markdown
Hexo 支持 GitHub Flavored Markdown 的所有功能,甚至可以整合 Octopress 的大多数插件。一键部署
只需一条指令即可部署到 GitHub Pages, Heroku 或其他平台。丰富的主题
在众多美观、强大、可定制的主题中选择;使用任何兼容的模板引擎创建自己的主题。丰富的插件支持
强大的 API 带来无限的可能,与数种模板引擎(EJS,Pug,Nunjucks)和工具(Babel,PostCSS,Less/Sass)轻易集成。
安装 Hexo
Hexo 依赖了 Node.js 和 Git,所以在安装 Hexo 之前必须确保安装了这两个工具。
- 在命令中执行下面的安装命令
npm install -g hexo-cli
- 确认是否安装成功
hexo --version
如何能看到类似于下面的输出则证明安装成功。
使用 Hexo 生成本地网站
在命令行中执行下面的命令用来创建本地网站。
hexo init 网站目录名称
# 例如
hexo init myBlog
创建成功的话会生成一个具有下面目录结构的网站项目。
.
├── _config.yml
├── package.json
├── scaffolds
├── source
| ├── _drafts
| └── _posts
└── themes
预览本地网站
在你的网站根目录下执行 npm run server
,它会启动一个 http 服务,用于本地预览。
访问控制台中提示的地址,如果能看到下面的网页则证明服务启动成功了。
访问:http://localhost:4000/
目录结构
.
├── _config.yml 网站配置文件
├── package.json 包说明文件
├── scaffolds 文章模板目录
├── source 源码目录
| ├── _drafts 草稿文章目录
| └── _posts 发布文章目录
└── themes 主题目录
写文章
- 创建文章
hexo new 文章文件名称
# 例如
hexo new hello
- 写文章
文章配置
- 语法:YAML
- 可配置项:https://hexo.io/docs/front-matter
下面是一个示例
---
title: Sublime Text 打开方式
categories:- 开发笔记
tags:- Sublime Text
date: 2020-01-14 00:00:00
---
文章正文
- 语法:Markdown
- 编辑工具:推荐 Typora
下面是一个示例
将本地网站 自动
部署到 GitHub Pages
Github Pages 是 Github 提供的一个免费的静态网页托管服务,可以用来托管博客、项目官网、文本文档等静态网页。
常规的方式:
- 编译构建
- 将构建结果推送 GitHub 仓库
- 开启 GitHub Pages
每次更新都需要重复上面的流程,太过繁琐,不推荐。
GitHub:生成 GitHub 访问 token
点击右上角用户头像,选择 Settings 设置
选择 Developer settings
在 Personal access tokens 中点击 Generate new token
Note:一个名字,英文即可,例如我这里是 myBlog
勾选 repo 选项
点击 Generate token 生成 token
绿色背景中的就是生成的 token,复制保存起来后面需要使用(之后不能查看)。
如果忘记了,就按照上面的方式重新生成。
GitHub:将 token 配置到项目的 secrets 中
Create a new repository
在项目中仓库中找到并依次进入:Settings -> Secrets
Name:起一个名字,例如我这里是 myBlog,如果你使用了别的名字,后面的脚本中也要对应修改
Value:就是你上面得到的那个 token
确认你 Add secret 之后能看到添加的这个。
本地:配置网站根目录
- 如果你部署的域名是根路径就不需要做任何修改
- 如果你部署的域名是子目录,就把 root 修改为那个子目录名称
本地:配置 GitHub Actions
在项目中创建 .github/workflows/main.yml 并写入下面的配置内容。
name: build and deploy# 当 master 分支 push 代码的时候触发 workflow
on:push:branches:- masterjobs:build-deploy:runs-on: ubuntu-lateststeps:# 下载仓库代码- uses: actions/checkout@v2# 缓存依赖- name: Cache dependenciesuses: actions/cache@v1with:path: ~/.npmkey: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}restore-keys: |${{ runner.os }}-node-# 安装依赖- run: npm ci# 打包构建- run: npm run build# 发布到 GitHub Pages- name: Deployuses: peaceiris/actions-gh-pages@v2env:PERSONAL_TOKEN: ${{ secrets.myBlog }}PUBLISH_BRANCH: gh-pagesPUBLISH_DIR: ./public
本地:推送到远程仓库
提交之后要做的事情:
- 查看代码是否提交到线上
- 查看 GitHub Actions 是否已经开始工作
- 查看 GitHub Actions 是否工作成果
- 查看部署之后的网站
部署成功后,选择Settings找到GitHub Pages
浏览器输入https://dbsuperadmin.github.io/myBlog/
更新博客
上面的一系列流程配置好以后,之后只需安安静静的写你的博客(也就是markdown)就好了,如果需要发布更新,只需要使用 Git 提交推送项目的源码就可以了,它会自动触发 GitHub Actions 自动构建部署。
实践分享
文章图片
本地
source/images
在线图床(推荐)
新浪微博图床
七牛云
阿里云OSS
。。。
草稿文章
hexo-hide-posts 插件
hexo-hide-posts 可以帮我们更好的处理文章的草稿和发布状态。
使用它的第一步就是把它安装到网站项目中。
npm install hexo-hide-posts --save
然后在不希望发布的文章中配置 hidden: true
即可。
网站主题
主题市场或者GitHub下载好主题,将主题复制到themes目录,修改_config.yml文件的theme
域名
GitHub 提供的默认域名
用户名.github.io
https://dbsuperadmin.github.io/
仓库名称:用户名.github.io用户名.github.io/仓库名称
https://dbsuperadmin.github.io/myBlog/
自定义域名
- 买一个域名
- 在 项目中添加 CNAME 文件,其中要写入你的自定义域名网址
- 在你的域名后台配置 CNAME 到 GitHub
更多内容
Hexo 官网:https://hexo.io/
- 文档教程:https://hexo.io/zh-cn/docs/
- API 说明:https://hexo.io/api/
- 插件市场:https://hexo.io/plugins/
- 主题市场:https://hexo.io/themes/
Hexo+GitHubPages搭建个人博客网站相关推荐
- hexo+github搭建个人博客网站问题汇总和解决办法
分享B站教程:[2021最新版]保姆级Hexo+github搭建个人博客_哔哩哔哩_bilibili 本人在使用hexo + github搭建个人博客网站的过程中也是一步一个bug做过来,几乎每一步都 ...
- 阿里云服务器+Hexo+Nginx搭建个人博客网站
目录 前言 本地端(个人PC) 安装node.js Linux环境下 安装(不建议) 配置环境变量 测试安装是否成功 Windows环境下 安装(推荐) 安装Hexo 两种部署方法 第一种做法(Git ...
- GitHub Pages + Hexo搭建个人博客网站,史上最全教程
文章目录 一.准备工作 1. GitHub账号 2. 安装Git 3. 安装NodeJS 二.创建仓库 三.安装Hexo 四.更换主题 1. NexT 主题 2. Fluid主题 五.创建文章 六.个 ...
- Hexo+github搭建个人博客-博客初始化篇
文章推荐 精选java等全套学习资源 精选java电子图书资源 精选大数据学习资源 java项目练习精选 上一篇博文 [<Hexo+github搭建个人博客-环境搭建篇>](http:// ...
- Hexo+github搭建个人博客-环境搭建篇
一.概述 我们使用Hexo + Github搭建个人博客,我们自然不能错过,事不宜迟,我们现在立马来认识一下,他们究竟是何方神圣吧. 1.1 关于 GitHub 1.1.1 Github 接触编程一段 ...
- 使用 Hexo + Next 搭建静态博客
欢迎移步我的博客阅读:<使用 Hexo + Next 搭建静态博客> 前言 Github 为广大开发者提供了一个非常好的平台,不仅是代码的开源,同时Github还提供了开发者可以在 Git ...
- 个人博客网站建设_利用Github+Jeklly搭建个人博客网站
题图:by ben.pinto from Instagram 阅读文本大概需要 9 分钟. 在上篇文章<个人博客如何选型?>中讲到,可以利用 Github Pages 来搭建个人博客网站, ...
- 【小白】【新手向】Hexo+Github搭建个人博客
如题,一个[小白][新手向]的,关于Hexo+Github搭建个人博客. 针对于: 对于代码完全不懂的纯小白! 完全不知道什么是hexo,git和github的小白! 感觉像是在打广告,其实并不是.事 ...
- 使用Hexo免费搭建个人博客教程
前言 现在各种互联网博客非常的,常见的如CSDN.简书.掘金.博客园等平台,这些博客平台做的都很好,可以直接在上面注册自己的账号写文章,发表的文章在百度.Bing等搜索引擎上也能收到,但缺点是受于平台 ...
最新文章
- 在centos7上配置java环境
- PRML-github code使用两个小攻略
- 转:c# 根据当前时间获取,本周,本月,本季度,月初,月末,各个时间段
- ELF文件装载链接过程及hook原理
- Maven settings.xml配置Nexus
- 用计算机器提高正确率,计算机作业,正确率要90%
- 制作模块-制作模块压缩包
- 两张趣图助你理解 HTTP 状态码
- Mac文件系统下的chmod修改权限r w x分别是什么意思
- Python--day45--pymysql模块初识以及SQL注入
- 怎么查看当前系统jdk版本
- 新编C语言习题与解析,新编C语言习题与解析
- MATLAB的.fig文件打不开——有效解决
- 埃尼阿克计算机怎么运行的
- ps ui html,UI设计的PS配置技巧
- 刷排名优优软件_朋友问:手机app刷榜排名是什么?
- 微信可以打开淘宝链接,淘宝也在测试微信支付,但真的都很别扭
- 利用短信商务通进行短信商务
- 互联网搜索挖掘解决方案
- React之表格操作
热门文章
- WPF 3D模型介绍及使用
- java 例外_【JAVA基础】浅析JAVA例外处理(转)
- 快讯:飞书玩家大会线上举行;微信支付推出“教培服务工具箱”
- 经典:linux shell 正则表达式(BREs,EREs,PREs)差异比较
- 给你一本武林秘籍,和KeeWiDB一起登顶高性能
- yandex如何挑选关键词?
- 玩游戏4g计算机的内存不足,别再说内存不足了!教你一招彻底解决,电脑运行加速3倍!...
- 企业是否需要引入OA系统要考虑的几个问题
- Requests如何在Python爬虫中实现post请求 ?
- linux qt kits叹号,windows系统,HBuilderX无法启动、点击无反应、或启动报错的解决方案...