Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hi! I cleaned up your code for you! #35

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions lib/wheat/data.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ function sandbox(snippet) {
stdout.on('data', function(data) {
snippet.output += data.toString();
});

var env = {
clear: function () { snippet.output = ""; },
require: fakeRequire,
Expand Down Expand Up @@ -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());
});
}
Expand Down
78 changes: 39 additions & 39 deletions lib/wheat/markdown.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 "";
}
Expand Down Expand Up @@ -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 <hr />. It was easier to make a special case than
// to make the other regex more complicated.
// to make the other regex more complicated.

/*
text = text.replace(/
Expand All @@ -260,7 +260,7 @@ var _HashHTMLBlocks = function(text) {
[ ]{0,3}
(<(hr) // start tag = $2
\b // word break
([^<>])*? //
([^<>])*? //
\/?>) // the matching end tag
[ \t]*
(?=\n{2,}) // followed by a blank line
Expand Down Expand Up @@ -318,13 +318,13 @@ var hashElement = function(wholeMatch,m1) {
// Undo double lines
blockText = blockText.replace(/\n\n/g,"\n");
blockText = blockText.replace(/^\n/,"");

// strip trailing blank lines
blockText = blockText.replace(/\n+$/g,"");

// Replace the element text with a marker ("~KxK" where x is its key)
blockText = "\n\n~K" + (g_html_blocks.push(blockText)-1) + "K\n\n";

return blockText;
};

Expand Down Expand Up @@ -390,7 +390,7 @@ var _EscapeSpecialCharsWithinTagAttributes = function(text) {
// don't conflict with their use in Markdown for code, italics and strong.
//

// Build a regex to find HTML tags and comments. See Friedl's
// Build a regex to find HTML tags and comments. See Friedl's
// "Mastering Regular Expressions", 2nd Ed., pp. 200-201.
var regex = /(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|<!(--.*?--\s*)+>)/gi;

Expand Down Expand Up @@ -495,14 +495,14 @@ var writeAnchorTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) {
var link_id = m3.toLowerCase();
var url = m4;
var title = m7;

if (url == "") {
if (link_id == "") {
// lower-case and turn embedded newlines into spaces
link_id = link_text.toLowerCase().replace(/ ?\n/g," ");
}
url = "#"+link_id;

if (g_urls[link_id] != undefined) {
url = g_urls[link_id];
if (g_titles[link_id] != undefined) {
Expand All @@ -517,19 +517,19 @@ var writeAnchorTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) {
return whole_match;
}
}
}
}

url = escapeCharacters(url,"*_");
var result = "<a href=\"" + url + "\"";

if (title != "") {
title = title.replace(/"/g,"&quot;");
title = escapeCharacters(title,"*_");
result += " title=\"" + title + "\"";
}

result += ">" + link_text + "</a>";

return result;
}

Expand Down Expand Up @@ -600,14 +600,14 @@ var writeImageTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) {
var title = m7;

if (!title) title = "";

if (url == "") {
if (link_id == "") {
// lower-case and turn embedded newlines into spaces
link_id = alt_text.toLowerCase().replace(/ ?\n/g," ");
}
url = "#"+link_id;

if (g_urls[link_id] != undefined) {
url = g_urls[link_id];
if (g_titles[link_id] != undefined) {
Expand All @@ -617,8 +617,8 @@ var writeImageTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) {
else {
return whole_match;
}
}
}

alt_text = alt_text.replace(/"/g,"&quot;");
url = escapeCharacters(url,"*_");
var result = "<img src=\"" + url + "\" alt=\"" + alt_text + "\"";
Expand All @@ -631,9 +631,9 @@ var writeImageTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) {
title = escapeCharacters(title,"*_");
result += " title=\"" + title + "\"";
//}

result += " />";

return result;
}

Expand All @@ -643,7 +643,7 @@ var _DoHeaders = function(text) {
// Setext-style headers:
// Header 1
// ========
//
//
// Header 2
// --------
//
Expand Down Expand Up @@ -727,7 +727,7 @@ var _DoLists = function(text) {
// paragraph for the last item in a list, if necessary:
list = list.replace(/\n{2,}/g,"\n\n\n");;
var result = _ProcessListItems(list);

// Trim any trailing whitespace, to put the closing `</$list_type>`
// up on the preceding line, to get it past the current stupid
// HTML block parser. This is a hack to work around the terrible
Expand All @@ -747,7 +747,7 @@ var _DoLists = function(text) {
// paragraph for the last item in a list, if necessary:
var list = list.replace(/\n{2,}/g,"\n\n\n");;
var result = _ProcessListItems(list);
result = runup + "<"+list_type+">\n" + result + "</"+list_type+">\n";
result = runup + "<"+list_type+">\n" + result + "</"+list_type+">\n";
return result;
});
}
Expand Down Expand Up @@ -833,7 +833,7 @@ _ProcessListItems = function(list_str) {
var _DoCodeBlocks = function(text) {
//
// Process Markdown `<pre><code>` blocks.
//
//

/*
text = text.replace(text,
Expand All @@ -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
Expand All @@ -882,26 +882,26 @@ var hashBlock = function(text) {
var _DoCodeSpans = function(text) {
//
// * Backtick quotes are used for <code></code> 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:
//
//
// <p>Just type <code>foo `bar` baz</code> at the prompt.</p>
//
//
// 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 <code>`bar`</code> ...
//

Expand Down Expand Up @@ -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 <pre> content, so we need to fix that:
bq = bq.replace(
Expand All @@ -1016,7 +1016,7 @@ var _DoBlockQuotes = function(text) {
pre = pre.replace(/~0/g,"");
return pre;
});

return hashBlock("<blockquote>\n" + bq + "\n</blockquote>");
});
return text;
Expand Down Expand Up @@ -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,"&amp;");

// Encode naked <'s
text = text.replace(/<(?![a-z\/?\$!])/gi,"&lt;");

return text;
}

Expand Down
4 changes: 2 additions & 2 deletions lib/wheat/renderers.js
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down