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初始化没有tagcategory页面,需要自行添加,本主题请按以下步骤进行:

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编辑器中生效

删除一篇博客

多端同步


其他问题


Hexo编译原理


参考资料

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容