Wilk Plugin Library

I’d like to share my plugin library, available at wilk-plugin-library.tiddlyhost.com.

These are mostly minor modifications, many of them trivial or already presented in some way or other on this forum. I used to organize these with tags (and showcased some at wilk-tweaks-tiddlyhost.com), but this has got very impractical over time.

Thanks to the Tiddlyhost Plugin Library plugin by @telumire it has recently become viable to manage even the smallest personal modifications as plugins – I can easily import and update them across my wikis.

So far there’s nothing groundbreaking and it’s set up primarily for my own convenience. Should you find any of these plugins useful though, I’ll be very happy!

The collection will slowly grow, as I revisit and package my tweaks. I’ll create topics for the individual plugins or post in existing threads soon. I also plan to catalogue the plugins at links.tiddlywiki.org.

Thanks to everyone in this great community who helped with my questions or contributed in any way to these plugins.

9 Likes

Lovely plugins. Thank you for sharing @vilc!

1 Like

Thank you for sharing! I love the dictionary tiddler table; it makes things much more readable.

I felt a little guilty since your code is so elegant, but I tweaked the table template a bit for my own use and thought I’d share back in case anyone else is interested. The code below replaces $:/plugins/wilk/dictionary-table/template; it enables double-clicking on a value cell to edit it inline, enter to save back to the data tiddler, and esc to exit edit-mode without saving changes.

\procedure display(content)
<$button
	class="tc-btn-invisible"
	message="tm-copy-to-clipboard"
	param=<<content>>
	tooltip="Copy" >
		<$text text=<<content>> />
		{{$:/core/images/copy-clipboard|1em}}
</$button>
\end

\procedure edit() <$action-createtiddler $basetitle=<<dom-temp>> />
\procedure cancel() <$action-deletetiddler $tiddler=<<temp>> />
\procedure save()
<$action-setfield $tiddler=<<currentTiddler>> $index=<<index>> $value={{{ [<temp>get[text]] ~[<value>] }}} />
<<cancel>>
\end

<$eventcatcher selector=".index" $dblclick=<<edit>> tag="div">
<table class="wilk-dictionary-table">
<$list filter="[<currentTiddler>indexes[]sort[]]" variable="index">
	<tr>
		<td>
			<$transclude $variable="display" content=<<index>> />
		</td>
		<$let
			temp=`$:/temp/volatile/$(currentTiddler)$/$(index)$`
			value={{{ [<currentTiddler>getindex<index>] }}}
		>
		<td class="index" temp=<<temp>>>
			<% if [<temp>is[tiddler]] %>
				<$keyboard key="enter" actions=<<save>>>
				<$keyboard key="escape" actions=<<cancel>>>
					<$edit-text tiddler=<<temp>> tag=input class="tc-max-width" default=<<value>> />
				</$keyboard>
				</$keyboard>
			<% else %>
				<$transclude $variable="display" content=<<value>> />
			<% endif %>
		</td>
		</$let>
	</tr>
</$list>
</table>
</$eventcatcher>
5 Likes