Eric:
"Very nice" code that is Functional, and Educational.
Thank you very much for yet another in a long list of contributions!
Cheers,
Hans
On Friday, July 24, 2020 at 12:45:16 PM UTC-4 Eric Shulman wrote:
> On Friday, July 24, 2020 at 3:34:52 AM UTC-7, Felicia Crow wrote:
>>
>> so after playing around with filter operators and trying to find a way
>> over a data tiddler I wrote a javascript macro I attatched below.
>> The only caveat with this is that you have to close and reopen the
>> tiddler calling the macro due to how javascript macros are called. Maybe
>> someone has an idea for how to reload a single tiddler.
>>
>
> Here's a version that does the same results using just wikitext instead of
> javascript:
> \define getData()
> <$list filter="[all[missing]!has[draft.of]sort[title]]">
> <$text text="[["/>{{{
> [<currentTiddler>backlinks[]count[]divide[1000]removeprefix[0.]]
> }}};<<currentTiddler>><$text text="]]"/><br>
> </$list>
> \end
>
> \define renderTable()
> <table>
> <tr><th>Missing</th><th>Times Referenced</th></tr>
> <$list filter="[enlist<missing>!sort[]]">
> <tr>
> <td>{{{ [<currentTiddler>split[;]rest[]join[;]] }}}</td>
> <td style="text-align:right;"><$text text={{{
> [<currentTiddler>split[;]first[]divide[1]] }}}/></td>
> </tr>
> </$list>
> </table>
> \end
>
> \define renderList()
> <ul>
> <$list filter="[enlist<missing>!sort[]]">
> <li> {{{ [<currentTiddler>split[;]rest[]join[;]] }}} (<$text text={{{
> [<currentTiddler>split[;]first[]divide[1]] }}}/>)</li>
> </$list>
> </ul>
> \end
>
> <$list filter="[all[missing]limit[1]]" variable="has_missing_tiddlers"
> emptyMessage="<p>No Missing Tiddlers</p>">
> <$wikify name="missing" text=<<getData>>>
> <<renderList>>
> </$wikify>
> </$list>
>
> I patterned the code structure similar to your javascript code.
>
> * the outermost $list checks that there are missing tiddlesr and displays
> either "No Missing Tiddlers", or proceed to get the list of missing
> tiddlers and show the output
> * getData() generates a list all missing tiddlers
> * each item in the list is a combination of the backlinks[]count[]
> (zero-padded) and the missing tiddler title, separated by a semi-colon and
> enclosed in doubled square brackets (to handle spaces in titles)
> * the results of getData() are passed through $wikify to convert the macro
> output into an actual list of items
> * renderList() and renderTable() enlist[] all items, sorted in descending
> order using the zero-padded count, and then splits each item back into its
> title and count and then shows the title followed by the count
>
> enjoy,
> -e
>
>
>
>
>
>
--
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 view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/601789af-b470-4a5b-a3fb-10b8afeecdc2n%40googlegroups.com.