hexo帮助文档中文版(翻译)

爱笑的女孩,运气总不会太差~

By Mac小兔

summary

欢迎使用hexo帮助文档,当你使用hexo时,遇到任何问题,都可以参考疑难杂症解决向导,你也可以在GitHub上发起一个issue或者在Google Group开始一个主题。

Hexo是什么?
Hexo是一个快速、简单以及强大的博客框架。你可以使用Markdown(或者其他语言)编辑帖子,Hexo使用精美的主题可以快速生成静态页面。

https://hexo.io/docs/

1.1 开始

1.1.1安装

安装Hexo只需要花费数分钟的时间。如果你遇到了问题,并且在这个文档中找不到解决方案,请在github上提交issue,我们将尽全力解决它。

1.1.2必备条件

安装Hexo十分简单。然而在安装前,你需要几个其他的东西,如下所示:

  • Node.js
  • Git

如果你的电脑里已经安装了它们,那么恭喜你,只需要使用npm安装Hexo即可:

$ npm install -g hexo-cli

如果你的电脑里还没有安装Node.js和Gig,请按照以下说明安装这些必备工具

Mac 用户
当编译的时候,你也许会遇到一些问题。请首先从App Store安装Xcode。当Xcode安装之后,打开Xcode,依次选择Preferences -> Download -> Command Line Tools -> Install 来安装命令行工具

1.1.3 安装Git

Windows: 下载并安装 git.
Mac: Install it with Homebrew, MacPorts or installer.
Linux (Ubuntu, Debian): sudo apt-get install git-core
Linux (Fedora, Red Hat, CentOS): sudo yum install git-core

1.1.4 安装Node.js

安装Node.js最好的方法是使用nvm(https://github.com/creationix/nvm)

cURL:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

Wget:

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

一旦nvm被安装,重启终端,并运行下面命令安装Node.js

$ nvm install stable

或者,下载并运行 the installer

1.1.5 安装Hexo

一旦所有必备的工具都安装完毕,就可以使用npm安装Hexo

$ npm install -g hexo-cli

1.2 Setup

Hexo安装完之后,在目标文件夹中运行下面命令来初始化Hexo。

$ hexo init <folder>
$ cd <folder>
$ npm install

初始化完成之后,你的工程文件夹如下所示:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

1.2.1 _config.yml

参阅configuration段落,你可以在此文件中配置更多属性。

1.2.2 package.json

应用程序数据, EJS, Stylus和Markdown工具是默认安装,如果需要,你可以稍后卸载它们。

package.json
{
  "name": "hexo-site",
  "version": "0.0.0",
  "private": true,
  "hexo": {
"version": ""
  },
  "dependencies": {
"hexo": "^3.0.0",
"hexo-generator-archive": "^0.1.0",
"hexo-generator-category": "^0.1.0",
"hexo-generator-index": "^0.1.0",
"hexo-generator-tag": "^0.1.0",
"hexo-renderer-ejs": "^0.1.0",
"hexo-renderer-stylus": "^0.2.0",
"hexo-renderer-marked": "^0.2.4",
"hexo-server": "^0.1.2"
  }
}

1.2.3 scaffolds文件夹

当你创建一篇新帖时,Hexo会以scaffolds文件夹的内容为基础,创建该帖。

1.2.4 source文件夹

这个文件夹存放着你网站的内容。Hexo会忽略名字前缀带‘_’的隐藏文件、普通文件或者文件夹,除了‘_posts文件夹’之外。富文本文件将被处理,并放在public文件夹中,同时,其他文件将被简单的复制。

1.2.5 themes

themes文件夹放着各类主题。Hexo使用主题并结合网站内容生产静态网站。

1.3 Configuration

1.3.1 Site

你可以在_config.yml中修改网站设置

Setting        |Description
-----------    |-------------------------------
title        |The title of your website
subtitle    |The subtitle of your website
description    |The description of your website
author        |Your name
language    |The language of your website. Use a 2-lettter ISO-639-1 code. Default is en.
timezone    |The timezone of your website. Hexo uses the setting on your computer by default. You can find the list of available timezones here. Some examples are America/New_York, Japan, and UTC.

1.3.2 URL

Setting                Description                                    Default
url                    The URL of your website    
root                The root directory of your website    
permalink            The permalink format of articles            :year/:month/:day/:title/
permalink_default    Default values of each segment in permalink    

网站在子文件夹
如果你的网站放在子文件夹(比如http://example.org/blog)设置url为http://example.org/blog,设置root为/blog/.

1.3.3 目录

Setting            Description                                                Default
source_dir        Source folder. Where your content is stored                source
public_dir        Public folder. Where the static site will be generated    public
tag_dir            Tag directory                                            tags
archive_dir        Archive directory                                        archives
category_dir    Category directory    categories
code_dir        Include code directory    downloads/code
i18n_dir        i18n directory                                            :lang
skip_render        Paths not to be rendered. You can use glob expressions for path matching    

1.3.4 写作

Setting                Description                                Default
new_post_name        The filename format for new posts        :title.md
default_layout        Default layout                            post
titlecase            Transform titles into title case?        false
external_link        Open external links in new tab?            true
filename_case        Transform filenames to 1 lower case; 2 upper case    0
render_drafts        Display drafts?                        false
post_asset_folder    Enable the Asset Folder?    false
relative_link        Make links relative to the root folder?    false
future                Display future posts?                    true
highlight            Code block settings    

1.3.5 分类和标签

Setting                Description            Default
default_category    Default category    uncategorized
category_map        Category             slugs    
tag_map                Tag slugs

1.3.6 日期/时间 格式化

Setting                Description            Default
date_format            Date format            MMM D YYYY
time_format            Time format            H:mm:ss

1.3.7 页码

Setting            Description                Default
per_page        The amount of the posts displayed on a single page. 0 disables pagination        10
pagination_dir    Pagination directory    page

1.3.8 扩展

Setting        Description
theme        Theme name. false disables theming
deploy        Deployment setting

1.4 命令

1.4.1 init

$ hexo init [folder]

初始化一个网站,如果没有提供的folder,Hexo将设置为当前网站

1.4.2 new

$ hexo new [layout] <title>
  • 创建一篇新文章,如果没有布局layout提供,Hexo将使用默认的布局(_config.yml中的default_layout)。
  • 如果题目包含空格,需要对题目使用引号‘’

1.4.3 generate

$ hexo generate

生成静态文件。

Option            Description
-d, --deploy    Deploy after generation finishes
-w, --watch        Watch file changes

1.4.4 publish

$ hexo publish [layout] <filename>

发布为一篇草稿。

1.4.5 server

$ hexo server

启动本地服务器。默认访问地址http://localhost:4000/

Option            Description
-p, --port        Override default port
-s, --static    Only serve static files
-l, --log        Enable logger. Override logger format.

1.4.6 deploy

$ hexo deploy

部署你的网站

Option    Description
-g, --generate    Generate before deployment

1.4.7 render

$ hexo render <file1> [file2] ...

Option    Description
-o, --output    Output destination

1.4.8 migrate

$ hexo migrate <type>

从其他博客系统中迁移内容。

1.4.9 clean

$ hexo clean

清除缓存文件(如db.json)和生成的文件(public)

1.4.10 list

$ hexo list <type>

列出所有的线路。

1.4.11 version

$ hexo version

显示版本信息

1.4.12 Options

Safe mode

$ hexo --safe

禁用加载插件和脚本。当你安装一个新的插件之后,如果你遇到问题,可以使用这种模式。

Debug mode

$ hexo --debug

在终端显示日志详细信息,并输出至debug.log。在使用Hexo时,如果你遇到任何问题,可以尝试使用这种模式。

Silent mode

$ hexo --silent

输出至终端。

Customize config file path

$ hexo --config custom.yml

使用定制的配置文件(代替_config.yml)

Display drafts

$ hexo --draft

显示草稿(存储于 source/_drafts文件夹)

Customize CWD

$ hexo --cwd /path

定制当前工作路径

1.5 迁移

1.5.1 RSS

首先,安装hexo-migrator-rss插件

$ npm install hexo-migrator-rss --save

一旦插件安装完成,运行下面命令,迁移所有RSS的帖子。‘source’可以是一个文件路径或者一个URL

$ hexo migrate rss <source>

1.5.2 Jekyll

移动在Jekyll中_posts文件夹中所有的文件到hexo中source/_posts文件夹中
修改_config.yml中new_post_name的属性为:

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

1.5.3 Octopress

移动在Octopress下source/_posts文件夹中的所有文件到source/_posts文件夹中
修改_config.yml中new_post_name的属性为:

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

1.5.4 WordPress

首先,安装hexo-migrator-wordpress插件,

$ npm install hexo-migrator-wordpress --save

在WordPress 控制面板中,选择’工具’>’导出’>’WordPress’,导出你的WordPress 网站(参考WordPress 支持界面获得更多的帮助)
运行:

$ hexo migrate wordpress <source>

在这里,source目录是WordPress导出文件的路径或者URL。

1.5.5 Joomla

首先,安装hexo-migrator-joomla插件

$ npm install hexo-migrator-joomla --save

使用J2XML组件导出你的Joomla文章,运行:

$ hexo migrate joomla <source>

在这里,source目录是WordPress导出文件的路径或者URL。

2 基本使用

2.1 写作(Writing)

创建一篇新帖或者一个新页面,可以运行如下命令:

$ hexo new [layout] <title>

post是默认的布局,但你可以支持你自己的布局,你可以通过修改_config.yml配置文件中的default_layout属性来更改你的默认布局。

2.1.1 布局layout

Hexo有三个默认的布局:post, page and draft,文件会根据这三种布局分别创建自己并保存在不同的路径下。最新的文章保存在source/_posts文件夹中

Layout    Path
post    source/_posts
page    source
draft    source/_drafts

不要处理我的文章

如果你不想让你的文章被处理,你可以将布局属性layout:false 放在在你文件md的最上方,即文件最上方“—–”分隔的区域。

2.1.2 文件名(Filename)

默认情况下,Hexo使用帖子的标题作为文件名。你可以在_config.yml中编辑new_post_name属性来改变默认的文件名。例如::year-:month-:day-:title.md可以为文件名添加当前时间的前缀,你可以使用下面的placeholders:

Placeholder    Description
:title    Post title (lower case, with spaces replaced by hyphens)
:year    Created year, e.g. 2015
:month    Created month (leading zeros), e.g. 04
:i_month    Created month (no leading zeros), e.g. 4
:day    Created day (leading zeros), e.g. 07
:i_day    Created day (no leading zeros), e.g. 7

2.1.3 草稿Drafts

之前,我们提到使用特别的布局:draft。文章使用这个布局初始化之后,被保存到source/_drafts文件夹中。你可以及使用publis命令将草稿移动到source/_posts文件夹中,如下所示:

$ hexo publish [layout] <title>

草稿默认不会显示。当运行hexo或者在_config.yml文件中启用该设置项render_drafts时,你可以添加–draft选项,来提交草稿。

2.1.4 Scaffolds文件夹

当创建帖子时,Hexo将依据Scaffolds文件夹中相对应的文件构建文章,例如:

$ hexo new photo "My Gallery"

当你运行这个命令时,Hexo讲试图在scaffolds文件夹中寻找photo.md文件,并依据此文件构建帖子。下面的placeholders占位符可以用在Scaffolds上

Placeholder    Description
layout    Layout
title    Title
date    File created date

2.2 给一篇文章加多个tags

可以使用如下方式:

tags:[a,b,c]或者tags:
Link.