安装Node.js并配置Node.js环境
成功界面如下:

安装git并配置git环境

注册Github并新建项目
首页

新建仓库页
参考其他博客的时候,很多博客中都提到
项目名必须是
github账户名.github.io
但经本人测试其实项目名称可以任意选取,如本人的仓库名就是blog,而非destinywang.github.io

设置
进入项目的setting选项卡中

下拉到Github Pages,此时该项目已经被部署,可以通过提供的外网链接去访问。

安装Hexo
Hexo是个快捷,简介且高效的博客框架
让上百个页面在几秒内完成渲染
Hexo支持Github Flavored Markdown的所有功能
在合适的位置创建文件夹

以上操作需要在空文件夹中进行
1 | npm install hexo -g # 安装Hexo |
Hexo init

npm install
此命令用于安装所需要的组件
hexo g
首次体验Hexo

hexo s
此命令会在本地开启Hexo的服务器
可以在发布到github之前先在本地进行调试

然后再浏览器中输入localhost:4000/blog/
如果出现如下界面就成功了
将Hexo和Github page联系起来
设置本地git
如果是第一次使用git的话需要设置name和email
1 | $ ssh-keygen -t rsa -C "your email" # 生成秘钥,路径在~/.ssh下,windows用户的路径为C:\Users\Administrator\.ssh |
登录github,进行设置
- 进入用户的setting页面

- 在
SSH and GPG keys选项卡中添加一个ssh key,并将id_rsa.pub(公钥)的内容复制上去

配置Deployment
为了保证Hexo能够正确的通过Git进行add、commit、pull、push等操作
需要将本地及远程的git仓库信息进行配置
当前站点文件夹的状态:
修改_config.yml文件,将deployment部分相关的内容进行替换
- type: 部署类型
- repository: 远程仓库路径,即github中的仓库路径
- branch: 分支名

新建一篇博客
在终端中执行命令hexo new post 博客名

会在source/_posts路径下生成对应的博客文件test.md
安装hexo-deployer-git扩展文件
1 | $ npm install hexo-deployer-git --save |

编辑文章
1 | $ vim source/_posts/test.md |
打开test.md文件,按照正常的Markdown文件编辑即可
部署
1 | $ hexo d -g |
至此,博客已经部署成功,可以去http://用户名.github.io查看。

安装Next
1 | $ git clone https://github.com/iissnan/hexo-theme-next themes/next |
下载到站点文件夹路径下的themes/next

启用Next主体
在站点目录中,打开配置文件_config.yml,修改theme: next
1 | pwd |

主题设定
在next主题目录下的_config.yml,修改scheme: Pisces
1 | $ pwd |

语言设定
Hexo提供了多种语言支持,包括简体中文zh-Hans
在站点根目录下修改配置文件_config.yml中的language为zh-Hans
1 | pwd |

修改菜单栏
在主题目录下修改配置文件_config.yml中的menu
1 | $ pwd |

设置菜单项图标
对应字段是menu_icons
同样在主题目录下的_config.yml中修改
格式为item name: icon name,其中item name 与所配置的菜单名字对应,icon name是Font Awesome图标的名字。而 enable可用于控制是否显示图标,你可以设置成 false 来去掉图标。
1 | $ pwd |

设置侧栏位置
修改主题目录下sidebar的position值
1 | $ pwd |

设置头像
在站点根目录下载配置文件中新增avatar,值设置为头像的链接地址。地址可以是网络地址,也可以是本地地址(放置在source/images/目录下)

设置文章代码主题
在主题目录下修改配置文件_config.yml,字段highlight_theme,默认值为nomal。可以设置为night
1 | $ pwd |

添加分类
在站点路径下新建页面categories
1 | $ pwd |

1 | # 在主题的 _config.yml 中取消注释: |

在要分类的文章中加入 category 属性:

添加标签页面
标签是对博客分类的方式
比如一个系列的博客都是将神经网络,那么就可以给每篇博客加上神经网络的tag
1 | $ pwd |

后面只需要在博客的开头中添加tags: [A, B, C]即可
成功后,标签部分的导航栏为
Aboute Me
1 | $ pwd |

成功后效果如下所示:
添加github导航条
然后将代码复制到themes/next/layout/_layout.swig
1 | $ pwd |

成功后的效果如下:
修改内容区域宽度
默认情况
Next 对内容的宽度的设定如下:
- 700px,当屏幕宽度 < 1600px
- 900px,当屏幕宽度 >= 1600px
- 移动设备下,宽度自适应
非Pisces Scheme主题修改
1 | $ vim source/css_variables/custom.styl |
修改内容:
1 | // 修改成你期望的宽度 |
Pisces Scheme主题修改
1 | $ vim themes\next\source\css\_schemes\Picses\_layout.styl |
修改内容:
1 | .header {width: 1150px;} |
设置首页不显示全文(只显示预览)
打开主题路径下的_config.yml
1 | $ vim themes/next/_config.yml |
修改auto_excerpt
1 | # Automatically Excerpt. Not recommand. |
将enable属性改为true

修改code代码块自定义样式
1 | $ vim themes/next/source/css/_custom/custom.styl |

取消文章目录对标题的自动编号
nexT对 markdown 语法的标题
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
会默认进行标号分配,这样有可能会打乱文章原有标题
取消方式:
修改主题配置文件
1 | $ vim theme/next/_config |

将 number 设为 false
结束
至此,博客基本设置OK
但还有很多地方可以继续挖掘
后续会持续更新
