个人博客搭建
准备工作
需要安装Git和Node.js
- Git的安装
下载windows最新版,Git-2.21.0-64-bit.exe,
在git使用过程中遇到下面的两个错误
1、git报错:
1 | fatal: bad config line 1 in file C:/Users/JIANGXIAOLIANG/.gitconfig |
解决方案:
找到提示的目录,然后删掉.gitconfig文件
然后在重新配置用户名和邮箱,输入下面的命令:
1 | $ git config --global user.name "用户名" |
我在使用的时候没有重新配置用户好像也可以正常使用
2、使用hexo 创建目录时
1 | C:\Users\Administrator>hexo init F:/blog |
解决方案
1 | git config --system http.sslverify false |
- Node.js的安装
在官网下载最新版本的node-v10.16.0-x64.msi,像安装一般软件一样安装Node.js,在安装完以后,将Node的路径添加到计算的环境变量中,然后验证Node.js的版本
1 | C:\Users\Administrator>node --version |
安装Hexo
打开git软件下的git-bash.exe终端,在终端中使用npm安装Hexo
1 | npm install -g hexo-cli |
安装完成后创建项目文件夹
1 | hexo init F:/blog |
建站
1 | #通过npm完成Hexo初始化 |
网站发布前的准备工作
有一个细节值得一提,在默认情况下,Hexo将生成的网站内容存储至public文件夹。鉴于我们不需要对该文件夹的内容进行版本控制,我们可将该文件夹添加至.gitignore文档中:
1 | echo "/public" .gitignore |
接下来将内容推送到习惯使用的代码托管服务,一般将其托管到GitHub
新建仓库
首先,在GitHub上新建仓库。为了避免出错,在新建仓库时,请不要在创建Initialize this repository with a README前打勾,Add .gitignore和Add a license处请选择None。
鉴于我们的demo基于Hexo和Netlify,在Repository name处填写hexo_netlify来命名仓库。
打开你的电脑终端,切换至你的项目所在的本地文件夹路径:
1 | cd /F/blog |
在上一步的使用中可能出现:
1 | $ ssh -T git@github.com |
解决方法
1 | # 创建密钥 |
通过上面的步骤,项目已经推送大GitHub的master分支下面了,接下来我们对hexo进行一些配置:
在hexo的根目录下面,用vim打开——config.yml文件:
1 |
|
在这里部署的分支用于后面更新博客使用
在配置好以后,我们再执行下面的操作:
1 | hexo clean #清理各种缓存和旧文件 |
再执行一下hexo d操作,我们会发现在我们github项目中多了一个run-page的分支
发布网站
- 注册一个Netlify账号,Netlify提供邮箱注册和包括GitHub、GitLab和Bitbucket在内的第三方验证登陆,在这里以GitHub为例
- 注册好以后,进入页面,点击‘New sit from Git’
- 点击GitHub,关联Netlify和github的仓库,首次关联时点击Authorize netlify同意授权后,Netlify可以有权访问你在GitHub上的仓库内容了,授权完成以后,就可以选择之前建立的hexo_netlify仓库
- 选择run-page分支,在Basic build setting 选项中,两个条目清空,最后点击Deploysit。Netlify就可以构建并发布网站内容了
- 构建完成以后,Netlify会在网站发布成功的同时提供给你一个*.netlify.com为后缀以及随机生成的英文名为前缀的子域名。假如你不喜欢Netlify给你的前缀,点击Site settings,在里面可以修改。
博客优化
安装主题
在网页上寻找自己喜欢的主题,主题的安装过程很简单,以next主题为例子,在官网有安装步骤:
1 | mkdir themes/next |
启用主题
修改站点的配置文件_config.yml
1 | # Extensions |
next主题下面还分了四种不同的主题:
- Muse - 默认 Scheme,这是 NexT 最初的版本,黑白主调,大量留白
- Mist - Muse 的紧凑版本,整洁有序的单栏外观
- Pisces - 双栏 Scheme,小家碧玉似的清新
- Gemini - 左侧网站信息及目录,块+片段结构布局
在主题配置文件,搜索 scheme 关键字。 你会看到有四行 scheme 的配置,将你需用启用的 scheme 前面注释 # 去除就可以了
使用Valine插件使得Hexo博客具有评论功能
可参见SmartSi的blog
获取appid和appkey
- 请先登录或注册 LeanCloud, 进入控制台后点击左下角创建应用,选择免费的开发版即可。注意右上角有几个节点,可以就近选择。
- 应用创建好以后,进入刚刚创建的应用,选择左下角的设置>应用Key,然后就能看到你的appid和appkey了:
Hexo中的开启和设置
- 在配置文件中修改代码
1
2
3
4
5
6
7
8
9
10
11# Valine
valine:
enable: true
appid: ## 之前获得的id
appkey: ## 之前获得key
notify: false #新的留言是否需要通知
verify: false #留言是否需要验证
placeholder: 欢迎留言!在这里说出你的想法!
avater: mm
guest_info: nick,mail
pageSize: 10
添加搜索功能
安装hexo-generator-searchdb 插件
1
npm install hexo-generator-searchdb --save
打开 站点配置文件 找到Extensions在下面添加
1
2
3
4
5
6
search:
path: search.xml
field: post
format: html
limit: 10000打开 主题配置文件 找到Local search,将enable设置为true
添加阅读全文按钮
如果只想要显示文章的部分内容,只需要在文章的合适位置添加:
1 | <!--more--> |
设置网站缩略图标
我的设置方法是这样的:把你的图片(png或jpg格式,不是favicon.ico)放在themes/next/source/images里,然后打开 主题配置文件 找到favicon,将small、medium、apple_touch_icon三个字段的值都设置成/images/图片名.jpg就可以了,其他字段都注释掉。
头像设置
打开 主题配置文件 找到Sidebar Avatar字段
1 |
|
设置代码高亮
在站点配置文件中,搜索highlight
1 | highlight: |
文字自动检测默认不启动,所以改成true使其起作用。
再到主题配置文件中:
找到highlight_theme: normal,注释显示有五种显示主题可用,分别是:
- normal
- night
- night eighties
- night blue
- night bright
选择什么要看个人审美了。