added support for enclosure

Author: Victor Jonsson <kontakt@victorjonsson.se>
This commit is contained in:
Dylan Greene
2013-06-30 15:45:10 -04:00
parent 52011922b6
commit 5dbeaf12c9
5 changed files with 80 additions and 4 deletions

View File

@@ -2,7 +2,9 @@
Documentation coming soon.
*/
var XML = require('xml');
var XML = require('xml'),
mime = require('mime'),
fs = require('fs');
function RSS (options, items) {
options = options || {};
@@ -24,7 +26,8 @@ function RSS (options, items) {
guid: options.guid,
categories: options.categories || [],
author: options.author,
date: options.date
date: options.date,
enclosure: options.enclosure || false
};
this.items.push(item);
@@ -72,7 +75,33 @@ function generateXML (data){
ifTruePush(item.author || data.author, item_values, { 'dc:creator': { _cdata: item.author || data.author } });
ifTruePush(item.date, item_values, { pubDate: new Date(item.date).toGMTString() });
if( item.enclosure && item.enclosure.url ) {
if( item.enclosure.file ) {
item_values.push({
enclosure : {
_attr : {
url : item.enclosure.url,
length : fs.statSync(item.enclosure.file).size,
type : mime.lookup(item.enclosure.file)
}
}
});
} else {
item_values.push({
enclosure : {
_attr : {
url : item.enclosure.url,
length : item.enclosure.size || 0,
type : mime.lookup(item.enclosure.url)
}
}
});
}
}
channel.push({ item: item_values });
});
return { rss: [