mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2025-08-08 06:43:49 +00:00
Plugin library chooser improvements
* Make "Also requires:" translatable * Clearer styling for sub-plugins * Documentation tweaks
This commit is contained in:
parent
0193bfd5e9
commit
ded9d4074c
@ -63,6 +63,7 @@ Parsing/Pragma/Caption: Pragma Parse Rules
|
|||||||
Plugins/Add/Caption: Get more plugins
|
Plugins/Add/Caption: Get more plugins
|
||||||
Plugins/Add/Hint: Install plugins from the official library
|
Plugins/Add/Hint: Install plugins from the official library
|
||||||
Plugins/AlreadyInstalled/Hint: This plugin is already installed at version <$text text=<<installedVersion>>/>
|
Plugins/AlreadyInstalled/Hint: This plugin is already installed at version <$text text=<<installedVersion>>/>
|
||||||
|
Plugins/AlsoRequires: Also requires:
|
||||||
Plugins/Caption: Plugins
|
Plugins/Caption: Plugins
|
||||||
Plugins/Disable/Caption: disable
|
Plugins/Disable/Caption: disable
|
||||||
Plugins/Disable/Hint: Disable this plugin when reloading page
|
Plugins/Disable/Hint: Disable this plugin when reloading page
|
||||||
|
@ -67,7 +67,7 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
|
|||||||
<$set name="currentTiddler" value=<<assetInfo>>>
|
<$set name="currentTiddler" value=<<assetInfo>>>
|
||||||
<$list filter="[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]" variable="ignore">
|
<$list filter="[enlist{!!dependents}] [<currentTiddler>get[parent-plugin]] +[limit[1]]" variable="ignore">
|
||||||
<div>
|
<div>
|
||||||
Also requires:
|
{{$:/language/ControlPanel/Plugins/AlsoRequires}}
|
||||||
<$list filter="[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]" variable="dependency">
|
<$list filter="[enlist{!!dependents}] [{!!parent-plugin}] +[sort[title]]" variable="dependency">
|
||||||
<$text text=<<dependency>>/>
|
<$text text=<<dependency>>/>
|
||||||
</$list>
|
</$list>
|
||||||
|
13
editions/tw5.com/tiddlers/Plugin Dependencies.tid
Normal file
13
editions/tw5.com/tiddlers/Plugin Dependencies.tid
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
created: 20190928081852771
|
||||||
|
modified: 20190928082758674
|
||||||
|
tags: PluginMechanism
|
||||||
|
title: Plugin Dependencies
|
||||||
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
|
The simplest form of dependency between plugins is that one plugin can declare itself to be a sub-plugin of another plugin by specifying that plugin in the `parent-plugin` [[field|Plugin Fields]]. Sub-plugins are displayed in the control panel plugin chooser within the expandable area of their parent plugin. For example, the official plugin library includes the [[CodeMirror Plugin]] and also more than a dozen sub-plugins that extend the CodeMirror plugin with optional functionality. Note that sub-plugins cannot themselves have further sub-plugins.
|
||||||
|
|
||||||
|
Plugins can also use their `dependents` [[field|Plugin Fields]] to list the titles of any other plugins that should also be installed. Note that the list is not resolved recursively: dependents of dependents will not be installed.
|
||||||
|
|
||||||
|
When installing a plugin from the plugin library, both the `parent-plugin` and `dependents` fields are used to determine any additional plugins to be installed.
|
||||||
|
|
||||||
|
Note that the `dependents` field is also used by the ThemeMechanism and the LanguageMechanism to switch in dependent theme/language plugins.
|
18
editions/tw5.com/tiddlers/Plugin Types.tid
Normal file
18
editions/tw5.com/tiddlers/Plugin Types.tid
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
created: 20190928081810311
|
||||||
|
modified: 20190928081811355
|
||||||
|
tags:
|
||||||
|
title: Plugin Types
|
||||||
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
|
Plugins have a `plugin-type` field that determines how it is treated. The following values are defined by the core:
|
||||||
|
|
||||||
|
* `plugin` - an ordinary plugin
|
||||||
|
* `theme` - 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 progress
|
||||||
|
* `info` - 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|SystemTag: $:/tags/ViewTemplate]].
|
@ -1,5 +1,5 @@
|
|||||||
created: 20130826122000000
|
created: 20130826122000000
|
||||||
modified: 20190927172137277
|
modified: 20190928082000464
|
||||||
tags: Mechanisms
|
tags: Mechanisms
|
||||||
title: PluginMechanism
|
title: PluginMechanism
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
@ -16,20 +16,21 @@ By convention, plugin titles have the form `$:/plugins/<publisher>/<name>`. Plug
|
|||||||
|
|
||||||
When [[running TiddlyWiki under Node.js|TiddlyWiki on Node.js]], plugins can also be stored as individual tiddler files in [[PluginFolders]].
|
When [[running TiddlyWiki under Node.js|TiddlyWiki on Node.js]], plugins can also be stored as individual tiddler files in [[PluginFolders]].
|
||||||
|
|
||||||
Plugins have a `plugin-type` field that determines how it is treated. The following values are defined by the core:
|
! Plugin Types
|
||||||
|
|
||||||
* `plugin` - an ordinary plugin
|
{{Plugin Types}}
|
||||||
* `theme` - 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:
|
! Plugin Dependencies
|
||||||
|
|
||||||
* `import` - for the special $:/Import plugin created while importing is in progress
|
{{Plugin Dependencies}}
|
||||||
* `info` - for the special $:/temp/info-plugin tiddler created by the InfoMechanism
|
|
||||||
|
|
||||||
Custom plugin types can also be used. They will automatically receive the same behaviour as plain plugins but can display a custom user interface using an appropriate [[view template segment|SystemTag: $:/tags/ViewTemplate]].
|
! Plugin Ordering
|
||||||
|
|
||||||
See [[Plugin Fields]] for details of the other fields used by plugins.
|
{{Plugin Ordering}}
|
||||||
|
|
||||||
|
! Plugin Fields
|
||||||
|
|
||||||
|
{{Plugin Fields}}
|
||||||
|
|
||||||
! More information
|
! More information
|
||||||
|
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
created: 20161015122718559
|
created: 20161015122718559
|
||||||
modified: 20190927172655698
|
modified: 20190928083018378
|
||||||
tags: PluginMechanism
|
tags: PluginMechanism
|
||||||
title: Plugin Fields
|
title: Plugin Fields
|
||||||
type: text/vnd.tiddlywiki
|
type: text/vnd.tiddlywiki
|
||||||
|
|
||||||
! Plugin fields
|
|
||||||
|
|
||||||
Plugins are stored as tiddlers with the following fields:
|
Plugins are stored as tiddlers with the following fields:
|
||||||
|
|
||||||
|!Field |!Description |
|
|!Field |!Description |
|
||||||
@ -14,6 +12,7 @@ Plugins are stored as tiddlers with the following fields:
|
|||||||
|description |Description of plugin |
|
|description |Description of plugin |
|
||||||
|list |Names of exposed plugin information tiddlers (see below) |
|
|list |Names of exposed plugin information tiddlers (see below) |
|
||||||
|name |Brief name of the plugin |
|
|name |Brief name of the plugin |
|
||||||
|
|plugin-priority |//(optional)// Numerical priority (higher numbers install later, the core plugin has a priority of zero |
|
||||||
|plugin-type |Generally ''plugin'', ''language'' or ''theme''; see PluginMechanism for details |
|
|plugin-type |Generally ''plugin'', ''language'' or ''theme''; see PluginMechanism for details |
|
||||||
|parent-plugin |//(optional)// <<.from-version "5.1.22">> Title of the plugin under which this plugin should be displayed as a sub-plugin in the control panel plugin chooser |
|
|parent-plugin |//(optional)// <<.from-version "5.1.22">> Title of the plugin under which this plugin should be displayed as a sub-plugin in the control panel plugin chooser |
|
||||||
|source |//(optional)// Source URL of plugin |
|
|source |//(optional)// Source URL of plugin |
|
||||||
|
@ -2179,7 +2179,12 @@ a.tc-tiddlylink.tc-plugin-info:hover .tc-plugin-info > .tc-plugin-info-chunk > s
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tc-plugin-info-dropdown-body {
|
.tc-plugin-info-dropdown-body {
|
||||||
padding: 1em 1em 1em 1em;
|
padding: 1em 1em 0 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tc-plugin-info-sub-plugins {
|
||||||
|
padding-top: 0.5em;
|
||||||
|
background: <<colour message-background>>;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tc-plugin-library-listing .tc-install-plugin {
|
.tc-plugin-library-listing .tc-install-plugin {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user