On Thu, Jan 09, 2025 at 05:29:12PM -0800, Lindsay Lawrence wrote:
> On Thu, Jan 9, 2025 at 1:26 PM Lindsay Lawrence <
> [email protected]> wrote:
>
> >
> > PS: After all of that, I realize another, and perhaps contextually better,
> > solution may be to modify the 'wikiLink function, ={ .. } syntax, to handle
> > '#' when parsing the document name?
Indeed, this is much more consistent than using external links.
> (de wikiLink (Lst)
> (let (CurNm (get This 'nm)
> NmParts (split (car Lst) "#")
> Nm (or (pack (car NmParts)) CurNm)
> Loc (pack Nm "#" (cdr NmParts))
> Str (or (glue " " (cdr Lst)) (pack (car Lst))) )
> (cond
> ((fetch '(nm . +Doc) (fold Nm 0))
> (<href> Str (pack "?" Loc)) )
> (*Login (<this> '*ID Loc Str))
> (T (ht:Prin Str)) ) ) )
>
> I can now write markup like
>
> ={DevForum#viprc My viprc}
>
> to jump to id in a specific wiki doc
>
> and also
>
> ={#viprc My viprc}
>
> to jump to id within the current wiki doc
Great! If ok, I will change this also in the original.
I would slightly change it to suppress the "#" if no
jump label is given:
(de wikiLink (Lst)
(let
(L (++ Lst)
S (split L "#")
Nm (or (pack (car S)) (: nm))
Loc (if (cdr S) (pack Nm "#" @) Nm)
Str (or (glue " " Lst) Nm) )
(cond
((fetch '(nm . +Doc) (fold Nm))
(<href> Str (pack "?" Loc)) )
(*Login (<this> '*ID Loc Str))
(T (ht:Prin Str)) ) ) )
What do you think?
☺/ A!ex
--
UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe