<!--
Title: 官方插件及配置指南
ID: plugin-configure
Date: 2013-11-06 12:21:00
Status: publish
Type: post
Tags: 配置, 指南, 插件
Excerpt: 介绍官方自带的插件及配置指南，包括支持Dropbox的插件，支持Git的插件，用于本地存储的插件。用于本地缓存的插件，主题插件等。
-->

Purelog重度依赖插件，很多工作都需要由插件来完成，比如说RSS，比如说实现从Dropbox读取文章，比如说主题、数据统计等等，这些都需要由插件来完成。

Purelog的插件安装十分简单，只需要在终端输入`npm install plugin-name`，然后在`config.js`文件中加入相应的配置就可以了。

下面介绍几个官方的插件及配置：

##purelog-storage-local

这个获取用于获取指定目录下的markdown文件。

###配置

* filter - 过滤文件的正则表达式，默认为`/\.((md)|(markdown))$/i`，即只获取扩展名为md和markdown的文件。
* content - 文章的存放目录，目前只支持相对目录，默认为`content`，也就说，默认情况，你的博客文章应该放在`安装目录/content`下
* `meta` - 用于处理markdown文件的meta映射，由于markdown的meta没有统一的标准，所以这里需要一个映射。
	* `publish_date` - 发布日期，可配置项有三个
		* `match` - 匹配markdown文件中的日期meta，默认为`/publish_date/i`
		* `format` - 如果你的日期格式不是标准的日期格式，则需要在这里配置日期的格式，支持多格式并列，如`["YYYY-MM-DD", "YYYY-MM-DD hh:mm:ss"]`，则会顺序匹配格式，如果无法匹配，则会采用当天的日期。
	* `link` - 链接，默认match为`/link/i`
	* `title` - 标题，默认match到`/title/i`
	* `excerpt` - 摘要，默认match到`/excerpt/i`
	* `status` - 状态，默认match到`/status/i`，注意，只有`status`为`publish`的文章才会被索引
	* `type` - 文章类型，可以是`post`, `page`之一，目前还不支持`page`
	* `tags` - 标签，默认match到`tags`
		* `separator` - 可以指定标签的分隔符，可以为正则表达式或字符，默认为`,`。例如考虑到有些人会使用全角的逗号作为标签的分隔符，你可以使用这样的正则表达式`/,|，/`，如果你喜欢用空格，则可以用这样的正则表达式`/\s/`作为标签的分隔符

一个典型的`purelog-storage-local`插件在`config.js`的配置如下：

    "storage":{
      "package": "purelog-storage-local",
      //选项
      "options": {
        //文件过滤
        filter: /\.((md)|(markdown))$/i,
        //本地存放的路径，相对于程序远行的目录
        "content": "content",
        //meta的映射
        "meta":{
          //发布日期
          "publish_date": {
            match: /date/i,
            format: ["YYYY-MM-DD", "YYYY-MM-DD hh:mm:ss"]
          },
          "link": {
            match: /id/i
          }
        }
      }
    }

##purelog-storage-dropbox

从dropbox共享链接中下载所有文件到本地，并提取所有的markdown文件。

###配置

* `url` - dropbox的共享链接
* `content` - 等同于`purelog-storage-local`中的`content`，但这里建议使用其它名称，如`dropbox`

`purelog-storage-dropbox`插件依赖于`purelog-storage-local`，其它配置与`purelog-storage-local`的配置完全一样。


##purelog-storage-git

从git中获取某个仓库的文件到本地，并提取分析所有的markdown文件。注意，`purelog-storage-git`依赖于`git`命令，所以，你必需在服务器上安装好git。

###配置

* `url` - git的仓库地址
* `content` - git本地存放文件夹，不建议使用与`purelog-storage-local`相同的文件夹。

`purelog-storage-git`插件依赖于`purelog-storage-local`，其它配置与`purelog-storage-local`的配置完全一样。

##purelog-router-rss

实现Purelog的RSS功能

###配置

* `full` - 是否支持全文输出，默认为`true`
* `limit` - 输出多少条文章，默认为20
* `rss` - rss的地址，如果没有设置，则使用`blog`键下的rss地址，默认为不设置(注意，此项功能未实现)

典型的`purelog-router-rss`在`config.js`中配置如下：

    "routes":[
      {
        //插件的唯一名称
        "package": "purelog-router-rss",
        //插件的配置，可选
        "options": {
          //是否全文输出
          full: true,
          //输出多少条记录
          limit: 20
        }
      }
    ]

##purelog-theme-ghost

与Ghost默认主题一样的主题，此主题完全使用[Ghost](http://ghost.org)的代码，在此表示感谢。

### 配置

无相关配置

##purelog-reduce-cache

整理数据的插件，将数据保存在内存中

### 配置

* `cache_content` - 是事缓存内容，默认为`true`（现在请不要设置为`false`）