updated lifestyle feed

This commit is contained in:
martind2000 2016-03-16 00:16:49 +00:00
parent 3d67f74622
commit 7ca50d2c7a
2 changed files with 277 additions and 186 deletions

View File

@ -3,7 +3,7 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="c2fd5632-2143-4c7e-8b0d-96d7692b700b" name="Default" comment=""> <list default="true" id="c2fd5632-2143-4c7e-8b0d-96d7692b700b" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/html/js/jquery.unveil.js" afterPath="$PROJECT_DIR$/html/js/jquery.unveil.js" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lifestyle.js" afterPath="$PROJECT_DIR$/lifestyle.js" />
</list> </list>
<ignored path="rinser.iws" /> <ignored path="rinser.iws" />
<ignored path=".idea/workspace.xml" /> <ignored path=".idea/workspace.xml" />
@ -24,7 +24,7 @@
<favorites_list name="rinser" /> <favorites_list name="rinser" />
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<splitter split-orientation="horizontal" split-proportion="0.5"> <splitter split-orientation="horizontal" split-proportion="0.7724336">
<split-first> <split-first>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="index.html" pinned="false" current-in-tab="false"> <file leaf-file-name="index.html" pinned="false" current-in-tab="false">
@ -37,11 +37,11 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="lifestyle.js" pinned="false" current-in-tab="false"> <file leaf-file-name="lifestyle.js" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/lifestyle.js"> <entry file="file://$PROJECT_DIR$/lifestyle.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0"> <state vertical-scroll-proportion="0.82804567">
<caret line="203" column="35" selection-start-line="203" selection-start-column="35" selection-end-line="203" selection-end-column="35" /> <caret line="250" column="53" selection-start-line="250" selection-start-column="53" selection-end-line="250" selection-end-column="53" />
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -119,7 +119,7 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="fix_images.js" pinned="false" current-in-tab="true"> <file leaf-file-name="fix_images.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/plugins/fix_images.js"> <entry file="file://$PROJECT_DIR$/plugins/fix_images.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0"> <state vertical-scroll-proportion="0.0">
@ -146,7 +146,7 @@
<file leaf-file-name="gulpfile.js" pinned="false" current-in-tab="true"> <file leaf-file-name="gulpfile.js" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/gulpfile.js"> <entry file="file://$PROJECT_DIR$/gulpfile.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.1875"> <state vertical-scroll-proportion="0.18888889">
<caret line="18" column="0" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" /> <caret line="18" column="0" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<folding /> <folding />
</state> </state>
@ -226,7 +226,6 @@
<option value="$PROJECT_DIR$/paleo.js" /> <option value="$PROJECT_DIR$/paleo.js" />
<option value="$PROJECT_DIR$/tech.js" /> <option value="$PROJECT_DIR$/tech.js" />
<option value="$PROJECT_DIR$/news.js" /> <option value="$PROJECT_DIR$/news.js" />
<option value="$PROJECT_DIR$/lifestyle.js" />
<option value="$PROJECT_DIR$/dist/js/vendor.js" /> <option value="$PROJECT_DIR$/dist/js/vendor.js" />
<option value="$PROJECT_DIR$/html/js/app.v3.js" /> <option value="$PROJECT_DIR$/html/js/app.v3.js" />
<option value="$PROJECT_DIR$/dist/js/app.js" /> <option value="$PROJECT_DIR$/dist/js/app.js" />
@ -234,6 +233,7 @@
<option value="$PROJECT_DIR$/html/css/app.css" /> <option value="$PROJECT_DIR$/html/css/app.css" />
<option value="$PROJECT_DIR$/html/index.html" /> <option value="$PROJECT_DIR$/html/index.html" />
<option value="$PROJECT_DIR$/html/js/jquery.unveil.js" /> <option value="$PROJECT_DIR$/html/js/jquery.unveil.js" />
<option value="$PROJECT_DIR$/lifestyle.js" />
</list> </list>
</option> </option>
</component> </component>
@ -248,10 +248,9 @@
</gulpfiles> </gulpfiles>
</component> </component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="-11" /> <option name="x" value="-10" />
<option name="y" value="-11" /> <option name="width" value="1940" />
<option name="width" value="3862" /> <option name="height" value="2110" />
<option name="height" value="2122" />
</component> </component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true"> <component name="ProjectLevelVcsManager" settingsEditedManually="true">
<OptionsSetting value="true" id="Add" /> <OptionsSetting value="true" id="Add" />
@ -705,19 +704,25 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1458081399688</updated> <updated>1458081399688</updated>
</task> </task>
<option name="localTasksCounter" value="32" /> <task id="LOCAL-00032" summary="Reduced jpeg image quality to 80%, reduces a lot of bandwidth with not much visible impact.">
<created>1458081989835</created>
<option name="number" value="00032" />
<option name="project" value="LOCAL" />
<updated>1458081989835</updated>
</task>
<option name="localTasksCounter" value="33" />
<servers /> <servers />
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="-11" y="-11" width="3862" height="2122" extended-state="6" /> <frame x="-10" y="0" width="1940" height="2110" extended-state="0" />
<editor active="false" /> <editor active="false" />
<layout> <layout>
<window_info id="Gulp" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" /> <window_info id="Gulp" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.12923563" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26100796" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33551913" sideWeight="0.34785393" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33551913" sideWeight="0.34785393" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.13568099" sideWeight="0.48606148" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.13652945" sideWeight="0.48606148" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33506224" sideWeight="0.65214604" order="2" side_tool="false" content_ui="tabs" /> <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33506224" sideWeight="0.65214604" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32896176" sideWeight="0.4838976" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32896176" sideWeight="0.4838976" order="7" side_tool="false" content_ui="tabs" />
@ -776,7 +781,8 @@
<MESSAGE value="limit image size to 900px" /> <MESSAGE value="limit image size to 900px" />
<MESSAGE value="force images through our image server" /> <MESSAGE value="force images through our image server" />
<MESSAGE value="Max images out at 1140px wide" /> <MESSAGE value="Max images out at 1140px wide" />
<option name="LAST_COMMIT_MESSAGE" value="Max images out at 1140px wide" /> <MESSAGE value="Reduced jpeg image quality to 80%, reduces a lot of bandwidth with not much visible impact." />
<option name="LAST_COMMIT_MESSAGE" value="Reduced jpeg image quality to 80%, reduces a lot of bandwidth with not much visible impact." />
</component> </component>
<component name="XDebuggerManager"> <component name="XDebuggerManager">
<breakpoint-manager> <breakpoint-manager>
@ -1079,14 +1085,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lifestyle.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="203" column="35" selection-start-line="203" selection-start-column="35" selection-end-line="203" selection-end-column="35" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/html/assets/fm.png"> <entry file="file://$PROJECT_DIR$/html/assets/fm.png">
<provider selected="true" editor-type-id="images"> <provider selected="true" editor-type-id="images">
<state /> <state />
@ -1147,5 +1145,13 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/lifestyle.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.82804567">
<caret line="250" column="53" selection-start-line="250" selection-start-column="53" selection-end-line="250" selection-end-column="53" />
<folding />
</state>
</provider>
</entry>
</component> </component>
</project> </project>

View File

@ -1,225 +1,310 @@
var outputFile = 'lifestyle', var outputFile = 'lifestyle', RssBraider = require('rss-braider'), fs = require(
RssBraider = require('rss-braider'), 'fs'), ejs = require('ejs'), read = require('fs').readFileSync, join = require(
fs = require('fs'), 'path').join, str = read(join(__dirname, '/templates/rss.ejs'),
ejs = require('ejs'), 'utf8'), feeds = {};
read = require('fs').readFileSync,
join = require('path').join,
str = read(join(__dirname, '/templates/rss.ejs'), 'utf8'),
feeds = {};
// Pull feeds from config files: , // Pull feeds from config files: ,
// feeds.simple_test_feed = require("./config/feed").feed; // feeds.simple_test_feed = require("./config/feed").feed;
// Or define in-line // Or define in-line
feeds.simple_test_feed = { feeds.simple_test_feed = {
"feed_name": "feed", "feed_name": "feed", "default_count": 1, "no_cdata_fields": [], // Don't wrap these fields in CDATA tags
"default_count": 1, "meta": {
"no_cdata_fields": [], // Don't wrap these fields in CDATA tags "title": "Lifestyle",
"meta": { "description": "Combined Lifestyle Feed",
"title": "Lifestyle", 'site_url': 'http://pipes.silvrtree.co.uk/lifestyle.xml'
"description": "Combined Lifestyle Feed", }, "plugins": ['filter_last_week', 'fix_images', 'fix_scripts'], "sources": [
'site_url': 'http://pipes.silvrtree.co.uk/lifestyle.xml' {
"count": 100,
"feed_url": "http://feeds2.feedburner.com/acquire"
}, },
"plugins": ['filter_last_week', 'fix_images', 'fix_scripts'],
"sources": [{
"count": 100, {
"feed_url": "http://feeds2.feedburner.com/acquire"
},
{ "count": 100,
"feed_url": "http://www.fhm.com/category/style/feed"
},
{
"count": 100, "count": 100,
"feed_url": "http://www.fhm.com/category/style/feed" "feed_url": "http://www.askmen.com/style.rss"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.askmen.com/style.rss" "feed_url": "http://www.askmen.com/fine_living.rss"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.askmen.com/fine_living.rss" "feed_url": "http://www.askmen.com/money.rss"
}, { }
/*,
{
"count": 100, "count" : 100,
"feed_url": "http://www.askmen.com/money.rss" "feed_url" : "http://abetterguy.com/feed/"
} }*/,
/*,
{
"count" : 100, {
"feed_url" : "http://abetterguy.com/feed/"
}*/
,
{ "count": 100,
"feed_url": "http://www.dmarge.com/feed"
},
{
"count": 100, "count": 100,
"feed_url": "http://www.dmarge.com/feed" "feed_url": "http://www.esquire.com/rss/all.xml"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.esquire.com/rss/all.xml" "feed_url": "http://feeds.feedburner.com/gearpatrol"
}, { },
"count": 100, {
"feed_url": "http://feeds.feedburner.com/gearpatrol"
},
{ "count": 100,
"feed_url": "http://www.getkempt.com/rss.xml"
},
{
"count": 100, "count": 100,
"feed_url": "http://www.getkempt.com/rss.xml" "feed_url": "http://feeds.feedburner.com/kinowear"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds.feedburner.com/kinowear" "feed_url": "http://www.mensfitness.co.uk/feeds/all"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.mensfitness.co.uk/feeds/all" "feed_url": "http://feeds.feedburner.com/TheArtOfManliness"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds.feedburner.com/TheArtOfManliness" "feed_url": "http://www.trunkclub.com/blog/feed"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.trunkclub.com/blog/feed" "feed_url": "http://feeds.feedburner.com/acontinuouslean/"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds.feedburner.com/acontinuouslean/" "feed_url": "http://www.fashionbeans.com/feed/"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.fashionbeans.com/feed/" "feed_url": "http://feeds.feedburner.com/MensFlair?format=xml"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds.feedburner.com/MensFlair?format=xml" "feed_url": "http://feeds.feedburner.com/TheChoosyBeggar"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds.feedburner.com/TheChoosyBeggar" "feed_url": "http://www.valetmag.com/distribution/rss_all.xml"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.valetmag.com/distribution/rss_all.xml" "feed_url": "http://putthison.com/rss"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://putthison.com/rss" "feed_url": "http://dieworkwear.com/rss"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://dieworkwear.com/rss" "feed_url": "http://menofhabit.tumblr.com/rss"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://menofhabit.tumblr.com/rss" "feed_url": "http://www.hodinkee.com/blog/rss.xml"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.hodinkee.com/blog/rss.xml" "feed_url": "http://feeds.feedburner.com/firstinwatches"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds.feedburner.com/firstinwatches" "feed_url": "http://feeds2.feedburner.com/primermagazine/otzU"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds2.feedburner.com/primermagazine/otzU" "feed_url": "http://chrisguillebeau.com/3x5/feed/"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://chrisguillebeau.com/3x5/feed/" "feed_url": "http://feeds.feedburner.com/TheAwesomer"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds.feedburner.com/TheAwesomer" "feed_url": "http://bondclothes.blogspot.com/feeds/posts/default"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://bondclothes.blogspot.com/feeds/posts/default" "feed_url": "http://affordablebond007.tumblr.com/rss"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://affordablebond007.tumblr.com/rss" "feed_url": "http://thecozyspace.tumblr.com/rss"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://thecozyspace.tumblr.com/rss" "feed_url": "http://www.gentlemansgazette.com/feed/"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://www.gentlemansgazette.com/feed/" "feed_url": "http://feeds.feedburner.com/wellspent"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://feeds.feedburner.com/wellspent" "feed_url": "http://hespokestyle.com/feed/"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://hespokestyle.com/feed/" "feed_url": "http://effortlessgent.com/feed/"
}, { },
{
"count": 100, "count": 100,
"feed_url": "http://effortlessgent.com/feed/" "feed_url": "https://feeds.feedburner.com/thisfits"
}, { },
{
"count": 100,
"feed_url": "http://www.businessoffashion.com/syndication/feed"
},
{
"count": 100,
"feed_url": "http://dieworkwear.com/rss"
},
{
"count": 100,
"feed_url": "http://georgehahn.com/feed/"
},
{
"count": 100,
"feed_url": "http://www.mensjournal.com/services/rss/gear"
}
"count": 100, ,
"feed_url": "https://feeds.feedburner.com/thisfits" {
} "count": 100,
] "feed_url": "http://www.mensjournal.com/services/rss/food-drink"
}
,
{
"count": 100,
"feed_url": "http://www.mensjournal.com/services/rss/travel"
}
,
{
"count": 100,
"feed_url": "http://www.mensjournal.com/services/rss/adventure"
}
,
{
"count": 100,
"feed_url": "http://www.mensjournal.com/services/rss/health-fitness"
}
,
{
"count": 100,
"feed_url": "http://www.mensjournal.com/services/rss/style"
},
{
"count": 100,
"feed_url": "https://feeds.feedburner.com/uncrate"
},
{
"count": 100,
"feed_url": "https://feeds.feedburner.com/ManOfMany"
},
{
"count": 100,
"feed_url": "http://www.mantelligence.com/feed/"
}
]
}; };
var braider_options = { var braider_options = {
feeds: feeds, feeds: feeds,
indent: " ", indent: " ",
date_sort_order: "desc", // Newest first date_sort_order: "desc", // Newest first
log_level: "warn", log_level: "warn",
dedupe_fields: ['link', 'guid'], dedupe_fields: ['link', 'guid'],
plugins_directories: [__dirname + "/plugins/"] plugins_directories: [__dirname + "/plugins/"]
}; };
var rss_braider = RssBraider.createClient(braider_options); var rss_braider = RssBraider.createClient(braider_options);
// Override logging level (debug, info, warn, err, off) // Override logging level (debug, info, warn, err, off)
//rss_braider.logger.level('off'); //rss_braider.logger.level('off');
rss_braider.processFeed('simple_test_feed', 'json', function (err, data) { rss_braider.processFeed('simple_test_feed', 'json', function(err, data) {
if (err) { if (err) {
return console.log(err);
}
var j = JSON.parse(data);
var ejsOutput = ejs.compile(str)(j);
fs.writeFile(__dirname + "/dist/" + outputFile + ".json",
data,
function(err) {
if (err) {
return console.log(err); return console.log(err);
} }
var j = JSON.parse(data); console.log("The file was saved!");
var ejsOutput = ejs.compile(str)(j);
fs.writeFile(__dirname + "/dist/" + outputFile + ".json", data, function (err) {
if (err) {
return console.log(err);
}
console.log("The file was saved!");
}); });
fs.writeFile(__dirname + "/dist/" + outputFile + ".html", ejsOutput, function (err) { fs.writeFile(__dirname + "/dist/" + outputFile + ".html",
ejsOutput,
function(err) {
if (err) { if (err) {
return console.log(err); return console.log(err);
} }
console.log("The file was saved!"); console.log("The file was saved!");
}); });
}); });
/* /*
rss_braider.processFeed('simple_test_feed', 'rss', function (err, data) { rss_braider.processFeed('simple_test_feed', 'rss', function (err, data) {
fs.writeFile(__dirname + "/html/" + outputFile + ".xml", data, function (err) { fs.writeFile(__dirname + "/html/" + outputFile + ".xml", data, function (err) {
if (err) { if (err) {
return console.log(err); return console.log(err);
} }
console.log("The file was saved!"); console.log("The file was saved!");
}); });
}); });
*/ */