Quick fix to allow wikilinks to be disabled

And using it to disable wikilinks in the readmes
This commit is contained in:
Jeremy Ruston 2013-03-01 18:04:53 +00:00
parent 81bcb1548f
commit 25df8bae6a
4 changed files with 88 additions and 65 deletions

View File

@ -51,12 +51,19 @@ LinkWidget.prototype.generate = function() {
events.push({name: "mouseover", handlerObject: this, handlerMethod: "handleMouseOverOrOutEvent"});
events.push({name: "mouseout", handlerObject: this, handlerMethod: "handleMouseOverOrOutEvent"});
}
// Get the value of the tw-wikilinks configuration macro
var wikiLinksMacro = this.findMacroDefinition("tw-wikilinks"),
useWikiLinks = wikiLinksMacro ? !(wikiLinksMacro.text.trim() === "no") : true;
// Set up the element
this.tag = "a";
this.attributes = {
href: this.isExternal ? this.to : encodeURIComponent(this.to),
"class": classes.join(" ")
};
if(useWikiLinks) {
this.tag = "a";
this.attributes = {
href: this.isExternal ? this.to : encodeURIComponent(this.to),
"class": classes.join(" ")
};
} else {
this.tag = "span";
}
this.children = this.renderer.renderTree.createRenderers(this.renderer.renderContext,this.renderer.parseTreeNode.children);
this.events = events;
};
@ -110,6 +117,20 @@ LinkWidget.prototype.refreshInDom = function(changedAttributes,changedTiddlers)
}
};
/*
Find a named macro definition
*/
LinkWidget.prototype.findMacroDefinition = function(name) {
var context = this.renderer.renderContext;
while(context) {
if(context.macroDefinitions && context.macroDefinitions[name]) {
return context.macroDefinitions[name];
}
context = context.parentContext;
}
return undefined;
};
exports.link = LinkWidget;
})();

View File

@ -1,6 +1,8 @@
title: ReadMe
tags: introduction
\define tw-wikilinks() no
! Welcome to TiddlyWiki5
{{HelloThere}}
@ -9,4 +11,4 @@ tags: introduction
{{Getting started with TiddlyWiki under node.js}}
//This `readme` file was automatically generated by TiddlyWiki5//
//This readme file was automatically generated by TiddlyWiki5//

View File

@ -1,5 +1,6 @@
title: TiddlyWiki2ReadMe
\define tw-wikilinks() no
! Using TiddlyWiki5 to build TiddlyWikiClassic
TiddlyWiki5 can be used to build older 2.x.x versions of TiddlyWiki from their constituent components. Doing so involves these additional features over and above those used for building TiddlyWiki5:

117
readme.md
View File

@ -1,64 +1,64 @@
<h1 class=''>
Welcome to <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki5'>
TiddlyWiki5</a></h1><div class='tw-transclude'>
Welcome to <span>
TiddlyWiki5</span></h1><div class='tw-transclude'>
<p>
Welcome to <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki5'>
TiddlyWiki5</a>, a reboot of <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a>, the reusable non-linear personal web notebook <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='History'>
first released in 2004</a>. It is a complete interactive wiki in <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing' href='JavaScript'>
JavaScript</a> that can be run from a single HTML file in the browser or as a powerful <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='node.js'>
node.js application</a>.</p><p>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a> is designed to fit around your brain, giving you a better way of managing information than traditional documents and emails. The fundamental idea is that information is more useful and reusable if we cut it up into the smallest semantically meaningful chunks &ndash; <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='Tiddlers'>
tiddlers</a> &ndash; and give them titles so that they can be structured with links, tags and macros. <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a> aims to provide a fluid interface for working with tiddlers, allowing them to be aggregated and composed into longer narratives.</p><p>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki5'>
TiddlyWiki5</a> has many <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='Improvements'>
improvements</a> over the original. It is currently labelled alpha, meaning it is working but incomplete. It is the best possible time to get involved and support its future development. You can:</p><ul>
Welcome to <span>
TiddlyWiki5</span>, a reboot of <span>
TiddlyWiki</span>, the reusable non-linear personal web notebook <span>
first released in 2004</span>. It is a complete interactive wiki in <span>
JavaScript</span> that can be run from a single HTML file in the browser or as a powerful <span>
node.js application</span>.</p><p>
<span>
TiddlyWiki</span> is designed to fit around your brain, giving you a better way of managing information than traditional documents and emails. The fundamental idea is that information is more useful and reusable if we cut it up into the smallest semantically meaningful chunks &ndash; <span>
tiddlers</span> &ndash; and give them titles so that they can be structured with links, tags and macros. <span>
TiddlyWiki</span> aims to provide a fluid interface for working with tiddlers, allowing them to be aggregated and composed into longer narratives.</p><p>
<span>
TiddlyWiki5</span> has many <span>
improvements</span> over the original. It is currently labelled alpha, meaning it is working but incomplete. It is the best possible time to get involved and support its future development. You can:</p><ul>
<li>
Explore its features online at <a class='tw-tiddlylink tw-tiddlylink-external' href='http://five.tiddlywiki.com/'>
http://five.tiddlywiki.com/</a></li><li>
Get involved in the <a class='tw-tiddlylink tw-tiddlylink-external' href='https://github.com/Jermolene/TiddlyWiki5'>
development on GitHub</a></li><li>
Join the discussions on <a class='tw-tiddlylink tw-tiddlylink-external' href='http://groups.google.com/group/TiddlyWikiDev'>
the TiddlyWikiDev Google Group</a></li><li>
Follow <a class='tw-tiddlylink tw-tiddlylink-external' href='http://twitter.com/#!/TiddlyWiki'>
@TiddlyWiki on Twitter</a> for the latest news</li></ul></div><h1 class=''>
Getting started with <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a> under node.js</h1><div class='tw-transclude'>
Explore its features online at <span>
http://five.tiddlywiki.com/</span></li><li>
Get involved in the <span>
development on GitHub</span></li><li>
Join the discussions on <span>
the TiddlyWikiDev Google Group</span></li><li>
Follow <span>
@TiddlyWiki on Twitter</span> for the latest news</li></ul></div><h1 class=''>
Getting started with <span>
TiddlyWiki</span> under node.js</h1><div class='tw-transclude'>
<p>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki5'>
TiddlyWiki5</a> can be used on the command line to perform an extensive set of operations based on tiddlers, <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlerFiles'>
TiddlerFiles</a> and <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing' href='TiddlyWikiFiles'>
TiddlyWikiFiles</a>. For example, this loads the tiddlers from a <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a> HTML file and then saves one of them in HTML:</p><pre>
<span>
TiddlyWiki5</span> can be used on the command line to perform an extensive set of operations based on tiddlers, <span>
TiddlerFiles</span> and <span>
TiddlyWikiFiles</span>. For example, this loads the tiddlers from a <span>
TiddlyWiki</span> HTML file and then saves one of them in HTML:</p><pre>
node tiddlywiki.js --verbose --load mywiki.html --savetiddler ReadMe ./readme.html</pre><h2 class=''>
Usage</h2><p>
Running <code>
tiddlywiki.js</code> from the command line boots the <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a> kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.</p><p>
tiddlywiki.js</code> from the command line boots the <span>
TiddlyWiki</span> kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.</p><p>
The first argument is the optional path to the wiki directory to be loaded. If not present, then the current directory is used.</p><p>
The commands and their individual arguments follow, each command being identified by the prefix <code>
--</code>.</p><pre>
node tiddlywiki.js [&lt;wikipath&gt;] [--&lt;command&gt; [&lt;arg&gt;[,&lt;arg&gt;]]]</pre><h2 class=''>
Batch Files</h2><p>
For trying <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki5'>
TiddlyWiki5</a> out under node.js, several batch files are provided:</p><ul>
For trying <span>
TiddlyWiki5</span> out under node.js, several batch files are provided:</p><ul>
<li>
<code>
bld.sh</code> builds the new <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a> 5 HTML file</li><li>
bld.sh</code> builds the new <span>
TiddlyWiki</span> 5 HTML file</li><li>
<code>
2bld.sh</code> builds <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a> 2.6.5 from its original source</li></ul><h2 class=''>
2bld.sh</code> builds <span>
TiddlyWiki</span> 2.6.5 from its original source</li></ul><h2 class=''>
Commands</h2><p>
The following commands are available:</p><div class='tw-list-frame'>
<div class='tw-list-element'>
<span class='tw-transclude'>
<h3 class=''>
<span class='tw-view-link'>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='DumpCommand'>
DumpCommand</a></span></h3><div>
<span>
DumpCommand</span></span></h3><div>
<div class='tw-transclude'>
<h3 class=''>
dump tiddlers</h3><p>
@ -76,12 +76,12 @@ Dump the current core configuration </p><pre>
<span class='tw-transclude'>
<h3 class=''>
<span class='tw-view-link'>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='LoadCommand'>
LoadCommand</a></span></h3><div>
<span>
LoadCommand</span></span></h3><div>
<div class='tw-transclude'>
<p>
Load tiddlers from 2.x.x <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a> files (<code>
Load tiddlers from 2.x.x <span>
TiddlyWiki</span> files (<code>
.html</code>), <code>
.tiddler</code>, <code>
.tid</code>, <code>
@ -90,19 +90,19 @@ TiddlyWiki</a> files (<code>
<span class='tw-transclude'>
<h3 class=''>
<span class='tw-view-link'>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='SaveTiddlerCommand'>
SaveTiddlerCommand</a></span></h3><div>
<span>
SaveTiddlerCommand</span></span></h3><div>
<div class='tw-transclude'>
<p>
Save an individual tiddler as a specified <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing' href='ContentType'>
ContentType</a>, defaults to <code>
Save an individual tiddler as a specified <span>
ContentType</span>, defaults to <code>
text/html</code> </p><pre>
--savetiddler &lt;title&gt; &lt;filename&gt; [&lt;type&gt;]</pre></div></div></span></div><div class='tw-list-element'>
<span class='tw-transclude'>
<h3 class=''>
<span class='tw-view-link'>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='ServerCommand'>
ServerCommand</a></span></h3><div>
<span>
ServerCommand</span></span></h3><div>
<div class='tw-transclude'>
<p>
The server is very simple. At the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for <code>
@ -126,8 +126,8 @@ servetype</strong> - the content type with which the root tiddler should be serv
<span class='tw-transclude'>
<h3 class=''>
<span class='tw-view-link'>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='VerboseCommand'>
VerboseCommand</a></span></h3><div>
<span>
VerboseCommand</span></span></h3><div>
<div class='tw-transclude'>
<p>
Triggers verbose output, useful for debugging </p><pre>
@ -135,15 +135,14 @@ Triggers verbose output, useful for debugging </p><pre>
<span class='tw-transclude'>
<h3 class=''>
<span class='tw-view-link'>
<a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='VersionCommand'>
VersionCommand</a></span></h3><div>
<span>
VersionCommand</span></span></h3><div>
<div class='tw-transclude'>
<p>
Displays the version number of <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki'>
TiddlyWiki</a>.</p><pre>
Displays the version number of <span>
TiddlyWiki</span>.</p><pre>
--version</pre></div></div></span></div></div></div><p>
<em>
This <code>
readme</code> file was automatically generated by <a class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves' href='TiddlyWiki5'>
TiddlyWiki5</a></em>
This readme file was automatically generated by <span>
TiddlyWiki5</span></em>
</p>