以下为搭建本博客的教程(针对windows),记录一下自己的过程,也方便想要建站的小伙伴快速上手。
Github Pages:
可以被认为是用户编写的、托管在 Github 上的静态网页。使用 Github Pages 可以为你提供一个免费的服务器,免去了自己搭建服务器和写数据库的麻烦。此外还可以绑定自己的域名。
Hexo
: 一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
下面从搭建前的准备工作,Github 部署,优化设置博客(使用 matery
主题)三方面详细介绍。
1. 搭建前的准备工作
1.1 环境安装
安装 Node.js(点击前往官网),请确保勾选 Add to PATH 选项(默认已勾选),这里可以参考 Hexo 的官方参考文档。
安装Git(点击前往官网),一路默认安装即可。
鼠标右键点击
Git Bash Here
,分别使用node -v
和npm -v
来验证安装,显示版本号则安装成功。
1.2 Hexo安装
新建一个存放博客的文件夹,比如
E:\notebook\my_blog
,在此文件夹下右键点击Git Bash Here
1
npm install -g hexo-cli
安装完成后使用
hexo -v
检测是否安装成功执行初始化并在本地查看效果
1
hexo init
完成后使用
1
hexo s
然后会出来一段 http 开头的网址,我们复制下来然后在浏览器打开,就可以看到初始化的 Hexo 的页面了。
2. Github部署
创建一个仓库,名字必须是
用户名.github.io
,然后勾选初始化 README。我第一次访问不了就是因为 github 竟然打错了,打错了,打错了…创建一个git秘钥,用来在这台电脑上通过 git 操作实现本地代码库与 Github 代码库同步
1
$ ssh-keygen -t rsa -C “your_email@youremail.com“
your_email@youremail.com
为你的 Github 邮箱地址,比如我的是gdz678@163.com
不管出现什么信息,只需要回车就可以了。接着,运行下面的命令将秘钥复制到剪切板
1
$ clip < ~/.ssh/id_rsa.pub
在 GitHub 账户中添加秘钥,进入 Github 的设置,点击
Settings–SSH
——New SSH Key
,添加刚才复制的秘钥即可。测试,输入以下命令:注意:
git@github.com
不要做任何更改!1
$ ssh -T git@github.com
根据返回,输入
yes
会显示成功授权配置 Git 个人信息,Git 会根据用户的名字和邮箱来记录提交,GitHub 也是用这些信息来做权限的处理,输入以下命令进行个人信息的设置,把名称和邮箱替换成你自己的,名字可以不是 GitHub 的昵称,但为了方便记忆,建议与 GitHub 一致。
1
2$ git config --global user.name "此处填你的用户名"
$ git config --global user.email "此处填你的邮箱"将本地的 Hexo 文件更新到 Github 的库中,登录 Github 打开博客的项目,鼠标移到
Clone or download
按钮,选择Use SSH
一键复制地址后,打开刚才创建的博客文件夹下的_config.yaml
文件1
2
3
4deploy:
type: git
repo: 你复制的地址
branch: master部署到 Github,首先安装
deployer
1
npm install hexo-deployer-git --save
接着执行,博客就部署到 Github 上了
1
$ hexo g -d
最后,你的博客地址:https://你的用户名.github.io,比如我的是:https://dongzhougu.github.io ,现在每个人都可以通过此链接访问我的博客!
3. 优化设置博客
3.1 安装主题
安装 Metary 主题。cd 到 Blog 目录下的
Themes
文件夹1
git clone https://github.com/blinkfox/hexo-theme-matery.git
编辑站点配置文件
_config.yml
,修改主题1
2
3
4# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: hexo-theme-matery
主题的具体美化和设置可以参考这里。
3.2 安装插件
cd到博客的根目录,分别运行以下,来安装插件
1 | npm install hexo-generator-feed --save #RSS |
RSS : 在根目录下的
_config.yml
中添加对应配置1
2
3
4
5
6
7
8
9feed:
type: atom
path: atom.xml
limit: 20
hub:
content:
content_limit: 140
content_limit_delim: ' '
order_by: -date搜索 : 在根目录下的
_config.yml
中添加对应配置1
2
3search:
path: search.xml
field: post代码高亮 : 修改根目录下
_config.yml
文件中highlight.enable
的值为false
,并新增以下配置1
2
3
4
5prism_plugin:
mode: 'preprocess' # realtime/preprocess
theme: 'tomorrow'
line_number: false # default false
custom_css:字数统计:在根目录下的
_config.yml
中添加对应配置1
2
3
4
5
6
7postInfo:
date: true
update: false
wordCount: false # 设置文章字数统计为 true.
totalCount: false # 设置站点文章总字数统计为 true.
min2read: false # 阅读时长.
readCount: false # 阅读次数.文章链接转静态短地址:在根目录下的
_config.yml
中添加对应配置1
2
3permalink_pinyin:
enable: true
separator: '-' # default: '-'添加emoji表情支持: 在根目录下的
_config.yml
中添加对应配置1
2
3
4
5
6githubEmojis:
enable: true
className: github-emoji
inject: true
styles:
customEmojis:
评论系统:
- 评论系统采用的是Valine,基于 leancloud。注册账号后完成认证,创建应用,名称随意,比如 blog,复制应用的
APPID
和APPKey
,填入主题配置文件中的 Valine 配置中。
- 评论系统采用的是Valine,基于 leancloud。注册账号后完成认证,创建应用,名称随意,比如 blog,复制应用的
需要在 leancloud 应用内的“存储”选项中创建
class
,名称为Comment
,否则评论系统无法工作!1
2
3
4
5
6
7
8
9
10
11
12
13# To use it, activate the configuration item and set appId and appKey.
# Valine 评论模块的配置,默认为不激活,如要使用,就请激活该配置项,并设置 appId 和 appKey.
valine:
enable: true
appId: *******
appKey: *******
notify: false
verify: false
visitor: true
avatar: 'mm' # Gravatar style : mm/identicon/monsterid/wavatar/retro/hide
pageSize: 10
placeholder: '快来交流吧'
background: /medias/comment_bg.png
3.3 代码压缩
使用gulp来压缩网站的资源,包括js,html,css
1 | # 安装gulp |
在 Blog 根目录新建文件 gulpfile.js
,填入以下内容
1 | var gulp = require("gulp"); |
根目录下执行 gulp
就相当于hexo clean && hexo g
,再把代码压缩。
再使用 hexo d
即可部署到 Github