简介: 本篇文章讲述了hexo中的常用命令、日常Typora与Hexo协作、以及基本的markdown语法,以用于作者和读者之后使用时备忘,也是作者的第一篇Blog,用于熟悉整个书写流程。
1 Typora与Hexo协作遇到的问题
1.1 如何在hexo中渲染数学公式
首先安装hexo-renderer-kramed包作为公式生成引擎
npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save
其次由于md数学公式中符号和Hexo渲染的符号可能存在冲突,所以需要对数学公式的渲染文件(./node_modules/kramed/lib/rules/inline.js)进行修改:
- escape: /^\\([\\`*{}\[\]()#$+\-.!_>])/,
+ escape: /^\\([`*\[\]()#$+\-.!_>])/
- em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
+ em: /^\*((?:\*\*|[\s\S])+?)\*(?!\*)/
最后在主题的配置文件(_config.yml)中添加如下内容,启动对数学公式的渲染:
# Math Equations Render Support
math:
enable: true
# Default(true) will load mathjax/katex script on demand
# That is it only render those page who has 'mathjax: true' in Front Matter.
# If you set it to false, it will load mathjax/katex srcipt EVERY PAGE.
per_page: false
engine: mathjax
#engine: katex
1.2 Typora与Hexo的图片路径问题
我们一般是在本地使用typora书写,然后部署到Hexo博客上。这个过程中会遇到图片文件路径冲突的问题。
首先,我们在Hexo配置文件中打开post_asset_folder
选项,使得每一篇博客自动建立一个同名文件夹用于保存图片。
# _config.yml
post_asset_folder: true
这个时候我们在md文件中就可以使用相对路径对文件进行索引啦。但是对于Hexo而言,在post_asset_folder选项后,会直接到同名文件夹去寻找图片,所以我们的书写是:
# myblog.md
[picture.png] # ->./myblog/picture.png !()
但是对于Typora, 它可没有默认的寻找路径,所以就是到相对于md文件的相对路径去寻找,所以我们的书写是:
# myblog.md
[./myblog/picture.png] # ->./myblog/picture.png !()
所以出现的一个尴尬的情况就是想要让Hexo远程博客显示图片就需要采用第一书写方式;而想在本地的Typora中显示图片就需要采用第二种书写方式。然而这个关键的问题被一个包给解决啦!
npm install hexo-image-link --save
在下载hexo-image-link
之后,我们就可以让Hexo同时遵守Typora的图片索引路径去获取图片。
2 Hexo中常用命令
新建一篇文章或者新的页面
hexo new <title>
默认情况下,Hexo 会使用文章的标题来决定文章文件的路径。对于独立页面来说,Hexo 会创建一个以标题为名字的目录,并在目录中放置一个 index.md 文件。你可以使用 --path 参数来覆盖上述行为、自行决定文件的目录:hexo new page --path about/me "About me"
hexo中生成草稿或隐私文章 在source文件夹中,默认会将新建的文章加入_posts文件夹中,并通过generate和deploy命令对外可见。如果要生成一篇对外不可见或者未编辑完的文章,可以首先通过如下命令生成名为‘About me’的草稿:
hexo new draft 'About me'
将草稿变为文章只需要通过如下命令,即将_drafts文件夹中的草稿移动到_posts文件夹中。需要注意的是此filename不需要加md后缀:hexo publish <filename>
以如下命令启动本地服务器可以预览草稿:hexo server --drafts
当想要将草稿生成post时,输入如下命令即可:hexo publish 'About me'
快速生成静态文件
hexo generate
由于hexo博客框架是静态的,使用此命令会将_post文件夹中的所有文件重新生成静态文件。部署到仓库
hexo deploy
这是hexo的一键部署功能,执行此命令即可将网站发布到_config.yml配置中的仓库地址。启用本地服务器
hexo server
orhexo s --debug
启动本地网站,可以在本地观察网站效果。以调试模式启动本地网站,在此模式下,对文件的更改无需停止网站只需刷新即可看到效果,调试非常方便。
综上,在新建一篇博客的时候。需要首先在命令行中进入Blog的根文件夹,然后输入hexo new <title>
来新建一篇post型博客。接着在博客书写完成之后 使用命令hexo generate
来生成静态文件,最后使用hexo deploy
将改文件部署到服务器上。
3 基本的markdown语法
- 标题
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
- 字体
**这是加粗的文字**
*这是倾斜的文字*
***这是斜体加粗的文字***
~~这是加删除线的文字~~
上述代码的效果如下所示: 这是加粗的文字 这是倾斜的文字 这是斜体加粗的文字 这是加删除线的文字
- 引用
>这是引用的内容
>>这也是引用的内容
>>>这还是引用的内容
上述代码的效果如下图所示: >这是引用的内容 >>这也是引用的内容 >>>这还是引用的内容 + 分割线 三个或三个以上的-或者\*即可如\---或者\***
上述效果是这样的: *** ---
- 图片 由于开启了post_asset_folder,所以默认需要加载的资源在同名文件夹中。此时相对的根目录就是此同名文件夹。具体代码格式有以下两种:
![描述](picture.png)
<div style="width:50%;height:50%;margin:auto">{% asset_img picture.png [This is an example image]%}</div>
- 列表 无序列表用- + *任何一种都可以
- 列表内容
+ 列表内容
* 列表内容
效果如下: - 列表内容 + 列表内容 * 列表内容
有序列表可用数字加点的语法表示
1. 列表内容
2. 列表内容
3. 列表内容
效果如下: 1. 列表内容 2. 列表内容 3. 列表内容
列表的嵌套可以通过上一级和下一级之间敲三个空格完成
* 一级无序列表内容
* 二级无序列表内容
* 二级无序列表内容
* 二级无序列表内容
效果如下: * 一级无序列表内容 * 二级无序列表内容 * 二级无序列表内容 * 二级无序列表内容
- 代码 使用```代码内容```书写代码块的内容 使用`代码内容`书写一行代码的内容