0.2.5 • Published 10 years ago

assemble-middleware-rss v0.2.5

Weekly downloads
4
License
MIT
Repository
github
Last release
10 years ago

assemble-middleware-rss NPM version Build Status

RSS generator plugin for Assemble.

Quickstart

From the same directory as your project's gruntfile and package.json, install this plugin:

npm install assemble-middleware-rss --save-dev

Next add assemble-middleware-rss, the name of this module, to the plugins option in the Assemble task:

options: {
  plugins: ['assemble-middleware-rss'],
  rss: {
    title: 'RSS Feed Title',
    description: 'RSS feed description.'
  }
}

Note: Author is also required, but it is pulled from package.json by default. As long as you have a package.json file in the root directory, you don't need to include author in the options.

See the options for further configuration.

Options

Plugin Options

OptionTypeDescriptionDefault Value
formatbooleanFormat output XML file using js-prettifyfalse
deststringDestination and filename of the generated RSS feed'feed.xml'

RSS Feed Data

Data for the RSS <channel> element.

This data is defined under the plugin configuration.

assemble: {
  options: {
    rss: {
      title: 'foo',
      description: 'bar'
    }
  }
}
RequiredTypeDesciptionDefault Value
titlestringDefines the title of the channelpkg.name
descriptionstringDescribes the channelpkg.description
linkstringDefines the hyperlink to the channelpkg.homepage
OptionalTypeDescriptionDefault Value
categoriesarrayDefines one or more categories for the feed
cloudstringRegister processes to be notified immediately of updates of the feed
copyrightstringNotifies about copyrighted material
docsstringSpecifies an URL to the documentation of the format used in the feed
generatorstringSpecifies the program used to generate the feed
imagestringAllows an image to be displayed when aggregators present a feed
languagestringSpecifies the language the feed is written in'en'
lastBuildDatestringDefines the last-modified date of the content of the feed
managingEditorstringDefines the e-mail address to the editor of the content of the feed
pubDatestringDefines the last publication date for the content of the feed
ratingstringThe PICS rating of the feed
skipDaysstringSpecifies the days where aggregators should skip updating the feed
skipHoursstringSpecifies the hours where aggregators should skip updating the feed
textInputstringpecifies a text input field that should be displayed with the feed
ttlstringSpecifies the number of minutes the feed can stay cached'60'
webmasterstringDefines the email address to the webmaster of the feed
geoRSSbooleanEnable or disable GeoRSSfalse

RSS Item Data

Data for the RSS <item>element(s).

The data for feed items is generally grabbed from the YAML Front Matter.

title: Foo
desciption: This is foo.

Three values are required for the RSS feed to generate:

ValueTypeDescription
titlestringDefines the title of the item
descriptionstringDescribes the item

All other values are optional:

ValueTypeDesciption
authorstringSpecifies the e-mail address to the author of the item
datestringDefines the last-publication date for the item
linkstringDefines the hyperlink to the item
categoriesstringDefines one or more categories the item belongs to
commentsstringAllows an item to link to comments about that item
guidstringDefines a unique identifier for the item
sourcestringSpecifies a third-party source for the item
latnumberThe latitude coordinate of the item
longnumberThe longitude coordinate of the item

Excluding content

Both published: false and rss: false will exclude an item from the feed. However, note that published: false will entirely prevent a page from being assembled.

Usage Examples

Generate feed using only required options.

options: {
  rss: {
    title: 'RSS feed description.',
    description: 'RSS feed description.'
  }
}

RSS Specifications

RSS Feed

The RSS feed is generated using the RSS module, a fast and simple RSS generator/builder for Node projects by Dylan Greene. Some of the options this module has are not fully documented here, but are availabe; the information you might need should be with in Greene's documentation.

The content for the RSS feed is pulled from several sources.

As much of the content for the feed as possible is pulled from package.json, e.g. the author name and email; the site name and url. This functionality can be overidden by specifying the feed data in the plugin configuartion. See the options documentaion.

RSS Feed Items

The data for each item is pulled from YAML Front Matter (YFM).

title: foo
desciption: bar

If you do not want to include a page in the RSS feed, you don't have to.

rss: false

The item data you can define in the YFM is listed under the options


Built with care by Patrick Burtchaell in New Orleans.

Copyright (c) 2014 Patrick Burtchaell, Jon Schlinkert, contributors. Released under the MIT license.