Ghost的博文都是使用Markdown语法来编写,这里列出常用的语法,以及一些安装配置了增强插件后的语法,便于大家速查,如果有使用上的问题,也可以随时发表评论。

预览栏中直接可见的效果

如果下载使用Ghost的桌面编辑器,或者直接使用浏览器访问ghost在线编辑页面https://blog.newtouch.com/ghost/,就可以在编辑博文的同时,在预览栏中显示以下效果:

语法 显示结果 快捷键
**粗体文字** 粗体文字 Ctrl/⌘ + B
*斜体文字* 斜体文字 Ctrl/⌘ + I
~~删除线~~ 删除线 Ctrl + Alt + U
[文字超链接](https://blog.newtouch.com) 文字超链接 Ctrl/⌘ + K
`代码` 代码 Ctrl/⌘ + Shift + K
![alt文字](http://) 显示图片 Ctrl/⌘ + Shift + I
* 列表项 * 列表项 Ctrl + L
> 引用文字 引用文字 Ctrl + Q
==高亮文字== 高亮文字
# 标题1 H1
## 标题2 H2 Ctrl/⌘ + H
### 标题3 H3 Ctrl/⌘ + H (x2)

标题

提供6级的标题显示格式,而且本站点可以自动提取1-3级的标题,浮动显示在页面的右侧,并且跟着页面显示的博文内容,自动滚动到相应的标题,以及可以点击目录跳转到对应的标题。

  • 一级标题 : # 标题1
  • 二级标题 : ## 标题2
  • 三级标题 : ### 标题3
  • 四级标题 : #### 标题4
  • 五级标题 : ##### 标题5
  • 六级标题 : ###### 标题6

文本格式

  • 超链接 : [文字](URL)
  • 粗体文字 : **粗体文字**
  • 斜体文字 : *斜体文字*
  • 删除线 : ~~删除线~~
  • 高亮文字 : ==高亮文字==
  • 换行 : 在行尾输入两个空格
  • 列表 : * 列表
  • 引用文字 : > 文字
  • 行业代码 : `alert('Hello World');`
  • 水平线 : --------
    使用水平线最好与上面的博文空出一行,否则容易导致上面的博文显示格式问题

图片

使用 Markdown 将图像插入文章,你需要在 Markdown 编辑器输入 ![]()。 这时在预览面板中会自动创建一个图像上传框。

可以点击 “Upload an image”,直接将图片上传到本站,也可以点击左下角的超链接图标

直接输入URL,引用其他站点的图片。
想给图片添加一个标题, 可以将标题文本写入方括号,e.g; ![标题文字]()。


表格

根据“:”的位置,可以指定该列是左对齐、居中还是右对齐,并且每个表格内还是支持markdown语法。

|书名|网站|价格|
|:--------|:-----------:|-----------:|
|*《Openstack for Architects》*| [亚马逊网站](https://www.amazon.cn/)| ¥242.85|
|**《Lonely Planet孤独星球:澳大利亚(2016年版)》**| [京东网站](https://www.jd.com/)| ¥11.00|
书名 网站 价格
《Openstack for Architects》 亚马逊网站 ¥242.85
《Lonely Planet孤独星球:澳大利亚(2016年版)》 京东网站 ¥11.00

显示代码

Ghost原生支持

添加内嵌代码可以使用一对回勾号 `alert('Hello World')`。对于插入代码, Ghost 支持标准的 Markdown 代码和 GitHub Flavored Markdown (GFM)。标准 Markdown 基于缩进代码行或者4个空格位:

    <header>
        <h1>{{title}}</h1>
    </header>

高亮代码

本站安装配置了prismjs,用来渲染代码,以下列举一些常见的高亮代码场景

命令行

设置pre的“class”属性为"command-line",这表示在每行头部会自动增加命令行提示符,如果不设置则不显示命令行提示符;
设置pre的“data-user”属性,用来指定命令行前面显示的用户名,不设置则不显示;
设置pre的“data-host”属性,用来指定命令行前面显示的机器名,不设置则不显示;
设置code的“class”属性,指定渲染代码的类型“language-xxxxx”,其中“xxxxx”对应具体的代码类型可参考页面;

<pre class="command-line" data-user="root" data-host="localhost"><code class="language-bash">tar -zxvf echoping-6.0.2.tar.gz -C /usr/local/
cd /usr/local/echoping-6.0.2
yum install -y popt-devel openssl openssl-devel
./configure --prefix=/usr/local/echoping --with-ssl --without-libidn
make && make install</code></pre>

显示效果如下:

tar -zxvf echoping-6.0.2.tar.gz -C /usr/local/
cd /usr/local/echoping-6.0.2
yum install -y popt-devel openssl openssl-devel
./configure --prefix=/usr/local/echoping --with-ssl --without-libidn
make && make install

源代码

设置pre的“class”属性为"line-numbers",则会在每行头显示行号,如果不设置则不显示;
设置pre的“data-start”属性为数字,指定该数字为代码片段的起始行号,方便可以只显示部分代码,而且可以告诉读者是从哪一行开始截取的代码;
设置code的“class”属性,指定渲染代码的类型“language-xxxxx”,其中“xxxxx”对应具体的代码类型可参考页面;

<pre class="line-numbers" data-start="140"><code class="language-perl">...
    if ($mode =~ /[anc]/){
        my $val = 0;
        for my $host (@hosts){
            my ($graphret,$xs,$ys) = RRDs::graph
            ("dummy",
            '--start', $tasks[0][1],
            '--end', $tasks[0][2],
            '--font', "TITLE:20:WenQuanYi Zen Hei Mono",
            "DEF:maxping=$cfg->{General}{datadir}${host}.rrd:median:AVERAGE",
            'PRINT:maxping:MAX:%le' );
            my $ERROR = RRDs::error();
            return "<div>RRDtool did not understand your input: $ERROR.</div>" if $ERROR;
            $val = $graphret->[0] if $val < $graphret->[0];
        }
        $val = 1e-6 if $val =~ /nan/i;
        $max = { $tasks[0][1] => $val * 1.5 };
    }
...
</code></pre>

显示效果如下:

...
    if ($mode =~ /[anc]/){
        my $val = 0;
        for my $host (@hosts){
            my ($graphret,$xs,$ys) = RRDs::graph
            ("dummy",
            '--start', $tasks[0][1],
            '--end', $tasks[0][2],
            '--font', "TITLE:20:WenQuanYi Zen Hei Mono",
            "DEF:maxping=$cfg->{General}{datadir}${host}.rrd:median:AVERAGE",
            'PRINT:maxping:MAX:%le' );
            my $ERROR = RRDs::error();
            return "
RRDtool did not understand your input: $ERROR.
" if $ERROR; $val = $graphret->[0] if $val < $graphret->[0]; } $val = 1e-6 if $val =~ /nan/i; $max = { $tasks[0][1] => $val * 1.5 }; } ...

脚注

使用这样的占位符号可以将脚注添加到文本中: [^1]。另外,可以使用“n”而不是数字的 [^n],会自动进行顺序编号。在博文的结尾,你可以如下图所示定义匹配的注脚,URL 将变成链接:

[^1]: This is my first footnote  
[^n]: Visit http://ghost.org  
[^n]: A final footnote