Hexo 博客搭建指南(一)—— 开始使用

安装 Hexo

安装

在安装 Hexo 之前,有一点要注意的是,在 Hexo 3.0.0-rc.4 版本开始,hexo-cli 就独立出去了,所以 Hexo 其实是有两个程序的:

  • hexo-cli:命令行界面的 hexo,安装在 npm 的 node_modules 目录下,用于初始化 hexo 的环境,已添加到 path 环境变量,全局可用
  • hexo:完整版的 hexo,安装在 hexo 博客的目录下,用于管理 hexo ,只能在 hexo 博客的目录下使用

需要先安装 hexo-cli,再安装 hexo,在任意位置打开命令行窗口,输入:

1
npm install hexo-cli -g

就会在 C:\Users\<用户名>\AppData\Roaming\npm\node_modules 目录安装好 hexo-cli 及其依赖的 packages。
可能会看到一个 WARN,但是不用担心,这不会影响 Hexo 的正常使用。

在命令行中输入 hexo v,如果有显示 hexo-cli 的版本号,即表示安装成功:

1
2
3
4
5
6
7
8
9
10
11
F:\>hexo v
hexo-cli: 0.1.8
os: Windows_NT 10.0.10240 win32 x64
http_parser: 2.5.0
node: 4.1.1
v8: 4.5.103.33
uv: 1.7.4
zlib: 1.2.8
ares: 1.10.1-DEV
modules: 46
openssl: 1.0.2d

初始化

准备存放 hexo 博客的文件夹,执行以下命令:

1
2
3
4
5
6
hexo init # 将当前目录初始化为 hexo 目录
hexo init <folder> # 将指定目录初始化为 hexo 目录
F:\> hexo init blog
INFO Copying data to F:\blog\
INFO You are almost done! Don't forget to run 'npm install' before you start blogging with Hexo!

初始化后的目录内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
.
├── .gitignore
├── _config.yml
├── package.json
├── scaffolds
| ├── draft.md
| ├── page.md
| └── post.md
├── source
| └── _posts
| └── hello-world.md
└── themes
└──landscape

初始化后的 blog 还不能使用 hexo,因为完整版的 hexo 还没安装,需要进入 blog 目录,执行 npm install 命令,npm 工具就会根据 package.json 文件中记录的 dependencies 去下载安装需要的依赖包(包括完整版的 hexo):

1
2
F:\> cd blog
F:\blog> npm install

P.S. 也可以只安装纯粹的 hexo,不包含任何插件,只需要在初始化后的目录,执行 npm install hexo --save 即可。

安装完所有模块后,就可以体验 hexo 了。

体验

在 hexo 目录中,执行以下命令(2 个命令是一样的效果):

1
2
hexo server
hexo s # 简化命令

当看到 INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop. 就表示 hexo 已经运行了,只要打开浏览器,
在地址栏输入 127.0.0.1:4000localhost:4000 即可访问了。

到目前为止,hexo 在本地的基本配置已经结束了。

Hexo 目录 & 文件

参考:官方文档

_config.yml

Hexo 的全局配置文件,整个 Hexo 博客的配置都可以在这里进行配置。

package.json

Hexo 应用程序的信息,包括名称、版本、所需的依赖库等等。

node_modules 目录

Hexo 的依赖库,以及安装的插件都是放这里的。

如果会 node,可以自己写插件来对 Hexo 进行扩展,如果写的插件很有用,希望别人也用上你写的插件,可以发布到 npm。

程序比较简单的,建议写成脚本(script),相对来说比较复杂的,建议写成插件(package)。

scaffolds 目录

模版 文件夹。当您新建文章时,Hexo 会根据 scaffold 来建立文件。
默认提供 draft.md(草稿)、post.md(文章)、page.md(页面)这三种模版,可以自定义修改,也可以创建自己的模版。

例如:

1
2
3
hexo new post "Hello World" # 使用 post.md 模版在 source\_posts 目录新建一个 "Hello-World.md" 文件
hexo new draft uk # 使用 draft.md 模版在 source\_drafts 目录新建一个 "uk.md" 文件
hexo new page "page Test" # 使用 page.md 模版在 source\page-Test 目录新建一个 "index.md" 文件

P.S. 此模版非彼模版(Template),scaffold 在词典里是“脚手架”的意思,我也不知道该怎么描述(语死早- -)相信只要看看这三个文件,以及分别用这三个文件新建出来的文章文件进行对比,一下子就懂了。
大概就是对该文章的一些描述,比如 Title,Date,Description,Tag,Category 等等,有了这些信息,Hexo 就可以对该文章进行分类。

详情请看>>Front-matter

scripts 目录

脚本文件夹。脚本是扩展 Hexo 最简易的方式,在此文件夹内的 JavaScript 文件会被自动执行。

如果会 javascript,可以自己写插件来对 Hexo 进行扩展。

程序比较简单的,建议写成脚本(script),相对来说比较复杂的,建议写成插件(package)。

source 目录

资源文件夹是存放用户资源的地方。所有的 markdown 文件(文章、草稿、页面等),以及图片、音乐、视频等,都是放在这里的。

_posts 文件夹之外,其他所有以 _ (下划线) 开头命名的文件和文件夹以及隐藏的文件,在解析成博客时将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。

public 目录

发布 文件夹。Hexo 生成出来的完整的博客文件(整个博客的所有文件都在这了),可以将 public 里面的文件上传到 Github、Gitcafe、VPS、Heroku、OpenShift 等服务器上,即可访问。本机可以使用 hexo server -s 命令,也可以直接使用浏览器打开 index.html(不过由于路径问题,无法加载资源)。

themes 目录

主题 文件夹。Hexo 会根据主题来生成静态页面。可以到 Hexo 主题站 下载,可惜官方收录的主题比较少,目前只有 19 个。

因为 hexo 主题几乎都是开源的,而主题的作者一般都会放在 github 上,这就让我们获取 hexo 的主题变得很简单,只要到搜索一下就可以找到很多优秀的主题了。

补充:Wiki 上有个 Theme 列表,虽然已被标记为弃用,但收集的主题还是有相当多的。

其他文件

.gitignore

git 的忽略文件,可删

db.json

hexo 的 json 数据库文件,可通过 hexo clean 命令清除数据(放心,不会删除文章内容的),也可以直接删掉,但还是会生成的。

Hexo 配置

Hexo 的配置主要是通过修改 _config.yml 文件进行的,也可以通过使用以下命令对某一项进行设置

1
hexo config [name] [value]

一定要注意:yaml 的语法问题,在每一项的冒号后面一定要有一个空格,建议修改完配置后,使用一些 YAML 语法检查工具检查一下有没有语法错误(例如:YamlLint)。

_config.yml 介绍

_config.yml 中的配置项可以分成几个大类:

网站(Site)、地址(URL)、目录(Directory)、文章(Writing)、分类 & 标签(Category & Tag)、日期 / 时间格式(Date / Time format)、分页(Pagination)、扩展(Extensions)、部署(Deployment)。

网站 (Site)

参数 描述
title 网站标题
subtitle 网站副标题
description 网站描述
author 您的名字
language 网站使用的语言,使用 2 个字母表示的 ISO-639-1 码
timezone 网站时区。Hexo 默认使用您电脑的时区。时区列表(表中的 TZ 列),例如 Asia/ShanghaiPRC 表示中国时区。

网址 (URL)

参数 描述 默认值
url 网址
root 网站根目录
permalink 文章的 永久链接 格式 :year/:month/:day/:title/
permalink_default 永久链接中各部分的默认值

关于 urlroot:如果您的网站存放在子目录中,例如 http://domain.com/blog,则请将您的 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/

关于 permalink:定义文章的 URL 结构,默认的 :year/:month/:day/:title/ 所生成的连接就是 2015/10/15/文章标题,详情请看>>Permalink

关于 permalink_default:可以设置一些自定义的用于 permalink 的变量(其实还可以用于其他地方,比如 new_post_name 等,可以自己尝试 ^_^),比如可以这样使用:

1
2
3
4
permalink: :year-:language-:fruit-:title.html
permalink_defaults:
fruit: apple
language: zh_cn

则生成的文章 URL 为:http://your.domain.com/2015-zh_cn-apple-文章标题.html

目录 (Directory)

参数 描述 默认值
source_dir 资源文件夹,这个文件夹用来存放内容。 source
public_dir 发布文件夹,这个文件夹用于存放生成的站点文件。 public
tag_dir 标签文件夹 tags
archive_dir 归档文件夹 archives
category_dir 分类文件夹 categories
code_dir include code 文件夹(放在 source 文件夹内) downloads/code
i18n_dir 国际化(i18n)文件夹 :lang
skip_render 指定不会被渲染的文件(夹),可使用通配符(glob expressions)来配置路径。

关于 skip_render:以 source 文件夹为起始路径,感谢 @xuanwo 的《Hexo 常见问题解决方案》和《如何不处理 source 目录下某个子目录的所有文件,仅仅是将其 copy 到 public 目录中对应目录?》:

1
2
3
4
5
6
7
8
9
10
skip_render: README.md # 单个文件
skip_render: test/* # 单个文件夹下全部文件
skip_render: test/*.md # 单个文件夹下指定类型文件
skip_render: test/** # 单个文件夹下全部文件以及子目录
skip_render: **/*.html # 所有文件夹以及子目录下指定类型文件
skip_render: # 多个文件夹以及各种复杂情况
- test1/*.html
- test2/**
- boot.js

关于 code_dirInclude_Code,官网的解释太简单了,Octopress 官网有详细的解释,大概意思就是在文章中使用这样的语法在将某个文件(代码,支持语法高亮)的内容显示在文章中:

1
{&#37; include_code [title] [lang:language] path/to/file %}

关于 i18n_dir:默认值 :lang 是一个变量,详情请看>>Permalink#Multi-language_Support以及i18n

文章 (Writing)

参数 描述 默认值
new_post_name 新建文章的文件名格式 :title.md
default_layout 新建文章时的默认布局 post
auto_spacing 在中文和英文之间加入空格 false
titlecase 把标题转换为 title case false
external_link 在新标签中打开链接 true
filename_case 把文件名称转换为 (1) 小写或 (2) 大写 0
render_drafts 显示草稿文章 false
post_asset_folder 开启 asset 文件夹 false
relative_link 把链接改为与根目录相对的地址(相对路径) false
future 显示未来的文章 true
highlight 代码块的高亮设置

关于 new_post_name:自定义文件名的结构,跟 permalink 类似。

关于 auto_spacing:可以增加文章内容的可读性。在 Hexo 2.8.2 版本开始,该功能已独立成一个插件 hexo-filter-auto-spacing,这个配置项也就去掉了,只要装上插件,就会自动加上空格,不想要自动空格,则删除插件即可。如果使用了这个插件,当你的标题(h1~h6)有中英文混合时,请手动加上空格,否则在生成目录(TOC)时,目录会失效,因为标题的 id 也被加上了空格。
效果请看 >> 来源

关于 titlecase:文章标题的每个单词的首字母大写(英文单词),体验一下 >> Convert to Title Case

注意:

  1. 修改 titlecase 后,需要执行 hexo clean 清除缓存才生效。
  2. a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs 等单词的首字母不会被转换为大写。

关于 filename_case:新建文章时的文件名的大小写(仅仅是文件名,跟标题无关)。

0 表示跟输入一致,1 表示全部字母转换成小写,2 表示全部字母转化成大写:
例如:你真是Native,Too young,too Simple啊!
0:你真是Native,Too-young,too-Simple啊!.md
1:你真是native,too-young,too-simple啊!.md
2:你真是NATIVE,TOO-YOUNG,TOO-SIMPLE啊!.md

关于 post_asset_folder:请参考:官方介绍。把资源放到 asset 文件夹内,使用时只需要文件名就可以了,不需要完整的路径。因为生成博客后,资源跟当前的文章是在同一目录下的(所以你的资源中不能有一个叫 index.html 的文件,否则会冲突,当然也没人会怎么做- -)。

{% asset_path filename %}:插入一个资源的路径,就仅仅是显示一个路径
{% asset_img filename [title] %}:插入一张图片,等同于 ![title](filename)
{% asset_link filename [title] %}:插入一个资源的链接,点击会在新标签打开

关于 future:是否显示日期是未来的文章。如果有些文章不想马上就发布,等到某个时刻再发布,可以将Front-matter中的日期改为指定的时间,并将 future 设置为 false 即可。需要注意的是:因为是静态博客,不像 WordPress 等动态博客在到了指定时刻会自动发布,Hexo 需要再次发布才会生成文章的页面。

分类 & 标签 (Category & Tag)

参数 描述 默认值
default_category 默认分类名称 uncategorized
category_map 分类别名
tag_map 标签别名

这 3 项配置都仅在 Hexo 拼接 URL时被使用。

关于 default_category:在 permalink 中如果使用了 :category 变量,且当文章没有设置 categories 时,使用该默认分类名称。

关于 category_maptag_map:设置 category 和 tag 的别名,在 url 中将会使用这个“别名”来替代 category 或 tag 名称。(建议 category 或 tag 有中文字符时使用)

详情请看>>如何使用 category_map 这项配置?Hexo 分类和标签的路径怎么设置成英文

日期 / 时间格式 (Date / Time format)

Hexo 使用 Moment.js 来解析和显示时间。可以根据 Moment.js 官方文档 的格式来自定义。

参数 描述 默认值
date_format 日期格式 YYYY-MM-DD
time_format 时间格式 H:mm:ss

分页 (Pagination)

参数 描述 默认值
per_page 每页显示的文章量(0 = 关闭分页功能) 10
pagination_dir 分页目录(保存分页的文件夹名称) page

此分页设置是全局的,包括主页、Archives 页、Categeries 页和 Tags 页,如果只想主页进行分页,可设置全局 per_page: 0,主页 per_page: 10,其他不设置。

P.S. 默认的 landscape 主题有个 BUG,在 /archives/ 页面里,只显示第一页的文章,不能导航到其他分页。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
per_page: 3 # 全局
pagination_dir: page # 分页目录
########################################
archive_generator: # 文章列表分页设置
yearly: true # 按年份
monthly: true # 按月份
per_page: 0
index_generator: # 主页分页设置
per_page: 0
category_generator: # 分类分页设置
per_page: 0
tag_generator: # 标签分页设置
per_page: 0

扩展 (Extensions)

参数 描述
theme 当前主题名称
deploy 部署

关于 deploy:部署的配置项,配置好就可以一键(命令)部署到各种服务器环境,比如:githubgitcafeHerokuOpenShift 等,或通过 FTP、Rsync 等同步到远程服务器上。

详情请看>>官方文档-部署

其他配置

还有一个 server 项是默认没有在 _config.yml 中的,如果不想使用默认的 4000 端口,又嫌每次开启服务都要输入 -p 80 指定端口,那么可以在 _config.yml 中添加(这是默认配置,可自行修改,也可只写其中一项):

1
2
3
4
server:
ip: '0.0.0.0'
port: 4000
log: false

Hexo 命令

在 blog 目录中,输入 hexo 命令,可以查看 hexo 命令的帮助信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Usage: hexo <command>
Commands:
clean Removed generated files and cache.
config Get or set configurations.
deploy Deploy your website.
generate Generate static files.
help Get help on a command.
init Create a new Hexo folder.
list List the information of the site
migrate Migrate your site from other system to Hexo.
new Create a new post.
publish Moves a draft post from _drafts to _posts folder.
render Render files with renderer plugins.
server Start the server.
version Display version information.
Global Options:
--config Specify config file instead of using _config.yml
--cwd Specify the CWD
--debug Display all verbose messages in the terminal
--draft Display draft posts
--safe Disable all plugins and scripts
--silent Hide output on console
For more help, you can use 'hexo help [command]' for the detailed information
or you can check the docs: http://hexo.io/docs/

总的来说,分为 Commands(命令)和 Options(选项)两种。下面将一一介绍每个 Command 以及 Option 的用法。

hexo clean

名称:清除命令
别名:无
使用:hexo clean
参数:无
选项:无

用于清除缓存(db.json 文件)和生成的文件(默认是 public 文件夹,根据 _config.yml 中所指定的 public_dir 来清除)。

hexo config

名称:配置命令
别名:无
使用:hexo config [<name> [value]]
参数:

name:配置项名称,如果不指定,则显示所有设置项
value:设定配置项的值,如果不指定,则显示单个配置项的值
选项:无

用于查看或者修改配置项(_config.yml 文件)的值,查看时是以 JSON 格式输出的,而修改时会直接影响 _config.yml 配置文件。

例子一

查看 hightlight 配置项:

1
hexo config highlight

输出:

1
2
3
4
{ enable: true,
line_number: true,
auto_detect: true,
tab_replace: true }

例子二

设置 highlight 配置项:

1
hexo config highlight.enable false

如果配置项是数组(序列)形式的,则使用索引(从 0 开始)的方式:

1
hexo config item.0

hexo deploy

名称:部署命令
别名:hexo d
使用:hexo deploy [option]
参数:无
选项:

--setup:只设置,不部署
-g or --generate:先生成,再部署(相当于先后执行 generatedeploy 两个命令)

部署需要另外安装插件 >> 部署
暂时不明 --setup 选项的具体用法,官方文档也没任何说明。

hexo generate

名称:生成命令
别名:hexo g
使用:hexo generate [option]
参数:无
选项:

-d or --deploy:生成后立刻部署
-f or --force:强制重新生成
-w or --watch:监控文件的变化。当修改 source 文件夹的文件时,自动生成。

生成静态文档。

hexo help

名称:帮助命令
别名:hexo h
使用:hexo help [command]
参数:

command:查看某个命令的使用方法。可以是任意一个 hexo 的命令,如 configgenerate 等等。
选项:无

hexo init

名称:初始化命令
别名:hexo i
使用:hexo init [destination]
参数:无
选项:

destination:目标文件夹,指定要初始化的文件夹,如果不指定,则初始化当前文件夹

将某个目录初始化为 hexo 博客的目录。

hexo list

名称:列出命令
别名:hexo l
使用:hexo list <type>
参数:

type:可以使用 page(页面),post(文章),route(树状目录),tag(标签)等方式列出信息。

以各种形式列出博客的信息。

hexo migrate

名称:迁移命令
别名:hexo m
使用:hexo migrate <type>
参数:

type:迁移的类型,具体类型因插件而异,一般为 rsswordpressjoomla 等等。

迁移需要另外安装插件 >> 迁移
从其他博客系统中迁移文章到 Hexo,支持 RSS,Jekyll,Octopress,WordPress 等等。

hexo new

名称:新建命令
别名:hexo n
使用:hexo new [layout] <title>
参数:

layout:指定使用的布局,可以是 postpagedraft 或者任何自定义的布局,不指定则默认为 post
title:文章标题,使用引号 "' 包裹。

选项:

-p or --path:自定义文章路径。
-r or --replace:如果已存在同名文章,则覆盖。
-s or --slug:跟 --path 类似。

例子一

draft.mdlayout,在 source/_drafts/aaa/bbb/ 目录创建一个名为 ccc.md 的文件,文章标题为 title

1
hexo n draft 'title' -p aaa/bbb/ccc

例子二

post.mdlayout,在 source/_post/ 目录创建一个名为 aaa-bbb-ccc.md 的文件,文章标题为 title123

1
hexo 'title123' -s aaa/bbb/ccc

P.S.1. 在使用简写的 -p-s-r 时,会在文章的 Front-matter 中多出对应的 p: aaa/bbb/cccs: aaa/bbb/cccr: true,删了也没影响;而使用 --path--slug--replace 则没有,可能是 BUG。

P.S.2. pathslug 一起用时,只有 path 生效

P.S.3. pathslug 的来源:https://github.com/hexojs/hexo/issues/379

hexo publish

名称:发表命令
别名:hexo p
使用:hexo publish [layout] <filename>
参数:

layout:指定使用的布局,可以是 postpagedraft 或者任何自定义的布局,不指定则默认为 post
filename:草稿文件名,例如 hello-world,不要写 .md

选项:无

source/_drafts 中的草稿文章移动到 source/_post/ 目录,可以发表为 page 等。

P.S.1. 如果使用 hexo new draft --path aa/bb/cc 命令创建的草稿,会比较悲剧,因为 filename 会将输入的斜杠 / 转换成 -,导致找不到文件。(解决方案:手动将整个 aa 目录复制到 source/_post/ 目录)

P.S.2. 虽然 draft 可用,但其实还是移动到 source/_post/ 目录。

hexo render

名称:渲染命令
别名:hexo r
使用:hexo render <file1> [file2] ...
参数:

file[n]:至少指定一个文件,起始目录是根目录。

选项:

--engine:指定渲染引擎。
--output:输出目标文件,如果不指定,则输出到终端。起始目录是根目录。
--pretty:美化 JSON 输出。

这个命令一般用不到。

hexo server

名称:服务命令
别名:hexo s
使用:hexo server [option]
参数:无
选项:

-i or --ip:指定服务的 IP 地址,默认绑定所有地址(0.0.0.0)
-l or --log [format]:按格式输入 log,不指定 format 则默认为 dev
-o or --open:在浏览器中打开 url(需要将 ip 改成 localhost127.0.0.1
-p or --port:指定服务端口,默认为 4000
-s or --static:静态模式,仅使用 public 目录中的静态文档

开启服务。

log 的 format 可选:devdefaultcombinedcombinedcommonshorttiny 之一;
也可以自定义,要使用引号 "' 包裹

例子一

请求方法、状态码、URL:

1
hexo s -l ':method :status :url'

输出结果:

1
2
3
4
GET 200 /
GET 200 /vendors/fancybox/source/jquery.fancybox.css?v=2.1.5
GET 200 /css/main.css?v=5.0.0
GET 404 /tags/

详情请看 >> morgan

hexo version

名称:版本信息命令
别名:hexo v
使用:hexo version
参数:无
选项:无

hexo –config

执行命令时,指定一个配置文件,替代默认的 _config.yml 配置文件,不可单独使用,必须跟命令一起使用

有效命令:
cleanconfigdeploygeneratelistmigratenewpublishrenderserver
无效命令:
helpinitversion

例子一

使用不同的配置部署到不同的服务器(一个博客,多种风格):

配置 A:
public_dir:public-github
theme:landscape
deploy:github
配置 B:
public_dir:public-aliyun
theme:next
deploy:rsync

分别执行以下命令:

1
2
hexo d -g --config configA.yml
hexo d -g --config configB.yml

hexo --cwd

指定“Current Working Directory(当前的工作目录)”
用途不明。

hexo --debug

执行命令时,显示 debug 信息。

有效命令:
initversioncleanconfigdeploygeneratelistmigratenewpublishrenderserver
无效命令:
help

hexo --draft

显示草稿文章,等同于 _config.yml 中的render_drafts

有效命令:
generatelistserver
无效命令:
helpinitversioncleanconfigdeploymigratenewpublishrender

hexo --safe

安全模式,可以禁用所有的插件(plugin)和脚本(script)。如果在安装新插件后出现问题,可以在执行命令时加上 --safe 选项。

有效命令:
deploygeneratelistmigratenewpublishrenderserver
无效命令:
helpinitversioncleanconfig

hexo --silent

安静模式,不提示终端信息,与 --debug 相对应。
--debug 会输出所有级别的信息(TRACEDEBUGINFOWARNERRORFATAL
默认情况下会输出 INFO 以上信息(INFOWARNERRORFATAL
--silent 则隐藏所有信息

有效命令:
initversioncleanconfigdeploygeneratelistmigratenewpublishrenderserver
无效命令:
help

迁移

如果在使用 Hexo 之前,已经有一个运行中的博客了,想迁移到 Hexo,也是非常简单的事情,最多就两条命令:安装插件、迁移命令。

从 Jekyll 迁移

把 Jekyll 的 _posts 文件夹内的所有文档复制到 source/_posts 文件夹,并在 _config.yml 中修改一下 new_post_name 设置项,即可:

1
new_post_name: :year-:month-:day-:title.md

从 Octopress 迁移

把 Octopress 的 source/_posts 文件夹内的所有文档复制到 source/_posts 文件夹,并在 _config.yml 中修改一下 new_post_name 设置项,即可:

1
new_post_name: :year-:month-:day-:title.md

从 WordPress 迁移

从 RSS 迁移需要安装 hexo-migrator-wordpress 插件:

1
npm install hexo-migrator-wordpress --save

在迁移之前,先要在 WordPress 中导出博客:

在 WordPress 的仪表盘中,打开 “工具” → “导出” → “WordPress”。

然后使用 hexo migrate 命令进行迁移,source 可以是导出的文件,也可以是一个网址:

1
hexo migrate wordpress <source>

通过 RSS 迁移

从 RSS 迁移需要安装 hexo-migrator-rss 插件:

1
npm install hexo-migrator-rss --save

然后使用 hexo migrate 命令进行迁移,source 可以是 RSS 的文件,也可以是一个网址:

1
hexo migrate rss <source>

通过 RSS 可以迁移很多博客的文章,只要博客服务商提供了 RSS 订阅功能,就可以很方便地将文章迁移到 Hexo 了。

目前支持 RSS 的有:
CSDN博客园 cnblogsJAVA 博客C++ 博客 等等。

其他迁移方式

除了从上述国内主流博客的迁移之外,迁移插件列表 还有其他的比如 bloggergithub-issuejoomla 等迁移方式,国内用得比较少,就不说了。

结语

这一节也太啰嗦了,是我的打开方式不对吗?唠唠叨叨了半天,都还没进入主题!下一节——基本操作 将从 Hexo 的写作开始,详细介绍 Hexo 的使用方式。