Hi Mark,
great, this works perfect and I do not need links anyway.
Thanks for solving this!

Best wishes Jan


Am 15.07.2019 um 22:48 schrieb 'Mark S.' via TiddlyWiki:
Actually, what I think you see is

Mr.
Test

What's happening is that the macro is being returned as [[Mr. Test]] and then stripped of the brackets at the WikifyWidget. One work-around is to
add additional brackets back in your macro.

Also, this

|var regex = /\[.*?\]\]/g;

Should be this

||var regex = /\[\[.*?\]\]/g;|
||
So then we end up with:

|
|/*\
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, ' ');
var  result=  remove;
return  result
}  ;

})();|
|

Now you get the links listed one after another. However, they're not listed AS 
links because they're viewed as text strings. You
can probably use <$link> widget to turn them back into links, if that's what 
you want.

Good luck






On Monday, July 15, 2019 at 12:45:42 PM UTC-7, Jan wrote:

    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  <http://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 <mohamma...@gmail.com> 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
                    tiddl...@googlegroups.com.
                    To post to this group, send email to
                    tiddl...@googlegroups.com.
                    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 tiddl...@googlegroups.com.
            To post to this group, send email to
            tiddl...@googlegroups.com.
            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 tiddl...@googlegroups.com <javascript:>.
    To post to this group, send email to tiddl...@googlegroups.com
    <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/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
    <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 tiddlywiki+unsubscr...@googlegroups.com <mailto:tiddlywiki+unsubscr...@googlegroups.com>. To post to this group, send email to tiddlywiki@googlegroups.com <mailto:tiddlywiki@googlegroups.com>.
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/85a2bf4f-58e3-4d63-ad4c-4e1df9567dee%40googlegroups.com <https://groups.google.com/d/msgid/tiddlywiki/85a2bf4f-58e3-4d63-ad4c-4e1df9567dee%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 tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
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/5D2D011A.7030506%40googlemail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to