diff --git a/core/modules/parsers/newwikitextparser/rules/class.js b/core/modules/parsers/newwikitextparser/rules/class.js
index dd4b67860..d0574a1e8 100644
--- a/core/modules/parsers/newwikitextparser/rules/class.js
+++ b/core/modules/parsers/newwikitextparser/rules/class.js
@@ -3,7 +3,19 @@ title: $:/core/modules/parsers/newwikitextparser/rules/class.js
type: application/javascript
module-type: wikitextrule
-Wiki text block rule for assigning classes to paragraphs and other blocks
+Wiki text block rule for assigning classes to paragraphs and other blocks. For example:
+
+{{{
+{{myClass{
+This paragraph will have the CSS class `myClass`.
+
+* The `
` around this list will also have the class `myClass`
+* List item 2
+
+ }}}
+}}}
+
+Note that the opening and closing braces both must be immediately followed by a newline.
\*/
(function(){
@@ -16,11 +28,11 @@ exports.name = "class";
exports.blockParser = true;
-exports.regExpString = "\\{\\{(?:[^\\{\\r\\n]+)\\{$";
+exports.regExpString = "\\{\\{(?:[^\\{\\r\\n]+)\\{$\\r?\\n";
exports.parse = function(match,isBlock) {
var tree = [],
- reStart = /\{\{([^\{\r\n]+){(?:\r?\n)?/mg,
+ reStart = /\{\{([^\{\r\n]+){\r?\n/mg,
reEnd = /(\}\}\}$(?:\r?\n)?)/mg,
endMatch;
reStart.lastIndex = this.pos;
diff --git a/core/modules/parsers/newwikitextparser/rules/codeblock.js b/core/modules/parsers/newwikitextparser/rules/codeblock.js
index de020496c..f195cfe70 100644
--- a/core/modules/parsers/newwikitextparser/rules/codeblock.js
+++ b/core/modules/parsers/newwikitextparser/rules/codeblock.js
@@ -3,7 +3,15 @@ title: $:/core/modules/parsers/newwikitextparser/rules/codeblock.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for code blocks
+Wiki text run rule for code blocks. For example:
+
+{{{
+ {{{
+ This text will not be //wikified//
+ }}}
+}}}
+
+Note that the opening curly braces and the closing curly braces must each be on a line of their own, and not be preceded or followed by white space.
\*/
(function(){
@@ -16,11 +24,11 @@ exports.name = "codeblock";
exports.blockParser = true;
-exports.regExpString = "\\{\\{\\{\\s*\\r?\\n";
+exports.regExpString = "\\{\\{\\{\\r?\\n";
exports.parse = function(match,isBlock) {
this.pos = match.index + match[0].length;
- var regExp = /(\r?\n\}\}\})/mg,
+ var regExp = /(\r?\n\}\}\}$)/mg,
text;
regExp.lastIndex = this.pos;
match = regExp.exec(this.source);
diff --git a/core/modules/parsers/newwikitextparser/rules/coderun.js b/core/modules/parsers/newwikitextparser/rules/coderun.js
index 1c0694973..5409f60f3 100644
--- a/core/modules/parsers/newwikitextparser/rules/coderun.js
+++ b/core/modules/parsers/newwikitextparser/rules/coderun.js
@@ -3,7 +3,11 @@ title: $:/core/modules/parsers/newwikitextparser/rules/coderun.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for code runs
+Wiki text run rule for code runs. For example:
+
+{{{
+ This is a {{{code run}} and `so is this`.
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/dash.js b/core/modules/parsers/newwikitextparser/rules/dash.js
index c863c1ee8..3e6593ac6 100644
--- a/core/modules/parsers/newwikitextparser/rules/dash.js
+++ b/core/modules/parsers/newwikitextparser/rules/dash.js
@@ -3,7 +3,15 @@ title: $:/core/modules/parsers/newwikitextparser/rules/dash.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for HTML entities
+Wiki text run rule for HTML entities. For example:
+
+{{{
+This is an en-dash: --
+
+This is an em-dash: ---
+}}}
+
+Dashes must be followed by whitespace in order to be distinguished from strikethrough notation (`--strikethrough--`).
\*/
(function(){
@@ -20,7 +28,6 @@ exports.regExpString = "-{2,3}(?=\\s)";
exports.parse = function(match,isBlock) {
this.pos = match.index + match[0].length;
- match = /(-{2,3})/mg.exec(match[0]);
var dash = match[0].length === 2 ? "–" : "—";
return [$tw.Tree.Entity(dash)];
};
diff --git a/core/modules/parsers/newwikitextparser/rules/emphasis.js b/core/modules/parsers/newwikitextparser/rules/emphasis.js
index c62dc41d9..cda1fe758 100644
--- a/core/modules/parsers/newwikitextparser/rules/emphasis.js
+++ b/core/modules/parsers/newwikitextparser/rules/emphasis.js
@@ -3,7 +3,21 @@ title: $:/core/modules/parsers/newwikitextparser/rules/emphasis.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for emphasis
+Wiki text run rule for emphasis. For example:
+
+{{{
+ This is ''bold'' text
+
+ This is //italic// text
+
+ This is __underlined__ text
+
+ This is ^^superscript^^ text
+
+ This is ~~subscript~~ text
+
+ This is --strikethrough-- text
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/entity.js b/core/modules/parsers/newwikitextparser/rules/entity.js
index 3a1578a47..5c3a94158 100644
--- a/core/modules/parsers/newwikitextparser/rules/entity.js
+++ b/core/modules/parsers/newwikitextparser/rules/entity.js
@@ -3,7 +3,11 @@ title: $:/core/modules/parsers/newwikitextparser/rules/entity.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for HTML entities
+Wiki text run rule for HTML entities. For example:
+
+{{{
+ This is a copyright symbol: ©
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/extlink.js b/core/modules/parsers/newwikitextparser/rules/extlink.js
index 2bb88fe9e..54bee152c 100644
--- a/core/modules/parsers/newwikitextparser/rules/extlink.js
+++ b/core/modules/parsers/newwikitextparser/rules/extlink.js
@@ -3,7 +3,13 @@ title: $:/core/modules/parsers/newwikitextparser/rules/extlink.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for external links.
+Wiki text run rule for external links. For example:
+
+{{{
+An external link: http://www.tiddlywiki.com/
+
+A suppressed external link: ~http://www.tiddlyspace.com/
+}}}
External links can be suppressed by preceding them with `~`.
diff --git a/core/modules/parsers/newwikitextparser/rules/heading.js b/core/modules/parsers/newwikitextparser/rules/heading.js
index 974c524b8..82796fdeb 100644
--- a/core/modules/parsers/newwikitextparser/rules/heading.js
+++ b/core/modules/parsers/newwikitextparser/rules/heading.js
@@ -3,7 +3,19 @@ title: $:/core/modules/parsers/newwikitextparser/rules/heading.js
type: application/javascript
module-type: wikitextrule
-Wiki text block rule for headings
+Wiki text block rule for headings. For example:
+
+{{{
+ ! Level one heading
+
+ A paragraph in level 1.
+
+ !! Level two heading
+
+ A paragraph in level 2.
+}}}
+
+The bang `!` must be the first thing on the line. Any white space before the text of the heading is ignored.
\*/
(function(){
@@ -20,6 +32,7 @@ exports.regExpString = "!{1,6}";
exports.parse = function(match,isBlock) {
this.pos = match.index + match[0].length;
+ this.skipWhitespace();
var classedRun = this.parseClassedRun(/(\r?\n)/mg);
return [$tw.Tree.Element("h1",{"class": classedRun["class"]},classedRun.tree)];
};
diff --git a/core/modules/parsers/newwikitextparser/rules/html.js b/core/modules/parsers/newwikitextparser/rules/html.js
index df6ad5afb..723ad0bff 100644
--- a/core/modules/parsers/newwikitextparser/rules/html.js
+++ b/core/modules/parsers/newwikitextparser/rules/html.js
@@ -3,7 +3,13 @@ title: $:/core/modules/parsers/newwikitextparser/rules/html.js
type: application/javascript
module-type: wikitextrule
-Wiki text block rule for block level HTML elements
+Wiki text block rule for block and run level HTML elements. For example:
+
+{{{
+
+This is an HTML5 aside element
+
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/image.js b/core/modules/parsers/newwikitextparser/rules/image.js
index 99ca93f19..c1f54db06 100644
--- a/core/modules/parsers/newwikitextparser/rules/image.js
+++ b/core/modules/parsers/newwikitextparser/rules/image.js
@@ -3,7 +3,11 @@ title: $:/core/modules/parsers/newwikitextparser/rules/image.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for pretty links
+Wiki text run rule for pretty links. For example:
+
+{{{
+[img[MyPicture]]
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/list.js b/core/modules/parsers/newwikitextparser/rules/list.js
index 635cfdee5..30e50b9fc 100644
--- a/core/modules/parsers/newwikitextparser/rules/list.js
+++ b/core/modules/parsers/newwikitextparser/rules/list.js
@@ -3,9 +3,33 @@ title: $:/core/modules/parsers/newwikitextparser/rules/list.js
type: application/javascript
module-type: wikitextrule
-Wiki text block rule for lists.
+Wiki text block rule for lists. For example:
+{{{
+* This is an unordered list
+* It has two items
+# This is a numbered list
+## With a subitem
+# And a third item
+
+; This is a term that is being defined
+: This is the definition of that term
+}}}
+
+Note that lists can be nested arbitrarily:
+
+{{{
+#** One
+#* Two
+#** Three
+#**** Four
+#**# Five
+#**## Six
+## Seven
+### Eight
+## Nine
+}}}
\*/
(function(){
@@ -61,6 +85,8 @@ exports.parse = function(match,isBlock) {
}
// Skip the list markers
this.pos = match.index + match[0].length;
+ // Skip any whitespace
+ this.skipWhitespace();
// Process the body of the list item into the last list item
var lastListInfo = listTypes[match[0].charAt(match[0].length-1)],
lastListChildren = listStack[listStack.length-1].children,
diff --git a/core/modules/parsers/newwikitextparser/rules/macro.js b/core/modules/parsers/newwikitextparser/rules/macro.js
index 7c154c67b..126ccc80a 100644
--- a/core/modules/parsers/newwikitextparser/rules/macro.js
+++ b/core/modules/parsers/newwikitextparser/rules/macro.js
@@ -3,7 +3,15 @@ title: $:/core/modules/parsers/newwikitextparser/rules/macro.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for pretty links
+Wiki text run rule for pretty links. For example:
+
+{{{
+<>
+
+< <
+A macro with a bunch of content inside it. The content can include //formatting//.
+>>
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/prettylink.js b/core/modules/parsers/newwikitextparser/rules/prettylink.js
index 041685ded..077bca260 100644
--- a/core/modules/parsers/newwikitextparser/rules/prettylink.js
+++ b/core/modules/parsers/newwikitextparser/rules/prettylink.js
@@ -3,7 +3,13 @@ title: $:/core/modules/parsers/newwikitextparser/rules/prettylink.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for pretty links
+Wiki text run rule for pretty links. For example:
+
+{{{
+[[Introduction]]
+
+[[Link description|TiddlerTitle]]
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/rule.js b/core/modules/parsers/newwikitextparser/rules/rule.js
index 80a377f1e..b4ed03454 100644
--- a/core/modules/parsers/newwikitextparser/rules/rule.js
+++ b/core/modules/parsers/newwikitextparser/rules/rule.js
@@ -3,7 +3,11 @@ title: $:/core/modules/parsers/newwikitextparser/rules/rule.js
type: application/javascript
module-type: wikitextrule
-Wiki text block rule for rules
+Wiki text block rule for rules. For example:
+
+{{{
+---
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/typedblock.js b/core/modules/parsers/newwikitextparser/rules/typedblock.js
index 9946419c1..8231cabe4 100644
--- a/core/modules/parsers/newwikitextparser/rules/typedblock.js
+++ b/core/modules/parsers/newwikitextparser/rules/typedblock.js
@@ -3,7 +3,19 @@ title: $:/core/modules/parsers/newwikitextparser/rules/typedblock.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for typed blocks
+Wiki text run rule for typed blocks. For example:
+
+{{{
+$$$.js
+This will be rendered as JavaScript
+$$$
+
+$$$.svg
+
+
+
+$$$
+}}}
\*/
(function(){
diff --git a/core/modules/parsers/newwikitextparser/rules/wikilink.js b/core/modules/parsers/newwikitextparser/rules/wikilink.js
index ee65332cc..4930ae9ac 100644
--- a/core/modules/parsers/newwikitextparser/rules/wikilink.js
+++ b/core/modules/parsers/newwikitextparser/rules/wikilink.js
@@ -3,7 +3,15 @@ title: $:/core/modules/parsers/newwikitextparser/rules/wikilink.js
type: application/javascript
module-type: wikitextrule
-Wiki text run rule for wiki links.
+Wiki text run rule for wiki links. For example:
+
+{{{
+AWikiLink
+AnotherLink
+~SuppressedLink
+}}}
+
+Precede a camel case word with `~` to prevent it from being recognised as a link.
\*/
(function(){