diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ac8f968 --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.o +*.so +*.pyc + +# Logs and databases # +###################### +*.log + +# OS generated files # +###################### +.DS_Store* +ehthumbs.db +Icon? +Thumbs.db diff --git a/lib/wheat/data.js b/lib/wheat/data.js index c98ead7..0d76624 100644 --- a/lib/wheat/data.js +++ b/lib/wheat/data.js @@ -80,7 +80,7 @@ function sandbox(snippet) { stdout.on('data', function(data) { snippet.output += data.toString(); }); - + var env = { clear: function () { snippet.output = ""; }, require: fakeRequire, @@ -229,7 +229,7 @@ var Data = module.exports = { props.author = author; if(props.categories != undefined){ - props.categories = props.categories.split(',').map(function(element){ + props.categories = props.categories.split(',').map(function(element){ return QueryString.escape(element.trim()); }); } diff --git a/lib/wheat/markdown.js b/lib/wheat/markdown.js index 042cad2..fc2b947 100644 --- a/lib/wheat/markdown.js +++ b/lib/wheat/markdown.js @@ -178,7 +178,7 @@ var _StripLinkDefinitions = function(text) { } else if (m4) { g_titles[m1] = m4.replace(/"/g,"""); } - + // Completely remove the definition from the text return ""; } @@ -251,7 +251,7 @@ var _HashHTMLBlocks = function(text) { text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math)\b[^\r]*?.*<\/\2>[ \t]*(?=\n+)\n)/gm,hashElement); // Special case just for
` blocks.
-//
+//
/*
text = text.replace(text,
@@ -850,12 +850,12 @@ var _DoCodeBlocks = function(text) {
// attacklab: sentinel workarounds for lack of \A and \Z, safari\khtml bug
text += "~0";
-
+
text = text.replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,
function(wholeMatch,m1,m2) {
var codeblock = m1;
var nextChar = m2;
-
+
codeblock = _EncodeCode( _Outdent(codeblock));
codeblock = _Detab(codeblock);
codeblock = codeblock.replace(/^\n+/g,""); // trim leading newlines
@@ -882,26 +882,26 @@ var hashBlock = function(text) {
var _DoCodeSpans = function(text) {
//
// * Backtick quotes are used for spans.
-//
+//
// * You can use multiple backticks as the delimiters if you want to
// include literal backticks in the code span. So, this input:
-//
+//
// Just type ``foo `bar` baz`` at the prompt.
-//
+//
// Will translate to:
-//
+//
// Just type foo `bar` baz at the prompt.
-//
+//
// There's no arbitrary limit to the number of backticks you
// can use as delimters. If you need three consecutive backticks
// in your code, use four for delimiters, etc.
//
// * You can use spaces to get literal backticks at the edges:
-//
+//
// ... type `` `bar` `` ...
-//
+//
// Turns to:
-//
+//
// ... type `bar` ...
//
@@ -1004,7 +1004,7 @@ var _DoBlockQuotes = function(text) {
bq = bq.replace(/^[ \t]+$/gm,""); // trim whitespace-only lines
bq = _RunBlockGamut(bq); // recurse
-
+
bq = bq.replace(/(^|\n)/g,"$1 ");
// These leading spaces screw with content, so we need to fix that:
bq = bq.replace(
@@ -1016,7 +1016,7 @@ var _DoBlockQuotes = function(text) {
pre = pre.replace(/~0/g,"");
return pre;
});
-
+
return hashBlock("\n" + bq + "\n
");
});
return text;
@@ -1075,14 +1075,14 @@ var _FormParagraphs = function(text) {
var _EncodeAmpsAndAngles = function(text) {
// Smart processing for ampersands and angle brackets that need to be encoded.
-
+
// Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:
// http://bumppo.net/projects/amputator/
text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&");
-
+
// Encode naked <'s
text = text.replace(/<(?![a-z\/?\$!])/gi,"<");
-
+
return text;
}
diff --git a/lib/wheat/renderers.js b/lib/wheat/renderers.js
index 7e44572..91618ad 100644
--- a/lib/wheat/renderers.js
+++ b/lib/wheat/renderers.js
@@ -209,11 +209,11 @@ var Renderers = module.exports = {
},
function applyTemplate(err, articles, description, categories) {
if (err) { callback(err); return; }
-
+
var articlesForCategory = articles.reduce(function (start, element){
return element.categories && element.categories.indexOf(category) >= 0 ? start.concat(element) : start;
}, []);
-
+
Tools.render("index", {
articles: articlesForCategory,
description: description,