tiddlywiki 5.3.0 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/bin/build-site.sh +1 -1
  2. package/boot/boot.js +6 -7
  3. package/core/images/new-journal-button.tid +1 -3
  4. package/core/modules/parsers/wikiparser/rules/fnprocdef.js +2 -2
  5. package/core/modules/parsers/wikiparser/rules/parameters.js +1 -1
  6. package/core/modules/startup/rootwidget.js +1 -0
  7. package/core/modules/startup/startup.js +5 -0
  8. package/core/modules/utils/dom/dragndrop.js +4 -2
  9. package/core/modules/utils/dom/http.js +19 -3
  10. package/core/modules/widgets/checkbox.js +3 -1
  11. package/core/modules/widgets/importvariables.js +1 -1
  12. package/core/modules/widgets/select.js +4 -0
  13. package/core/modules/widgets/transclude.js +69 -39
  14. package/core/modules/widgets/widget.js +7 -28
  15. package/core/modules/wiki.js +1 -1
  16. package/core/ui/AlertTemplate.tid +1 -0
  17. package/core/ui/EditTemplate.tid +1 -0
  18. package/core/ui/ImportPreviews/Text.tid +1 -0
  19. package/core/ui/PageStylesheet.tid +1 -0
  20. package/core/ui/PageTemplate.tid +1 -0
  21. package/core/ui/RootTemplate.tid +1 -0
  22. package/core/ui/StoryTiddlerTemplate.tid +1 -0
  23. package/core/ui/ViewTemplate/body/default.tid +1 -0
  24. package/core/ui/ViewTemplate.tid +1 -0
  25. package/core/wiki/config/OfficialPluginLibrary.tid +1 -1
  26. package/core/wiki/config/ViewTemplateBodyFilters.multids +2 -1
  27. package/core/wiki/macros/toc.tid +2 -2
  28. package/core/wiki/tags/ViewTemplateBodyFilter.tid +1 -2
  29. package/editions/de-AT/tiddlers/external/tiddlywiki.files +1 -1
  30. package/editions/prerelease/tiddlers/{Release 5.3.1.tid → Release 5.3.2.tid } +30 -26
  31. package/editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid +1 -1
  32. package/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +1 -1
  33. package/editions/prerelease/tiddlers/system/TiddlyWiki Pre-release.tid +1 -1
  34. package/editions/test/tiddlers/tests/data/functions/IndentedFunctions.tid +24 -0
  35. package/editions/test/tiddlers/tests/data/functions/WikifiedFunctions.tid +1 -1
  36. package/editions/test/tiddlers/tests/data/importvariables/WithSetWidgets.tid +23 -0
  37. package/editions/test/tiddlers/tests/data/importvariables/WithSetWidgets2.tid +22 -0
  38. package/editions/test/tiddlers/tests/data/importvariables/WithSetWidgetsAndMacros.tid +29 -0
  39. package/editions/test/tiddlers/tests/data/procedures/Nested-indented.tid +20 -0
  40. package/editions/test/tiddlers/tests/data/procedures/TrailingNewlines.tid +22 -0
  41. package/editions/test/tiddlers/tests/data/transclude/CustomWidget-Simple-Indented.tid +33 -0
  42. package/editions/test/tiddlers/tests/data/transclude/Parameterised-Shortcut-ParametersIndented.tid +20 -0
  43. package/editions/test/tiddlers/tests/data/transclude/Procedures-Double-Underscore.tid +26 -0
  44. package/editions/test/tiddlers/tests/data/widgets/SubstitutedAttributes.tid +5 -3
  45. package/editions/test/tiddlers/tests/test-filters.js +4 -4
  46. package/editions/tw5.com/tiddlers/community/resources/TiddlyWiki Posts.tid +3 -3
  47. package/editions/tw5.com/tiddlers/community/tutorials/GitHub Saver Tutorial by Mohammad.tid +5 -5
  48. package/editions/tw5.com/tiddlers/definitions/Git.tid +9 -0
  49. package/editions/tw5.com/tiddlers/definitions/GitHub.tid +6 -4
  50. package/editions/tw5.com/tiddlers/definitions/GitLab.tid +13 -0
  51. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/Fourth.tid +2 -0
  52. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/SecondThreeThree.tid +11 -1
  53. package/editions/tw5.com/tiddlers/demonstrations/TableOfContents/Third.tid +2 -0
  54. package/editions/tw5.com/tiddlers/filters/substitute Operator.tid +3 -3
  55. package/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +1 -1
  56. package/editions/tw5.com/tiddlers/images/New Release Banner.png +0 -0
  57. package/editions/tw5.com/tiddlers/images/{New Release Banner.jpg.meta → New Release Banner.png.meta } +1 -1
  58. package/editions/tw5.com/tiddlers/macros/TagMacro.tid +3 -1
  59. package/editions/tw5.com/tiddlers/macros/examples/tag.tid +22 -1
  60. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-close-window.tid +2 -2
  61. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-download-file.tid +3 -3
  62. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-bitmap-operation.tid +3 -3
  63. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-text-operation.tid +2 -2
  64. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-focus-selector.tid +2 -2
  65. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Random Dog.tid +90 -0
  66. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Zotero.tid +4 -3
  67. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request.tid +4 -2
  68. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-modal.tid +2 -2
  69. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-new-tiddler.tid +3 -3
  70. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-notify.tid +3 -3
  71. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-open-external-window.tid +4 -3
  72. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-save-wiki.tid +3 -3
  73. package/editions/tw5.com/tiddlers/pragmas/Pragma_ _procedure.tid +2 -2
  74. package/editions/tw5.com/tiddlers/pragmas/Pragma_ _rules.tid +2 -2
  75. package/editions/tw5.com/tiddlers/pragmas/Pragmas.tid +3 -1
  76. package/editions/tw5.com/tiddlers/procedures/Procedure Definitions.tid +1 -1
  77. package/editions/tw5.com/tiddlers/releasenotes/Release 5.3.1.tid +80 -0
  78. package/editions/tw5.com/tiddlers/releasenotes/Releases.tid +1 -1
  79. package/editions/tw5.com/tiddlers/releasenotes/TiddlyWiki Releases.tid +1 -1
  80. package/editions/tw5.com/tiddlers/{Saving on Browser with TiddlyStow.tid → saving/Saving on Browser with TiddlyStow.tid } +2 -2
  81. package/editions/tw5.com/tiddlers/saving/Saving to a Git service.tid +5 -1
  82. package/editions/tw5.com/tiddlers/saving/Saving via a Minimal Web Server.tid +8 -11
  83. package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Macro.tid +1 -1
  84. package/editions/tw5.com/tiddlers/variables/Behaviour of invoked variables depends on how the variable was declared.tid +52 -0
  85. package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via filter expression function call.tid +10 -0
  86. package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via filter operator parameter.tid +11 -0
  87. package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via normal wikitext.tid +11 -0
  88. package/editions/tw5.com/tiddlers/variables/Behaviour of variables invoked via widget attributes.tid +11 -0
  89. package/editions/tw5.com/tiddlers/variables/Variable Usage.tid +5 -49
  90. package/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid +24 -2
  91. package/editions/tw5.com/tiddlers/widgets/ActionPopupWidget.tid +2 -2
  92. package/editions/tw5.com/tiddlers/widgets/ListWidget.tid +3 -1
  93. package/editions/tw5.com/tiddlers/widgets/SelectWidget.tid +1 -1
  94. package/editions/tw5.com/tiddlers/widgets/examples/ActionListopsWidget (Examples).tid +12 -1
  95. package/editions/tw5.com/tiddlers/wikitext/Anchor Links using HTML.tid +1 -1
  96. package/editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid +52 -19
  97. package/editions/tw5.com/tiddlers/wikitext/Variable Attribute Values.tid +5 -2
  98. package/editions/tw5.com/tiddlers/wikitext/Widget Attributes.tid +8 -3
  99. package/editions/tw5.com/tiddlers/wikitext/Widgets in WikiText.tid +1 -0
  100. package/languages/pl-PL/Help/savewikifolder.tid +17 -4
  101. package/languages/zh-Hans/Help/savewikifolder.tid +5 -1
  102. package/languages/zh-Hant/Help/savewikifolder.tid +5 -1
  103. package/licenses/cla-individual.md +10 -0
  104. package/package.json +1 -1
  105. package/plugins/tiddlywiki/googleanalytics/googleanalytics.js +1 -1
  106. package/plugins/tiddlywiki/googleanalytics/settings.tid +1 -3
  107. package/plugins/tiddlywiki/jasmine/jasmine-plugin.js +9 -2
  108. package/plugins/tiddlywiki/jasmine/startup.js +2 -1
  109. package/readme.md +1 -1
  110. package/themes/tiddlywiki/vanilla/base.tid +8 -7
  111. package/editions/tw5.com/tiddlers/images/New Release Banner.jpg +0 -0
@@ -1,6 +1,6 @@
1
1
  caption: tm-edit-bitmap-operation
2
2
  created: 20160424204236050
3
- modified: 20160424215219517
3
+ modified: 20230723214716576
4
4
  tags: Messages
5
5
  title: WidgetMessage: tm-edit-bitmap-operation
6
6
  type: text/vnd.tiddlywiki
@@ -30,12 +30,12 @@ Clears the contents of the image and fills it with a solid colour. Parameters in
30
30
  \end
31
31
 
32
32
 
33
-
34
33
  A `tm-edit-bitmap-operation` invokes one of the available operations on a __surrounding__ bitmap editor. Therefore the message has to be dispatched within the editor in order for it to catch it. The following properties on the `event` object are required:
35
34
 
36
35
  |!Name |!Description |
37
36
  |param |Name of the operation to be executed, see ''below'' for a list of possible operations |
38
- |paramObject| Hashmap of additional parameters required by the operation top be executed |
37
+ |//{any other params}// |Any other parameters are made available as variables within the context of the widget message. |
38
+
39
39
 
40
40
  The `tm-edit-bitmap-operation` message is usually generated by a ButtonWidget or an ActionWidget and is handled by the surrounding bitmap editor.
41
41
 
@@ -1,6 +1,6 @@
1
1
  caption: tm-edit-text-operation
2
2
  created: 20160424211339792
3
- modified: 20210520053923011
3
+ modified: 20230723214636245
4
4
  tags: Messages
5
5
  title: WidgetMessage: tm-edit-text-operation
6
6
  type: text/vnd.tiddlywiki
@@ -121,7 +121,7 @@ A `tm-edit-text-operation` invokes one of the available operations on a __surrou
121
121
 
122
122
  |!Name |!Description |
123
123
  |param |Name of the operation to be executed, see ''below'' for a list of possible operations |
124
- |paramObject|Hashmap of additional parameters required by the operation top be executed |
124
+ |//{any other params}// |Any other parameters are made available as variables within the context of the widget message. |
125
125
 
126
126
  The `tm-edit-text-operation` message is usually generated by a ButtonWidget or an ActionWidget and is handled by the surrounding text editor.
127
127
 
@@ -1,6 +1,6 @@
1
1
  caption: tm-focus-selector
2
2
  created: 20190628162542132
3
- modified: 20190628162542132
3
+ modified: 20230723215122038
4
4
  tags: Messages
5
5
  title: WidgetMessage: tm-focus-selector
6
6
  type: text/vnd.tiddlywiki
@@ -9,6 +9,6 @@ The `tm-focus-selector` message sets the focus to the DOM element identified by
9
9
 
10
10
  |!Name |!Description |
11
11
  |param |Selector identifying the DOM element to be focussed |
12
- |paramObject |Optional hashmap of additional parameters to be passed to the [[focus()|https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus]] method |
12
+ |//{any other params}// |Any other parameters to be passed to the [[focus()|https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus]] method as variables.|
13
13
 
14
14
  <<.tip """Use preventScroll="true" to prevent the browser from scrolling to the focused element""">>
@@ -0,0 +1,90 @@
1
+ title: WidgetMessage: tm-http-request Example - Random Dog
2
+ tags: $:/tags/Global
3
+
4
+ \procedure download-dog(url)
5
+
6
+ \procedure completion-download-dog()
7
+ \import [subfilter{$:/core/config/GlobalImportFilter}]
8
+ <$action-log msg="In completion-download-dog"/>
9
+ <$action-log/>
10
+ <!-- Success -->
11
+ <$list filter="[<status>compare:number:gteq[200]compare:number:lteq[299]]" variable="ignore">
12
+ <!-- Create the dog tiddler -->
13
+ <$action-createtiddler
14
+ $basetitle=`$:/RandomDog/$(title)$`
15
+ text=<<data>>
16
+ tags="$:/tags/RandomDog"
17
+ type={{{ [<headers>jsonget[content-type]] }}}
18
+ credits="https://random.dog/"
19
+ >
20
+ <$action-log msg="Created tiddler" title=<<createTiddler-title>>/>
21
+ </$createtiddler>
22
+ </$list>
23
+ \end completion-download-dog
24
+
25
+ <$action-sendmessage
26
+ $message="tm-http-request"
27
+ url=<<url>>
28
+ method="GET"
29
+ binary="yes"
30
+ oncompletion=<<completion-download-dog>>
31
+ var-title=<<url>>
32
+ />
33
+ \end download-dog
34
+
35
+ \procedure get-random-dog()
36
+
37
+ \procedure completion-get-json()
38
+ \import [subfilter{$:/core/config/GlobalImportFilter}]
39
+ <$action-log msg="In completion-get-json"/>
40
+ <$action-log/>
41
+ <!-- Success -->
42
+ <$list filter="[<status>compare:number:gteq[200]compare:number:lteq[299]]" variable="ignore">
43
+ <!-- Download the dog -->
44
+ <$macrocall $name="download-dog" url={{{ [<data>jsonget[url]] }}}/>
45
+ </$list>
46
+ \end completion-get-json
47
+
48
+ <$action-sendmessage
49
+ $message="tm-http-request"
50
+ url="https://random.dog/woof.json"
51
+ method="GET"
52
+ oncompletion=<<completion-get-json>>
53
+ />
54
+ \end get-random-dog
55
+
56
+ !! Random Dogs
57
+
58
+ This demo uses the API of the website https://random.dog/ to import a random dog image or video.
59
+
60
+ //Note that the images and videos can be quite large, so this demo is not recommended to be used over mobile data connections.//
61
+
62
+ <$button actions=<<get-random-dog>>>
63
+ Import a random dog image or video
64
+ </$button>
65
+
66
+ <$list filter="[tag[$:/tags/RandomDog]limit[1]]" variable="ignore">
67
+
68
+ !! Imported Tiddlers
69
+
70
+ <$button>
71
+ <$action-deletetiddler $filter="[tag[$:/tags/RandomDog]]"/>
72
+ Delete all imported random dogs
73
+ </$button>
74
+
75
+ Export all imported random dogs: <$macrocall $name="exportButton" exportFilter="[tag[$:/tags/RandomDog]]" lingoBase="$:/language/Buttons/ExportTiddlers/"/>
76
+
77
+ </$list>
78
+
79
+ <ol>
80
+ <$list filter="[tag[$:/tags/RandomDog]!sort[modified]]">
81
+ <li>
82
+ <$link>
83
+ <$text text=<<currentTiddler>>/>
84
+ </$link>
85
+ <div style="width:300px;">
86
+ <$transclude $tiddler=<<currentTiddler>>/>
87
+ </div>
88
+ </li>
89
+ </$list>
90
+ </ol>
@@ -1,12 +1,12 @@
1
1
  title: WidgetMessage: tm-http-request Example - Zotero
2
- tags: $:/tags/Macro
2
+ tags: $:/tags/Global
3
3
 
4
4
  \procedure select-zotero-group()
5
5
  Specify the Zotero group ID to import
6
6
  <$edit-text tiddler="$:/config/zotero-group" tag="input"/> or
7
7
  <$select tiddler="$:/config/zotero-group">
8
8
  <option value="4813312">com216</option>
9
- <option value="4913310">pos252</option>
9
+ <option value="4914891">steve-sunypoly</option>
10
10
  <option value="4747244">idt575</option>
11
11
  </$select>
12
12
  \end
@@ -16,6 +16,7 @@ Specify the Zotero group ID to import
16
16
  $basetitle={{{ =[[_zotero_import ]] =[<item>jsonget[key]] =[[ ]] =[<item>jsonget[title]] +[join[]] }}}
17
17
  text={{{ [<item>jsonget[title]] }}}
18
18
  tags="$:/tags/ZoteroImport"
19
+ zotero-group={{$:/config/zotero-group}}
19
20
  >
20
21
  <$action-setmultiplefields $tiddler=<<createTiddler-title>> $fields="[<item>jsonindexes[]addprefix[zotero-]]" $values="[<item>jsonindexes[]] :map[<item>jsonget<currentTiddler>else[.XXXXX.]]"/>
21
22
  <$list filter="[<item>jsonindexes[creators]]" variable="creatorIndex">
@@ -33,7 +34,7 @@ Specify the Zotero group ID to import
33
34
  \procedure zotero-get-items(start:"0",limit:"25")
34
35
 
35
36
  \procedure completion()
36
- \import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]
37
+ \import [subfilter{$:/core/config/GlobalImportFilter}]
37
38
  <$action-log msg="In completion"/>
38
39
  <$action-log/>
39
40
  <!-- Success -->
@@ -1,6 +1,6 @@
1
1
  caption: tm-http-request
2
2
  created: 20230429161453032
3
- modified: 20230429161453032
3
+ modified: 20230723215344887
4
4
  tags: Messages
5
5
  title: WidgetMessage: tm-http-request
6
6
  type: text/vnd.tiddlywiki
@@ -11,13 +11,14 @@ It uses the following properties on the `event` object:
11
11
 
12
12
  |!Name |!Description |
13
13
  |param |Not used |
14
- |paramObject |Hashmap of parameters (see below) |
14
+ |//{any other params}// |Any other parameters are made available as variables within the context of the widget message. See below. |
15
15
 
16
16
  The following parameters are used:
17
17
 
18
18
  |!Name |!Description |
19
19
  |method |HTTP method (eg "GET", "POST") |
20
20
  |body |String data to be sent with the request |
21
+ |binary |<<.from-version "5.3.1">> Set to "yes" to cause the response body to be treated as binary data and returned in base64 format |
21
22
  |query-* |Query string parameters with string values |
22
23
  |header-* |Headers with string values |
23
24
  |password-header-* |Headers with values taken from the password store |
@@ -49,3 +50,4 @@ Note that the state tiddler $:/state/http-requests contains a number representin
49
50
  !! Examples
50
51
 
51
52
  * [[Zotero's|https://www.zotero.org/]] API for retrieving reference items: [[WidgetMessage: tm-http-request Example - Zotero]]
53
+ * [[Random Dog's|https://random.dog/]] API for retrieving random pictures of dogs showing how to retrieve binary data: [[WidgetMessage: tm-http-request Example - Random Dog]]
@@ -1,13 +1,13 @@
1
1
  caption: tm-modal
2
2
  created: 20140811112133701
3
- modified: 20201117081247738
3
+ modified: 20230723215434712
4
4
  tags: Messages
5
5
  title: WidgetMessage: tm-modal
6
6
  type: text/vnd.tiddlywiki
7
7
 
8
8
  |!Name |!Description |
9
9
  |param |Title of the tiddler to be displayed |
10
- |paramObject |Hashmap of variables to be provided to the modal, contains all extra parameters passed to the widget sending the message. |
10
+ |//{any other params}// |Any other parameters are made available as variables within the context of the widget message. |
11
11
  |rootwindow |<<.from-version 5.1.18>> ''yes'' or ''true'' will always display a modal in the wiki-root-window |
12
12
 
13
13
  The modal message is usually generated with the ButtonWidget. The modal message is handled by the TiddlyWiki core.
@@ -1,6 +1,6 @@
1
1
  caption: tm-new-tiddler
2
2
  created: 20140226194405353
3
- modified: 20220521143507491
3
+ modified: 20230723215831560
4
4
  tags: Messages navigator-message
5
5
  title: WidgetMessage: tm-new-tiddler
6
6
  type: text/vnd.tiddlywiki
@@ -9,12 +9,12 @@ The new tiddler message creates a new draft tiddler and adds it to the current s
9
9
 
10
10
  |!Name |!Description |
11
11
  |param |The optional title of a tiddler to use as a template for the new tiddler |
12
- |paramObject |Optional hashmap of additional tiddler fields |
12
+ |//{any other params}// |The names and values of additional tiddler fields. |
13
13
  |navigateFromTitle |Title of the tiddler from which the navigation to the new tiddler was initiated |
14
14
 
15
15
  The title for the draft tiddler is chosen according to these rules:
16
16
 
17
- * If a hashmap was used and a title field was specified, use that title
17
+ * If additional parameters were used and a title field was specified, use that title
18
18
  * If a template tiddler was used, use the title of the template tiddler, making it unique with a numeric suffix
19
19
  * Otherwise, generate a new title based on the default new tiddler title with a numeric suffix to make it unique
20
20
 
@@ -1,14 +1,14 @@
1
+ caption: tm-notify
1
2
  created: 20140811112304772
2
- modified: 20160701140248738
3
+ modified: 20230723220728382
3
4
  tags: Messages
4
5
  title: WidgetMessage: tm-notify
5
6
  type: text/vnd.tiddlywiki
6
- caption: tm-notify
7
7
 
8
8
  The notify message briefly displays a specified tiddler as a small alert in the upper right corner of the page. It requires the following properties on the `event` object:
9
9
 
10
10
  |!Name |!Description |
11
11
  |param |Title of the tiddler to be displayed |
12
- |paramObject |Hashmap of variables to be provided to the notification |
12
+ |//{any other params}// |Any other parameters are made available as variables to the notify message. |
13
13
 
14
14
  The notify message is handled by the TiddlyWiki core.
@@ -1,6 +1,6 @@
1
1
  caption: tm-open-external-window
2
- created: 201701211823
3
- modified: 201701211825
2
+ created: 20170121182300000
3
+ modified: 20230723220850135
4
4
  tags: Messages
5
5
  title: WidgetMessage: tm-open-external-window
6
6
  type: text/vnd.tiddlywiki
@@ -11,7 +11,8 @@ The `tm-open-external-window` message opens an external link eg: "https://tiddly
11
11
 
12
12
  |!Name |!Description |
13
13
  |param |URL of the tiddler to be opened in a new browser window, defaults to the [[TiddlyWiki help|https://tiddlywiki.com/#WidgetMessage%3A%20tm-open-external-window if empty]] |
14
- |paramObject |Optional: Hashmap of variables that will be provided to the window. see below |
14
+ |//{any other params}// |Any other parameters are made available as variables to the window. See below. |
15
+
15
16
 
16
17
  ''parmObject''
17
18
 
@@ -1,15 +1,15 @@
1
+ caption: tm-save-wiki
1
2
  created: 20140811112325641
2
- modified: 20141110133723696
3
+ modified: 20230723220944427
3
4
  tags: Messages
4
5
  title: WidgetMessage: tm-save-wiki
5
6
  type: text/vnd.tiddlywiki
6
- caption: tm-save-wiki
7
7
 
8
8
  The save wiki message causes the current saver module to perform a full save operation. The save operation can involve user interaction. It requires the following properties on the `event` object:
9
9
 
10
10
  |!Name |!Description |
11
11
  |param |Title of a tiddler to use as a template for rendering the wiki (defaults to `$:/core/save/all`) |
12
- |paramObject |Optional hashmap of variable values to use for the rendering |
12
+ |//{any other params}// |Any other parameters are made available as variables to use for the rendering. |
13
13
 
14
14
  The save wiki message is usually generated by the ButtonWidget.
15
15
 
@@ -1,5 +1,5 @@
1
1
  created: 20221007132845007
2
- modified: 20230518152756112
2
+ modified: 20230724184009153
3
3
  tags: Pragmas
4
4
  title: Pragma: \procedure
5
5
  type: text/vnd.tiddlywiki
@@ -19,7 +19,7 @@ Note that the `\end` marker can optionally specify the name of the procedure to
19
19
  There is also a single line form for shorter procedures:
20
20
 
21
21
  ```
22
- \define <procedure-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>
22
+ \procedure <procedure-name>(<param-name>[:<param-default-value>],<param-name>[:<param-default-value>]...) <single-line-definition-text>
23
23
  ```
24
24
 
25
25
  The first line of the definition specifies the procedure name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the procedure. The lines that follow contain the text of the procedure text (i.e. the snippet represented by the procedure name), until `\end` appears on a line by itself:
@@ -1,5 +1,5 @@
1
1
  created: 20220917112931273
2
- modified: 20230419103154329
2
+ modified: 20230724184044642
3
3
  tags: Pragmas
4
4
  title: Pragma: \rules
5
5
  type: text/vnd.tiddlywiki
@@ -7,7 +7,7 @@ type: text/vnd.tiddlywiki
7
7
  The ''\rules'' [[pragma|Pragmas]] adjusts the set of parser rules used to parse the remaining text.
8
8
 
9
9
  ```
10
- \rules only|expect <rule-list>
10
+ \rules only|except <rule-list>
11
11
  ```
12
12
 
13
13
  The list of available parser rules can be consulted in $:/ControlPanel -> Info -> Advanced -> Parsing.
@@ -1,5 +1,5 @@
1
1
  created: 20220917112416666
2
- modified: 20230419103154329
2
+ modified: 20230721064409436
3
3
  tags: Concepts [[WikiText Parser Modes]]
4
4
  title: Pragmas
5
5
  type: text/vnd.tiddlywiki
@@ -8,6 +8,8 @@ A <<.def pragma>> is a special component of WikiText that provides control over
8
8
 
9
9
  Pragmas occupy lines that start with `\`. They can only appear at the start of the text of a tiddler, but blank lines and comments are allowed between them. If a pragma appears in the main body of the text, it is treated as if it was ordinary text.
10
10
 
11
+ <<.from-version "5.2.6">> Pragmas can have preceding optional whitespace characters.
12
+
11
13
  The following pragmas are available:
12
14
 
13
15
  <<list-links "[tag[Pragmas]]">>
@@ -13,7 +13,7 @@ This tiddler describes the different ways in which [[Procedures|Procedures]] can
13
13
  Procedures are created using the [[Pragma: \procedure]] at the start of a tiddler. The definitions are available in the rest of the tiddler that defines them, plus any tiddlers that it transcludes.
14
14
 
15
15
  ```
16
- \define my-procedure(param)
16
+ \procedure my-procedure(param)
17
17
  This is the procedure text (param=<<param>>)
18
18
  \end
19
19
  ```
@@ -0,0 +1,80 @@
1
+ caption: 5.3.1
2
+ created: 20230820112855583
3
+ modified: 20230820112855583
4
+ released: 20230820112855583
5
+ tags: ReleaseNotes
6
+ title: Release 5.3.1
7
+ type: text/vnd.tiddlywiki
8
+
9
+ //[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.0...v5.3.1]]//
10
+
11
+ ! Overview of v5.3.1
12
+
13
+ This release comes only a month after [[v5.3.0|Release 5.3.0]]. The motivation for the release is to swiftly fix some issues that have emerged with v5.3.0. There are also some other improvements included in this release, notably the ability to access binary resources over HTTP -- the [[demo|WidgetMessage: tm-http-request Example - Random Dog]] downloads a random image or video of a dog.
14
+
15
+ ! Bug Fixes and Reversions of v5.3.0 Changes
16
+
17
+ * Reverted adding the `widget.destroy()` method because of performance concerns (see https://github.com/Jermolene/TiddlyWiki5/pull/7468)
18
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7647">> inefficiency when transcluding with the ''$output'' attribute set to `text/plain` that manifested itself as extremely slow export times
19
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7648">> unwanted error message "Global assignment is not allowed within modules on node"
20
+
21
+ ! Translation improvement
22
+
23
+ Improvements to the following translations:
24
+
25
+ * Chinese
26
+ * Polish
27
+
28
+ ! Widget Improvements
29
+
30
+ * <<.link-badge-added "https://github.com/Jermolene/TiddlyWiki5/pull/7594">> ''tabindex'' attribute to SelectWidget
31
+
32
+ ! Hackability Improvements
33
+
34
+ * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7611">> ImportVariablesWidget and [[Pragma: \import]] to trim whitespace when parsing tiddlers
35
+ * <<.link-badge-extended "https://github.com/Jermolene/TiddlyWiki5/commit/9b2af1359614f4ad5afd05be7cf9853909334592">> [[WidgetMessage: tm-http-request]] to handle binary responses ([[demo|WidgetMessage: tm-http-request Example - Random Dog]])
36
+
37
+ ! Bug Fixes
38
+
39
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7627">> table of contents indentation
40
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7595">> bindStatus and bindProgress parameters of [[WidgetMessage: tm-http-request]]
41
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7606">> attribute substitution to handle variables containing non-word characters
42
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7624">> the pragmas introduced in v5.3.0 so that they can be indented with whitespace
43
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7619">> size of tiddler icons
44
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7622">> drag and drop from Chrome-like browsers to Firefox
45
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/pull/7679">> listIndex mode of checkbox widgets
46
+
47
+ ! Node.js Improvements
48
+
49
+ * <<.link-badge-improved "https://github.com/Jermolene/TiddlyWiki5/pull/7645">> console reporting of ~JavaScript errors
50
+
51
+ ! Developer Improvements
52
+
53
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/6c7c21a87bdb0d8a00df1c14eea18912164e0b57">> overeager onload handler in Jasmine plugin
54
+ * <<.link-badge-fixed "https://github.com/Jermolene/TiddlyWiki5/commit/08bad90e51c45233a196333e101bbbf6ecf702ce">> ordering of shadow tiddler listings to not reflect order of insertion
55
+
56
+ ! Acknowledgements
57
+
58
+ [[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
59
+
60
+ <<.contributors """
61
+ AnthonyMuscio
62
+ btheado
63
+ catter-fly
64
+ cmo-pomerium
65
+ CrossEye
66
+ flibbles
67
+ hffqyd
68
+ lilscribby
69
+ linonetwo
70
+ Marxsal
71
+ mateuszwilczek
72
+ pille1842
73
+ pmario
74
+ rmunn
75
+ saqimtiaz
76
+ stevesunypoly
77
+ TiddlyTweeter
78
+ twMat
79
+ yaisog
80
+ """>>
@@ -4,6 +4,6 @@ tags: About
4
4
  title: Releases
5
5
  type: text/vnd.tiddlywiki
6
6
 
7
- New releases of TiddlyWiki and TiddlyDesktop are announced via the [[official discussion groups|Forums]] and [[Twitter|https://twitter.com/TiddlyWiki]] (you can also subscribe to an Atom/RSS feed of [[TiddlyWiki releases from GitHub|https://github.com/jermolene/tiddlywiki5/releases.atom]])
7
+ New releases of TiddlyWiki and TiddlyDesktop are announced via the [[official discussion groups|Forums]] and [[Twitter|https://twitter.com/TiddlyWiki]]
8
8
 
9
9
  <<tabs "[[TiddlyWiki Releases]] [[TiddlyDesktop Releases]]" "TiddlyWiki Releases" "$:/state/tab">>
@@ -5,7 +5,7 @@ tags: Releases
5
5
  title: TiddlyWiki Releases
6
6
  type: text/vnd.tiddlywiki
7
7
 
8
- Here are the details of recent releases of TiddlyWiki5. See [[TiddlyWiki5 Versioning]] for details of how releases are named. Note that archived versions of release source files are available at https://github.com/Jermolene/TiddlyWiki5/releases
8
+ Here are the details of recent releases of TiddlyWiki5. See [[TiddlyWiki5 Versioning]] for details of how releases are named.
9
9
 
10
10
  If you are using node.js, you can also install prior versions like this:
11
11
 
@@ -1,4 +1,4 @@
1
- caption: TiddlyStow (experimental)
1
+ caption: ~TiddlyStow (experimental)
2
2
  color: #FF8A65
3
3
  created: 20230403170650008
4
4
  delivery: Saver
@@ -13,4 +13,4 @@ url: https://github.com/btheado/tiddlystow
13
13
  ''Link:'' {{!!url}}
14
14
 
15
15
  Tiddlystow saves TiddlyWiki files locally using the browser file system API (Chrome-based browsers currently).
16
- This is a simple web page for loading a local TiddlyWiki file and storing it back to the same local file requiring no plugins or extensions.
16
+ This is a simple web page for loading a local TiddlyWiki file and storing it back to the same local file requiring no plugins or extensions.
@@ -4,7 +4,7 @@ created: 20190408173002622
4
4
  delivery: Service
5
5
  description: Save changes directly to a Git repository (on GitHub, GitLab)
6
6
  method: save
7
- modified: 20200507203007684
7
+ modified: 20230723074211772
8
8
  tags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving Windows iOS Edge
9
9
  title: Saving to a Git service
10
10
  type: text/vnd.tiddlywiki
@@ -24,3 +24,7 @@ Saving to a Git service is configured in the [[$:/ControlPanel]] in the ''Git Se
24
24
  Notes
25
25
 
26
26
  * The Git service token or password is stored persistently in browser local storage. Be sure to clear the password if using a shared machine. Using a personal access token for authentication offers an extra layer of security: if the access token is accidentally exposed it can be revoked without needing to reset the account password
27
+
28
+ ---
29
+
30
+ For a more detailed info about the ~GitHub saver see: [[GitHub Saver Tutorial by Mohammad]]
@@ -1,4 +1,4 @@
1
- caption: tw5-server
1
+ caption: tw5server
2
2
  color: #70c9a0
3
3
  community-author: hffqyd
4
4
  created: 20230302011710789
@@ -10,27 +10,23 @@ tags: Android Chrome Firefox [[Internet Explorer]] Linux Mac Opera Safari Saving
10
10
  title: Saving via a Minimal Web Server
11
11
  type: text/vnd.tiddlywiki
12
12
 
13
- A local server for TiddlyWiki5 that saves and backups wikis, inspired by
13
+ A local mini binary server for TiddlyWiki5 that saves and backups wikis and uploads files for TiddlyWiki, inspired by
14
14
  [[tw5-server.rb | https://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da]].
15
15
 
16
- tw5-server provides features of:
16
+ tw5server provides features of:
17
17
 
18
18
  * Server for TiddlyWiki5, as well as other files (e.g. images used in TW5 `[img[images/*.png]]`);
19
19
  * Easy to save wiki via browsers;
20
20
  * Backup wiki in compress format (.gz), to save disk space;
21
21
  * Auto clean backups: keep one newest per previous month, keep all backups in current month.
22
- * Upload files/images to server, for use in tiddlywiki as external links.
23
- * Offer binary executable for Linux, macos and windows.
22
+ * Upload files/images to server via pressing button or drag-and-drop, for use in tiddlywiki as external links.
23
+ * Offer binary executable for Linux, macos, Android and windows.
24
24
 
25
- Download executable script and binary at the github.com [[tw5-server|https://github.com/hffqyd/tw5-server]].
25
+ Download executable binary at the github.com [[tw5-server|https://github.com/hffqyd/tw5-server]].
26
26
 
27
27
  ! Usage
28
28
 
29
29
  ```bash
30
- # python script:
31
- python tw5-server.py -p 8000 -d ./ -b backup_dir
32
-
33
- # binary file:
34
30
  tw5server -a:192.168.0.10 -p:8000 -d:./ -b:backup
35
31
 
36
32
  -h usage help
@@ -44,6 +40,7 @@ Backups auto-clean strategy:
44
40
  Keep all backups in current month, keep only the newest one for previous months.
45
41
  ```
46
42
 
47
- In Unix/Linux, just excute `./tw5-server.py` (with `chmod +x tw5-server.py`).
43
+ In Unix/Linux, maybe first `chmod +x tw5server`), then run it.
44
+ For Android version, run it in Termux, or some other terminals.
48
45
 
49
46
  Then go to http://localhost:8000 (or other address:port specified in command) in your web browser, and click on your wiki html file.
@@ -6,4 +6,4 @@ tags: SystemTags
6
6
  title: SystemTag: $:/tags/Macro
7
7
  type: text/vnd.tiddlywiki
8
8
 
9
- The [[system tag|SystemTags]] `$:/tags/Macro` marks global macros. It is now deprecated in favour of [[SystemTag $:/tags/Global]].
9
+ The [[system tag|SystemTags]] `$:/tags/Macro` marks global macros. It is now deprecated in favour of [[SystemTag: $:/tags/Global]].
@@ -0,0 +1,52 @@
1
+ created: 20230726145210484
2
+ modified: 20230726145757234
3
+ tags: [[Variable Usage]]
4
+ title: Behaviour of invoked variables depends on how the variable was declared
5
+ type: text/vnd.tiddlywiki
6
+
7
+ \define m1(a1) $a1$ - <<__a1__>> - <<a1>>
8
+ \procedure p1(a1) $a1$ - <<__a1__>> - <<a1>>
9
+ \function f1(a1) "$a1$" "-" [<__a1__>] ="-" [<a1>] :and[join[ ]]
10
+
11
+ Invoked in normal wikitext context: `<$transclude $variable=macro/>` or `<<macro>>`
12
+
13
+ {{Behaviour of variables invoked via normal wikitext}}
14
+
15
+ Invoked via widget attribute: `<div class=<<macro>>/>`
16
+
17
+ {{Behaviour of variables invoked via widget attributes}}
18
+
19
+ Invoked via filter operator parameter: `[<macro>]`
20
+
21
+ {{Behaviour of variables invoked via filter operator parameter}}
22
+
23
+ Invoked via function call in a filter expression: `[function[macro]]`
24
+
25
+ {{Behaviour of variables invoked via filter expression function call}}
26
+
27
+ !! Examples
28
+
29
+ Below is an example macro, procedure and function definition. All three forms of parameter substitution `$a1$`, `<<__a1__>>`, and `<<a1>>` are included in each definition. The output helps illustrate when each form of substitution will or will not have affect.
30
+
31
+ ```
32
+ \define m1(a1) $a1$ - <<__a1__>> - <<a1>>
33
+ \procedure p1(a1) $a1$ - <<__a1__>> - <<a1>>
34
+ \function f1(a1) $a1$ "-" [<__a1__>] ="-" [<a1>] :and[join[ ]]
35
+ ```
36
+
37
+ | !Variable transclusion|!output |
38
+ | `<<m1 foo>>`|<<m1 foo>>|
39
+ | `<<p1 foo>>`|<<p1 foo>>|
40
+ | `<<f1 foo>>`|<<f1 foo>>|
41
+ | !Widget attribute|!output |
42
+ | `<$text text=<<m1 foo>>/>`|<$text text=<<m1 foo>>/>|
43
+ | `<$text text=<<p1 foo>>/>`|<$text text=<<p1 foo>>/>|
44
+ | `<$text text=<<f1 foo>>/>`|<$text text=<<f1 foo>>/>|
45
+ | !Filter operator parameter|!output |
46
+ | `[<m1 foo>]`|<$text text={{{[<m1 foo>]}}}/>|
47
+ | `[<p1 foo>]`|<$text text={{{[<p1 foo>]}}}/>|
48
+ | `[<f1 foo>]`|<$text text={{{[<f1 foo>]}}}/>|
49
+ | !Function call in filter expression|!output |
50
+ | `[function[m1],[foo]]`|<$text text={{{[function[m1],[foo]]}}}/>|
51
+ | `[function[p1],[foo]]`|<$text text={{{[function[p1],[foo]]}}}/>|
52
+ | `[function[f1],[foo]]`|<$text text={{{[function[f1],[foo]]}}}/>|
@@ -0,0 +1,10 @@
1
+ created: 20230726143929233
2
+ modified: 20230726150604831
3
+ tags: [[Variable Usage]]
4
+ title: Behaviour of variables invoked via filter expression function call
5
+ type: text/vnd.tiddlywiki
6
+
7
+ |tc-first-col-min-width|k
8
+ |!how declared|!behaviour|
9
+ |\define, <<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|Every function is a variable, but only variables defined using \function are invokable using the <<.olink function>> filter operator. Attempts to use a non-function variable is the same as if the function doesn't exist. The behavior in this case is like the identity function. All filter input is passed unchanged to the output.|
10
+ |\function|The body text of the function is treated as a filter expression and evaluated. This filter expression can itself contain a function call. Filter expressions can be factored out into functions arbitrarily deep.|
@@ -0,0 +1,11 @@
1
+ created: 20230726143617389
2
+ modified: 20230726150625716
3
+ tags: [[Variable Usage]]
4
+ title: Behaviour of variables invoked via filter operator parameter
5
+ type: text/vnd.tiddlywiki
6
+
7
+ |tc-first-col-min-width|k
8
+ |!how declared|!behaviour|
9
+ |\define|Textual substitution of parameters is performed on the body text. No further processing takes place. The result after textual substitution is used as the filter operator's parameter.|
10
+ |<<.wlink SetWidget>>, <<.wlink LetWidget>>, <<.wlink VarsWidget>>, \procedure, \widget|Body text is retrieved as-is and used as the filter operator's parameter.|
11
+ |\function|The body text of the function is treated as a filter expression and evaluated. The first result is passed to the operator as a parameter. The remaining results are discarded.|