Plugins have a plugin-type
field that determines how it is treated. The following values are defined by the core:
plugin
- an ordinary plugintheme
- a theme plugin (see ThemeMechanism). Only the theme plugin named in the tiddler $:/theme is activated at any one time (along with any dependent theme plugins)language
- a language plugin (see TranslationMechanism). Only the language plugin named in the tiddler $:/language is activated at any one time (along with any dependent language plugins)
The following plugin types are used internally by the core:
import
- for the special $:/Import plugin created while importing is in progressinfo
- for the special $:/temp/info-plugin tiddler created by the InfoMechanism
While not supported by the plugin library, it is also possible to use custom plugin types to build plugin-like behaviour with a custom user interface. Plugins with a custom type will automatically receive the same behaviour as plain plugins but can display a custom user interface using an appropriate view template segment.
By default, tiddlers within plugins with custom plugin types will not be registered as shadow tiddlers (the constituent tiddlers can still be addressed as subtiddlers by the TranscludeWidget, ViewWidget or the plugintiddlers Operator). Setting a configuration tiddler $:/config/RegisterPluginType/<plugin-type>
to yes
will cause the tiddlers within the plugin to be registered as shadow tiddlers.