Hi Mark, that looks great, is this already available?
Meanwhile I created a solution which is working quit good but has one
flaw which I would like to eliminate:
[[Mr. Test]] Gets parsed [[Mr.]] and [[Test]].
Here comes the approach it is a Widget and a macro in combination:
|Widget|
||
|/*\
title: $:/core/modules/macros/roles.js
type: application/javascript
module-type: macro
Making some replacements in Textinputs
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Information about this macro
*/
exports.name = 'roles';
exports.params = [{ name: 'text' }];
/*
Run the macro
*/
exports.run = function(text) {
var regex = /\[.*?\]\]/g;
var found = text.match(regex);
var remove = found.join();
var result = remove.replace(/,/g, ' ');
return result
} ;
|
|Macro|
\define preroll()
<$macrocall $name="roles" text={{!!dialogue}}/>
\end
\define rollen()
<$wikify name=rollo text=<<preroll>> output="text">
<$list filter=<<rollo>> >
{{!!title}} <br>
</$list>
</$wikify>
\end
||
|How can I handle that?
Jan
|
Am 15.07.2019 um 16:51 schrieb 'Mark S.' via TiddlyWiki:
With the reg expression text previously mentioned, and the regexps
(reg expression string extractor) in PR 2963
<https://github.com/Jermolene/TiddlyWiki5/pull/2963>
it should be possible to extract links designated with [[ and ]] .
On Monday, July 15, 2019 at 4:06:31 AM UTC-7, Jan wrote:
Hi,
alas the Find-Macro and also the Extract-Macro fail in this job.
This really seems to be an issue for a widget which can escape the
square-bracket-problem.
I made a quick attempt to solve this problem with a widget
matching for the css, with no success so far.
|/*\
title: $:/core/modules/macros/roles.js
type: application/javascript
module-type: macro
Making some replacements in Textinputs
\*/
(function(){
/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";
/*
Information about this macro
*/
exports.name <http://exports.name> = 'roles';
exports.params = [{ name: 'text' }];
/*
Run the macro
*/
exports.run = function(text) {
text = text.match("/\[.*?\]/g");
return text
} ;
})();|
Seeing how complicated this problem is in wikitext, I think it
would be usefull, to have such a thing as "Extract Links Widget".
Jan
Jan
Am 15.07.2019 um 10:01 schrieb Jan:
Hi Mark!
I have tried out your proposition but alas, the filter is not
working the way I would like it to work:
So far it looks for Tiddlers that have the field "myfield", it
should look for Links in this field.
I have tired several variations with get[] and list[] to have the
dialoguebut it nearly seems impossible to filter the result for
[[square brackets.
Jan
Am 14.07.2019 um 22:51 schrieb Jan Johannpeter:
Hi Mark,
thanks, again you saved my day!
I will implement this at once!
Jan
Mohammad <[email protected] <javascript:>> schrieb am So. 14.
Juli 2019 um 19:18:
Hi Mark,
I was surprised with this simple and elegant solution you
proposed albeit the regxp is behind my knowledge! :-)
Added to TW-Scripts.
Cheers
Mohammad
On Sunday, July 14, 2019 at 9:21:42 PM UTC+4:30, Mark S. wrote:
You need to put your expression in a separate variable:
<$vars reg="(?g)\[\[.*?\]\]">
<$list filter="[!is[system]regexp:myfield<reg>]"/>
</$vars>
I tested using field "myfield". I was surprised to find
that there actually is a matching field at
tiddlywiki.com <http://tiddlywiki.com>.
Note that the regexp filter has its own notation for
indicating a global search. I put it in, but don't
really understand what use it has, since it is the
tiddler that gets returned, not the field. So finding
one match should be good enough.
On Sunday, July 14, 2019 at 3:51:37 AM UTC-7, Jan wrote:
Hi Mat,
Unfortunately filtersyntax gets so terribly
complicated when the param contains squarebrackets.
This here causes a syntax error:
[!is[system]regexp[/\[.*?\]/g]]
And how do I enter the suffix for the field?
-Jan
Am 14.07.2019 um 12:03 schrieb Mat:
>or else it would probably be veeery tricky to find
them.
Pah! I'm exaggerating. It is "just" a matter of
creating the right regexp for it. Not that I could
do it.
<:-)
--
You received this message because you are
subscribed to the Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving
emails from it, send an email to
[email protected].
To post to this group, send email to
[email protected].
Visit this group at
https://groups.google.com/group/tiddlywiki
<https://groups.google.com/group/tiddlywiki>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/ebad32fa-60c1-4434-a943-350812eb47d7%40googlegroups.com
<https://groups.google.com/d/msgid/tiddlywiki/ebad32fa-60c1-4434-a943-350812eb47d7%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit
https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the
Google Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to [email protected]
<javascript:>.
To post to this group, send email to
[email protected] <javascript:>.
Visit this group at
https://groups.google.com/group/tiddlywiki
<https://groups.google.com/group/tiddlywiki>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/3989d192-3218-4d29-8eef-114071e5fcc4%40googlegroups.com
<https://groups.google.com/d/msgid/tiddlywiki/3989d192-3218-4d29-8eef-114071e5fcc4%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google
Groups "TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/7ea4f8ae-889d-4664-a6f5-5c49ba5d14a9%40googlegroups.com
<https://groups.google.com/d/msgid/tiddlywiki/7ea4f8ae-889d-4664-a6f5-5c49ba5d14a9%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/5D2CD7DD.5090104%40googlemail.com.
For more options, visit https://groups.google.com/d/optout.