# assemble-plugin-sitemap [![NPM version](https://badge.fury.io/js/assemble-plugin-sitemap.png)](http://badge.fury.io/js/assemble-plugin-sitemap)  [![Build Status](https://travis-ci.org/GoldCome/assemble-plugin-sitemap.png)](https://travis-ci.org/GoldCome/assemble-plugin-sitemap) [![依赖模块状态](https://david-dm.org/GoldCome/assemble-plugin-sitemap.png)](http://david-dm.org/GoldCome/assemble-plugin-sitemap)
> Assemble的Sitemap生成插件

## Table of Contents
* [Quickstart](#quickstart)
* [Options](#options)
* [Usage Examples](#usage-examples)
* [Author](#author)
* [Release History](#release-history)
* [License](#license)


## Quickstart

包安装：

```bash
npm install assemble-plugin-sitemap --save
```
Gruntfile.js定制：

```js
module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    assemble: {
      options: {
        plugins: ['assemble-plugin-sitemap']
      },
      ...
    }
  });
  grunt.loadNpmTasks('assemble');
  grunt.registerTask('default', ['assemble']);
};
```


## Options
了解更多sitemap查看[sitemaps.org](http://www.sitemaps.org/protocol.html#xmlTagDefinitions)

### homepage
Type: `String`  
Default: `homepage` (来自package.json)

Site URL

### changefreq
Type: `String`

链接的更新频率选项，默认是文件中ymal定义的`changefrq`值，然后是选项`option.changefre`值，最后是`weekly`。

 - always
 - hourly
 - daily
 - weekly
 - monthly
 - yearly
 - never

### priority
Type: `String`

指定此链接相对于其他链接的优先权比值，此值定于0.0 - 1.0之间，默认是文件中ymal定义的`priority`值，然后是选项`option.priority`值，最后是`0.5`。

### exclusions
Type: `Array`  
Default: `['404']`

排除列表，默认是404页面。

```js
options: {
  sitemap: {
    exclusions: ["foo", "bar"],
  },
  files: {
    ...
  }
}
```

#### robot
Type: `Boolean`  
Default: `true`

生成`robots.txt`根据`exclusions` 列表，所有任务汇总成为一个。

***注意：robot的生成路径，如果存在relativedest，则相对于dest，否则page，一般为了汇总一个，都设置relativedest和dest，确定根目录，而且可以存放robot.txt***

#### relativedest: true
Type: `Boolean`

生成sitemap内容链接的相对路径开关，配合dest选项，内容链接输出路径相对于dest，否则路径默认是page输出路径。

***注意sitemap本身路径总是page的输出路径***

#### dest
Type: `String`

生成sitemap的相对路径

### sitemap
Type: `Boolean`
Default: `true`
这个选项是在markdown文档中的，是否把该文档写入sitemap中，默认是true




## Usage Examples
### 基本用法

最基本用法:

```js
assemble: {
  blog: {
    options: {
      plugins: ['assemble-plugin-sitemap'],
    },
    files: {
      './blog/': ['./templates/blog/*.hbs']
    }
  }
}

```

### 结果

```js
./blog/sitemap.xml
./blog/robots.txt
```

### 高级

```js
assemble: {
  blog: {
    options: {
      plugins: ['assemble-plugin-sitemap'],
      sitemap: {
        homepage: 'http://www.gdcome.com',
            changefreq: 'daily',
            priority: '0.8',
            exclude: ['50x', 'foo'],
            robot: false,
            urldelete: 'test/'
      }
    },
    files: {
      './blog/': ['./templates/blog/*.hbs']
    }
  }
}
```

### 结果

```js
./blog/sitemap.xml
```



## Author
**GoldCome**

+ Github： https://github.com/GoldCome
+ Blog：http://www.gdcome.com
+ QQ/Email: 363359243@qq.com

## Release History

 * 2014-02-18   v0.0.0   更具我的项目重构sitemap生成器
 * 2014-02-19   v0.0.1   修正robot选项失灵，默认false现在 增加drone持续集成测试
 * 2014-02-19   v0.0.2   robot修改为默认为true
 * 2014-02-21   v0.0.3   重构README.md文档模板 去除不必要的文件 增加sitemap选项，是否写入sitemap 重命名插件名称为index.js 用bootstrap完善测试模板
 * 2014-03-09   v0.0.4   拉取源gihub整合 priority也可以在page定义 为页面增加sitemap开关
 * 2014-03-09   v0.0.5   修正relativedest生成sitemap会覆盖问题
 * 2014-03-13   v0.0.6   修正README.md和重新命名发布到npm 修正在markdown中定义sitemap文档无法再robots体现 重构robots生成器

## License
Copyright (c) 2014 goldcome, contributors.
Released under the  license

***

_This file was generated on Saturday, March 15, 2014._