Skip to content

Commit 7520b8f

Browse files
committed
Update Tutorial-o-Matic.mm
1 parent 7c9b169 commit 7520b8f

1 file changed

Lines changed: 145 additions & 44 deletions

File tree

Tutorial-o-Matic/Tutorial-o-Matic.mm

Lines changed: 145 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@
22
<!--To view this file, download free mind mapping software Freeplane from https://www.freeplane.org -->
33
<node TEXT="Tutorial-o-Matic" FOLDED="false" ID="ID_696401721" LINK="https://github.com/EdoFro/Freeplane_Tutorial_AddOn" BACKGROUND_COLOR="#97c7dc">
44
<font SIZE="16" BOLD="true" ITALIC="true"/>
5-
<attribute_layout NAME_WIDTH="111.75 pt" VALUE_WIDTH="165.75 pt"/>
5+
<attribute_layout NAME_WIDTH="112.5 pt" VALUE_WIDTH="434.24999 pt"/>
66
<attribute NAME="name" VALUE="tutorialOMatic"/>
77
<attribute NAME="version" VALUE="v0.0.5"/>
88
<attribute NAME="author" VALUE="EdoFro"/>
99
<attribute NAME="freeplaneVersionFrom" VALUE="v1.9.9"/>
1010
<attribute NAME="freeplaneVersionTo" VALUE=""/>
1111
<attribute NAME="updateUrl" VALUE="https://github.com/EdoFro/Freeplane_Tutorial_AddOn/raw/main/Tutorial-o-Matic/version.properties"/>
12+
<attribute NAME="changelogUrl" VALUE=""/>
13+
<attribute NAME="addonsMenu" VALUE="/menu_bar/edoTools"/>
14+
<attribute NAME="downloadUrl" VALUE="${homepage}/releases/download/${version}/"/>
1215
<richcontent TYPE="NOTE" CONTENT-TYPE="xml/">
1316
<html>
1417
<head>
@@ -40,9 +43,16 @@
4043
<li>
4144
updateUrl: URL of the file containing information (version, download url) on the latest version of this add-on. By default: &quot;${homepage}/version.properties&quot;
4245
</li>
46+
<li>
47+
addonsMenu: Defines the addon's main menu location, defaults menu 'main_menu_scripting'.<br/>Use developer tool menuItemInfo to inspect menu location keys.<br/>This attribute is mandatory.<br/>Example: '/menu_bar/myAddons'
48+
</li>
49+
<li>
50+
downloadUrl: URL from the place where the AddOn file will be available for downloading.<br/>By default is the same as the homepage.<br/>You can define a different place or a subfolder of the homepage.<br/>Example: &quot;${homepage}/files/&quot;
51+
</li>
4352
</ul>
4453
</body>
45-
</html></richcontent>
54+
</html>
55+
</richcontent>
4656
<hook NAME="MapStyle" background="#f9f9f8">
4757
<properties edgeColorConfiguration="#808080ff,#ff0000ff,#0000ffff,#00ff00ff,#ff00ffff,#00ffffff,#7c0000ff,#00007cff,#007c00ff,#7c007cff,#007c7cff,#7c7c00ff" show_icon_for_attributes="true" mapUsesOwnSaveOptions="true" save_modification_times="false" save_last_visited_node="default" associatedTemplateLocation="file:/C:/Users/Edo/Documents/GitHub/Freeplane_My-Menu-Inator/Menu-o-Matic/Menu-o-Matic.mm" show_note_icons="true" save_folding="save_folding_if_map_is_changed" fit_to_viewport="false"/>
4858

@@ -128,7 +138,7 @@
128138
</stylenode>
129139
</map_styles>
130140
</hook>
131-
<hook NAME="AutomaticEdgeColor" COUNTER="13" RULE="ON_BRANCH_CREATION"/>
141+
<hook NAME="AutomaticEdgeColor" COUNTER="14" RULE="ON_BRANCH_CREATION"/>
132142
<node TEXT="description" POSITION="left" ID="ID_1678998363">
133143
<edge COLOR="#ff0000"/>
134144
<richcontent TYPE="NOTE" CONTENT-TYPE="xml/">
@@ -147,7 +157,8 @@
147157
To translate the description you have to define a translation for the key 'addons.${name}.description'.
148158
</p>
149159
</body>
150-
</html></richcontent>
160+
</html>
161+
</richcontent>
151162
<node TEXT="Tutorial-o-Matic for Freeplane!!&#xa;Tutorial-o-Matic is an AddOn for Freeplane that gives the user the possibility to create his/her own tutorials." ID="ID_1642042079"/>
152163
</node>
153164
<node TEXT="changes" POSITION="left" ID="ID_461119253">
@@ -162,7 +173,8 @@
162173
Change log of this add-on: append one node for each noteworthy version and put the details for each version into a child node.
163174
</p>
164175
</body>
165-
</html></richcontent>
176+
</html>
177+
</richcontent>
166178
<node TEXT="v0.0.1" FOLDED="true" ID="ID_1147464075">
167179
<node TEXT="Demo version" ID="ID_1739689712"/>
168180
</node>
@@ -177,6 +189,7 @@
177189
</node>
178190
<node TEXT="v0.0.5" ID="ID_1381773414">
179191
<node TEXT="- use look and feel specific colors (dpolivaev)" ID="ID_1429862191"/>
192+
<node TEXT="using devtools v0.9.30" ID="ID_1084561560"/>
180193
</node>
181194
</node>
182195
<node TEXT="license" FOLDED="true" POSITION="left" ID="ID_624388795">
@@ -197,7 +210,8 @@
197210
The License text has to be entered as a child of the <i>'license'</i>&nbsp;node, either as plain text or as HTML.
198211
</p>
199212
</body>
200-
</html></richcontent>
213+
</html>
214+
</richcontent>
201215
<node TEXT="MIT License&#xa;&#xa;Copyright (c) 2021 Eduardo Frohlich.&#xa;&#xa;Permission is hereby granted, free of charge, to any person obtaining a copy&#xa;of this software and associated documentation files (the &quot;Software&quot;), to deal&#xa;in the Software without restriction, including without limitation the rights&#xa;to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&#xa;copies of the Software, and to permit persons to whom the Software is&#xa;furnished to do so, subject to the following conditions:&#xa;&#xa;The above copyright notice and this permission notice shall be included in all&#xa;copies or substantial portions of the Software.&#xa;&#xa;THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&#xa;IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&#xa;FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&#xa;AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&#xa;LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&#xa;OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&#xa;SOFTWARE." ID="ID_444630498"/>
202216
</node>
203217
<node TEXT="preferences.xml" POSITION="left" ID="ID_1967714695">
@@ -212,10 +226,104 @@
212226
<font color="#000000" face="SansSerif, sans-serif">The child node contains the add-on configuration as an extension to mindmapmodemenu.xml (in Tools-&gt;Preferences-&gt;Add-ons). </font>
213227
</p>
214228
<p>
215-
<font color="#000000" face="SansSerif, sans-serif">Every property in the configuration should receive a default value in <i>default.properties</i>&nbsp;node.</font>
229+
<font color="#000000" face="SansSerif, sans-serif">&nbsp;</font>
230+
</p>
231+
<p>
232+
<font color="#000000" face="SansSerif, sans-serif">Every property in the configuration should receive a default value in <i>default.properties</i>&nbsp;node. </font>
216233
</p>
234+
<p>
235+
236+
</p>
237+
<p>
238+
<b>Automatic way (new since v0.9.30): </b>
239+
</p>
240+
<p>
241+
you can add the preferences parameters as attributes to this node and then, by checking AddOn it will:
242+
</p>
243+
<ul>
244+
<li>
245+
create the child node containing <font color="#000000" face="SansSerif, sans-serif">the add-on configuration as an extension to mindmapmodemenu.xml</font>
246+
</li>
247+
<li>
248+
add the properties to the <font color="#000000" face="SansSerif, sans-serif"><i>default.properties</i>&nbsp;node</font>
249+
</li>
250+
<li>
251+
add the properties to the <i>translations</i><font color="#000000" face="SansSerif, sans-serif">&nbsp;node</font>
252+
</li>
253+
</ul>
254+
<p>
255+
256+
</p>
257+
<p>
258+
<b>How? </b>
259+
</p>
260+
<ul>
261+
<li>
262+
Add an attribute for each preference.
263+
</li>
264+
<li>
265+
the attribute name should be the preference name.
266+
</li>
267+
<li>
268+
as attribute value you should specify if it is a <b>boolean</b>, <b>string</b>&nbsp;or <b>number</b>&nbsp;preference
269+
</li>
270+
<li>
271+
if it is a <b>number</b>&nbsp;preference. you should add the min and max value for it (separed by comma)
272+
</li>
273+
</ul>
274+
<p>
275+
276+
</p>
277+
<p>
278+
<b>Example: </b>
279+
</p>
280+
<p>
281+
282+
</p>
283+
<p>
284+
Attributes:
285+
</p>
286+
<table border="0" style="width: 80%; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 0; border-right-width: 0; border-bottom-width: 0; border-left-width: 0">
287+
<tr>
288+
<td valign="top" style="width: 50%; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1; border-right-width: 1; border-bottom-width: 1; border-left-width: 1">
289+
<p style="margin-top: 1; margin-right: 1; margin-bottom: 1; margin-left: 1">
290+
isStudent
291+
</p>
292+
</td>
293+
<td valign="top" style="width: 50%; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1; border-right-width: 1; border-bottom-width: 1; border-left-width: 1">
294+
<p style="margin-top: 1; margin-right: 1; margin-bottom: 1; margin-left: 1">
295+
boolean
296+
</p>
297+
</td>
298+
</tr>
299+
<tr>
300+
<td valign="top" style="width: 50%; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1; border-right-width: 1; border-bottom-width: 1; border-left-width: 1">
301+
<p style="margin-top: 1; margin-right: 1; margin-bottom: 1; margin-left: 1">
302+
userName
303+
</p>
304+
</td>
305+
<td valign="top" style="width: 50%; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1; border-right-width: 1; border-bottom-width: 1; border-left-width: 1">
306+
<p style="margin-top: 1; margin-right: 1; margin-bottom: 1; margin-left: 1">
307+
string
308+
</p>
309+
</td>
310+
</tr>
311+
<tr>
312+
<td valign="top" style="width: 50%; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1; border-right-width: 1; border-bottom-width: 1; border-left-width: 1">
313+
<p style="margin-top: 1; margin-right: 1; margin-bottom: 1; margin-left: 1">
314+
birthMonth
315+
</p>
316+
</td>
317+
<td valign="top" style="width: 50%; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-width: 1; border-right-width: 1; border-bottom-width: 1; border-left-width: 1">
318+
<p style="margin-top: 1; margin-right: 1; margin-bottom: 1; margin-left: 1">
319+
number,1,12
320+
</p>
321+
</td>
322+
</tr>
323+
</table>
217324
</body>
218-
</html></richcontent>
325+
</html>
326+
</richcontent>
219327
</node>
220328
<node TEXT="default.properties" POSITION="left" ID="ID_1398497950">
221329
<edge COLOR="#00ffff"/>
@@ -237,7 +345,8 @@ For each menu item with an icon add an attribute with the icon key (use develope
237345
</li>
238346
</ul>
239347
</body>
240-
</html></richcontent>
348+
</html>
349+
</richcontent>
241350
</node>
242351
<node TEXT="translations" POSITION="left" ID="ID_546877695">
243352
<edge COLOR="#7c0000"/>
@@ -262,16 +371,18 @@ For each menu item with an icon add an attribute with the icon key (use develope
262371
</li>
263372
</ul>
264373
</body>
265-
</html></richcontent>
374+
</html>
375+
</richcontent>
266376
<node TEXT="en" ID="ID_1998059292">
267-
<attribute_layout NAME_WIDTH="162 pt" VALUE_WIDTH="281.24999 pt"/>
377+
<attribute_layout NAME_WIDTH="166.5 pt" VALUE_WIDTH="269.24999 pt"/>
268378
<attribute NAME="addons.${name}" VALUE="Tutorial-o-Matic"/>
269379
<attribute NAME="addons.${name}.ActionInstruction1" VALUE="&lt;html&gt;In submenu &lt;b&gt;{0}&lt;/b&gt; &lt;br&gt;click on &lt;b&gt;{1}&lt;/b&gt;&lt;/html&gt;"/>
270380
<attribute NAME="addons.${name}.ActionInstruction2" VALUE="&lt;html&gt;You can also use de keyboard shortcut &lt;b&gt;{0}&lt;/b&gt; for this command&lt;/html&gt;"/>
271381
<attribute NAME="addons.${name}.executeTutorial" VALUE="execute Demo tutorial"/>
272382
<attribute NAME="addons.${name}.openDemoMap" VALUE="open Demo map"/>
273383
<attribute NAME="addons.${name}.ToMDemo" VALUE="Tutorial-o-Matic Demo"/>
274384
</node>
385+
<node TEXT="es" ID="ID_1519178718"/>
275386
</node>
276387
<node TEXT="deinstall" POSITION="left" ID="ID_378917294">
277388
<edge COLOR="#00007c"/>
@@ -285,7 +396,8 @@ For each menu item with an icon add an attribute with the icon key (use develope
285396
List of files and/or directories to remove on uninstall
286397
</p>
287398
</body>
288-
</html></richcontent>
399+
</html>
400+
</richcontent>
289401
<attribute_layout NAME_WIDTH="42.75 pt" VALUE_WIDTH="295.49999 pt"/>
290402
<attribute NAME="delete" VALUE="${installationbase}/addons/${name}.script.xml"/>
291403
<attribute NAME="delete" VALUE="${installationbase}/addons/${name}/lib/Tutorial-o-Matic.jar"/>
@@ -416,11 +528,12 @@ For each menu item with an icon add an attribute with the icon key (use develope
416528
&nbsp;&nbsp;- In any case set execute_scripts_without_asking to true unless you want to annoy users.
417529
</p>
418530
</body>
419-
</html></richcontent>
531+
</html>
532+
</richcontent>
420533
<node TEXT="openDemoMap.groovy" ID="ID_1629939217">
421-
<attribute_layout NAME_WIDTH="200.24999 pt" VALUE_WIDTH="200.24999 pt"/>
534+
<attribute_layout NAME_WIDTH="209.24999 pt" VALUE_WIDTH="156.75 pt"/>
422535
<attribute NAME="menuTitleKey" VALUE="addons.${name}.openDemoMap"/>
423-
<attribute NAME="menuLocation" VALUE="/menu_bar/edoTools/addons.${name}"/>
536+
<attribute NAME="menuLocation" VALUE="${addonsMenu}/addons.${name}"/>
424537
<attribute NAME="executionMode" VALUE="on_single_node"/>
425538
<attribute NAME="keyboardShortcut" VALUE=""/>
426539
<attribute NAME="execute_scripts_without_asking" VALUE="true"/>
@@ -430,9 +543,9 @@ For each menu item with an icon add an attribute with the icon key (use develope
430543
<attribute NAME="execute_scripts_without_network_restriction" VALUE="false"/>
431544
</node>
432545
<node TEXT="ToMDemo.groovy" ID="ID_513310589">
433-
<attribute_layout NAME_WIDTH="200.24999 pt" VALUE_WIDTH="200.24999 pt"/>
546+
<attribute_layout NAME_WIDTH="209.24999 pt" VALUE_WIDTH="156.75 pt"/>
434547
<attribute NAME="menuTitleKey" VALUE="addons.${name}.ToMDemo"/>
435-
<attribute NAME="menuLocation" VALUE="/menu_bar/edoTools/addons.${name}"/>
548+
<attribute NAME="menuLocation" VALUE="${addonsMenu}/addons.${name}"/>
436549
<attribute NAME="executionMode" VALUE="on_single_node"/>
437550
<attribute NAME="keyboardShortcut" VALUE=""/>
438551
<attribute NAME="execute_scripts_without_asking" VALUE="true"/>
@@ -478,7 +591,8 @@ For each menu item with an icon add an attribute with the icon key (use develope
478591
&nbsp;- The files will be processed in the sequence as seen in the map.
479592
</p>
480593
</body>
481-
</html></richcontent>
594+
</html>
595+
</richcontent>
482596
<node TEXT="Tutorial-o-Matic.jar" ID="ID_1864463328"/>
483597
<node TEXT="markedj-1.0.16.jar" ID="ID_1060333872"/>
484598
<node TEXT="jsoup-1.10.2.jar" ID="ID_1151792763"/>
@@ -519,7 +633,8 @@ For each menu item with an icon add an attribute with the icon key (use develope
519633
&nbsp;- The files will be processed in the sequence as seen in the map.
520634
</p>
521635
</body>
522-
</html></richcontent>
636+
</html>
637+
</richcontent>
523638
<node TEXT="doc" ID="ID_281158802"/>
524639
<node TEXT="icons" ID="ID_211861022"/>
525640
<node TEXT="templates" ID="ID_553385296"/>
@@ -556,42 +671,28 @@ For each menu item with an icon add an attribute with the icon key (use develope
556671
Images can be added automatically by releaseAddOn.groovy or must be uploaded into the map via the script <i>Tools-&gt;Scripts-&gt;Insert Binary</i>&nbsp;since they have to be (base64) encoded as simple strings.
557672
</p>
558673
</body>
559-
</html></richcontent>
674+
</html>
675+
</richcontent>
560676
<node TEXT="tutorialOMatic.svg" ID="ID_863225553"/>
561677
<node TEXT="tutorialOMatic-icon.svg" ID="ID_1901205001"/>
562678
<node TEXT="tutorialOMatic-screenshot-1.png" ID="ID_791135029"/>
563679
</node>
564-
<node TEXT="shortcuts" POSITION="right" ID="ID_989188638">
565-
<edge COLOR="#ff0000"/>
680+
<node TEXT="actions" POSITION="right" ID="ID_742010356">
681+
<edge COLOR="#00ff00"/>
566682
<richcontent TYPE="NOTE" CONTENT-TYPE="xml/">
567683
<html>
568684
<head>
569685

570686
</head>
571687
<body>
572-
<p>
573-
some nodes to build AddOn and test changes easily and fast
574-
</p>
575-
</body>
576-
</html></richcontent>
577-
<richcontent CONTENT-TYPE="xml/" TYPE="DETAILS">
578-
<html>
579-
<head>
580-
581-
</head>
582-
<body>
583-
<p>
584-
Edo
585-
</p>
688+
Direct links to menu commands
586689
</body>
587-
</html></richcontent>
588-
<node TEXT="Build add-on" ID="ID_1016684737" LINK="menuitem:_addons.devtools.checkAddOn_on_single_node">
589-
<icon BUILTIN="emoji-1F527"/>
590-
</node>
591-
<node TEXT="Package add-on for publication" ID="ID_806418866" LINK="menuitem:_addons.devtools.releaseAddOn_on_single_node">
592-
<icon BUILTIN="emoji-1F5DC"/>
593-
</node>
594-
<node TEXT="Tutorial-o-Matic-v0.0.4.addon.mm" ID="ID_819625175" LINK="file:/C:/Users/Edo/Documents/GitHub/Freeplane_Tutorial_AddOn/Tutorial-o-Matic/Tutorial-o-Matic-v0.0.4.addon.mm"/>
690+
</html>
691+
</richcontent>
692+
<node TEXT="Build add-on" ID="ID_295578710" LINK="menuitem:_addons.devtools.checkAddOn_on_single_node"/>
693+
<node TEXT="Package add-on for publication" ID="ID_776080324" LINK="menuitem:_addons.devtools.releaseAddOn_on_single_node"/>
694+
<node TEXT="Export Translations" ID="ID_743273714" LINK="menuitem:_addons.devtools.exportTranslations_on_single_node"/>
695+
<node TEXT="Import Translations" ID="ID_190005721" LINK="menuitem:_addons.devtools.importTranslations_on_single_node"/>
595696
<node TEXT="loadAndExecuteTutorial.groovy" ID="ID_1523867671" LINK="menuitem:_ExecuteScriptForSelectionAction"><richcontent CONTENT-TYPE="xml/" TYPE="DETAILS">
596697
<html>
597698
<head>

0 commit comments

Comments
 (0)