Hexo搭建 --- 3、Hexo发布文章详解

简单发布文章

  • 在Hexo根目录下打开cmd终端命令:
    1
    hexo new "文件名"

此命令会在/hexo/source/_posts下创建一个文件名.md文件,然后就可以使用markdown编辑器开始写自己的博客了。

  • 打开生成的默认文章模板。

    1
    2
    3
    4
    5
    6
    ---
    title: new #博客标题
    date: 2017-2-19 21:20:57 #创建时间
    tags: #标签
    ---
    这里写正文(上面的---是必要的)
  • 本地查看预览效果

    1
    hexo s

浏览器打开 http://localhost:4000/ 即可查看效果,默认端口为4000
自定义端口为80: hexo s p 80

  • 部署到Coding上
    1
    hexo clean && hexo g && hexo d

hexo clean 清理本地缓存
hexo g 全称: generate,生成静态html文件。
hexo d 全称:deploy 部署到Coding上。
注:部署到Coding上需要先按照插件,在cmd中输入 npm install hexo-deployer-git --save

高级文章设置

Hexo new 的分类

Hexo对生成文章有三种分类:

  1. post:也是默认的方式,一般指一篇博客。
  2. page:指生成一个页面,一般用来做标签和关于页
  3. draft:指草稿,我个人很少用。

生成方式是:hexo new [layout] <title>
比如: hexo new page tags ,即为生成一个名为tags的页面。

文档模板修改

当我们使用 hexo new [layout] <title> 生成文章的生成的文件都是有默认模板的。
比如hexo new post 模板测试

1
2
3
4
5
---
title: 模板测试
date: 2017-2-19 21:53:03
tags:
---

比如我的博客每次都要加 markdown源码下载。那么对每个文件都要加上相应的代码,那么不如修改一下模板文件,让new文章的时候就能加上相应的代码,岂不省事。

  • 实现修改模板功能
    其实每次我们执行 hexo new [layout] <title> 时,Hexo都会去scaffolds文件夹中寻找[layout].md,并根据其内容建立文章。
    那么我们直接修改对应的 .md 模板文件即可,或者自己添加一个 demo.md 文件,创建文件的时候执行hexo new demo <title> 即可。

Front-matter详解

Front-matter 是文件最上方以 — 分隔的区域,用于指定个别文件的变量,举例来说:

1
2
3
4
---
title: 模板测试
date: 2017-2-19 22:04:39
tags:

以下是预先定义的参数,您可在模板中使用这些参数值并加以利用。

参数 描述 默认值
layout 布局
title 标题
date 建立日期 文件建立日期
updated 更新日期 文件更新日期
comments 开启文章的评论功能 true
tags 标签(不适用于分页)
categories 分类(不适用于分页)
permalink 覆盖文章网址

注意: 如一个文章有多个tags的话,语法为:

1
2
3
4
5
6
7
---
title: 标题
date: 2017-2-19 22:12:29
tags:
- 标签1
- 标签2
---

Hexo官方说明不支持一个文章与多个categories(分类) Hexo官方文档对于分类的解释

如何关闭新建页面的评论功能?

当集成了评论系统,如 多说 或者 Disqus,所有新建的页面都将自动开启评论。若你不需要评论,请在页面的 Front-matter 里添加 comments 字段,并将值设置为 false。如下所示:

1
2
3
4
5
---
title: new title
date: 2017-2-21 21:34:29
comments: false
---

如何设置页面文章的篇数?

  1. 使用 npm install --save 命令来安装需要的 Hexo 插件。
  2. 等待扩展全部安装完成后,在 站点配置文章 中,设定如下选项:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    index_generator:
    per_page: 5 ##首页显示的文章篇数

    archive_generator:
    per_page: 20 ##归档页显示的文章篇数
    yearly: true
    monthly: true

    tag_generator:
    per_page: 10

内置标签

标签插件和 Front-matter 中的标签不同,它们是用于在文章中快速插入特定内容的插件。

文本居中

使用方式:

1
2
3
4
5
6
7
8
9
<!-- HTML方式: 直接在 Markdown 文件中编写 HTML 来调用 -->
<!-- 其中 class="blockquote-center" 是必须的 -->
<blockquote class="blockquote-center">blah blah blah</blockquote>

<!-- 标签 方式,要求版本在0.4.5或以上 -->
{% centerquote %}blah blah blah{% endcenterquote %}

<!-- 标签别名 -->
{% cq %} blah blah blah {% endcq %}

效果示例:
image_1b9gddh6jutf3091gv41jdl5ta9.png-24.8kB

引用块

在文章中插入引言,可包含作者、来源和标题。

1
2
3
{% blockquote [author[, source]] [link] [source_link_title] %}
content
{% endblockquote %}

简单点说两种用法:

  • 引用名人名言
    1
    2
    3
    {% blockquote 鲁迅, 《记念刘和珍君》%}
    真的猛士,敢于直面惨淡的人生,敢于正视淋漓的鲜血
    {% endblockquote %}

image_1b9bd4cq3pk7b3o1u5g721bpum.png-12.9kB

  • 引用别人网站的文章或其他
    1
    2
    3
    {% blockquote @DevDocs https://twitter.com/devdocs/status/356095192085962752 %}
    NEW: DevDocs now comes with syntax highlighting. http://devdocs.io
    {% endblockquote %}

image_1b9bdj4edtvgt5k1h6512m116of13.png-22.5kB

突破容器宽度限制的图片

当使用此标签引用图片时,图片将自动扩大 26%,并突破文章容器的宽度。 此标签使用于需要突出显示的图片, 图片的扩大与容器的偏差从视觉上提升图片的吸引力。 此标签有两种调用方式(详细参看底下示例):
使用方式:

1
2
3
4
5
6
7
8
9
<!-- HTML方式: 直接在 Markdown 文件中编写 HTML 来调用 -->
<!-- 其中 class="full-image" 是必须的 -->
<img src="/image-url" class="full-image" />

<!-- 标签 方式,要求版本在0.4.5或以上 -->
{% fullimage /image-url, alt, title %}

<!-- 别名 -->
{% fi /image-url, alt, title %}

效果示例:
image_1b9gdr6eq1j7b1lvu1gfh1fb820b13.png-1313.3kB