Tinka 0.5.0 - A Plugin to make more Plugins

141 views
Skip to first unread message

Andreas Hahn

unread,
Aug 2, 2020, 7:48:23 PM8/2/20
to TiddlyWiki
Hello all,

its already been years again, since I last updated Tinka. However, with
a lot of help and guidance by Mat, Tinka is now reworked to have an
easier interface as well as work nicely with newer versions of TW5. You
can take a look at the new version here:

https://tinkaplugin.github.io/

Feel free to play around with it on the site itself; a few highlights in
the new version are:

- It should now be much more straightforward to modify plugins

- Backups can now have notes attached to them

- You can select/unselect all search results

Thank you to Mat, who motivated me to make sure that Tinka remains up to
date and I hope other people also find this useful for creating and
modifying their own plugins.

/Andreas


TW Tones

unread,
Aug 2, 2020, 9:15:35 PM8/2/20
to TiddlyWiki
Andreas,

Thanks so much for updating this Iconic tool. I had strayed from using it over time and excited to return to it. 

  • In a related effort I have almost built a way to export multiple plugins to a Library for publishing (Release 5.1.23 using ZIP plugin)
  • It would be nice If I can add support for a tinka generated plugins to library workflow.

My key need initially is to integrate it with my current project method and work flow. If I may outline where I am at?, if you have any suggestions.
  • Since I have mostly written wikitext macros I did not need to package my solutions as plugins, but just JSON bundles.
  • PSaT is my org name People Systems and Things.
  • The naming standard I used is like this for the "PSaT Advanced search Indicators" project
| $:/PSaT/AdvancedSearch 
| $:/PSaT/AdvancedSearch/indicators 
| $:/PSaT/AdvancedSearch/indicators/binoculars.svg 
| $:/PSaT/AdvancedSearch/indicators/macros 
| $:/PSaT/AdvancedSearch/indicators/sidebar 
| $:/PSaT/AdvancedSearch/ListItemTemplate 
| $:/PSaT/AdvancedSearch/Filtered 

With occasional other tiddlers like $:/config/tiddlername

I am hoping to automate generating a plugin package from these tiddlers.
  • $:/PSaT/AdvancedSearch or $:/PSaT/AdvancedSearch/readme would be the source for readme
  • perhaps $:/PSaT/AdvancedSearch/usage and a few others that would become $:/plugins/PSaT/AdvancedSearch/usage
  • Elsewhere I would have a tiddler for a licence? eg $:/PSaT/source/Mylicence
I am happy to keep the lions share of the tiddlers using the above naming standard, I have a couple of designer notes I would not include in the package.

Questions
  • Have you a suggestion on how to generate the required plugin tiddlers from existing ones to package into the tinka plugin while retaining other project tiddlers?
  • When one moves from tiddlers and Macros to plugins and shadows, some small code tweeks are need to take account of shadows etc.. 
    • Is anyone experienced enough to document the kind of thing one must change?
Thanks for you contribution
TW Tones (aka TonyM)

JD

unread,
Aug 3, 2020, 1:15:29 AM8/3/20
to TiddlyWiki
Andreas! This is wonderful! You must know, a lot of projects would not have been shared if not for the easy packaging afforded by Tinka! I love it. It's been my bestfriend since I first discovered it!

Just an appreciation post ^^,

-jd

Mat

unread,
Aug 3, 2020, 5:43:23 PM8/3/20
to TiddlyWiki
@Andreas - great work! Tinka is an absolutely essential plugin when I make plugins.

@TW Tones - your questions don't make sense. (Did you at all test to use Tinka?)

<:-)

Thomas Elmiger

unread,
Aug 3, 2020, 5:51:44 PM8/3/20
to TiddlyWiki
+1 what JD says.
Thanks a lot to you, Andreas and Mat.
Looking forward to try this.

All the best,
Thomas

TW Tones

unread,
Aug 3, 2020, 7:12:45 PM8/3/20
to TiddlyWiki
Mat,

I may not make sense to you, but I think I am making sense. Yes I have used tinka itself, including just recently.

My key desire to convert solutions that can be packages in a simple name space or json to be converted to plugins. I want a method to take one way of organising tiddlers, such as my "projects", and from them generate a plugin. 

One detail is converting existing tiddlers into readme usage etc... 

I have no doubt there is a partial gap in my understanding, however I do not think it an unreasonable to try and understand how to integrate other sources into plugin generation with tinka. 

When I have this worked out I can publish a large number of solutions as plugins, 
  • the next step will be generating plugin demo wikis in a similar manner from in wiki content, + Plugin and Innerwiki plugin.
  • All this work is tools for rapid development and publishing.

Regards
TW Tones

Andreas Hahn

unread,
Aug 7, 2020, 3:14:24 PM8/7/20
to tiddl...@googlegroups.com
Hello,

thank you TWTones, JD, Thomas and Mat for your kind words, I am very
happy to hear that Tinka has been useful to you. I apologize for the
late reply, but life has been busy.

@TWTones: If I understand your question correctly, you are mostly
looking to figure out how to organize the tiddler name(-spaces), is that
correct?

With plugins, it makes a lot of sense to stick to the TW5 standard
naming scheme of `$:/plugins/author/name`, which will put listed
tiddlers, such as a readme, the usage and the license in (for example)
`$:/plugins/author/name/readme`. Since you already have a naming scheme
for the actual content of your (future) plugins, I would recommend
keeping it the way it is and very much only putting plugin metadata
under the typical `$:/plugins/author/name/...` prefix. That should work
absolutely fine, as long as you are consistent with your other naming
scheme ´$:/PSat/...`.

When it comes to differences between normal tiddlers and shadow
tiddlers: The only thing I am aware of is that sometimes you might need
a `list-after`or `list-before` entry to make sure that (for example)
your CSS rules apply in the proper order. Other than that it should be a
painless experience.

Since you mentioned automatically generating plugins, you should know
that Tinka might not be the right tool for that, since it is very much
meant as a hands-on manual way to edit and create plugins. The best way
to have plugins be automatically created and put into demo wikis is
probably by using nodejs and a well organized filesystem structure. For
this, a system called ThirdFlow[1] might be helpful, as well as having a
look at how people who have put TW5 plugins on github organize the
repository.

I hope this helps a little bit and I was able to answer some of your
questions,

Regards,

/Andreas

[1] http://thediveo.github.io/ThirdFlow/  (I believe it will even
generate nice demo wikis for you too)

Reply all
Reply to author
Forward
0 new messages