From 0bd059c1f7d5006a4800972b154cda35f5baee74 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Sun, 15 Jul 2012 23:07:25 +0100 Subject: [PATCH] Run version of class wikitext rule --- .../newwikitextparser/rules/classrun.js | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 core/modules/parsers/newwikitextparser/rules/classrun.js diff --git a/core/modules/parsers/newwikitextparser/rules/classrun.js b/core/modules/parsers/newwikitextparser/rules/classrun.js new file mode 100644 index 000000000..376dac6de --- /dev/null +++ b/core/modules/parsers/newwikitextparser/rules/classrun.js @@ -0,0 +1,41 @@ +/*\ +title: $:/core/modules/parsers/newwikitextparser/rules/classrun.js +type: application/javascript +module-type: wikitextrule + +Wiki text run rule for assigning classes to paragraphs and other blocks. For example: + +{{{ +{{myClass{This text will have the CSS class `myClass`. + +* This will not be recognised as a list + +List item 2}}} +}}} + + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +exports.name = "class"; + +exports.runParser = true; + +exports.regExpString = "\\{\\{(?:[^\\{\\r\\n]+)\\{"; + +exports.parse = function(match,isBlock) { + var tree, + reStart = /\{\{([^\{\r\n]+){/mg, + reEnd = /(\}\}\})/g; + reStart.lastIndex = this.pos; + match = reStart.exec(this.source); + this.pos = match.index + match[0].length; + tree = this.parseRun(reEnd,{leaveTerminator: false}); + return [$tw.Tree.Element("span",{"class":match[0]},tree)]; +}; + +})();