From 3c27771b28ffc693e784c8646100764108ed82fa Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Tue, 10 Dec 2013 13:56:28 -0800 Subject: Adds exceptions to color rule for standard link styles --- guidelines/wikipedia/color.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'guidelines') diff --git a/guidelines/wikipedia/color.js b/guidelines/wikipedia/color.js index 2ff1f42..cc9fe75 100644 --- a/guidelines/wikipedia/color.js +++ b/guidelines/wikipedia/color.js @@ -12,6 +12,7 @@ exports.rule = function (report) { var $this = $(this); return $this.children().length == 0 && $.trim($this.text()).length > 0; }) + .filter(exceptions) .each(function (i) { var fg = fc.colorToRGB($(this).css('color')); var bg = fc.findBGColor($(this)); @@ -27,5 +28,24 @@ exports.rule = function (report) { } } }); - }; + +function exceptions() { + var $elem = $(this); + return !isStandardLink($elem) && + !isNavboxLink($elem); +} + +function isStandardLink($elem) { + var standard = ['new', 'external', 'extiw']; + var $a = $elem.closest('a'); + return $a.is('a') && standard.some(function(klass) { + return $a.hasClass(klass); + }); +} + +function isNavboxLink($elem) { + var $a = $elem.closest('a'); + var $nav = $a.closest('th.navbox-group'); + return $a.length > 0 && $nav.length > 0; +} -- cgit v1.2.3 From aac09743ba9990f0d8a3b0cdcd08acab454062e6 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Wed, 11 Dec 2013 15:17:56 -0800 Subject: Wikipedia guideline: minimize uses of bullet points --- guidelines/wikipedia/bullets.js | 8 ++++++++ guidelines/wikipedia/wikipedia.json | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 guidelines/wikipedia/bullets.js (limited to 'guidelines') diff --git a/guidelines/wikipedia/bullets.js b/guidelines/wikipedia/bullets.js new file mode 100644 index 0000000..80c5c4b --- /dev/null +++ b/guidelines/wikipedia/bullets.js @@ -0,0 +1,8 @@ +exports.name = "Minimize use of bullet points"; +exports.description = "Bullet points should be minimized in the body and lead of the article, if they are used at all."; + +exports.rule = function(report) { + $5('#mw-content-text > ul, #mw-content-text > ol').each(function() { + report.warning('Minimize use of bullet points.', this); + }); +}; diff --git a/guidelines/wikipedia/wikipedia.json b/guidelines/wikipedia/wikipedia.json index 87b20b1..17ed6c9 100644 --- a/guidelines/wikipedia/wikipedia.json +++ b/guidelines/wikipedia/wikipedia.json @@ -3,7 +3,8 @@ , "license": "BSD3" , "rules": [ "headingOrder.js" + , "bullets.js" , "strikeout.js" , "color.js" ] -} \ No newline at end of file +} -- cgit v1.2.3 From 29869e418f1322966b78bf546e6bdd13f2f28712 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Wed, 18 Dec 2013 15:01:36 -0800 Subject: Wikipedia guideline: minimize number of single-sentence paragraphs --- guidelines/wikipedia/paragraphLength.js | 15 +++++++++++++++ guidelines/wikipedia/wikipedia.json | 1 + 2 files changed, 16 insertions(+) create mode 100644 guidelines/wikipedia/paragraphLength.js (limited to 'guidelines') diff --git a/guidelines/wikipedia/paragraphLength.js b/guidelines/wikipedia/paragraphLength.js new file mode 100644 index 0000000..ba20306 --- /dev/null +++ b/guidelines/wikipedia/paragraphLength.js @@ -0,0 +1,15 @@ +exports.name = "Avoid single-sentence paragraphs"; +exports.description = "The number of single-sentence paragraphs should be minimized."; + +exports.rule = function(report) { + var sentenceBoundary = /[.?!](?:(?:\[\d+\])|['"])*(?:\s|$)/gm; + + $5('#mw-content-text p').each(function(i, p) { + var $p = $(p); + var text = $.trim($p.text()); + var boundaries = text && text.match(sentenceBoundary); + if (boundaries && boundaries.length === 1) { + report.warning('Paragraph with only one sentence: "' + text +'"', p); + } + }); +}; diff --git a/guidelines/wikipedia/wikipedia.json b/guidelines/wikipedia/wikipedia.json index 17ed6c9..3150c5e 100644 --- a/guidelines/wikipedia/wikipedia.json +++ b/guidelines/wikipedia/wikipedia.json @@ -6,5 +6,6 @@ , "bullets.js" , "strikeout.js" , "color.js" + , "paragraphLength.js" ] } -- cgit v1.2.3 From ff0f961df50651dfa7ee95e2374d20003bb56272 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Wed, 18 Dec 2013 15:44:35 -0800 Subject: Wikipedia guideline: there should only be one blank line between paragraphs --- guidelines/wikipedia/spaceBetweenParagraphs.js | 28 ++++++++++++++++++++++++++ guidelines/wikipedia/wikipedia.json | 1 + 2 files changed, 29 insertions(+) create mode 100644 guidelines/wikipedia/spaceBetweenParagraphs.js (limited to 'guidelines') diff --git a/guidelines/wikipedia/spaceBetweenParagraphs.js b/guidelines/wikipedia/spaceBetweenParagraphs.js new file mode 100644 index 0000000..ccab3a4 --- /dev/null +++ b/guidelines/wikipedia/spaceBetweenParagraphs.js @@ -0,0 +1,28 @@ +exports.name = "There should only be one blank line between paragraphs"; +exports.description = "Between sections - as between sections - there should be only a single blank line."; + +exports.rule = function(report) { + var problemPs = []; + + $5('p:has(> br)').each(function(i, p) { + var $p = $(p), prevP; + if ($.trim($p.text()).length === 0) { + prevP = $p.prevAll('p').filter(function(i, pp) { + return $.trim($(pp).text()).length > 0; + }).first(); + + if (prevP.length) { + problemPs.push(prevP.get(0)); + } + else { + report.error('Paragraph contains line breaks but does not contain text.', p); + } + } + }); + + _.uniq(problemPs, false).forEach(function(p) { + var text = $.trim($(p).text()); + report.error('Paragraph is followed by more than one blank line: '+ text, p); + }); +}; + diff --git a/guidelines/wikipedia/wikipedia.json b/guidelines/wikipedia/wikipedia.json index 3150c5e..ee641b6 100644 --- a/guidelines/wikipedia/wikipedia.json +++ b/guidelines/wikipedia/wikipedia.json @@ -6,6 +6,7 @@ , "bullets.js" , "strikeout.js" , "color.js" + , "spaceBetweenParagraphs.js" , "paragraphLength.js" ] } -- cgit v1.2.3 From 575b09496f09ee73837e9773d35a92579347ab49 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Wed, 18 Dec 2013 16:38:48 -0800 Subject: Wikipedia guideline: checks for images wider than 400px or taller than 500px --- guidelines/wikipedia/imageSize.js | 22 ++++++++++++++++++++++ guidelines/wikipedia/wikipedia.json | 1 + 2 files changed, 23 insertions(+) create mode 100644 guidelines/wikipedia/imageSize.js (limited to 'guidelines') diff --git a/guidelines/wikipedia/imageSize.js b/guidelines/wikipedia/imageSize.js new file mode 100644 index 0000000..7000b0b --- /dev/null +++ b/guidelines/wikipedia/imageSize.js @@ -0,0 +1,22 @@ +exports.name = "Large image"; +exports.description = "Images should be sized for comfortable display on the smallest displays in common use."; + +exports.rule = function(report) { + $5('#mw-content-text img').each(function() { + var $img = $(this); + if ($img.width() > 400 && !centered($img) && !locationNone($img)) { + report.warning('Image is more than 400px wide. Consider using the "center" or "none" location options for wide images', this); + } + if ($img.height() > 500 && !centered($img) && !locationNone($img)) { + report.warning('Image is more than 500px tall.', this); + } + }); +}; + +function centered($img) { + return $img.closest('.center').length > 0; +} + +function locationNone($img) { + return !centered($img) && $img.closest('.tnone').length > 0; +} diff --git a/guidelines/wikipedia/wikipedia.json b/guidelines/wikipedia/wikipedia.json index ee641b6..ea184cf 100644 --- a/guidelines/wikipedia/wikipedia.json +++ b/guidelines/wikipedia/wikipedia.json @@ -8,5 +8,6 @@ , "color.js" , "spaceBetweenParagraphs.js" , "paragraphLength.js" + , "imageSize.js" ] } -- cgit v1.2.3 From 7844e7c226712e2d5c27d7eca1e68b01fed1de43 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Wed, 18 Dec 2013 16:46:05 -0800 Subject: Wikipedia guideline: horizontal rules are deprecated --- guidelines/wikipedia/horizontalRule.js | 8 ++++++++ guidelines/wikipedia/wikipedia.json | 1 + 2 files changed, 9 insertions(+) create mode 100644 guidelines/wikipedia/horizontalRule.js (limited to 'guidelines') diff --git a/guidelines/wikipedia/horizontalRule.js b/guidelines/wikipedia/horizontalRule.js new file mode 100644 index 0000000..b16375d --- /dev/null +++ b/guidelines/wikipedia/horizontalRule.js @@ -0,0 +1,8 @@ +exports.name = "Horizontal rules are deprecated"; +exports.description = "Horizontal rules (----) are deprecated."; + +exports.rule = function(report) { + $5('#mw-content-text hr').each(function(i, hr) { + report.warning('Remove horizontal rule.', hr); + }); +}; diff --git a/guidelines/wikipedia/wikipedia.json b/guidelines/wikipedia/wikipedia.json index ea184cf..216c2e6 100644 --- a/guidelines/wikipedia/wikipedia.json +++ b/guidelines/wikipedia/wikipedia.json @@ -9,5 +9,6 @@ , "spaceBetweenParagraphs.js" , "paragraphLength.js" , "imageSize.js" + , "horizontalRule.js" ] } -- cgit v1.2.3 From 15a644f91a8b6e80bbd24a824b91c24547b80035 Mon Sep 17 00:00:00 2001 From: Jesse Hallett Date: Wed, 18 Dec 2013 17:09:13 -0800 Subject: Wikipedia guideline: checks for pseudo-headings --- guidelines/wikipedia/pseudoHeadings.js | 14 ++++++++++++++ guidelines/wikipedia/wikipedia.json | 1 + 2 files changed, 15 insertions(+) create mode 100644 guidelines/wikipedia/pseudoHeadings.js (limited to 'guidelines') diff --git a/guidelines/wikipedia/pseudoHeadings.js b/guidelines/wikipedia/pseudoHeadings.js new file mode 100644 index 0000000..bbf7d8d --- /dev/null +++ b/guidelines/wikipedia/pseudoHeadings.js @@ -0,0 +1,14 @@ +exports.name = "Do not make pseudo-headings"; +exports.description = "Do not make pseudo-headings using bold or semicolon markup."; + +exports.rule = function(report) { + $5('#mw-content-text p > b:only-child').each(function(i, b) { + var text = $.trim($(b).text()); + report.error('Bold text used as pseudo-heading: '+ text, b); + }); + + $5('#mw-content-text dl:not(:has(dd)) dt').each(function(i, dt) { + var text = $.trim($(dt).text()); + report.error('Semicolon markup used to create pseudo-heading: '+ text, dt); + }); +}; diff --git a/guidelines/wikipedia/wikipedia.json b/guidelines/wikipedia/wikipedia.json index 216c2e6..67adf30 100644 --- a/guidelines/wikipedia/wikipedia.json +++ b/guidelines/wikipedia/wikipedia.json @@ -10,5 +10,6 @@ , "paragraphLength.js" , "imageSize.js" , "horizontalRule.js" + , "pseudoHeadings.js" ] } -- cgit v1.2.3