tiddlywiki 5.2.3 → 5.2.5

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 (412) hide show
  1. package/bin/build-site.sh +11 -2
  2. package/bin/test.sh +1 -0
  3. package/boot/boot.js +9 -6
  4. package/core/images/layout-button.tid +4 -0
  5. package/core/images/mastodon.tid +6 -0
  6. package/core/language/en-GB/Buttons.multids +4 -0
  7. package/core/language/en-GB/ControlPanel.multids +3 -3
  8. package/core/language/en-GB/Fields.multids +2 -2
  9. package/core/language/en-GB/GettingStarted.tid +4 -3
  10. package/core/language/en-GB/Help/commands.tid +18 -0
  11. package/core/language/en-GB/Misc.multids +1 -0
  12. package/core/modules/commands/commands.js +42 -0
  13. package/core/modules/editor/engines/framed.js +12 -1
  14. package/core/modules/editor/factory.js +2 -2
  15. package/core/modules/filters/format/json.js +35 -0
  16. package/core/modules/filters/is/variable.js +2 -2
  17. package/core/modules/filters/json-ops.js +186 -0
  18. package/core/modules/filters/variables.js +9 -3
  19. package/core/modules/filters.js +15 -6
  20. package/core/modules/keyboard.js +13 -1
  21. package/core/modules/parsers/csvparser.js +25 -17
  22. package/core/modules/parsers/wikiparser/rules/macrodef.js +1 -1
  23. package/core/modules/parsers/wikiparser/rules/parsermode.js +68 -0
  24. package/core/modules/parsers/wikiparser/rules/styleinline.js +3 -3
  25. package/core/modules/parsers/wikiparser/wikiparser.js +4 -2
  26. package/core/modules/server/routes/put-tiddler.js +10 -0
  27. package/core/modules/startup/startup.js +5 -1
  28. package/core/modules/utils/csv.js +101 -23
  29. package/core/modules/utils/dom/dom.js +17 -2
  30. package/core/modules/utils/dom/modal.js +6 -0
  31. package/core/modules/utils/dom/popup.js +69 -6
  32. package/core/modules/utils/fakedom.js +2 -2
  33. package/core/modules/utils/linked-list.js +79 -75
  34. package/core/modules/utils/logger.js +3 -1
  35. package/core/modules/utils/parsetree.js +20 -10
  36. package/core/modules/utils/utils.js +3 -0
  37. package/core/modules/widgets/action-deletefield.js +2 -2
  38. package/core/modules/widgets/action-popup.js +10 -8
  39. package/core/modules/widgets/button.js +7 -2
  40. package/core/modules/widgets/checkbox.js +12 -5
  41. package/core/modules/widgets/error.js +63 -0
  42. package/core/modules/widgets/genesis.js +108 -0
  43. package/core/modules/widgets/importvariables.js +4 -1
  44. package/core/modules/widgets/keyboard.js +4 -0
  45. package/core/modules/widgets/let.js +3 -5
  46. package/core/modules/widgets/reveal.js +11 -10
  47. package/core/modules/widgets/select.js +9 -0
  48. package/core/modules/widgets/transclude.js +3 -5
  49. package/core/modules/widgets/widget.js +44 -18
  50. package/core/palettes/Blanca.tid +2 -0
  51. package/core/palettes/Blue.tid +2 -0
  52. package/core/palettes/BrightMute.tid +2 -0
  53. package/core/palettes/ContrastDark.tid +2 -0
  54. package/core/palettes/ContrastLight.tid +2 -0
  55. package/core/palettes/CupertinoDark.tid +2 -0
  56. package/core/palettes/DarkPhotos.tid +2 -0
  57. package/core/palettes/DesertSand.tid +2 -0
  58. package/core/palettes/GruvBoxDark.tid +2 -0
  59. package/core/palettes/Nord.tid +2 -0
  60. package/core/palettes/Rocker.tid +2 -0
  61. package/core/palettes/SolarFlare.tid +2 -0
  62. package/core/palettes/SolarizedDark.tid +2 -0
  63. package/core/palettes/SolarizedLight.tid +2 -0
  64. package/core/palettes/SpartanDay.tid +2 -0
  65. package/core/palettes/SpartanNight.tid +2 -0
  66. package/core/palettes/Twilight.tid +2 -0
  67. package/core/palettes/Vanilla.tid +2 -0
  68. package/core/templates/external-js/save-all-external-js.tid +4 -2
  69. package/core/templates/external-js/save-offline-external-js.tid +4 -2
  70. package/core/templates/single.tiddler.window.tid +1 -1
  71. package/core/ui/Actions/new-image.tid +1 -7
  72. package/core/ui/AdvancedSearch/FilterButtons/delete.tid +3 -3
  73. package/core/ui/AdvancedSearch/FilterButtons/dropdown.tid +2 -2
  74. package/core/ui/ControlPanel/Basics/retain-story-ordering-button.tid +3 -0
  75. package/core/ui/ControlPanel/Basics.tid +3 -2
  76. package/core/ui/EditTemplate/Preview/output.tid +1 -1
  77. package/core/ui/EditTemplate/body/default.tid +1 -1
  78. package/core/ui/EditTemplate/fields.tid +12 -2
  79. package/core/ui/EditTemplate.tid +7 -2
  80. package/core/ui/ImportListing.tid +5 -5
  81. package/core/ui/KeyboardShortcuts/advanced-search.tid +1 -1
  82. package/core/ui/PageControls/layout.tid +15 -0
  83. package/core/ui/PageTemplate.tid +1 -4
  84. package/core/ui/SideBar/More.tid +2 -2
  85. package/core/ui/SwitcherModal.tid +1 -0
  86. package/core/ui/TagManager.tid +75 -63
  87. package/core/ui/ViewTemplate/unfold.tid +6 -2
  88. package/core/ui/ViewTemplate.tid +1 -1
  89. package/core/wiki/config/DefaultTiddlersRetainStory.tid +3 -0
  90. package/core/wiki/config/OfficialPluginLibrary.tid +1 -1
  91. package/core/wiki/config/PageControlButtons.multids +1 -0
  92. package/core/wiki/macros/list.tid +7 -7
  93. package/core/wiki/macros/timeline.tid +6 -9
  94. package/core/wiki/macros/toc.tid +12 -8
  95. package/core/wiki/tags/PageControls.tid +1 -1
  96. package/editions/de-AT/tiddlywiki.info +0 -1
  97. package/editions/de-AT-server/tiddlywiki.info +0 -1
  98. package/editions/de-DE/tiddlywiki.info +0 -1
  99. package/editions/dev/tiddlers/HelloThere.tid +2 -1
  100. package/editions/dev/tiddlers/How to run a local plugin library for testing.tid +42 -0
  101. package/editions/dev/tiddlers/javascript-widget-tutorial/Child widgets tutorial.tid +140 -0
  102. package/editions/dev/tiddlers/javascript-widget-tutorial/Do nothing widget demo.tid +22 -0
  103. package/editions/dev/tiddlers/javascript-widget-tutorial/Do nothing widget tutorial.tid +25 -0
  104. package/editions/dev/tiddlers/javascript-widget-tutorial/Hello World demo.tid +23 -0
  105. package/editions/dev/tiddlers/javascript-widget-tutorial/Hello World widget tutorial.tid +18 -0
  106. package/editions/dev/tiddlers/javascript-widget-tutorial/Javascript Widget Tutorial.tid +37 -0
  107. package/editions/dev/tiddlers/javascript-widget-tutorial/Undefined widget demo.tid +18 -0
  108. package/editions/dev/tiddlers/javascript-widget-tutorial/Undefined widget tutorial.tid +11 -0
  109. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes demo I.tid +48 -0
  110. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes demo II.tid +48 -0
  111. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes tutorial part I.tid +50 -0
  112. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes tutorial part II.tid +33 -0
  113. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo I.tid +44 -0
  114. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo II.tid +40 -0
  115. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo III.tid +50 -0
  116. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part I.tid +47 -0
  117. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part II.tid +37 -0
  118. package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part III.tid +26 -0
  119. package/editions/dev/tiddlers/javascript-widget-tutorial/domwidget.js +47 -0
  120. package/editions/dev/tiddlers/javascript-widget-tutorial/domwidget.js.meta +6 -0
  121. package/editions/dev/tiddlers/javascript-widget-tutorial/donothing.js +16 -0
  122. package/editions/dev/tiddlers/javascript-widget-tutorial/donothing.js.meta +6 -0
  123. package/editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute-optimized.js +51 -0
  124. package/editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute-optimized.js.meta +6 -0
  125. package/editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute.js +47 -0
  126. package/editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute.js.meta +6 -0
  127. package/editions/dev/tiddlers/javascript-widget-tutorial/hello.js +35 -0
  128. package/editions/dev/tiddlers/javascript-widget-tutorial/hello.js.meta +6 -0
  129. package/editions/dev/tiddlers/javascript-widget-tutorial/refreshcount.js +43 -0
  130. package/editions/dev/tiddlers/javascript-widget-tutorial/refreshcount.js.meta +6 -0
  131. package/editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield-norefresh.js +36 -0
  132. package/editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield-norefresh.js.meta +6 -0
  133. package/editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield.js +46 -0
  134. package/editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield.js.meta +6 -0
  135. package/editions/dev/tiddlywiki.info +2 -1
  136. package/editions/es-ES/tiddlers/GettingStarted_-_Chrome.tid +1 -1
  137. package/editions/es-ES/tiddlers/Saving_with_the_HTML5_fallback_saver.tid +1 -27
  138. package/editions/es-ES/tiddlers/Saving_with_the_HTML5_saver.tid +35 -0
  139. package/editions/fr-FR/tiddlers/$__editions_tw5.com_doc-macros.tid +1 -1
  140. package/editions/fr-FR/tiddlers/GettingStarted - Chrome.tid +1 -1
  141. package/editions/fr-FR/tiddlers/Saving with the HTML5 saver.tid +23 -0
  142. package/editions/fr-FR/tiddlers/saving/Saving with the HTML5 fallback saver.tid +1 -22
  143. package/editions/fr-FR/tiddlers/system/$__core_macros_list.tid +113 -0
  144. package/editions/fr-FR/tiddlers/system/$__core_macros_tag.tid +39 -0
  145. package/editions/fr-FR/tiddlers/system/$__core_ui_TagPickerTagTemplate.tid +25 -0
  146. package/editions/full/tiddlywiki.info +0 -1
  147. package/editions/introduction/tiddlywiki.info +0 -1
  148. package/editions/pluginlibrary/tiddlers/GettingStarted.tid +45 -0
  149. package/editions/pluginlibrary/tiddlers/PrereleaseLocalPluginLibrary.tid +6 -0
  150. package/editions/pluginlibrary/tiddlers/meta/SiteSubtitle.tid +3 -0
  151. package/editions/pluginlibrary/tiddlers/meta/SiteTitle.tid +3 -0
  152. package/editions/pluginlibrary/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid +3 -0
  153. package/editions/pluginlibrary/tiddlywiki.info +7 -0
  154. package/editions/prerelease/tiddlers/Release 5.2.6.tid +107 -0
  155. package/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +1 -1
  156. package/editions/prerelease/tiddlers/system/TiddlyWiki Pre-release.tid +5 -1
  157. package/editions/test/tiddlers/tests/data/csv-cases.tid +282 -0
  158. package/editions/test/tiddlers/tests/data/filters/Recursion.tid +15 -0
  159. package/editions/test/tiddlers/tests/data/filters/fake-variables.tid +27 -0
  160. package/editions/test/tiddlers/tests/data/genesis-widget/DollarSigns.tid +14 -0
  161. package/editions/test/tiddlers/tests/data/genesis-widget/MultipleAttributes.tid +14 -0
  162. package/editions/test/tiddlers/tests/data/genesis-widget/Simple.tid +14 -0
  163. package/editions/test/tiddlers/tests/data/macros/NestedMacros.tid +36 -0
  164. package/editions/test/tiddlers/tests/data/pragmas/Parsermode.tid +36 -0
  165. package/editions/test/tiddlers/tests/data/transclude/Recursion.tid +13 -0
  166. package/editions/test/tiddlers/tests/modules/utils/test-csv.js +33 -0
  167. package/editions/test/tiddlers/tests/test-checkbox-widget.js +35 -1
  168. package/editions/test/tiddlers/tests/test-json-filters.js +112 -0
  169. package/editions/test/tiddlers/tests/test-linked-list.js +42 -2
  170. package/editions/test/tiddlers/tests/test-popup.js +63 -0
  171. package/editions/test/tiddlers/tests/test-utils.js +1 -0
  172. package/editions/test/tiddlers/tests/test-wikitext.js +16 -0
  173. package/editions/test/tiddlywiki.info +2 -1
  174. package/editions/translators/tiddlers/system/PageControlButtonsVisibility.multids +1 -0
  175. package/editions/translators/tiddlywiki.info +0 -1
  176. package/editions/tw.org/tiddlers/Code of Conduct.tid +4 -1
  177. package/editions/tw.org/tiddlers/Fundraising.tid +2 -2
  178. package/editions/tw5.com/tiddlers/Tables in WikiText CSS Utility Classes.tid +81 -0
  179. package/editions/tw5.com/tiddlers/_tw_shared/favicons/markplace.png +0 -0
  180. package/editions/tw5.com/tiddlers/_tw_shared/favicons/markplace.png.meta +3 -0
  181. package/editions/tw5.com/tiddlers/_tw_shared/sites/marketplace.tid +6 -0
  182. package/editions/tw5.com/tiddlers/_tw_shared/tags-TiddlyWikiSites.tid +1 -1
  183. package/editions/tw5.com/tiddlers/about/Funding TiddlyWiki.tid +19 -0
  184. package/editions/tw5.com/tiddlers/about/Open Collective.tid +14 -0
  185. package/editions/tw5.com/tiddlers/commands/CommandsCommand.tid +8 -0
  186. package/editions/tw5.com/tiddlers/commands/RenderTiddlerCommand.tid +2 -0
  187. package/editions/tw5.com/tiddlers/commands/RenderTiddlersCommand.tid +2 -0
  188. package/editions/tw5.com/tiddlers/commands/SaveTiddlerCommand.tid +2 -0
  189. package/editions/tw5.com/tiddlers/commands/SaveTiddlersCommand.tid +2 -0
  190. package/editions/tw5.com/tiddlers/community/plugins/GSD5.tid +2 -2
  191. package/editions/tw5.com/tiddlers/community/plugins/_JD Mobile Layout plugin_ by JD.tid +0 -1
  192. package/editions/tw5.com/tiddlers/community/resources/RegExp in Tiddlywiki by Mohammad.tid +1 -1
  193. package/editions/tw5.com/tiddlers/community/resources/_Dropboard_ by Reid Gould.tid +0 -1
  194. package/editions/tw5.com/tiddlers/community/resources/_Hacks_ by Thomas Elmiger.tid +0 -2
  195. package/editions/tw5.com/tiddlers/community/resources/_MathCell_ by Ste Wilson.tid +0 -1
  196. package/editions/tw5.com/tiddlers/community/resources/_TiddlyServer_ by Matt Lauber.tid +0 -1
  197. package/editions/tw5.com/tiddlers/community/resources/_X3DOM for TiddlyWiki 5_ by Jamal Wills.tid +0 -1
  198. package/editions/tw5.com/tiddlers/community/resources/_file-backups_ Extension Firefox by pmario.tid +1 -1
  199. package/editions/tw5.com/tiddlers/community/resources/_savetiddlers_ Extension for Chrome and Firefox by buggyj.tid +1 -1
  200. package/editions/tw5.com/tiddlers/concepts/CoordinateSystems.tid +42 -0
  201. package/editions/tw5.com/tiddlers/concepts/KeyboardShortcutTiddler.tid +2 -0
  202. package/editions/tw5.com/tiddlers/definitions/Federatial.tid +13 -1
  203. package/editions/tw5.com/tiddlers/definitions/HTML Block Elements.tid +9 -0
  204. package/editions/tw5.com/tiddlers/definitions/TiddlyWikiClassic.tid +3 -1
  205. package/editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Selective Expandable Example custom icons.tid +16 -0
  206. package/editions/tw5.com/tiddlers/demonstrations/Tasks/TaskManagementExampleDraggable.tid +1 -1
  207. package/editions/tw5.com/tiddlers/features/DateFormat.tid +27 -3
  208. package/editions/tw5.com/tiddlers/features/JSON in TiddlyWiki.tid +1 -1
  209. package/editions/tw5.com/tiddlers/features/Modals.tid +3 -0
  210. package/editions/tw5.com/tiddlers/filters/examples/format Operator (Examples).tid +5 -2
  211. package/editions/tw5.com/tiddlers/filters/format.tid +5 -4
  212. package/editions/tw5.com/tiddlers/filters/jsonextract.tid +66 -0
  213. package/editions/tw5.com/tiddlers/filters/jsonget.tid +93 -0
  214. package/editions/tw5.com/tiddlers/filters/jsonindexes.tid +65 -0
  215. package/editions/tw5.com/tiddlers/filters/jsontype.tid +74 -0
  216. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Chrome.tid +2 -2
  217. package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted.tid +3 -7
  218. package/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +23 -22
  219. package/editions/tw5.com/tiddlers/hellothere/HelloThumbnail.tid +1 -1
  220. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Funding.tid +10 -0
  221. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Grok TiddlyWiki.tid +2 -0
  222. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Introduction Video.tid +2 -0
  223. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Latest Version.tid +9 -1
  224. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Marketplace.tid +10 -0
  225. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWikiLinks.tid +3 -1
  226. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail_-_Federatial.tid +11 -0
  227. package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Default Story Ordering.tid +4 -0
  228. package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Sync System Tiddlers From Server.tid +13 -0
  229. package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SyncLogging.tid +13 -0
  230. package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ More Tabs Horizontal.tid +7 -0
  231. package/editions/tw5.com/tiddlers/howtos/How to create keyboard shortcuts.tid +2 -0
  232. package/editions/tw5.com/tiddlers/howtos/Reading data from JSON tiddlers.tid +10 -1
  233. package/editions/tw5.com/tiddlers/images/Federatial.png +0 -0
  234. package/editions/tw5.com/tiddlers/images/Federatial.png.meta +3 -0
  235. package/editions/tw5.com/tiddlers/images/Funding.png +0 -0
  236. package/editions/tw5.com/tiddlers/images/{TiddlyMap.png.meta → Funding.png.meta} +1 -1
  237. package/editions/tw5.com/tiddlers/images/Marketplace Banner.png +0 -0
  238. package/editions/tw5.com/tiddlers/images/Marketplace Banner.png.meta +3 -0
  239. package/editions/tw5.com/tiddlers/images/New Release Banner.png +0 -0
  240. package/editions/tw5.com/tiddlers/macros/ListMacro.tid +3 -1
  241. package/editions/tw5.com/tiddlers/macros/TableOfContentsMacro.tid +36 -2
  242. package/editions/tw5.com/tiddlers/marketplace/TiddlyWiki Marketplace.tid +18 -0
  243. package/editions/tw5.com/tiddlers/mechanisms/PopupMechanism.tid +1 -0
  244. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-modal.tid +4 -2
  245. package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-new-tiddler.tid +1 -1
  246. package/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid +2 -2
  247. package/editions/tw5.com/tiddlers/pragmas/Pragma_ _parsermode.tid +17 -0
  248. package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.4.tid +144 -0
  249. package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.5.tid +25 -0
  250. package/editions/tw5.com/tiddlers/releasenotes/Releases.tid +1 -1
  251. package/editions/tw5.com/tiddlers/saving/Emergency Tiddler Export.tid +1 -1
  252. package/editions/tw5.com/tiddlers/saving/Saving on TiddlyHost.tid +1 -1
  253. package/editions/tw5.com/tiddlers/saving/Saving on TiddlySpot.tid +0 -1
  254. package/editions/tw5.com/tiddlers/saving/Saving with Polly.tid +1 -0
  255. package/editions/tw5.com/tiddlers/saving/Saving with the HTML5 fallback saver.tid +3 -23
  256. package/editions/tw5.com/tiddlers/saving/Saving with the HTML5 saver.tid +27 -0
  257. package/editions/tw5.com/tiddlers/saving/Saving.tid +12 -5
  258. package/editions/tw5.com/tiddlers/saving/TiddlyBucket - Save to AWS or Google Storage.tid +15 -0
  259. package/editions/tw5.com/tiddlers/system/doc-macros.tid +1 -1
  260. package/editions/tw5.com/tiddlers/system/tw5.com-card-template.tid +1 -16
  261. package/editions/tw5.com/tiddlers/system/tw5.com-styles.tid +168 -40
  262. package/editions/tw5.com/tiddlers/system/version-macros.tid +3 -4
  263. package/editions/tw5.com/tiddlers/system/wikitext-macros.tid +43 -15
  264. package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_PageTemplate.tid +9 -0
  265. package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid +9 -0
  266. package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Filter.tid +2 -2
  267. package/editions/tw5.com/tiddlers/testimonials/Testimonials - Joe Armstrong.tid +8 -0
  268. package/editions/tw5.com/tiddlers/testimonials/Testimonials - Network World.tid +8 -0
  269. package/editions/tw5.com/tiddlers/testimonials/Testimonials - Product Hunt.tid +6 -0
  270. package/editions/tw5.com/tiddlers/webserver/Using the external JavaScript template.tid +10 -10
  271. package/editions/tw5.com/tiddlers/webserver/WebServer API_ Get All Tiddlers.tid +3 -1
  272. package/editions/tw5.com/tiddlers/widgets/ActionPopupWidget.tid +4 -3
  273. package/editions/tw5.com/tiddlers/widgets/ButtonWidget.tid +2 -1
  274. package/editions/tw5.com/tiddlers/widgets/DraggableWidget.tid +2 -1
  275. package/editions/tw5.com/tiddlers/widgets/ErrorWidget.tid +17 -0
  276. package/editions/tw5.com/tiddlers/widgets/EventCatcherWidget.tid +4 -3
  277. package/editions/tw5.com/tiddlers/widgets/GenesisWidget.tid +41 -0
  278. package/editions/tw5.com/tiddlers/widgets/LetWidget.tid +4 -1
  279. package/editions/tw5.com/tiddlers/widgets/ScrollableWidget.tid +1 -1
  280. package/editions/tw5.com/tiddlers/widgets/SelectWidget.tid +1 -0
  281. package/editions/tw5.com/tiddlers/wikitext/Macro Definitions in WikiText.tid +27 -4
  282. package/editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid +1 -1
  283. package/editions/tw5.com/tiddlers/wikitext/Table Classes Captions Headers and Footers.tid +20 -0
  284. package/editions/tw5.com/tiddlers/wikitext/Tables in WikiText.tid +3 -13
  285. package/editions/tw5.com/tiddlers/wikitext/Utility Classes.tid +20 -0
  286. package/editions/tw5.com/tiddlers/wikitext/parser/WikiText Parser Modes.tid +1 -1
  287. package/editions/twitter-archivist/tiddlers/DefaultTiddlers.tid +4 -0
  288. package/editions/twitter-archivist/tiddlers/HelloThere.tid +9 -0
  289. package/editions/twitter-archivist/tiddlers/SiteSubtitle.tid +3 -0
  290. package/editions/twitter-archivist/tiddlers/SiteTitle.tid +3 -0
  291. package/editions/twitter-archivist/tiddlywiki.info +16 -0
  292. package/languages/ar-PS/ControlPanel.multids +1 -1
  293. package/languages/ca-ES/ControlPanel.multids +1 -1
  294. package/languages/cs-CZ/ControlPanel.multids +1 -1
  295. package/languages/da-DK/ControlPanel.multids +1 -1
  296. package/languages/de-DE/Buttons.multids +5 -1
  297. package/languages/de-DE/ControlPanel.multids +1 -1
  298. package/languages/de-DE/Help/commands.tid +14 -0
  299. package/languages/de-DE/Misc.multids +1 -0
  300. package/languages/el-GR/ControlPanel.multids +1 -1
  301. package/languages/es-ES/Buttons.multids +91 -87
  302. package/languages/es-ES/ControlPanel.multids +19 -2
  303. package/languages/es-ES/Docs/PaletteColours.multids +2 -2
  304. package/languages/es-ES/EditTemplate.multids +3 -0
  305. package/languages/es-ES/Fields.multids +6 -5
  306. package/languages/es-ES/GettingStarted.tid +4 -3
  307. package/languages/es-ES/Help/commands.tid +18 -0
  308. package/languages/es-ES/Help/default.tid +4 -1
  309. package/languages/es-ES/Help/listen.tid +0 -1
  310. package/languages/es-ES/Help/render.tid +2 -2
  311. package/languages/es-ES/Import.multids +1 -1
  312. package/languages/es-ES/Misc.multids +2 -1
  313. package/languages/es-ES/SideBar.multids +1 -0
  314. package/languages/es-ES/Snippets/ListByTag.tid +1 -1
  315. package/languages/fa-IR/ControlPanel.multids +1 -1
  316. package/languages/fr-FR/Buttons.multids +2 -0
  317. package/languages/fr-FR/ControlPanel.multids +4 -4
  318. package/languages/fr-FR/Misc.multids +3 -2
  319. package/languages/hi-IN/ControlPanel.multids +1 -1
  320. package/languages/ia-IA/ControlPanel.multids +1 -1
  321. package/languages/it-IT/ControlPanel.multids +1 -1
  322. package/languages/ja-JP/ControlPanel.multids +9 -9
  323. package/languages/ko-KR/ControlPanel.multids +1 -1
  324. package/languages/nl-NL/ControlPanel.multids +1 -1
  325. package/languages/pl-PL/Buttons.multids +7 -3
  326. package/languages/pl-PL/ControlPanel.multids +26 -24
  327. package/languages/pl-PL/GettingStarted.tid +4 -3
  328. package/languages/pl-PL/Help/commands.tid +18 -0
  329. package/languages/pl-PL/Help/render.tid +2 -2
  330. package/languages/pl-PL/Misc.multids +1 -0
  331. package/languages/pl-PL/ThemeTweaks.multids +3 -3
  332. package/languages/pt-BR/ControlPanel.multids +1 -1
  333. package/languages/pt-PT/ControlPanel.multids +1 -1
  334. package/languages/ru-RU/ControlPanel.multids +1 -1
  335. package/languages/sk-SK/ControlPanel.multids +1 -1
  336. package/languages/sl-SI/ControlPanel.multids +1 -1
  337. package/languages/sv-SE/ControlPanel.multids +1 -1
  338. package/languages/zh-Hans/Buttons.multids +36 -32
  339. package/languages/zh-Hans/ControlPanel.multids +19 -19
  340. package/languages/zh-Hans/CoreReadMe.tid +1 -1
  341. package/languages/zh-Hans/Docs/ModuleTypes.multids +2 -2
  342. package/languages/zh-Hans/Docs/PaletteColours.multids +8 -8
  343. package/languages/zh-Hans/Fields.multids +7 -7
  344. package/languages/zh-Hans/Filters.multids +1 -1
  345. package/languages/zh-Hans/GettingStarted.tid +8 -6
  346. package/languages/zh-Hans/Help/commands.tid +18 -0
  347. package/languages/zh-Hans/Help/fetch.tid +6 -6
  348. package/languages/zh-Hans/Help/init.tid +1 -1
  349. package/languages/zh-Hans/Help/listen.tid +5 -5
  350. package/languages/zh-Hans/Help/makelibrary.tid +1 -1
  351. package/languages/zh-Hans/Help/savetiddlers.tid +1 -1
  352. package/languages/zh-Hans/Help/server.tid +6 -6
  353. package/languages/zh-Hans/Help/setfield.tid +3 -3
  354. package/languages/zh-Hans/Import.multids +1 -1
  355. package/languages/zh-Hans/Misc.multids +12 -11
  356. package/languages/zh-Hans/Search.multids +6 -6
  357. package/languages/zh-Hans/SiteSubtitle.tid +1 -1
  358. package/languages/zh-Hans/Snippets/ListByTag.tid +1 -1
  359. package/languages/zh-Hans/ThemeTweaks.multids +7 -7
  360. package/languages/zh-Hans/TiddlerInfo.multids +2 -2
  361. package/languages/zh-Hant/Buttons.multids +4 -0
  362. package/languages/zh-Hant/ControlPanel.multids +2 -2
  363. package/languages/zh-Hant/Fields.multids +2 -2
  364. package/languages/zh-Hant/GettingStarted.tid +4 -3
  365. package/languages/zh-Hant/Help/commands.tid +18 -0
  366. package/languages/zh-Hant/Misc.multids +1 -0
  367. package/licenses/cla-individual.md +6 -0
  368. package/package.json +1 -1
  369. package/plugins/tiddlywiki/bibtex/deserializer.js +2 -2
  370. package/plugins/tiddlywiki/codemirror/engine.js +4 -0
  371. package/plugins/tiddlywiki/dynannotate/docs/readme.tid +2 -2
  372. package/plugins/tiddlywiki/dynannotate/modules/dynannotate.js +4 -2
  373. package/plugins/tiddlywiki/help/tabs/Support.tid +6 -2
  374. package/plugins/tiddlywiki/jasmine/command.js +33 -0
  375. package/plugins/tiddlywiki/jasmine/help.tid +24 -0
  376. package/plugins/tiddlywiki/jasmine/jasmine-plugin.js +24 -18
  377. package/plugins/tiddlywiki/jasmine/readme.tid +31 -1
  378. package/plugins/tiddlywiki/jasmine/run-wiki-based-tests.js +93 -0
  379. package/plugins/tiddlywiki/jasmine/startup.js +37 -0
  380. package/plugins/tiddlywiki/translators/macros/translatableStringEditor.tid +6 -0
  381. package/plugins/tiddlywiki/translators/system/styles.tid +5 -0
  382. package/plugins/tiddlywiki/twitter-archivist/Twitter Archives.tid +5 -0
  383. package/plugins/tiddlywiki/twitter-archivist/archivist.js +319 -0
  384. package/plugins/tiddlywiki/twitter-archivist/configTiddlerInfoMode.tid +2 -0
  385. package/plugins/tiddlywiki/twitter-archivist/loadtwitterarchive.js +53 -0
  386. package/plugins/tiddlywiki/twitter-archivist/macros.tid +222 -0
  387. package/plugins/tiddlywiki/twitter-archivist/plugin.info +6 -0
  388. package/plugins/tiddlywiki/twitter-archivist/readme.tid +33 -0
  389. package/plugins/tiddlywiki/twitter-archivist/spec.tid +62 -0
  390. package/plugins/tiddlywiki/twitter-archivist/startup.js +38 -0
  391. package/plugins/tiddlywiki/twitter-archivist/styles.tid +47 -0
  392. package/plugins/tiddlywiki/twitter-archivist/template-archive.tid +3 -0
  393. package/plugins/tiddlywiki/twitter-archivist/template-hashtag.tid +3 -0
  394. package/plugins/tiddlywiki/twitter-archivist/template-tweet.tid +3 -0
  395. package/plugins/tiddlywiki/twitter-archivist/template-tweeter.tid +3 -0
  396. package/plugins/tiddlywiki/twitter-archivist/todo.tid +15 -0
  397. package/plugins/tiddlywiki/twitter-archivist/usage.tid +18 -0
  398. package/plugins/tiddlywiki/twitter-archivist/view-template-body-cascade.tid +8 -0
  399. package/plugins/tiddlywiki/upgrade/UpgradeWizard.tid +3 -3
  400. package/readme.md +1 -1
  401. package/themes/tiddlywiki/vanilla/base.tid +114 -9
  402. package/editions/fr-FR/tiddlers/$__core_ui_TagTemplate.tid +0 -33
  403. package/editions/prerelease/tiddlers/Release 5.2.4.tid +0 -59
  404. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Classic.tid +0 -6
  405. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Developers.tid +0 -7
  406. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Gentle Guide.tid +0 -11
  407. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - HelpingTiddlyWiki.tid +0 -7
  408. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TWEUM2017.tid +0 -8
  409. package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyMap.tid +0 -6
  410. package/editions/tw5.com/tiddlers/images/Dev Thumbnail.jpg +0 -0
  411. package/editions/tw5.com/tiddlers/images/Dev Thumbnail.jpg.meta +0 -3
  412. package/editions/tw5.com/tiddlers/images/TiddlyMap.png +0 -0
@@ -14,6 +14,8 @@ Reveal widget
14
14
 
15
15
  var Widget = require("$:/core/modules/widgets/widget.js").widget;
16
16
 
17
+ var Popup = require("$:/core/modules/utils/dom/popup.js");
18
+
17
19
  var RevealWidget = function(parseTreeNode,options) {
18
20
  this.initialise(parseTreeNode,options);
19
21
  };
@@ -94,6 +96,13 @@ RevealWidget.prototype.positionPopup = function(domNode) {
94
96
  left = Math.max(0,left);
95
97
  top = Math.max(0,top);
96
98
  }
99
+ if (this.popup.absolute) {
100
+ // Traverse the offsetParent chain and correct the offset to make it relative to the parent node.
101
+ for (var offsetParentDomNode = domNode.offsetParent; offsetParentDomNode; offsetParentDomNode = offsetParentDomNode.offsetParent) {
102
+ left -= offsetParentDomNode.offsetLeft;
103
+ top -= offsetParentDomNode.offsetTop;
104
+ }
105
+ }
97
106
  domNode.style.left = left + "px";
98
107
  domNode.style.top = top + "px";
99
108
  };
@@ -183,19 +192,11 @@ RevealWidget.prototype.compareStateText = function(state) {
183
192
  };
184
193
 
185
194
  RevealWidget.prototype.readPopupState = function(state) {
186
- var popupLocationRegExp = /^\((-?[0-9\.E]+),(-?[0-9\.E]+),(-?[0-9\.E]+),(-?[0-9\.E]+)\)$/,
187
- match = popupLocationRegExp.exec(state);
195
+ this.popup = Popup.parseCoordinates(state);
188
196
  // Check if the state matches the location regexp
189
- if(match) {
197
+ if(this.popup) {
190
198
  // If so, we're open
191
199
  this.isOpen = true;
192
- // Get the location
193
- this.popup = {
194
- left: parseFloat(match[1]),
195
- top: parseFloat(match[2]),
196
- width: parseFloat(match[3]),
197
- height: parseFloat(match[4])
198
- };
199
200
  } else {
200
201
  // If not, we're closed
201
202
  this.isOpen = false;
@@ -42,6 +42,9 @@ SelectWidget.prototype.render = function(parent,nextSibling) {
42
42
  this.execute();
43
43
  this.renderChildren(parent,nextSibling);
44
44
  this.setSelectValue();
45
+ if(this.selectFocus == "yes") {
46
+ this.getSelectDomNode().focus();
47
+ }
45
48
  $tw.utils.addEventListeners(this.getSelectDomNode(),[
46
49
  {name: "change", handlerObject: this, handlerMethod: "handleChangeEvent"}
47
50
  ]);
@@ -143,6 +146,7 @@ SelectWidget.prototype.execute = function() {
143
146
  this.selectMultiple = this.getAttribute("multiple", false);
144
147
  this.selectSize = this.getAttribute("size");
145
148
  this.selectTooltip = this.getAttribute("tooltip");
149
+ this.selectFocus = this.getAttribute("focus");
146
150
  // Make the child widgets
147
151
  var selectNode = {
148
152
  type: "element",
@@ -175,6 +179,11 @@ SelectWidget.prototype.refresh = function(changedTiddlers) {
175
179
  return true;
176
180
  // If the target tiddler value has changed, just update setting and refresh the children
177
181
  } else {
182
+ if(changedAttributes.class) {
183
+ this.selectClass = this.getAttribute("class");
184
+ this.getSelectDomNode().setAttribute("class",this.selectClass);
185
+ }
186
+
178
187
  var childrenRefreshed = this.refreshChildren(changedTiddlers);
179
188
  if(changedTiddlers[this.selectTitle] || childrenRefreshed) {
180
189
  this.setSelectValue();
@@ -70,11 +70,9 @@ TranscludeWidget.prototype.execute = function() {
70
70
  // Check for recursion
71
71
  if(parser) {
72
72
  if(this.parentWidget && this.parentWidget.hasVariable("transclusion",recursionMarker)) {
73
- parseTreeNodes = [{type: "element", tag: "span", attributes: {
74
- "class": {type: "string", value: "tc-error"}
75
- }, children: [
76
- {type: "text", text: $tw.language.getString("Error/RecursiveTransclusion")}
77
- ]}];
73
+ parseTreeNodes = [{type: "error", attributes: {
74
+ "$message": {type: "string", value: $tw.language.getString("Error/RecursiveTransclusion")}
75
+ }}];
78
76
  }
79
77
  }
80
78
  // Construct the child widgets
@@ -12,6 +12,9 @@ Widget base class
12
12
  /*global $tw: false */
13
13
  "use strict";
14
14
 
15
+ /* Maximum permitted depth of the widget tree for recursion detection */
16
+ var MAX_WIDGET_TREE_DEPTH = 1000;
17
+
15
18
  /*
16
19
  Create a widget object for a parse tree node
17
20
  parseTreeNode: reference to the parse tree node to be rendered
@@ -38,9 +41,10 @@ Widget.prototype.initialise = function(parseTreeNode,options) {
38
41
  this.parseTreeNode = parseTreeNode;
39
42
  this.wiki = options.wiki;
40
43
  this.parentWidget = options.parentWidget;
41
- this.variablesConstructor = function() {};
42
- this.variablesConstructor.prototype = this.parentWidget ? this.parentWidget.variables : {};
43
- this.variables = new this.variablesConstructor();
44
+ this.variables = Object.create(null);
45
+ if(this.parentWidget) {
46
+ Object.setPrototypeOf(this.variables,this.parentWidget.variables);
47
+ }
44
48
  this.document = options.document;
45
49
  this.attributes = {};
46
50
  this.children = [];
@@ -357,6 +361,20 @@ Widget.prototype.assignAttributes = function(domNode,options) {
357
361
  }
358
362
  };
359
363
 
364
+ /*
365
+ Get the number of ancestor widgets for this widget
366
+ */
367
+ Widget.prototype.getAncestorCount = function() {
368
+ if(this.ancestorCount === undefined) {
369
+ if(this.parentWidget) {
370
+ this.ancestorCount = this.parentWidget.getAncestorCount() + 1;
371
+ } else {
372
+ this.ancestorCount = 0;
373
+ }
374
+ }
375
+ return this.ancestorCount;
376
+ };
377
+
360
378
  /*
361
379
  Make child widgets correspondng to specified parseTreeNodes
362
380
  */
@@ -364,21 +382,29 @@ Widget.prototype.makeChildWidgets = function(parseTreeNodes,options) {
364
382
  options = options || {};
365
383
  this.children = [];
366
384
  var self = this;
367
- // Create set variable widgets for each variable
368
- $tw.utils.each(options.variables,function(value,name) {
369
- var setVariableWidget = {
370
- type: "set",
371
- attributes: {
372
- name: {type: "string", value: name},
373
- value: {type: "string", value: value}
374
- },
375
- children: parseTreeNodes
376
- };
377
- parseTreeNodes = [setVariableWidget];
378
- });
379
- $tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {
380
- self.children.push(self.makeChildWidget(childNode));
381
- });
385
+ // Check for too much recursion
386
+ if(this.getAncestorCount() > MAX_WIDGET_TREE_DEPTH) {
387
+ this.children.push(this.makeChildWidget({type: "error", attributes: {
388
+ "$message": {type: "string", value: $tw.language.getString("Error/RecursiveTransclusion")}
389
+ }}));
390
+ } else {
391
+ // Create set variable widgets for each variable
392
+ $tw.utils.each(options.variables,function(value,name) {
393
+ var setVariableWidget = {
394
+ type: "set",
395
+ attributes: {
396
+ name: {type: "string", value: name},
397
+ value: {type: "string", value: value}
398
+ },
399
+ children: parseTreeNodes
400
+ };
401
+ parseTreeNodes = [setVariableWidget];
402
+ });
403
+ // Create the child widgets
404
+ $tw.utils.each(parseTreeNodes || (this.parseTreeNode && this.parseTreeNode.children),function(childNode) {
405
+ self.children.push(self.makeChildWidget(childNode));
406
+ });
407
+ }
382
408
  };
383
409
 
384
410
  /*
@@ -34,6 +34,8 @@ external-link-foreground-hover: inherit
34
34
  external-link-foreground-visited: #0000aa
35
35
  external-link-foreground: #0000ee
36
36
  foreground: #333333
37
+ highlight-background: #ffff00
38
+ highlight-foreground: #000000
37
39
  message-background: #ecf2ff
38
40
  message-border: #cfd6e6
39
41
  message-foreground: #547599
@@ -34,6 +34,8 @@ external-link-foreground-hover: inherit
34
34
  external-link-foreground-visited: #0000aa
35
35
  external-link-foreground: #0000ee
36
36
  foreground: #333353
37
+ highlight-background: #ffff00
38
+ highlight-foreground: #000000
37
39
  message-background: #ecf2ff
38
40
  message-border: #cfd6e6
39
41
  message-foreground: #547599
@@ -34,6 +34,8 @@ external-link-foreground-hover: inherit
34
34
  external-link-foreground-visited: #0000aa
35
35
  external-link-foreground: #0000ee
36
36
  foreground: #333333
37
+ highlight-background: #ffff00
38
+ highlight-foreground: #000000
37
39
  message-background: #ecf2ff
38
40
  message-border: #cfd6e6
39
41
  message-foreground: #547599
@@ -34,6 +34,8 @@ external-link-foreground-hover: inherit
34
34
  external-link-foreground-visited: #00a
35
35
  external-link-foreground: #00e
36
36
  foreground: #000
37
+ highlight-background: #ffff00
38
+ highlight-foreground: #000000
37
39
  message-background: <<colour foreground>>
38
40
  message-border: <<colour background>>
39
41
  message-foreground: <<colour background>>
@@ -34,6 +34,8 @@ external-link-foreground-hover: inherit
34
34
  external-link-foreground-visited: #00a
35
35
  external-link-foreground: #00e
36
36
  foreground: #fff
37
+ highlight-background: #ffff00
38
+ highlight-foreground: #000000
37
39
  message-background: <<colour foreground>>
38
40
  message-border: <<colour background>>
39
41
  message-foreground: <<colour background>>
@@ -32,6 +32,8 @@ external-link-foreground-hover:
32
32
  external-link-foreground-visited: #BF5AF2
33
33
  external-link-foreground: #32D74B
34
34
  foreground: #FFFFFF
35
+ highlight-background: #ffff78
36
+ highlight-foreground: #000000
35
37
  menubar-background: #464646
36
38
  menubar-foreground: #ffffff
37
39
  message-background: <<colour background>>
@@ -36,6 +36,8 @@ external-link-foreground-hover: inherit
36
36
  external-link-foreground-visited: #0000aa
37
37
  external-link-foreground: #0000ee
38
38
  foreground: #333333
39
+ highlight-background: #ffff00
40
+ highlight-foreground: #000000
39
41
  message-background: #ecf2ff
40
42
  message-border: #cfd6e6
41
43
  message-foreground: #547599
@@ -40,6 +40,8 @@ external-link-foreground-hover: inherit
40
40
  external-link-foreground-visited: #313163
41
41
  external-link-foreground: #555592
42
42
  foreground: #2D2A23
43
+ highlight-background: #ffff00
44
+ highlight-foreground: #000000
43
45
  menubar-background: #CDC2A6
44
46
  menubar-foreground: #5A5446
45
47
  message-background: #ECE5CF
@@ -41,6 +41,8 @@ external-link-foreground-hover: inherit
41
41
  external-link-foreground-visited: #d3869b
42
42
  external-link-foreground: #8ec07c
43
43
  foreground: #fbf1c7
44
+ highlight-background: #ffff79
45
+ highlight-foreground: #000000
44
46
  menubar-background: #504945
45
47
  menubar-foreground: <<colour foreground>>
46
48
  message-background: #83a598
@@ -41,6 +41,8 @@ external-link-foreground-hover: inherit
41
41
  external-link-foreground-visited: #5E81AC
42
42
  external-link-foreground: #8FBCBB
43
43
  foreground: #d8dee9
44
+ highlight-background: #ffff78
45
+ highlight-foreground: #000000
44
46
  menubar-background: #2E3440
45
47
  menubar-foreground: #d8dee9
46
48
  message-background: #2E3440
@@ -34,6 +34,8 @@ external-link-foreground-hover: inherit
34
34
  external-link-foreground-visited: #0000aa
35
35
  external-link-foreground: #0000ee
36
36
  foreground: #333333
37
+ highlight-background: #ffff00
38
+ highlight-foreground: #000000
37
39
  message-background: #ecf2ff
38
40
  message-border: #cfd6e6
39
41
  message-foreground: #547599
@@ -131,6 +131,8 @@ external-link-background-hover: inherit
131
131
  external-link-background-visited: inherit
132
132
  external-link-background: inherit
133
133
  external-link-foreground-hover: inherit
134
+ highlight-background: #ffff00
135
+ highlight-foreground: #000000
134
136
  message-border: #cfd6e6
135
137
  modal-border: #999999
136
138
  select-tag-background:
@@ -35,6 +35,8 @@ external-link-foreground: #268bd2
35
35
  external-link-foreground-hover:
36
36
  external-link-foreground-visited: #268bd2
37
37
  foreground: #839496
38
+ highlight-background: #ffff78
39
+ highlight-foreground: #000000
38
40
  message-background: #002b36
39
41
  message-border: #586e75
40
42
  message-foreground: #839496
@@ -35,6 +35,8 @@ external-link-foreground: #268bd2
35
35
  external-link-foreground-hover: inherit
36
36
  external-link-foreground-visited: #268bd2
37
37
  foreground: #657b83
38
+ highlight-background: #ffff00
39
+ highlight-foreground: #000000
38
40
  message-background: #fdf6e3
39
41
  message-border: #93a1a1
40
42
  message-foreground: #657b83
@@ -34,6 +34,8 @@ external-link-foreground-hover:
34
34
  external-link-foreground-visited:
35
35
  external-link-foreground:
36
36
  foreground: rgba(0, 0, 0, 0.87)
37
+ highlight-background: #ffff00
38
+ highlight-foreground: #000000
37
39
  message-background: <<colour background>>
38
40
  message-border: <<colour very-muted-foreground>>
39
41
  message-foreground: rgba(0, 0, 0, 0.54)
@@ -34,6 +34,8 @@ external-link-foreground-hover:
34
34
  external-link-foreground-visited: #7c318c
35
35
  external-link-foreground: #9e3eb3
36
36
  foreground: rgba(255, 255, 255, 0.7)
37
+ highlight-background: #ffff78
38
+ highlight-foreground: #000000
37
39
  message-background: <<colour background>>
38
40
  message-border: <<colour very-muted-foreground>>
39
41
  message-foreground: rgba(255, 255, 255, 0.54)
@@ -43,6 +43,8 @@ external-link-foreground: rgb(179, 179, 255)
43
43
  external-link-foreground-hover: inherit
44
44
  external-link-foreground-visited: rgb(153, 153, 255)
45
45
  foreground: rgb(179, 179, 179)
46
+ highlight-background: #ffff78
47
+ highlight-foreground: #000000
46
48
  message-background: <<colour tag-foreground>>
47
49
  message-border: #96ccff
48
50
  message-foreground: <<colour tag-background>>
@@ -42,6 +42,8 @@ external-link-foreground-hover: inherit
42
42
  external-link-foreground-visited: #0000aa
43
43
  external-link-foreground: #0000ee
44
44
  foreground: #333333
45
+ highlight-background: #ffff00
46
+ highlight-foreground: #000000
45
47
  message-background: #ecf2ff
46
48
  message-border: #cfd6e6
47
49
  message-foreground: #547599
@@ -4,5 +4,7 @@ title: $:/core/save/all-external-js
4
4
  \define saveTiddlerFilter()
5
5
  [is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$
6
6
  \end
7
- \define coreURL() %24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js
8
- {{$:/core/templates/tiddlywiki5-external-js.html}}
7
+ \define defaultCoreURL() %24%3A%2Fcore%2Ftemplates%2Ftiddlywiki5.js
8
+ <$let coreURL={{{ [[coreURL]is[variable]then<coreURL>else<defaultCoreURL>] }}}>
9
+ {{$:/core/templates/tiddlywiki5-external-js.html}}
10
+ </$let>
@@ -4,5 +4,7 @@ title: $:/core/save/offline-external-js
4
4
  \define saveTiddlerFilter()
5
5
  [is[tiddler]] -[prefix[$:/state/popup/]] -[prefix[$:/temp/]] -[prefix[$:/HistoryList]] -[status[pending]plugin-type[import]] -[[$:/core]] -[[$:/plugins/tiddlywiki/filesystem]] -[[$:/plugins/tiddlywiki/tiddlyweb]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] $(publishFilter)$
6
6
  \end
7
- \define coreURL() tiddlywikicore-$(version)$.js
8
- {{$:/core/templates/tiddlywiki5-external-js.html}}
7
+ \define defaultCoreURL() tiddlywikicore-$(version)$.js
8
+ <$let coreURL={{{ [[coreURL]is[variable]then<coreURL>else<defaultCoreURL>] }}}>
9
+ {{$:/core/templates/tiddlywiki5-external-js.html}}
10
+ </$let>
@@ -18,7 +18,7 @@ tc-page-container tc-page-view-$(storyviewTitle)$ tc-language-$(languageTitle)$
18
18
 
19
19
  <$navigator story="$:/StoryList" history="$:/HistoryList">
20
20
 
21
- <$transclude mode="block"/>
21
+ <$transclude tiddler="$:/core/ui/ViewTemplate/body" mode="block"/>
22
22
 
23
23
  </$navigator>
24
24
 
@@ -2,11 +2,5 @@ title: $:/core/ui/Actions/new-image
2
2
  tags: $:/tags/Actions
3
3
  description: create a new image tiddler
4
4
 
5
- \define get-type()
6
- image/$(imageType)$
7
- \end
8
- \define get-tags() $(textFieldTags)$ $(tagsFieldTags)$
9
5
  \whitespace trim
10
- <$vars imageType={{$:/config/NewImageType}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}}>
11
- <$action-sendmessage $message="tm-new-tiddler" type=<<get-type>> tags=<<get-tags>>/>
12
- </$vars>
6
+ <$action-sendmessage $message="tm-new-tiddler" type={{{ [{$:/config/NewImageType}addprefix[image/]] }}}/>
@@ -3,7 +3,7 @@ tags: $:/tags/AdvancedSearch/FilterButton
3
3
 
4
4
  \whitespace trim
5
5
  <$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
6
- <$button popup=<<qualify "$:/state/filterDeleteDropdown">> class="tc-btn-invisible">
6
+ <$button tooltip={{$:/language/Buttons/DeleteTiddlers/Hint}} popup=<<qualify "$:/state/filterDeleteDropdown">> class="tc-btn-invisible">
7
7
  {{$:/core/images/delete-button}}
8
8
  </$button>
9
9
  </$reveal>
@@ -13,13 +13,13 @@ tags: $:/tags/AdvancedSearch/FilterButton
13
13
  <div class="tc-block-dropdown tc-edit-type-dropdown">
14
14
  <div class="tc-dropdown-item-plain">
15
15
  <$set name="resultCount" value="""<$count filter={{$:/temp/advancedsearch}}/>""">
16
- Are you sure you wish to delete <<resultCount>> tiddler(s)?
16
+ {{$:/language/ConfirmDeleteTiddlers}}
17
17
  </$set>
18
18
  </div>
19
19
  <div class="tc-dropdown-item-plain">
20
20
  <$button class="tc-btn">
21
21
  <$action-deletetiddler $filter={{$:/temp/advancedsearch}}/>
22
- Delete these tiddlers
22
+ {{$:/language/Buttons/DeleteTiddlers/Hint}}
23
23
  </$button>
24
24
  </div>
25
25
  </div>
@@ -14,8 +14,8 @@ tags: $:/tags/AdvancedSearch/FilterButton
14
14
  <$linkcatcher actions="<$action-setfield $tiddler='$:/temp/advancedsearch' text=<<navigateTo>>/><$action-setfield $tiddler='$:/temp/advancedsearch/input' text=<<navigateTo>>/><$action-setfield $tiddler='$:/temp/advancedsearch/refresh' text='yes'/><$action-sendmessage $message='tm-focus-selector' $param='.tc-advanced-search input' />">
15
15
  <div class="tc-block-dropdown-wrapper">
16
16
  <div class="tc-block-dropdown tc-edit-type-dropdown">
17
- <$list filter="[all[shadows+tiddlers]tag[$:/tags/Filter]]">
18
- <$link to={{!!filter}}><$transclude field="description"/></$link>
17
+ <$list filter="[all[shadows+tiddlers]tag[$:/tags/Filter]!is[draft]]">
18
+ <$link to={{!!filter}}><$let tv-wikilinks="no"><$transclude field="description"/></$let></$link>
19
19
  </$list>
20
20
  </div>
21
21
  </div>
@@ -0,0 +1,3 @@
1
+ title: $:/snippets/retain-story-ordering-button
2
+
3
+ <$button set="$:/DefaultTiddlers" setTo={{$:/config/ControlPanel/Basics/DefaultTiddlers/RetainStory}} ><<currentTiddler>></$button>
@@ -20,15 +20,16 @@ caption: {{$:/language/ControlPanel/Basics/Caption}}
20
20
  \end
21
21
  \whitespace trim
22
22
 
23
+ |tc-max-width tc-edit-max-width|k
23
24
  |<<lingo Version/Prompt>> |''<<version>>'' |
24
25
  |<$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
25
26
  |<$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
26
27
  |<$link to="$:/status/UserName"><<lingo Username/Prompt>></$link> |<$edit-text tiddler="$:/status/UserName" default="" tag="input"/> |
27
28
  |<$link to="$:/config/AnimationDuration"><<lingo AnimDuration/Prompt>></$link> |<$edit-text tiddler="$:/config/AnimationDuration" default="" tag="input"/> |
28
- |<$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit tag="textarea" tiddler="$:/DefaultTiddlers" class="tc-edit-texteditor"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
29
+ |<$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link> |<<lingo DefaultTiddlers/TopHint>><br> <$edit class="tc-edit-texteditor" tiddler="$:/DefaultTiddlers"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
29
30
  |<$link to="$:/language/DefaultNewTiddlerTitle"><<lingo NewTiddler/Title/Prompt>></$link> |<$edit-text tiddler="$:/language/DefaultNewTiddlerTitle" default="" tag="input"/> |
30
31
  |<$link to="$:/config/NewJournal/Title"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler="$:/config/NewJournal/Title" default="" tag="input"/> |
31
- |<$link to="$:/config/NewJournal/Text"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler="$:/config/NewJournal/Text" tag="textarea" class="tc-edit-texteditor" default=""/> |
32
+ |<$link to="$:/config/NewJournal/Text"><<lingo NewJournal/Text/Prompt>></$link> |<$edit tiddler="$:/config/NewJournal/Text" class="tc-edit-texteditor" default=""/> |
32
33
  |<$link to="$:/config/NewTiddler/Tags"><<lingo NewTiddler/Tags/Prompt>></$link> |<$vars currentTiddler="$:/config/NewTiddler/Tags" tagField="text">{{||$:/core/ui/EditTemplate/tags}}<$list filter="[<currentTiddler>tags[]] +[limit[1]]" variable="ignore"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field="text" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=""/></$button></$list></$vars> |
33
34
  |<$link to="$:/config/NewJournal/Tags"><<lingo NewJournal/Tags/Prompt>></$link> |<$vars currentTiddler="$:/config/NewJournal/Tags" tagField="text">{{||$:/core/ui/EditTemplate/tags}}<$list filter="[<currentTiddler>tags[]] +[limit[1]]" variable="ignore"><$button tooltip={{$:/language/ControlPanel/Basics/RemoveTags/Hint}}><<lingo RemoveTags>><$action-listops $tiddler=<<currentTiddler>> $field="text" $subfilter={{{ [<currentTiddler>get[tags]] }}}/><$action-setfield $tiddler=<<currentTiddler>> tags=""/></$button></$list></$vars> |
34
35
  |<$link to="$:/config/AutoFocus"><<lingo AutoFocus/Prompt>></$link> |{{$:/snippets/minifocusswitcher}} |
@@ -5,6 +5,6 @@ caption: {{$:/language/EditTemplate/Body/Preview/Type/Output}}
5
5
  \import [all[shadows+tiddlers]tag[$:/tags/Macro/View]!has[draft.of]] [all[shadows+tiddlers]tag[$:/tags/Macro/View/Body]!has[draft.of]]
6
6
  <$set name="tv-tiddler-preview" value="yes">
7
7
 
8
- <$transclude />
8
+ <$transclude tiddler={{{ [<currentTiddler>] :cascade[all[shadows+tiddlers]tag[$:/tags/ViewTemplateBodyFilter]!is[draft]get[text]] :and[!is[blank]else[$:/core/ui/ViewTemplate/body/default]] }}} />
9
9
 
10
10
  </$set>
@@ -19,7 +19,7 @@ $:/config/EditorToolbarButtons/Visibility/$(currentTiddler)$
19
19
 
20
20
  <$transclude tiddler="$:/core/ui/EditTemplate/body/editor" mode="inline"/>
21
21
 
22
- <div class="tc-tiddler-preview-preview">
22
+ <div class="tc-tiddler-preview-preview" data-tiddler-title={{!!draft.title}} data-tags={{!!tags}}>
23
23
 
24
24
  <$transclude tiddler={{$:/state/editpreviewtype}} mode="inline">
25
25
 
@@ -10,6 +10,10 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
10
10
  [[hide]] -[title{$(config-title)$}]
11
11
  \end
12
12
 
13
+ <!-- Beware this is duplicated from EditTemplate.tid. For details see bug #7054 -->
14
+ \define get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]
15
+ \define get-field-editor-filter() [<newFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]
16
+
13
17
  \define current-tiddler-new-field-selector()
14
18
  [data-tiddler-title="$(currentTiddlerCSSescaped)$"] .tc-edit-field-add-name-wrapper input
15
19
  \end
@@ -17,7 +21,9 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
17
21
  \define new-field-actions()
18
22
  \whitespace trim
19
23
  <$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
20
- <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix<newFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
24
+ <$set name="safeNewFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
25
+ <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
26
+ </$set>
21
27
  <$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/>
22
28
  \end
23
29
 
@@ -52,7 +58,9 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
52
58
  <$action-sendmessage $message="tm-add-field"
53
59
  $name=<<name>>
54
60
  $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
55
- <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix<newFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
61
+ <$set name="safeNewFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
62
+ <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
63
+ </$set>
56
64
  <<lingo Fields/Add/Button>>
57
65
  </$button>
58
66
  </$reveal>
@@ -65,6 +73,7 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
65
73
  \end
66
74
  \whitespace trim
67
75
 
76
+ <$set name="newFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
68
77
  <div class="tc-edit-fields">
69
78
  <table class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] +[count[]!match[0]] +[then[tc-edit-fields]] ~[[tc-edit-fields tc-edit-fields-small]] }}}>
70
79
  <tbody>
@@ -148,3 +157,4 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
148
157
  </$vars>
149
158
  </div>
150
159
  </$fieldmangler>
160
+ </$set>
@@ -1,7 +1,12 @@
1
1
  title: $:/core/ui/EditTemplate
2
2
 
3
- \define delete-edittemplate-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix<newFieldValueTiddlerPrefix>] [<newFieldNameInputTiddler>] [<newFieldNameSelectionTiddler>] [<newTagNameTiddler>] [<newTagNameInputTiddler>] [<newTagNameSelectionTiddler>] [<typeInputTiddler>] [<typeSelectionTiddler>]"/>
3
+ \define delete-edittemplate-state-tiddlers()
4
+ <$set name="safeNewFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
5
+ <$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<newFieldNameInputTiddler>] [<newFieldNameSelectionTiddler>] [<newTagNameTiddler>] [<newTagNameInputTiddler>] [<newTagNameSelectionTiddler>] [<typeInputTiddler>] [<typeSelectionTiddler>]"/>
6
+ </$set>
7
+ \end
4
8
 
9
+ <!-- Beware this is duplicated from fields.tid. For details see bug #7054 -->
5
10
  \define get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]
6
11
  \define get-field-editor-filter() [<newFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]
7
12
 
@@ -23,7 +28,7 @@ title: $:/core/ui/EditTemplate
23
28
  <div
24
29
  data-tiddler-title=<<currentTiddler>>
25
30
  data-tags={{!!tags}}
26
- class={{{ tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}
31
+ class={{{ [all[shadows+tiddlers]tag[$:/tags/ClassFilters/TiddlerTemplate]!is[draft]] :map:flat[subfilter{!!text}] tc-tiddler-frame tc-tiddler-edit-frame [<currentTiddler>is[tiddler]then[tc-tiddler-exists]] [<currentTiddler>is[missing]!is[shadow]then[tc-tiddler-missing]] [<currentTiddler>is[shadow]then[tc-tiddler-exists tc-tiddler-shadow]] [<currentTiddler>is[system]then[tc-tiddler-system]] [{!!class}] [<currentTiddler>tags[]encodeuricomponent[]addprefix[tc-tagged-]] +[join[ ]] }}}
27
32
  role="region"
28
33
  aria-label={{$:/language/EditTemplate/Caption}}>
29
34
  <$fieldmangler>
@@ -117,15 +117,15 @@ title: $:/core/ui/ImportListing
117
117
  </div>
118
118
  </td>
119
119
  </$reveal>
120
- <tr>
120
+ <$reveal type="match" text="yes" state=<<previewPopupState>> tag="tr">
121
121
  <td colspan="3">
122
- <$reveal type="match" text="yes" state=<<previewPopupState>> tag="div">
123
122
  <$list filter="[{$:/state/importpreviewtype}has[text]]" variable="listItem" emptyMessage={{$:/core/ui/ImportPreviews/Text}}>
124
- <$transclude tiddler={{$:/state/importpreviewtype}}/>
123
+ <div>
124
+ <$transclude tiddler={{$:/state/importpreviewtype}}/>
125
+ </div>
125
126
  </$list>
126
- </$reveal>
127
127
  </td>
128
- </tr>
128
+ </$reveal>
129
129
  </$list>
130
130
  </tbody>
131
131
  </table>
@@ -4,6 +4,6 @@ key: ((advanced-search))
4
4
 
5
5
  \whitespace trim
6
6
  <$navigator story="$:/StoryList" history="$:/HistoryList">
7
- <$action-navigate $to="$:/AdvancedSearch"/>
7
+ <$action-navigate $to="$:/AdvancedSearch" $scroll="yes"/>
8
8
  <$action-sendmessage $message="tm-focus-selector" $param="""[data-tiddler-title="$:/AdvancedSearch"] .tc-search input""" preventScroll="true"/>
9
9
  </$navigator>
@@ -0,0 +1,15 @@
1
+ title: $:/core/ui/Buttons/layout
2
+ tags: $:/tags/PageControls
3
+ caption: {{$:/core/images/layout-button}} {{$:/language/Buttons/LayoutSwitcher/Caption}}
4
+ description: {{$:/language/LayoutSwitcher/Description}}
5
+
6
+ \whitespace trim
7
+ <$button tooltip={{$:/language/Buttons/LayoutSwitcher/Hint}} aria-label={{$:/language/Buttons/LayoutSwitcher/Caption}} class=<<tv-config-toolbar-class>>>
8
+ <$action-sendmessage $message="tm-show-switcher" switch="layout"/>
9
+ <$list filter="[<tv-config-toolbar-icons>match[yes]]">
10
+ {{$:/core/images/layout-button}}
11
+ </$list>
12
+ <$list filter="[<tv-config-toolbar-text>match[yes]]">
13
+ <span class="tc-btn-text"><$text text={{$:/language/Buttons/LayoutSwitcher/Caption}}/></span>
14
+ </$list>
15
+ </$button>