From 1f354a972e0217e034d1f59d31577c1fd6b186f3 Mon Sep 17 00:00:00 2001 From: "jeremy@jermolene.com" Date: Sat, 2 May 2020 14:07:39 +0100 Subject: [PATCH] Freelinks plugin: Add support for ignoring case --- plugins/tiddlywiki/freelinks/macros-view.tid | 6 +++++- plugins/tiddlywiki/freelinks/settings.tid | 2 ++ plugins/tiddlywiki/freelinks/text.js | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/plugins/tiddlywiki/freelinks/macros-view.tid b/plugins/tiddlywiki/freelinks/macros-view.tid index 20d85b088..81d6e8851 100644 --- a/plugins/tiddlywiki/freelinks/macros-view.tid +++ b/plugins/tiddlywiki/freelinks/macros-view.tid @@ -1,4 +1,8 @@ title: $:/plugins/tiddlywiki/freelinks/macros/view tags: $:/tags/Macro/View -<$set name="tv-freelinks" value={{$:/config/Freelinks/Enable}}/> +<$set name="tv-freelinks" value={{$:/config/Freelinks/Enable}}> + +<$set name="tv-freelinks-ignore-case" value={{$:/config/Freelinks/IgnoreCase}}/> + + \ No newline at end of file diff --git a/plugins/tiddlywiki/freelinks/settings.tid b/plugins/tiddlywiki/freelinks/settings.tid index 0b6cb247c..844eb1d26 100644 --- a/plugins/tiddlywiki/freelinks/settings.tid +++ b/plugins/tiddlywiki/freelinks/settings.tid @@ -1,3 +1,5 @@ title: $:/plugins/tiddlywiki/freelinks/settings <$checkbox tiddler="$:/config/Freelinks/Enable" field="text" checked="yes" unchecked="no" default="no"> <$link to="$:/config/Freelinks/Enable">Enable freelinking within tiddler view templates + +<$checkbox tiddler="$:/config/Freelinks/IgnoreCase" field="text" checked="yes" unchecked="no" default="no"> <$link to="$:/config/Freelinks/IgnoreCase">Ignore case diff --git a/plugins/tiddlywiki/freelinks/text.js b/plugins/tiddlywiki/freelinks/text.js index 64776f4c6..7ea35e090 100755 --- a/plugins/tiddlywiki/freelinks/text.js +++ b/plugins/tiddlywiki/freelinks/text.js @@ -79,9 +79,10 @@ TextNodeWidget.prototype.execute = function() { reparts.push("(\\b" + $tw.utils.escapeRegExp(title) + "\\b)"); } }); + var ignoreCase = self.getVariable("tv-freelinks-ignore-case",{defaultValue:"no"}).trim() === "yes"; return { titles: titles, - regexp: new RegExp(reparts.join("|"),"") + regexp: new RegExp(reparts.join("|"),ignoreCase ? "i" : "") }; }); // Repeatedly linkify