From 92340d81ccca94cb3a866ab44c605e7d3e448779 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Wed, 25 Sep 2019 16:16:28 +0100 Subject: [PATCH] Introduce "parent-plugin" field to control how plugins are displayed in the chooser "Sub-plugins" are displayed within the dropdown of their parent plugin. This is a more elaborate version of #4109. It doesn't address dependent plugins (yet), this is just about grouping addon plugins under their parent. --- core/ui/ControlPanel/Modals/AddPlugins.tid | 9 +++++++++ .../tiddlywiki/codemirror-autocomplete/plugin.info | 1 + .../tiddlywiki/codemirror-closebrackets/plugin.info | 1 + plugins/tiddlywiki/codemirror-closetag/plugin.info | 1 + .../codemirror-fullscreen-editing/plugin.info | 1 + .../tiddlywiki/codemirror-keymap-emacs/plugin.info | 1 + .../codemirror-keymap-sublime-text/plugin.info | 1 + .../tiddlywiki/codemirror-keymap-vim/plugin.info | 1 + plugins/tiddlywiki/codemirror-mode-css/plugin.info | 1 + .../codemirror-mode-htmlembedded/plugin.info | 1 + .../codemirror-mode-htmlmixed/plugin.info | 1 + .../codemirror-mode-javascript/plugin.info | 1 + .../tiddlywiki/codemirror-mode-markdown/plugin.info | 1 + .../codemirror-mode-x-tiddlywiki/plugin.info | 1 + plugins/tiddlywiki/codemirror-mode-xml/plugin.info | 1 + .../codemirror-search-replace/plugin.info | 1 + plugins/tiddlywiki/codemirror/readme.tid | 13 +------------ themes/tiddlywiki/vanilla/base.tid | 7 ++++++- 18 files changed, 31 insertions(+), 13 deletions(-) diff --git a/core/ui/ControlPanel/Modals/AddPlugins.tid b/core/ui/ControlPanel/Modals/AddPlugins.tid index 3287819cf..95159bc9b 100644 --- a/core/ui/ControlPanel/Modals/AddPlugins.tid +++ b/core/ui/ControlPanel/Modals/AddPlugins.tid @@ -61,6 +61,13 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
<$transclude tiddler=<> field="readme" mode="block"/>
+
+<$set name="original-title" value={{{ [get[original-title]] }}}> +<$list filter="[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]has[parent-plugin]parent-pluginsort[title]sort[name]]" variable="assetInfo"> +<> + + +
@@ -83,8 +90,10 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
<$list filter="[all[tiddlers+shadows]tag[$:/tags/RemoteAssetInfo]server-url{!!url}original-plugin-type[$type$]search:author,description,original-title,readme,title{$:/temp/RemoteAssetSearch/$(currentTiddler)$}sort[title]sort[name]]" variable="assetInfo"> +<$list filter="[[$:/temp/RemoteAssetSearch/$(currentTiddler)$]has[text]] ~[!has[parent-plugin]]" variable="ignore"> <> +
\end diff --git a/plugins/tiddlywiki/codemirror-autocomplete/plugin.info b/plugins/tiddlywiki/codemirror-autocomplete/plugin.info index f46e5bdac..b8696e4ca 100755 --- a/plugins/tiddlywiki/codemirror-autocomplete/plugin.info +++ b/plugins/tiddlywiki/codemirror-autocomplete/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-autocomplete", "name": "CodeMirror Autocomplete", "description": "Autocompletion for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-closebrackets/plugin.info b/plugins/tiddlywiki/codemirror-closebrackets/plugin.info index a4eb8cac1..4f51acccf 100755 --- a/plugins/tiddlywiki/codemirror-closebrackets/plugin.info +++ b/plugins/tiddlywiki/codemirror-closebrackets/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-closebrackets", "name": "CodeMirror Close Brackets", "description": "Close brackets for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-closetag/plugin.info b/plugins/tiddlywiki/codemirror-closetag/plugin.info index c8ec68505..4fa5b74c3 100755 --- a/plugins/tiddlywiki/codemirror-closetag/plugin.info +++ b/plugins/tiddlywiki/codemirror-closetag/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-closetag", "name": "CodeMirror Close Tag", "description": "Close tags automatically for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-fullscreen-editing/plugin.info b/plugins/tiddlywiki/codemirror-fullscreen-editing/plugin.info index 89ba08df1..fc3c6f879 100755 --- a/plugins/tiddlywiki/codemirror-fullscreen-editing/plugin.info +++ b/plugins/tiddlywiki/codemirror-fullscreen-editing/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-fullscreen", "name": "CodeMirror Fullscreen", "description": "Fullscreen editing for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-keymap-emacs/plugin.info b/plugins/tiddlywiki/codemirror-keymap-emacs/plugin.info index 519472a6c..efdd03ce8 100755 --- a/plugins/tiddlywiki/codemirror-keymap-emacs/plugin.info +++ b/plugins/tiddlywiki/codemirror-keymap-emacs/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-keymap-emacs", "name": "CodeMirror Keymap Emacs", "description": "Keymap compatible with Emacs for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-keymap-sublime-text/plugin.info b/plugins/tiddlywiki/codemirror-keymap-sublime-text/plugin.info index 6f7ba6067..ad278481e 100755 --- a/plugins/tiddlywiki/codemirror-keymap-sublime-text/plugin.info +++ b/plugins/tiddlywiki/codemirror-keymap-sublime-text/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-keymap-sublime-text", "name": "CodeMirror Keymap Sublime Text", "description": "Keymap compatible with Sublime Text for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-keymap-vim/plugin.info b/plugins/tiddlywiki/codemirror-keymap-vim/plugin.info index 0f5387d5c..54b882bd0 100755 --- a/plugins/tiddlywiki/codemirror-keymap-vim/plugin.info +++ b/plugins/tiddlywiki/codemirror-keymap-vim/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-keymap-vim", "name": "CodeMirror Keymap Vim", "description": "Keymap compatible with Vim for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-mode-css/plugin.info b/plugins/tiddlywiki/codemirror-mode-css/plugin.info index e304dd256..d7f5ab397 100755 --- a/plugins/tiddlywiki/codemirror-mode-css/plugin.info +++ b/plugins/tiddlywiki/codemirror-mode-css/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-mode-css", "name": "CodeMirror Mode CSS", "description": "CSS highlighting mode for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-mode-htmlembedded/plugin.info b/plugins/tiddlywiki/codemirror-mode-htmlembedded/plugin.info index a0f2f0528..09eaaae98 100755 --- a/plugins/tiddlywiki/codemirror-mode-htmlembedded/plugin.info +++ b/plugins/tiddlywiki/codemirror-mode-htmlembedded/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-mode-htmlembedded", "name": "CodeMirror Mode HTML Embedded", "description": "Embedded HTML highlighting mode for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-mode-htmlmixed/plugin.info b/plugins/tiddlywiki/codemirror-mode-htmlmixed/plugin.info index a99c6e623..8e94358e2 100755 --- a/plugins/tiddlywiki/codemirror-mode-htmlmixed/plugin.info +++ b/plugins/tiddlywiki/codemirror-mode-htmlmixed/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-mode-htmlmixed", "name": "CodeMirror Mode HTML Mixed", "description": "HTML mixed highlighting mode for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-mode-javascript/plugin.info b/plugins/tiddlywiki/codemirror-mode-javascript/plugin.info index c4d39ee7b..6be77d42f 100755 --- a/plugins/tiddlywiki/codemirror-mode-javascript/plugin.info +++ b/plugins/tiddlywiki/codemirror-mode-javascript/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-mode-javascript", "name": "CodeMirror Mode JavaScript", "description": "JavaScript highlighting mode for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-mode-markdown/plugin.info b/plugins/tiddlywiki/codemirror-mode-markdown/plugin.info index 05593c4a1..140ba5326 100755 --- a/plugins/tiddlywiki/codemirror-mode-markdown/plugin.info +++ b/plugins/tiddlywiki/codemirror-mode-markdown/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-mode-markdown", "name": "CodeMirror Mode Markdown", "description": "Markdown highlighting mode for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/plugin.info b/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/plugin.info index 1d6244a81..60e5ac81d 100755 --- a/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/plugin.info +++ b/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki", "name": "CodeMirror Mode TiddlyWiki Classic", "description": "Tiddlywiki Classic highlighting mode for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-mode-xml/plugin.info b/plugins/tiddlywiki/codemirror-mode-xml/plugin.info index 35065d0cf..b249a0c26 100755 --- a/plugins/tiddlywiki/codemirror-mode-xml/plugin.info +++ b/plugins/tiddlywiki/codemirror-mode-xml/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-mode-xml", "name": "CodeMirror Mode XML", "description": "XML highlighting mode for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror-search-replace/plugin.info b/plugins/tiddlywiki/codemirror-search-replace/plugin.info index 15f10dfa5..a78d7a343 100755 --- a/plugins/tiddlywiki/codemirror-search-replace/plugin.info +++ b/plugins/tiddlywiki/codemirror-search-replace/plugin.info @@ -2,5 +2,6 @@ "title": "$:/plugins/tiddlywiki/codemirror-search-replace", "name": "CodeMirror Search and Replace", "description": "Search and replace for CodeMirror", + "parent-plugin": "$:/plugins/tiddlywiki/codemirror", "list": "readme" } diff --git a/plugins/tiddlywiki/codemirror/readme.tid b/plugins/tiddlywiki/codemirror/readme.tid index 15b668346..c254a047f 100755 --- a/plugins/tiddlywiki/codemirror/readme.tid +++ b/plugins/tiddlywiki/codemirror/readme.tid @@ -1,17 +1,6 @@ title: $:/plugins/tiddlywiki/codemirror/readme -This plugin provides an enhanced text editor component based on [[CodeMirror|http://codemirror.net]]. -The basic configuration is designed to be as lightweight as possible and is just around 235kb of size. -Additional features can be installed with ~CodeMirror ~AddOns from the plugin library: - -* Code colouring for many languages (see [[the official documentation here|http://codemirror.net/mode/index.html]]) -* Auto closing brackets and tags -* Folding brackets, comments, and tags -* Auto-completion -* Search and Replace -* Fullscreen Editing -* Optional Emacs, Sublime Text or Vim Keymaps - +This plugin provides an enhanced text editor component based on [[CodeMirror|http://codemirror.net]]. The basic configuration is designed to be as lightweight as possible and is just around 235kb of size. Additional features can be installed with ~CodeMirror ~AddOns from the plugin library. [[Source code|https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/codemirror]] diff --git a/themes/tiddlywiki/vanilla/base.tid b/themes/tiddlywiki/vanilla/base.tid index e02a8c10c..bd202604e 100644 --- a/themes/tiddlywiki/vanilla/base.tid +++ b/themes/tiddlywiki/vanilla/base.tid @@ -2073,12 +2073,17 @@ html body.tc-body.tc-single-tiddler-window { display: flex; border: 1px solid <>; fill: <>; - background-colour: <>; + background-color: <>; margin: 0.5em 0 0.5em 0; padding: 4px; align-items: center; } +.tc-plugin-info-sub-plugins .tc-plugin-info { + margin: 0.5em 1em 0.5em 1em; + background: rgba(255,255,0,0.05); +} + .tc-plugin-info-disabled { background: -webkit-repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px); background: repeating-linear-gradient(45deg, #ff0, #ff0 10px, #eee 10px, #eee 20px);