Hexo+Gitee|搭建静态博客
1)很多时候github网速比较慢,我都会先将项目地址导入gitee中,再git clone,速度就很快了。
2)原来PicGo不支持Gitee图床,但现在已经有小伙伴做出来了PicGo插件。
3)但是Github Pages是自动更新的,而Gitee Pages需要点击更新才行。
初步搭建
全局_config.yml站点配置文件介绍:
-
themes
:主题 -
scaffolds
:文章模板 -
source
:用户源文件:页面,文章markdown文件 -
.gitignore
:git时需要忽略的文件 -
package.json
:已安装插件映射表,下次只需npm install即直接安装表中的插件
从https://hexo.io/themes/下载的主题都存放于themes
文件夹中,默认情况下,只有landscape这一个主题文件夹,每个主题文件夹中的_config.yml
是主题样式配置文件, hexo d
部署后的文件存放于public
,并自动提交至设置的仓库中。
注意:如果在themes/下存放了别的主题,请删除其中的.git
及.gitignore
文件,因为git不允许套娃,后期上传会出错。
配置_config.yml文件。修改MyBlog下的_config.yml
,将我修改的部分po出:
# URL
url: http://XXXXXXXX.io # 设为博客地址
root: /
# Deployment
deploy:
type: git
branch: master # hexo d时上传的分支
repo: https://gitee.com/XXXXXXXX.git
-
:
与下文之间有空格,不然会报错 -
language
选项不要直接复制zh-CN
,比如需要去\themes\landscape
确认确实有zh-CN.yml
文件才行
个性化配置
更换主题:Chic
社交链接/图标
只在本地测试成功,更新page就不行了,仍需继续学习
关键词搜索
生成目录
使用分类和标签
Hexo初始化没有tag
、category
页面,需要自行添加,本主题请按以下步骤进行:
hexo new page tag
hexo new page category
cd source/tag # 进入页面目录
在source\tag\index.md
中增加layout字段,category页面同理,layout字段键值为category:
---
title: Tag
layout: tag
---
更新一篇博客
hexo new test # 生成新的markdown文件test.md
hexo clean # 清除缓存
hexo g # 编译
hexo s # 在本地预览效果
hexo d
hexo clean & hexo g & hexo d # 一键三连
-
s
表示server;g
表示general;d
表示deploy - 建议使用Typora,因为它有自动上传图片及图床设置
我们可以看到master分支的内容,这是由hexo d提交的,与MyBlog/public/下的文件是一致的:
master- 可以看到其中有index.html文件,这是Pages能部署的重要文件
多终端配置
以上我们创建了2个分支,master主分支用于hexo d部署文章,backup分支保存hexo配置文件及文章内容,现在我们换一台电脑,且安装好node.js及git,并设置好推送到Gitee账号
获取hexo配置文件并更新
git clone -b backup https://github.com/XXXXXXXX.git MyBlog # 克隆hexo分支到MyBlog下
cd MyBlog
npm install hexo --save
npm install hexo-cli -g
#npm install # 安装所有依赖,根据package.json自动安装之前安装过的插件
npm install hexo-deployer-git --save
git add .
git commit -m "..."
git push
- 当更改主题配置后,我们都要记得上传仓库
更新博客文件
git checkout master
git pull
git checkout backup
hexo new test1
hexo clean & hexo g & hexo d # 更新master分支
git add .
git commit -m "vvvv"
git push # 更新backup分支
- 每次写博客都要有pull与push的习惯,检查两个分支的更新情况
(不知道是不是理解有误)对于多终端同步,我们只能将md格式的原文件给上传至git仓库中,这样才能实现随时随地的修改。这样,使用两个分支其实是没有必要的,多次测试后,只是方便我捋清了思路。
hexo常用命令
创建不同类型的文档
hexo new [layout] <title>
您可以在命令中指定文章的布局(layout),默认为 post,可以通过修改 _config.yml 中的default_layout
参数来指定默认布局。
发布草稿
hexo publish [layout] <title> # 注意不需要后缀.md
hexo clean & hexo g & hexo d
-
publish
只是将文章从_drafts
转移到了_posts
,还是需要hexo d
再发布出去的
模板
参考资料:hexo下的分类和标签无法显示,怎么解决
就像XX大学的信纸,其开头或是结尾都有固定的格式,博客中常用的参数有发布时间、标签、分类等,这些都可以在创建新文档的时候自动生成。
只有文章支持分类和标签,您可以在 Front-matter 中设置。在其他系统中,分类和标签听起来很接近,但是在 Hexo 中两者有着明显的差别:分类具有顺序性和层次性,也就是说 Foo, Bar 不等于 Bar, Foo;而标签没有顺序和层次。
- Hexo不同于Wordpress,只支持将文章归档至一个分类中
- 根据参考资料完成tags设置,分类也是一样的,不再赘述
- 修改scaffolds目录下的post.md的题头,加上
tags:
与categories:
,以后新建post的时候就会默认存在
PicGo+Typora
参考资料:typora和picgo使用
- PicGo将自动帮助完成上传图片至图床并返回图片链接的功能,其插件中已增加Gitee图床;
- Typora也有自动上传图片设置,需要设置PicGo路径,截图至剪切板中,可以直接粘贴到Typora中,并选择上传图片,会自动将本地路径转为git仓库路径
- 缺点:只能在一个终端的Typora编辑器中生效