1.前言
1.1.想说的话
最近在学习 markdown 语法的时候,想着何不搭建一个个人的博客网站来进行分享一下自己的学习经验和心得了,于是马上开干,很快啊,一个简单的 blog 网站就诞生了,下面就来和大家分享一下使用 hexo+GitHub 从 0 到 1 搭建个人博客。
1.2.准备工作
在进行搭建博客之前,你需要:
- 拥有一个 GitHub 账号,没有的话去注册一个
- 安装了 node.js、npm,并且了解相关的知识
- 安装了 git
小编使用的环境:
- Windows10
- node.js@18.15.0
- git@2.39.2
- hexo@6.3.0
2.搭建 GitHub 博客
2.1.创建仓库
新建一个名为你的github用户名.github.io
的仓库,比如说,如果你的 github 用户名是 zengjiahao1222,那么你就新建zengjiahao1222.github.io
的仓库(必须是你的用户名,其它名称无效),将来你的网站访问地址就 s 是http://zengjiahao1222.github.io](http://test.github.io/) 了!
注意事项:
- 注册的邮箱一定要验证,否则不会成功
- 仓库名字必须是
username.github.io
,其中 username 是你的 GitHub 的用户名- 仓库创建成功不会立即生效,需要过一段时间,大概 10-30 分钟。这个我踩坑了!!!
2.2.绑定域名
这个不绑定也是可以的,就用默认的xxx.github.io
也是可以进行访问的,但是如果你想更加个性化,并且想拥有一个自己的域名,那就去买一个域名吧。
这里推荐去阿里云注册域名,大公司,有保障!!!
3.配置 SSH key
3.1.Github 配置 SSH Key
为什么要配置这个呢?因为你提交代码肯定要拥有你的 github 权限才可以,但是直接使用用户名和密码太不安全了,所以我们使用 ssh key 来解决本地和服务器的连接问题。
$ cd ~/. ssh #检查本机已存在的ssh密钥
如果提示:No such file or directory 说明你是第一次使用 git。
$ ssh-keygen -t rsa -C "邮件地址"
然后连续 3 次回车,最终会生成一个文件在用户目录下,打开用户目录,找到.ssh\id_rsa.pub
文件,记事本打开并复制里面的内容,打开你的 github 主页,进入个人设置 -> SSH and GPG keys -> New SSH key——>将刚复制的内容粘贴到 key 那里,title 随便填,保存:
3.2.测试配置是否成功
$ ssh -T git@github.com # 注意邮箱地址不用改
如果提示Hi zengjiahao1222! You've successfully authenticated, but GitHub does not provide shell access.
,那么恭喜你 SSH 已经配置成功
此时你还需要配置:
$ git config --global user.name "liuxianan"// 你的github用户名,非昵称
$ git config --global user.email "xxx@qq.com"// 填写你的github注册邮箱
4.使用 hexo 框架写博客
4.1.hexo 简介
Hexo 是一个简单、快速、强大的基于 Github Pages 的博客发布工具,支持 Markdown 格式,有众多优秀插件和主题。
官网:http://hexo.io
github:https://github.com/hexojs/hexo
4.2.原理
由于 github pages 存放的都是静态文件,博客存放的不只是文章内容,还有文章列表、分类、标签、翻页等动态内容,假如每次写完一篇文章都要手动更新博文目录和相关链接信息,相信谁都会疯掉,所以 hexo 所做的就是将这些 md 文件都放在本地,每次写完文章后调用写好的命令来批量完成相关页面的生成,然后再将有改动的页面提交到 github。
4.3.安装
建议使用 git bash 来执行命令
$ npm install -g hexo
hexo 有 2 种_config.yml
文件,一个是根目录下的全局的_config.yml
,一个是各个theme
下的;
4.4.初始化
在电脑的某个地方新建一个名为 hexo 的文件夹(名字可以随便取),比如我的是D:\hexo
$ cd /d/hexo/
$ hexo init
hexo 会自动下载一些文件到这个目录,包括 node_modules
$ hexo g # 生成
$ hexo s # 启动服务
执行以上命令之后,hexo 就会在 public 文件夹生成相关 html 文件,这些文件将来都是要提交到 github 去的:
hexo s
是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容
第一次初始化的时候 hexo 已经帮我们写了一篇名为 Hello World 的文章,默认的主题比较丑,打开时就是这个样子:
4.5.修改主题
个人觉得官方主题有点不好看,所有就继续了主题的更换,我在进行了一圈主题对比后,个人比较喜欢hexo-theme-butterfly
首先我们来下载这个主题
$ cd /d/hexo/
$ npm install hexo-theme-butterfly
注意:
- 还可以用
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
来代替,但是我用这个在后续的修改主题样式的过程中经常出现样式不生效的情况,换成这个npm install hexo-theme-butterfly
安装方式后基本解决了这个问题。- 值得一提的是,通过 npm 安装并不会在 themes 里生成主题文件夹,而是在 node_modules 里生成
- butterfly 主题美化教程butterfly
修改_config.yml
中的theme: landscape
改为theme: yilia
,然后重新执行hexo g
来重新生成。每次修改了配置文件都要记得先进行hexo clean
来清理一下public
的内容,然后hexo g
4.5.上传到 Github
我们先来安装一个插件,要不然后续的hexo d
操作会报错
npm install hexo-deployer-git --save
如果你一切都配置好了,发布上传很容易,一句hexo d
就搞定,当然关键还是你要把所有东西配置好。
首先,ssh key
肯定要配置好。
其次,配置_config.yml
中有关 deploy 的部分
deploy:
type: git
repository: git@github.com:zengjiahao1222/zengjiahao1222.github.io.git
branch: main
在这里,branch 要写 main,因为 2020 年 10 月 1 日 GitHub 官方将默认分支 master 改为了 main
4.6.常用 hexo 命令
常见命令
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #部署到GitHub
hexo help # 查看帮助
hexo version #查看Hexo的版本
缩写:
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
组合命令:
hexo s -g #生成并本地预览
hexo d -g #生成并上传
4.7.写博客
定位到我们的 hexo 根目录,执行命令:
hexo new 'my-first-blog'
hexo 会帮我们在_posts
下生成相关 md 文件,我们只需要打开这个文件就可以开始写博客了。当然你也可以直接自己新建 md 文件,用这个命令的好处是帮我们自动生成了时间。
一般完整格式如下:
---
title: postName #文章页面上的显示名称,一般是中文
date: 2013-12-02 15:30:16 #文章生成时间,一般不改,当然也可以任意修改
categories: 默认分类 #分类
tags: [tag1, tag2, tag3] #文章标签,可空,多标签请用格式,注意:后面有个空格
description: 附加一段文章摘要,字数最好在140字以内,会出现在meta的description里面
---
以下是正文
4.7.1.写博客的工具
这里推荐 Typora
5.结束语
这次的用 hexo+github 搭建个人博客网站的教程到此就结束了,不知道大家是否已经搭建完成了呢,如有知识点和内容上面的错误,请及时联系我来改正
部分内容转载自小茗同学的博客园,如有侵权,请立刻联系我,进行修改。