久了不更新博客,就不知道怎么搞环境了,换了环境又得查。索性自己写个简单的(•̀⌄•́)
                              —— by JiHan
可根据自己的需求进行快速定位,本文对应的发布环境是GitHub
从0-1搭建hexo网站
我就不做copper了,直接上链接:
超详细Hexo+Github博客搭建小白教程
hexo主题next(我自己用的)
hexo主题推荐
hexo主题美化1
hexo主题美化2
评论系统
已有博客,环境迁移
主要是相应环境安装:
- 
node.js 官方下载, 我这里选择的是12.x的版本。
windows直接点安装
Linux下载解压后,配置路径export PATH=$PATH:xxxx/node-v14.10.0-linux-x64/bin - 
git安装
windows直接点安装
Liunxsudo yum install git或sudo apt install git - 
安装hexo
1
2
3
4npm i hexo-cli -g
#配置git扩展,在你自己的博客里肯定已经配置了项目地址关联
npm i hexo-deployer-git - 
可能有必要
如果项目里没有node_modules文件夹,需要到博客根目录重新安装一波:npm install 
已有环境,新发文
发文常用命令(通常都是顺序执行):
1  | # 新建文章  | 
博客源码备份:
1  | hexo clean  | 
hexo d会生成各种问题,导致失败,大概率都是网络导致,尝试直接到.deploy_git文件夹下,进行git push相关操作
常用Markdown语法
主要针对GitHub,参考官方文档
注意语法中的空格
标题
1  | # 最大标题  | 
样式文本
| 样式 | 语法 | 
|---|---|
| 粗体 | ** ** 或 __ __ | 
| 斜体 | * * 或 _ _ | 
| 删除线 | ~~ ~~ | 
| 粗体和嵌入的斜体 | ** ** 和 _ _ | 
| 全部粗体和斜体 | *** *** | 
引用文本
1  | > 引用的文本  | 
引用代码
1  | `单行代码引用`  | 
1  | ```json(代码类型)  | 
如果想在代码块中显示```, 只需要外层的` 比内层的多即可:
1  | ```` 代码块标识  | 
链接
1  | [普通链接](https://jihanhuang.github.io/)  | 
列表
1  | 1. James Madison  | 
*或-都可以
1  | - George Washington  | 
嵌套(子列表的-需在父列表的第一个字下)
1  | 1. 第一个列表项  | 
任务:
1  | - [x] 完成更改  | 
表格
1  | |列标题 |列标题|  | 
绘图
hexo自身都不支持Markdown标准绘图和Mermaid。需要进行配置:
执行以下命令:
1  | npm install --save hexo-filter-mermaid-diagrams  | 
Mermaid配置可以阅读:Hexo中引入Mermaid流程图,引用部分如下:
Mermaid还需要进行配置(根目录下_config.yml),增加如下内容:
 1
2
3
4
5
6
7 > # mermaid chart
> mermaid: ## mermaid url https://github.com/knsv/mermaid
> enable: true # default true
> version: "7.1.2" # default v7.1.2
> options: # find more api options from https://github.com/knsv/mermaid/blob/master/src/mermaidAPI.js
> #startOnload: true // default true
>
以及修改js,我这里使用的是
next主题。在文件themes/next/layout/_partials/footer.swig后>加上:
 1
2
3
4
5
6
7
8
9 > {% if (theme.mermaid.enable) %}
> <script src='https://unpkg.com/mermaid@{{ theme.mermaid.version }}/dist/mermaid.min.js'></script>
> <script>
> if (window.mermaid) {
> mermaid.initialize({theme: 'forest'});
> }
> </script>
> {% endif %}
>
语法绘图:
graphviz:较为复杂,特别是时序图,但功能强大。graphviz在线绘图,graphviz dot语法总结
plantuml:绘图风格单一(个人不觉得丑),但画时序图很快,模板多,本体使用需要java支持。plantmul在线绘图:多个模板供选择。能接受画面的,还是推荐使用
Mermaid:功能简单,绘图较快,美观度还可以,很多Markdown编辑器都支持。语法,个人使用感觉功能太少(可能是插件支持不友好)
示例
Mermaid:
语法
流程图:
1  | ```<添加标签:mermaid>  | 
效果:
graph TD
A[方形] --> B(圆角)
    B --> C{条件a}
    C --> |a=1| D[结果1]
    C --> |a=2| E[结果2]
    F[竖向流程图]
UML样例:
1  | ```<添加标签:mermaid>  | 
效果:
  sequenceDiagram
    participant 张三
    participant 李四
    张三->王五: 王五你好吗?
    loop 健康检查
        王五->王五: 与疾病战斗
    end
    Note right of 王五: 合理 食物 
看医生...
    李四-->>张三: 很好!
    王五->李四: 你怎么样?
    李四-->王五: 很好!
甘特图:
1  | ````<添加标签:mermaid>  | 
效果:
      gantt
        dateFormat  YYYY-MM-DD
        title 软件开发甘特图
        section 设计
        需求                      :done,    des1, 2014-01-06,2014-01-08
        原型                      :active,  des2, 2014-01-09, 3d
        UI设计                     :         des3, after des2, 5d
    未来任务                     :         des4, after des3, 5d
        section 开发
        学习准备理解需求                      :crit, done, 2014-01-06,24h
        设计框架                             :crit, done, after des2, 2d
        开发                                 :crit, active, 3d
        未来任务                              :crit, 5d
        耍                                   :2d
        section 测试
        功能测试                              :active, a1, after des3, 3d
        压力测试                               :after a1  , 20h
        测试报告                               : 48h
Markdown标准支持:
流程图:
1  | ``` <添加标签:flow>  | 
效果:
流程图(横向):
1  | ```<添加标签:flow>  | 
效果:
UML样例:1  | ```<添加标签:sequence>  | 
效果:
UML复杂样例:1  | ```<添加标签:sequence>  | 
效果:
段落
通过在文本行之间留一个空白行,可创建新段落。
忽略Markdown格式
- 使用代码块
 - 使用
\ 
使用表情符号
通过键入 :EMOJICODE: 可在您的写作中添加表情符号。
比如:+1: 👍
hexo默认是不支持表情符号的,因此我把hexo的Markdown引擎改为了hexo-renderer-markdown-it来支持表情。听说这个渲染更快,还支持插件(我尝试增加了几个插件markdown-it-mermaid,markdown-it-graphviz之类的,支持的都不好)。详情请参考
更多表情符号参考emoji-cheat-sheet 😎
可能遇到问题
发布图片视频音频:
图片发布很简单:
你在hexo new post "xxx"会在__posts下生成一个对应xxx.md和一个xxx文件夹。图片放在文件夹里,文章里引用:
1  |   | 
这里可能发现本地可以显示图片,上传到GitHub就不能显示了。可以安装以下插件解决:
1  | npm install hexo-asset-image --save  | 
视频发布
github配置域名发布后被清空:
在对应source目录下新建一个CNAME文件,只放置一行你指向的域名。例如:
1  | # tree Blog/source/ -L 1  | 
执行hexo d时,上传提示使用token
参考