tiddlywiki 5.3.3 → 5.3.4
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.
- package/bin/build-site.sh +33 -0
- package/boot/boot.js +61 -26
- package/boot/tiddlywiki.files +32 -0
- package/contributing.md +1 -1
- package/core/copyright.tid +1 -1
- package/core/images/standard-layout.tid +7 -0
- package/core/language/en-GB/Buttons.multids +3 -0
- package/core/language/en-GB/ControlPanel.multids +6 -0
- package/core/language/en-GB/Docs/ModuleTypes.multids +1 -1
- package/core/language/en-GB/Docs/PaletteColours.multids +7 -0
- package/core/language/en-GB/Fields.multids +2 -0
- package/core/language/en-GB/Misc.multids +2 -2
- package/core/modules/commands/listen.js +1 -1
- package/core/modules/commands/makelibrary.js +1 -26
- package/core/modules/commands/save.js +3 -1
- package/core/modules/commands/savewikifolder.js +4 -1
- package/core/modules/filters/backtranscludes.js +26 -0
- package/core/modules/filters/crypto.js +2 -5
- package/core/modules/filters/strings.js +6 -3
- package/core/modules/filters/transcludes.js +26 -0
- package/core/modules/filters/x-listops.js +1 -1
- package/core/modules/indexers/back-indexer.js +122 -0
- package/core/modules/macros/csvtiddlers.js +9 -5
- package/core/modules/parsers/parseutils.js +1 -1
- package/core/modules/parsers/wikiparser/rules/codeblock.js +6 -3
- package/core/modules/parsers/wikiparser/rules/codeinline.js +5 -2
- package/core/modules/parsers/wikiparser/rules/extlink.js +2 -1
- package/core/modules/parsers/wikiparser/rules/filteredtranscludeblock.js +15 -5
- package/core/modules/parsers/wikiparser/rules/filteredtranscludeinline.js +15 -5
- package/core/modules/parsers/wikiparser/rules/fnprocdef.js +3 -3
- package/core/modules/parsers/wikiparser/rules/hardlinebreaks.js +2 -1
- package/core/modules/parsers/wikiparser/rules/heading.js +4 -2
- package/core/modules/parsers/wikiparser/rules/html.js +25 -0
- package/core/modules/parsers/wikiparser/rules/image.js +2 -2
- package/core/modules/parsers/wikiparser/rules/import.js +2 -1
- package/core/modules/parsers/wikiparser/rules/list.js +29 -4
- package/core/modules/parsers/wikiparser/rules/macrodef.js +3 -3
- package/core/modules/parsers/wikiparser/rules/prettyextlink.js +7 -2
- package/core/modules/parsers/wikiparser/rules/prettylink.js +12 -5
- package/core/modules/parsers/wikiparser/rules/quoteblock.js +16 -30
- package/core/modules/parsers/wikiparser/rules/syslink.js +6 -3
- package/core/modules/parsers/wikiparser/rules/table.js +2 -1
- package/core/modules/parsers/wikiparser/rules/typedblock.js +4 -1
- package/core/modules/parsers/wikiparser/rules/wikilink.js +4 -1
- package/core/modules/parsers/wikiparser/wikiparser.js +39 -5
- package/core/modules/saver-handler.js +7 -3
- package/core/modules/server/authenticators/header.js +3 -1
- package/core/modules/server/server.js +5 -0
- package/core/modules/startup/render.js +8 -2
- package/core/modules/startup/rootwidget.js +10 -2
- package/core/modules/startup/story.js +14 -4
- package/core/modules/startup/windows.js +1 -1
- package/core/modules/utils/dom/dom.js +3 -1
- package/core/modules/utils/dom/http.js +19 -7
- package/core/modules/utils/errors.js +23 -0
- package/core/modules/utils/fakedom.js +2 -2
- package/core/modules/utils/filesystem.js +13 -10
- package/core/modules/utils/repository.js +52 -0
- package/core/modules/utils/utils.js +11 -2
- package/core/modules/widgets/action-deletefield.js +7 -2
- package/core/modules/widgets/action-log.js +6 -1
- package/core/modules/widgets/button.js +1 -1
- package/core/modules/widgets/data.js +182 -0
- package/core/modules/widgets/draggable.js +2 -2
- package/core/modules/widgets/edit.js +1 -1
- package/core/modules/widgets/importvariables.js +1 -1
- package/core/modules/widgets/link.js +1 -1
- package/core/modules/widgets/parameters.js +12 -0
- package/core/modules/widgets/testcase.js +165 -0
- package/core/modules/widgets/transclude.js +24 -1
- package/core/modules/widgets/widget.js +23 -10
- package/core/modules/wiki.js +78 -2
- package/core/palettes/Vanilla.tid +7 -0
- package/core/plugin.info +2 -1
- package/core/templates/external-js/save-all-external-js.tid +1 -1
- package/core/templates/external-js/save-offline-external-js.tid +1 -1
- package/core/templates/save-all.tid +1 -1
- package/core/templates/save-empty.tid +1 -1
- package/core/templates/save-lazy-all.tid +1 -1
- package/core/templates/save-lazy-images.tid +1 -1
- package/core/ui/AdvancedSearch/Filter.tid +1 -4
- package/core/ui/AdvancedSearch/Standard.tid +5 -4
- package/core/ui/Components/plugin-info.tid +11 -1
- package/core/ui/ControlPanel/Modals/AddPlugins.tid +13 -2
- package/core/ui/ControlPanel/Saving/DownloadSaver.tid +11 -2
- package/core/ui/ControlPanel/Saving/General.tid +11 -3
- package/core/ui/ControlPanel/Settings/CamelCase.tid +10 -1
- package/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab.tid +11 -6
- package/core/ui/ControlPanel/Settings/DefaultSidebarTab.tid +11 -5
- package/core/ui/ControlPanel/Settings/EditorToolbar.tid +9 -2
- package/core/ui/ControlPanel/Settings/InfoPanelMode.tid +11 -3
- package/core/ui/ControlPanel/Settings/LinkToBehaviour.tid +15 -11
- package/core/ui/ControlPanel/Settings/MissingLinks.tid +6 -2
- package/core/ui/ControlPanel/Settings/NavigationAddressBar.tid +13 -4
- package/core/ui/ControlPanel/Settings/NavigationHistory.tid +11 -3
- package/core/ui/ControlPanel/Settings/NavigationPermalinkviewMode.tid +17 -2
- package/core/ui/ControlPanel/Settings/PerformanceInstrumentation.tid +9 -1
- package/core/ui/ControlPanel/Settings/TitleLinks.tid +11 -3
- package/core/ui/ControlPanel/Settings/ToolbarButtonStyle.tid +9 -6
- package/core/ui/ControlPanel/Settings/ToolbarButtons.tid +17 -2
- package/core/ui/ControlPanel/TestCases.tid +10 -0
- package/core/ui/ControlPanel/TestCasesAll.tid +24 -0
- package/core/ui/ControlPanel/TestCasesFailed.tid +15 -0
- package/core/ui/ControlPanel/TiddlyWiki.tid +2 -2
- package/core/ui/EditTemplate/body/default.tid +7 -2
- package/core/ui/EditTemplate/controls.tid +12 -6
- package/core/ui/EditTemplate/tags.tid +52 -28
- package/core/ui/EditorToolbar/preview.tid +2 -2
- package/core/ui/KeyboardShortcuts/refresh.tid +5 -0
- package/core/ui/PageControls/more-page-actions.tid +37 -44
- package/core/ui/PageControls.tid +10 -13
- package/core/ui/{PageTemplate.tid → StandardLayout.tid} +1 -1
- package/core/ui/TestCaseTemplate.tid +19 -0
- package/core/ui/TestCases/DefaultTemplate.tid +91 -0
- package/core/ui/TestCases/DefaultTemplateSourceTabs.tid +27 -0
- package/core/ui/TestCases/RawJSONTemplate.tid +4 -0
- package/core/ui/TestCases/actions/Export.tid +4 -0
- package/core/ui/TestCases/actions/Import.tid +11 -0
- package/core/ui/ViewTemplate/title.tid +33 -26
- package/core/ui/ViewToolbar/more-tiddler-actions.tid +35 -43
- package/core/wiki/config/OfficialPluginLibrary.tid +1 -1
- package/core/wiki/config/ShortcutInfo.multids +1 -0
- package/core/wiki/config/ViewTemplateBodyFilters.multids +1 -0
- package/core/wiki/config/shortcuts/shortcuts-mac.multids +1 -0
- package/core/wiki/config/shortcuts/shortcuts-not-mac.multids +1 -0
- package/core/wiki/macros/CSS.tid +44 -51
- package/core/wiki/macros/copy-to-clipboard.tid +17 -11
- package/core/wiki/macros/diff.tid +28 -28
- package/core/wiki/macros/tag-picker.tid +165 -160
- package/core/wiki/macros/tag.tid +3 -1
- package/core/wiki/macros/testcase.tid +10 -0
- package/core/wiki/tags/TestCaseActions.tid +2 -0
- package/core/wiki/tags/ViewTemplateBodyFilter.tid +1 -1
- package/editions/dev/tiddlers/HelloThere.tid +1 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Javascript Widget Tutorial.tid +22 -16
- package/editions/dev/tiddlers/new/Using ES2016 for Writing Plugins.tid +18 -8
- package/editions/dev/tiddlers/new/Using TiddlyWiki as a library.tid +5 -0
- package/editions/dev/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid +6 -0
- package/editions/full/tiddlywiki.info +1 -0
- package/editions/geospatialdemo/tiddlers/DefaultTiddlers.tid +4 -0
- package/editions/geospatialdemo/tiddlers/Features.tid +14 -0
- package/editions/geospatialdemo/tiddlers/Flickr Demo.tid +27 -0
- package/editions/geospatialdemo/tiddlers/Geospatial Plugin Logo.png +0 -0
- package/editions/geospatialdemo/tiddlers/Geospatial Plugin Logo.png.meta +2 -0
- package/editions/geospatialdemo/tiddlers/HelloThere.tid +37 -0
- package/editions/geospatialdemo/tiddlers/Markers.tid +53 -0
- package/editions/geospatialdemo/tiddlers/SiteSubtitle.tid +3 -0
- package/editions/geospatialdemo/tiddlers/SiteTitle.tid +3 -0
- package/editions/geospatialdemo/tiddlers/cascades/ViewTemplateBodyFilters.tid +6 -0
- package/editions/geospatialdemo/tiddlers/cities/LimehouseTownHall.tid +9 -0
- package/editions/geospatialdemo/tiddlers/cities/Motovun.tid +9 -0
- package/editions/geospatialdemo/tiddlers/cities/NewYork.tid +8 -0
- package/editions/geospatialdemo/tiddlers/cities/Oxford.tid +8 -0
- package/editions/geospatialdemo/tiddlers/cities/Toronto.tid +8 -0
- package/editions/geospatialdemo/tiddlers/cities/Winchester.tid +8 -0
- package/editions/geospatialdemo/tiddlers/config/flickr-param.multids +5 -0
- package/editions/geospatialdemo/tiddlers/default-import-spec.tid +4 -0
- package/editions/geospatialdemo/tiddlers/favicon.png +0 -0
- package/editions/geospatialdemo/tiddlers/favicon.png.meta +2 -0
- package/editions/geospatialdemo/tiddlers/features/canada-census-subdivision-millesime.geojson +1 -0
- package/editions/geospatialdemo/tiddlers/features/canada-census-subdivision-millesime.geojson.meta +5 -0
- package/editions/geospatialdemo/tiddlers/features/denver-bikerental.tid +109 -0
- package/editions/geospatialdemo/tiddlers/features/denver-campus.tid +63 -0
- package/editions/geospatialdemo/tiddlers/features/denver-freebus.tid +56 -0
- package/editions/geospatialdemo/tiddlers/features/denver-lightrail.tid +30 -0
- package/editions/geospatialdemo/tiddlers/features/harvard-glb-volc-geojson.json +1 -0
- package/editions/geospatialdemo/tiddlers/features/harvard-glb-volc-geojson.json.meta +5 -0
- package/editions/geospatialdemo/tiddlers/features/us-states.geojson +54 -0
- package/editions/geospatialdemo/tiddlers/features/us-states.geojson.meta +5 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/real-estate-demo.tid +99 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/schema.json +22 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/schema.json.meta +3 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRow.tid +5 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldAddress.tid +7 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldBroker.tid +7 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldCity.tid +7 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldLat.tid +8 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldLong.tid +8 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldPrice.tid +8 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldSalesAgent.tid +7 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldState.tid +7 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldTags.tid +7 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldTitle.tid +8 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesRowFieldZipCode.tid +7 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/PropertiesSheet.tid +7 -0
- package/editions/geospatialdemo/tiddlers/real-estate-demo/xlsx-utils-import-specs/workbook.tid +7 -0
- package/editions/geospatialdemo/tiddlers/sidebarlayout.tid +2 -0
- package/editions/geospatialdemo/tiddlers/ui/geofeature.tid +39 -0
- package/editions/geospatialdemo/tiddlers/ui/geomarker.tid +128 -0
- package/editions/geospatialdemo/tiddlywiki.info +23 -0
- package/editions/introduction/tiddlers/slides/CecilyMap.tid +12 -12
- package/editions/introduction/tiddlers/slides/blank.json +1 -1
- package/editions/prerelease/tiddlers/{Release 5.3.4.tid → Release 5.3.5.tid } +11 -8
- package/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +1 -1
- package/editions/prerelease/tiddlers/system/configPerformanceInstrumentation.tid +2 -0
- package/editions/prerelease/tiddlywiki.info +4 -1
- package/editions/test/tiddlers/HelloThere.tid +4 -0
- package/editions/test/tiddlers/tests/data/data-widget/ImportCompound.tid +27 -0
- package/editions/test/tiddlers/tests/data/data-widget/ImportFilter.tid +28 -0
- package/editions/test/tiddlers/tests/data/data-widget/ImportTiddler.tid +23 -0
- package/editions/test/tiddlers/tests/data/data-widget/Simple.tid +18 -0
- package/editions/test/tiddlers/tests/data/functions/FunctionFilterrunVariables.tid +24 -0
- package/editions/test/tiddlers/tests/data/functions/FunctionFilterrunVariables2.tid +20 -0
- package/editions/test/tiddlers/tests/data/functions/FunctionFilterrunVariables3.tid +21 -0
- package/editions/test/tiddlers/tests/data/importvariables/WithSetWidgets2.tid +1 -0
- package/editions/test/tiddlers/tests/data/importvariables/WithSetWidgetsAndMacros.tid +1 -0
- package/editions/test/tiddlers/tests/data/macros/EndInBody.tid +16 -0
- package/editions/test/tiddlers/tests/data/macros/IndentedEnd.tid +16 -0
- package/editions/test/tiddlers/tests/data/macros/MismatchedNamedEnd.tid +16 -0
- package/editions/test/tiddlers/tests/data/macros/WhitespaceOnlyWithEnd.tid +18 -0
- package/editions/test/tiddlers/tests/data/macros/WhitespaceOnlyWithEnd2.tid +15 -0
- package/editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params-draft-exists.tid +27 -0
- package/editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params-empty-tiddler-exists.tid +23 -0
- package/editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params-empty.tid +20 -0
- package/editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params-tiddlers-exist.tid +28 -0
- package/editions/test/tiddlers/tests/data/macros/unusedtitle/basic-params.tid +20 -0
- package/editions/test/tiddlers/tests/data/macros/unusedtitle/template-empty-params-tiddler-exist.tid +50 -0
- package/editions/test/tiddlers/tests/data/macros/unusedtitle/template-empty-params.tid +24 -0
- package/editions/test/tiddlers/tests/data/macros/unusedtitle/template.tid +28 -0
- package/editions/test/tiddlers/tests/data/pragmas/WhitespaceAfterPragma.tid +4 -1
- package/editions/test/tiddlers/tests/data/procedures/EndInBody.tid +16 -0
- package/editions/test/tiddlers/tests/data/procedures/IndentedEnd.tid +16 -0
- package/editions/test/tiddlers/tests/data/procedures/MismatchedNamedEnd.tid +16 -0
- package/editions/test/tiddlers/tests/data/procedures/WhitespaceOnlyWithEnd.tid +18 -0
- package/editions/test/tiddlers/tests/data/procedures/WhitespaceOnlyWithEnd2.tid +15 -0
- package/editions/test/tiddlers/tests/data/transclude/Procedures-Whitespace2.tid +25 -0
- package/editions/test/tiddlers/tests/data/transclude/Procedures-Whitespace3.tid +30 -0
- package/editions/test/tiddlers/tests/data/transclude/Recursion.tid +2 -1
- package/editions/test/tiddlers/tests/from-tw5.com/tiddlywiki.files +5 -0
- package/editions/test/tiddlers/tests/test-action-deletefield.js +176 -0
- package/editions/test/tiddlers/tests/test-backlinks.js +57 -44
- package/editions/test/tiddlers/tests/test-backtranscludes.js +241 -0
- package/editions/test/tiddlers/tests/test-fakedom.js +27 -0
- package/editions/test/tiddlers/tests/test-plugins.js +55 -0
- package/editions/test/tiddlers/tests/test-widget-getVariableInfo.js +95 -0
- package/editions/test/tiddlers/tests/test-widget.js +61 -0
- package/editions/test/tiddlers/tests/test-wikitext-parser.js +48 -49
- package/editions/test/tiddlywiki.info +2 -1
- package/editions/tour/tiddlers/Solar System/Asteroid (253) Mathilde Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Asteroid (253) Mathilde Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Asteroid.tid +17 -0
- package/editions/tour/tiddlers/Solar System/Comet Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Comet Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Comet.tid +15 -0
- package/editions/tour/tiddlers/Solar System/Earth Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Earth Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Earth's Moon Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Earth's Moon Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Earth's Moon.tid +10 -0
- package/editions/tour/tiddlers/Solar System/Earth.tid +21 -0
- package/editions/tour/tiddlers/Solar System/Jupiter Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Jupiter Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Jupiter.tid +15 -0
- package/editions/tour/tiddlers/Solar System/Kuiper belt.tid +12 -0
- package/editions/tour/tiddlers/Solar System/Mars Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Mars Image.png.meta +5 -0
- package/editions/tour/tiddlers/Solar System/Mars.tid +11 -0
- package/editions/tour/tiddlers/Solar System/Mercury Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Mercury Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Mercury.tid +21 -0
- package/editions/tour/tiddlers/Solar System/Milky Way Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Milky Way Image.png.meta +5 -0
- package/editions/tour/tiddlers/Solar System/Milky Way.tid +14 -0
- package/editions/tour/tiddlers/Solar System/Moon.tid +9 -0
- package/editions/tour/tiddlers/Solar System/Neptune Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Neptune Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Neptune.tid +19 -0
- package/editions/tour/tiddlers/Solar System/Planet Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Planet Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Planet.tid +17 -0
- package/editions/tour/tiddlers/Solar System/Pluto Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Pluto Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Pluto.tid +12 -0
- package/editions/tour/tiddlers/Solar System/Saturn Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Saturn Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Saturn.tid +17 -0
- package/editions/tour/tiddlers/Solar System/Solar System Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Solar System Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Solar System.tid +18 -0
- package/editions/tour/tiddlers/Solar System/Sun Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Sun Image.png.meta +5 -0
- package/editions/tour/tiddlers/Solar System/Sun.tid +17 -0
- package/editions/tour/tiddlers/Solar System/Uranus Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Uranus Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Uranus.tid +19 -0
- package/editions/tour/tiddlers/Solar System/Venus Image.png +0 -0
- package/editions/tour/tiddlers/Solar System/Venus Image.png.meta +3 -0
- package/editions/tour/tiddlers/Solar System/Venus.tid +17 -0
- package/editions/tour/tiddlers/System/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid +4 -0
- package/editions/tour/tiddlers/System/DefaultTiddlers.tid +4 -0
- package/editions/tour/tiddlers/System/HelloThere.tid +5 -0
- package/editions/tour/tiddlers/System/SiteSubtitle.tid +2 -0
- package/editions/tour/tiddlers/System/SiteTitle.tid +2 -0
- package/editions/tour/tiddlers/System/configAutoStartTour.tid +2 -0
- package/editions/tour/tiddlers/System/styles.tid +9 -0
- package/editions/tour/tiddlywiki.info +16 -0
- package/editions/translators/tiddlywiki.info +1 -0
- package/editions/tw5.com/tiddlers/String Operators.tid +8 -0
- package/editions/tw5.com/tiddlers/Tag Operators.tid +8 -0
- package/editions/tw5.com/tiddlers/TiddlyWiki Docs PR Maker.tid +12 -0
- package/editions/tw5.com/tiddlers/about/Archive.tid +1 -1
- package/editions/tw5.com/tiddlers/about/Developers.tid +1 -0
- package/editions/tw5.com/tiddlers/about/History of TiddlyWiki.tid +5 -5
- package/editions/tw5.com/tiddlers/community/Community Editions.tid +2 -2
- package/editions/tw5.com/tiddlers/community/Contributor License Agreement.tid +2 -2
- package/editions/tw5.com/tiddlers/community/Improving TiddlyWiki Documentation.tid +21 -1
- package/editions/tw5.com/tiddlers/community/plugins/Disqus comments plugin by bimlas.tid +1 -1
- package/editions/tw5.com/tiddlers/community/plugins/Kin filter operator by bimlas.tid +1 -1
- package/editions/tw5.com/tiddlers/community/plugins/Locator plugin by bimlas.tid +1 -1
- package/editions/tw5.com/tiddlers/community/themes/Notebook theme by Nicolas Petton.tid +2 -2
- package/editions/tw5.com/tiddlers/concepts/Bags and Recipes.tid +42 -0
- package/editions/tw5.com/tiddlers/concepts/ColourPalettes.tid +2 -2
- package/editions/tw5.com/tiddlers/concepts/CompoundTiddlers.tid +31 -0
- package/editions/tw5.com/tiddlers/concepts/Filters.tid +3 -3
- package/editions/tw5.com/tiddlers/concepts/Hard and Soft Links.tid +4 -2
- package/editions/tw5.com/tiddlers/concepts/Hard and Soft Transclusions.tid +16 -0
- package/editions/tw5.com/tiddlers/concepts/ShadowTiddlers.tid +4 -2
- package/editions/tw5.com/tiddlers/concepts/Temporary Tiddlers.tid +8 -0
- package/editions/tw5.com/tiddlers/concepts/TestCaseTiddlers.tid +26 -0
- package/editions/tw5.com/tiddlers/concepts/TextReference.tid +2 -2
- package/editions/tw5.com/tiddlers/concepts/TiddlerFields.tid +4 -3
- package/editions/tw5.com/tiddlers/concepts/Transclusion.tid +10 -3
- package/editions/tw5.com/tiddlers/customising/Alternative page layouts.tid +34 -3
- package/editions/tw5.com/tiddlers/customising/Creating new toolbar buttons.tid +2 -2
- package/editions/tw5.com/tiddlers/definitions/Legacy.tid +9 -0
- package/editions/tw5.com/tiddlers/definitions/TiddlyFox.tid +4 -2
- package/editions/tw5.com/tiddlers/definitions/TiddlyWeb.tid +2 -3
- package/editions/tw5.com/tiddlers/definitions/TiddlyWebAdaptor.tid +9 -0
- package/editions/tw5.com/tiddlers/definitions/UnaMesa.tid +10 -0
- package/editions/tw5.com/tiddlers/fields/ListField.tid +3 -3
- package/editions/tw5.com/tiddlers/filters/Conditional Operators.tid +6 -4
- package/editions/tw5.com/tiddlers/filters/Filter Operators.tid +13 -6
- package/editions/tw5.com/tiddlers/filters/Mathematics Operators.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/add.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/all.tid +8 -4
- package/editions/tw5.com/tiddlers/filters/append.tid +3 -3
- package/editions/tw5.com/tiddlers/filters/backtranscludes.tid +14 -0
- package/editions/tw5.com/tiddlers/filters/charcode.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/compare Operator.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/cycle Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/divide Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/enlist Operator.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/enlist-input Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/examples/Brownies.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/examples/Chick Peas.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/examples/Milk.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/examples/Rice Pudding.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/examples/backtransclude.tid +7 -0
- package/editions/tw5.com/tiddlers/filters/examples/prepend.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/examples/sha256 Operator (Examples).tid +9 -0
- package/editions/tw5.com/tiddlers/filters/examples/subfilter Operator (Examples).tid +1 -1
- package/editions/tw5.com/tiddlers/filters/examples/transclude.tid +5 -0
- package/editions/tw5.com/tiddlers/filters/field.tid +11 -11
- package/editions/tw5.com/tiddlers/filters/format.tid +6 -6
- package/editions/tw5.com/tiddlers/filters/jsonextract.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/jsonget.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/jsonindexes.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/jsontype.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/log Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/match Operator.tid +5 -6
- package/editions/tw5.com/tiddlers/filters/max Operator.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/min Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/minlength.tid +3 -3
- package/editions/tw5.com/tiddlers/filters/moduleproperty Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/modules.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/multiply Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/power Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/prefix.tid +9 -10
- package/editions/tw5.com/tiddlers/filters/prepend.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/range.tid +11 -11
- package/editions/tw5.com/tiddlers/filters/reduce.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/remainder Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/remove.tid +3 -3
- package/editions/tw5.com/tiddlers/filters/removeprefix.tid +8 -9
- package/editions/tw5.com/tiddlers/filters/removesuffix.tid +8 -9
- package/editions/tw5.com/tiddlers/filters/search.tid +3 -3
- package/editions/tw5.com/tiddlers/filters/sortby.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/splitregexp Operator.tid +20 -2
- package/editions/tw5.com/tiddlers/filters/subfilter Operator.tid +3 -3
- package/editions/tw5.com/tiddlers/filters/subtract Operator.tid +1 -1
- package/editions/tw5.com/tiddlers/filters/suffix.tid +9 -10
- package/editions/tw5.com/tiddlers/filters/syntax/All Filter Run Prefix.tid +18 -0
- package/editions/tw5.com/tiddlers/filters/syntax/And Filter Run Prefix.tid +18 -0
- package/editions/tw5.com/tiddlers/filters/syntax/Cascade Filter Run Prefix (Examples).tid +2 -2
- package/editions/tw5.com/tiddlers/filters/syntax/Cascade Filter Run Prefix.tid +14 -9
- package/editions/tw5.com/tiddlers/filters/syntax/Else Filter Run Prefix.tid +18 -0
- package/editions/tw5.com/tiddlers/filters/syntax/Except Filter Run Prefix.tid +18 -0
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Expression.tid +11 -63
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Filter Run Prefix (Examples).tid +2 -2
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Filter Run Prefix.tid +19 -14
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Parameter.tid +11 -7
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Run Prefix (Examples).tid +2 -2
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Run Prefix.tid +18 -0
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Run.tid +5 -4
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Step.tid +22 -10
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Syntax.tid +12 -6
- package/editions/tw5.com/tiddlers/filters/syntax/Filter Whitespace.tid +5 -3
- package/editions/tw5.com/tiddlers/filters/syntax/Interchangeable Filter Run Prefixes.tid +44 -0
- package/editions/tw5.com/tiddlers/filters/syntax/Intersection Filter Run Prefix (Examples).tid +2 -2
- package/editions/tw5.com/tiddlers/filters/syntax/Intersection Filter Run Prefix.tid +13 -8
- package/editions/tw5.com/tiddlers/filters/syntax/Map Filter Run Prefix (Examples).tid +2 -2
- package/editions/tw5.com/tiddlers/filters/syntax/Map Filter Run Prefix.tid +21 -16
- package/editions/tw5.com/tiddlers/filters/syntax/Named Filter Run Prefix.tid +32 -6
- package/editions/tw5.com/tiddlers/filters/syntax/Or Filter Run Prefix.tid +18 -0
- package/editions/tw5.com/tiddlers/filters/syntax/Reduce Filter Run Prefix (Examples).tid +2 -2
- package/editions/tw5.com/tiddlers/filters/syntax/Reduce Filter Run Prefix.tid +23 -14
- package/editions/tw5.com/tiddlers/filters/syntax/Shortcut Filter Run Prefixes.tid +29 -0
- package/editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix (Examples).tid +2 -2
- package/editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix.tid +16 -9
- package/editions/tw5.com/tiddlers/filters/syntax/then Filter Run Prefix.tid +3 -36
- package/editions/tw5.com/tiddlers/filters/toggle Operator.tid +2 -2
- package/editions/tw5.com/tiddlers/filters/transcludes.tid +14 -0
- package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted - Firefox.tid +4 -3
- package/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +1 -1
- package/editions/tw5.com/tiddlers/howtos/Concatenating text and variables using macro substitution.tid +6 -0
- package/editions/tw5.com/tiddlers/howtos/Custom_data-styles.tid +4 -2
- package/editions/tw5.com/tiddlers/howtos/How to embed PDF and other documents.tid +2 -2
- package/editions/tw5.com/tiddlers/howtos/Setting a page background image.tid +2 -2
- package/editions/tw5.com/tiddlers/howtos/Tagging.tid +3 -3
- package/editions/tw5.com/tiddlers/howtos/Using Excise.tid +2 -2
- package/editions/tw5.com/tiddlers/images/New Release Banner.png +0 -0
- package/editions/tw5.com/tiddlers/images/Open Collective Logo.tid +4 -2
- package/editions/tw5.com/tiddlers/macros/StylesheetMacros.tid +3 -1
- package/editions/tw5.com/tiddlers/macros/TagMacro.tid +30 -2
- package/editions/tw5.com/tiddlers/macros/examples/tag.tid +8 -4
- package/editions/tw5.com/tiddlers/macros/import/tags-of-current-tiddler.tid +2 -1
- package/editions/tw5.com/tiddlers/macros/import/tv-get-export-image-link.tid +3 -2
- package/editions/tw5.com/tiddlers/macros/import/tv-wikilink-tooltip.tid +2 -1
- package/editions/tw5.com/tiddlers/macros/list-thumbnails Macro.tid +5 -5
- package/editions/tw5.com/tiddlers/macros/syntax/Macro Call Syntax.tid +5 -1
- package/editions/tw5.com/tiddlers/macros/syntax/Macro Definition Syntax.tid +5 -1
- package/editions/tw5.com/tiddlers/macros/syntax/Procedure Call Syntax.tid +33 -0
- package/editions/tw5.com/tiddlers/macros/syntax/Procedure Definition Syntax.tid +93 -0
- package/editions/tw5.com/tiddlers/macros/syntax/Procedure Syntax.tid +11 -0
- package/editions/tw5.com/tiddlers/macros/tag-picker_Macro.tid +13 -5
- package/editions/tw5.com/tiddlers/macros/thumbnail Macro.tid +19 -4
- package/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid +5 -1
- package/editions/tw5.com/tiddlers/mechanisms/RefreshThrottling.tid +1 -1
- package/editions/tw5.com/tiddlers/mechanisms/WikificationMechanism.tid +3 -3
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-copy-to-clipboard.tid +3 -1
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-bitmap-operation.tid +2 -2
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-edit-text-operation.tid +2 -2
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Basic Authentication.tid +34 -0
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Random Dog.tid +1 -1
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Example Zotero.tid +1 -1
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request Examples.tid +117 -0
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-http-request.tid +8 -1
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-permalink.tid +3 -1
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-permaview.tid +3 -1
- package/editions/tw5.com/tiddlers/nodejs/Naming of System Tiddlers.tid +4 -4
- package/editions/tw5.com/tiddlers/nodejs/TiddlyWiki5 Versioning.tid +1 -1
- package/editions/tw5.com/tiddlers/plugins/Plugin Stability.tid +14 -0
- package/editions/tw5.com/tiddlers/pragmas/Pragma_ _parsermode.tid +1 -1
- package/editions/tw5.com/tiddlers/procedures/Procedures.tid +6 -3
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.3.2.tid +1 -1
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.3.3.tid +1 -1
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.3.4.tid +170 -0
- package/editions/tw5.com/tiddlers/saving/Saving with FireFox.tid +17 -0
- package/editions/tw5.com/tiddlers/saving/Saving with Polly.tid +0 -1
- package/editions/tw5.com/tiddlers/saving/Saving with TiddlyFox on Android.tid +4 -2
- package/editions/tw5.com/tiddlers/saving/Saving with TiddlyFox.tid +2 -19
- package/editions/tw5.com/tiddlers/saving/TiddlyBucket - Save to AWS or Google Storage.tid +0 -1
- package/editions/tw5.com/tiddlers/styleguide/Documentation Macros.tid +188 -163
- package/editions/tw5.com/tiddlers/system/$__SplashScreen.tid +3 -1
- package/editions/tw5.com/tiddlers/system/ContributionBanner.tid +7 -3
- package/editions/tw5.com/tiddlers/system/Deprecated.tid +5 -1
- package/editions/tw5.com/tiddlers/system/Deprecated_-_What_does_it_mean.tid +0 -3
- package/editions/tw5.com/tiddlers/system/Sources.tid +36 -15
- package/editions/tw5.com/tiddlers/system/TableOfContents.tid +2 -2
- package/editions/tw5.com/tiddlers/system/doc-macros.tid +181 -170
- package/editions/tw5.com/tiddlers/system/doc-styles.tid +46 -23
- package/editions/tw5.com/tiddlers/system/download-empty.tid +4 -4
- package/editions/tw5.com/tiddlers/system/filter-run-template.tid +50 -0
- package/editions/tw5.com/tiddlers/system/operator-macros.tid +46 -32
- package/editions/tw5.com/tiddlers/system/operator-template.tid +52 -71
- package/editions/tw5.com/tiddlers/system/variable-macros.tid +15 -10
- package/editions/tw5.com/tiddlers/system/version-macros.tid +29 -5
- package/editions/tw5.com/tiddlers/system/wikitext-macros.tid +54 -62
- package/editions/tw5.com/tiddlers/tag-picker Macro (Examples).tid +69 -0
- package/editions/tw5.com/tiddlers/tag-pill Macro (Examples).tid +14 -0
- package/editions/tw5.com/tiddlers/testcases/DataWidget/ImportCompound.tid +33 -0
- package/editions/tw5.com/tiddlers/testcases/DataWidget/ImportedFilter.tid +49 -0
- package/editions/tw5.com/tiddlers/testcases/DataWidget/ImportedTiddler.tid +29 -0
- package/editions/tw5.com/tiddlers/testcases/DataWidget/Refreshing.tid +30 -0
- package/editions/tw5.com/tiddlers/testcases/DataWidget/SimpleTiddler.tid +22 -0
- package/editions/tw5.com/tiddlers/testcases/TestCaseWidget/FailingTest.tid +15 -0
- package/editions/tw5.com/tiddlers/testcases/TestCaseWidget/NoExpectedResults.tid +12 -0
- package/editions/tw5.com/tiddlers/testcases/TestCaseWidget/TwoPlusTwo.tid +18 -0
- package/editions/tw5.com/tiddlers/testcases/TestCaseWidget/currentTiddler.tid +16 -0
- package/editions/tw5.com/tiddlers/testcases/TranscludeWidget/SimpleTransclusion.tid +23 -0
- package/editions/tw5.com/tiddlers/variables/Variables.tid +4 -3
- package/editions/tw5.com/tiddlers/variables/examples/tv-get-export-image-link.tid +7 -1
- package/editions/tw5.com/tiddlers/variables/tv-filter-export-link Variable.tid +2 -2
- package/editions/tw5.com/tiddlers/variables/tv-get-export-image-link.tid +4 -4
- package/editions/tw5.com/tiddlers/variables/tv-get-export-link.tid +4 -4
- package/editions/tw5.com/tiddlers/variables/tv-wikilink-template.tid +2 -2
- package/editions/tw5.com/tiddlers/webserver/Using the external JavaScript template.tid +2 -2
- package/editions/tw5.com/tiddlers/webserver/Using the integrated static file server.tid +17 -2
- package/editions/tw5.com/tiddlers/webserver/WebServer Parameter_ use-browse-cache.tid +25 -0
- package/editions/tw5.com/tiddlers/webserver/WebServer.tid +1 -1
- package/editions/tw5.com/tiddlers/widgets/ActionDeleteFieldWidget.tid +51 -20
- package/editions/tw5.com/tiddlers/widgets/ActionDeleteTiddlerWidget.tid +16 -14
- package/editions/tw5.com/tiddlers/widgets/ActionListopsWidget.tid +5 -3
- package/editions/tw5.com/tiddlers/widgets/DataWidget.tid +42 -0
- package/editions/tw5.com/tiddlers/widgets/EncryptWidget.tid +5 -5
- package/editions/tw5.com/tiddlers/widgets/ImageWidget.tid +32 -0
- package/editions/tw5.com/tiddlers/widgets/RevealWidget.tid +2 -2
- package/editions/tw5.com/tiddlers/widgets/ScrollableWidget.tid +10 -0
- package/editions/tw5.com/tiddlers/widgets/TestCaseWidget.tid +107 -0
- package/editions/tw5.com/tiddlers/widgets/TranscludeWidget.tid +34 -34
- package/editions/tw5.com/tiddlers/widgets/Widgets.tid +4 -4
- package/editions/tw5.com/tiddlers/wikitext/Block Quotes in WikiText.tid +32 -1
- package/editions/tw5.com/tiddlers/wikitext/Hard Linebreaks in WikiText.tid +7 -3
- package/editions/tw5.com/tiddlers/wikitext/Transclusion and Substitution.tid +2 -2
- package/editions/tw5.com/tiddlers/wikitext/Transclusion in WikiText.tid +27 -6
- package/editions/tw5.com/tiddlers/wikitext/parser/Block Mode WikiText.tid +2 -2
- package/editions/tw5.com/tiddlers/workingwithtw/Sharing your tiddlers with others.tid +2 -2
- package/editions/tw5.com/tiddlywiki.info +5 -2
- package/languages/de-DE/Buttons.multids +4 -1
- package/languages/de-DE/ControlPanel.multids +7 -1
- package/languages/de-DE/Dates.multids +1 -1
- package/languages/de-DE/Docs/ModuleTypes.multids +2 -2
- package/languages/de-DE/Docs/PaletteColours.multids +4 -1
- package/languages/de-DE/EditTemplate.multids +1 -1
- package/languages/de-DE/Exporters.multids +1 -1
- package/languages/de-DE/Fields.multids +3 -1
- package/languages/de-DE/Help/build.tid +1 -1
- package/languages/de-DE/Help/clearpassword.tid +2 -2
- package/languages/de-DE/Help/commands.tid +2 -2
- package/languages/de-DE/Help/editions.tid +1 -1
- package/languages/de-DE/Help/fetch.tid +6 -6
- package/languages/de-DE/Help/import.tid +5 -5
- package/languages/de-DE/Help/init.tid +1 -1
- package/languages/de-DE/Help/listen.tid +8 -8
- package/languages/de-DE/Help/load.tid +3 -3
- package/languages/de-DE/Help/makelibrary.tid +2 -2
- package/languages/de-DE/Help/output.tid +2 -2
- package/languages/de-DE/Help/password.tid +1 -1
- package/languages/de-DE/Help/render.tid +6 -6
- package/languages/de-DE/Help/save.tid +3 -4
- package/languages/de-DE/Help/server.tid +5 -0
- package/languages/de-DE/Help/setfield.tid +1 -1
- package/languages/de-DE/Import.multids +1 -1
- package/languages/de-DE/Misc.multids +6 -6
- package/languages/de-DE/Modals/Download.tid +0 -1
- package/languages/de-DE/NewJournal.multids +1 -1
- package/languages/de-DE/Notifications.multids +1 -1
- package/languages/de-DE/Search.multids +1 -1
- package/languages/de-DE/SideBar.multids +1 -1
- package/languages/de-DE/SiteSubtitle.tid +1 -1
- package/languages/de-DE/ThemeTweaks.multids +1 -1
- package/languages/de-DE/TiddlerInfo.multids +1 -1
- package/languages/fr-FR/Buttons.multids +1 -0
- package/languages/fr-FR/ControlPanel.multids +6 -0
- package/languages/fr-FR/Docs/ModuleTypes.multids +1 -1
- package/languages/fr-FR/Docs/PaletteColours.multids +3 -0
- package/languages/fr-FR/Fields.multids +3 -1
- package/languages/fr-FR/Help/commands.tid +1 -1
- package/languages/fr-FR/Help/savewikifolder.tid +15 -0
- package/languages/fr-FR/Help/server.tid +1 -1
- package/languages/fr-FR/Types/application_javascript.tid +3 -3
- package/languages/fr-FR/Types/application_json.tid +2 -2
- package/languages/fr-FR/Types/application_x_tiddler_dictionary.tid +2 -2
- package/languages/fr-FR/Types/image_gif.tid +2 -2
- package/languages/fr-FR/Types/image_jpeg.tid +1 -1
- package/languages/fr-FR/Types/image_png.tid +1 -1
- package/languages/fr-FR/Types/image_svg_xml.tid +1 -1
- package/languages/fr-FR/Types/image_x-icon.tid +1 -1
- package/languages/fr-FR/Types/text_css.tid +2 -2
- package/languages/fr-FR/Types/text_html.tid +2 -2
- package/languages/fr-FR/Types/text_plain.tid +2 -2
- package/languages/fr-FR/Types/text_vnd.tiddlywiki.tid +2 -2
- package/languages/fr-FR/Types/text_x-tiddlywiki.tid +1 -1
- package/languages/mk-MK/Buttons.multids +195 -0
- package/languages/mk-MK/ControlPanel.multids +231 -0
- package/languages/mk-MK/CoreReadMe.tid +8 -0
- package/languages/mk-MK/Dates.multids +87 -0
- package/languages/mk-MK/Docs/ModuleTypes.multids +30 -0
- package/languages/mk-MK/Docs/PaletteColours.multids +109 -0
- package/languages/mk-MK/EditTemplate.multids +38 -0
- package/languages/mk-MK/Exporters.multids +6 -0
- package/languages/mk-MK/Fields.multids +43 -0
- package/languages/mk-MK/Filters.multids +16 -0
- package/languages/mk-MK/GettingStarted.tid +18 -0
- package/languages/mk-MK/Help/build.tid +11 -0
- package/languages/mk-MK/Help/clearpassword.tid +8 -0
- package/languages/mk-MK/Help/commands.tid +18 -0
- package/languages/mk-MK/Help/default.tid +26 -0
- package/languages/mk-MK/Help/deletetiddlers.tid +8 -0
- package/languages/mk-MK/Help/editions.tid +8 -0
- package/languages/mk-MK/Help/fetch.tid +38 -0
- package/languages/mk-MK/Help/help.tid +10 -0
- package/languages/mk-MK/Help/import.tid +24 -0
- package/languages/mk-MK/Help/init.tid +23 -0
- package/languages/mk-MK/Help/listen.tid +35 -0
- package/languages/mk-MK/Help/load.tid +19 -0
- package/languages/mk-MK/Help/makelibrary.tid +14 -0
- package/languages/mk-MK/Help/notfound.tid +4 -0
- package/languages/mk-MK/Help/output.tid +11 -0
- package/languages/mk-MK/Help/password.tid +10 -0
- package/languages/mk-MK/Help/render.tid +35 -0
- package/languages/mk-MK/Help/rendertiddler.tid +24 -0
- package/languages/mk-MK/Help/rendertiddlers.tid +20 -0
- package/languages/mk-MK/Help/save.tid +25 -0
- package/languages/mk-MK/Help/savetiddler.tid +14 -0
- package/languages/mk-MK/Help/savetiddlers.tid +16 -0
- package/languages/mk-MK/Help/savewikifolder.tid +34 -0
- package/languages/mk-MK/Help/server.tid +43 -0
- package/languages/mk-MK/Help/setfield.tid +17 -0
- package/languages/mk-MK/Help/unpackplugin.tid +8 -0
- package/languages/mk-MK/Help/verbose.tid +8 -0
- package/languages/mk-MK/Help/version.tid +8 -0
- package/languages/mk-MK/Import.multids +34 -0
- package/languages/mk-MK/Misc.multids +99 -0
- package/languages/mk-MK/Modals/Download.tid +13 -0
- package/languages/mk-MK/NewJournal.multids +5 -0
- package/languages/mk-MK/Notifications.multids +6 -0
- package/languages/mk-MK/Search.multids +20 -0
- package/languages/mk-MK/SideBar.multids +18 -0
- package/languages/mk-MK/SiteSubtitle.tid +3 -0
- package/languages/mk-MK/SiteTitle.tid +3 -0
- package/languages/mk-MK/Snippets/ListByTag.tid +5 -0
- package/languages/mk-MK/Snippets/MacroDefinition.tid +7 -0
- package/languages/mk-MK/Snippets/Table4x3.tid +8 -0
- package/languages/mk-MK/Snippets/TableOfContents.tid +9 -0
- package/languages/mk-MK/ThemeTweaks.multids +42 -0
- package/languages/mk-MK/TiddlerInfo.multids +21 -0
- package/languages/mk-MK/Types/application%2Fjavascript.tid +4 -0
- package/languages/mk-MK/Types/application%2Fjson.tid +4 -0
- package/languages/mk-MK/Types/application%2Fx-tiddler-dictionary.tid +4 -0
- package/languages/mk-MK/Types/image%2Fgif.tid +4 -0
- package/languages/mk-MK/Types/image%2Fjpeg.tid +4 -0
- package/languages/mk-MK/Types/image%2Fpng.tid +4 -0
- package/languages/mk-MK/Types/image%2Fsvg%2Bxml.tid +4 -0
- package/languages/mk-MK/Types/image%2Fx-icon.tid +4 -0
- package/languages/mk-MK/Types/text%2Fcss.tid +4 -0
- package/languages/mk-MK/Types/text%2Fhtml.tid +4 -0
- package/languages/mk-MK/Types/text%2Fplain.tid +4 -0
- package/languages/mk-MK/Types/text%2Fvnd.tiddlywiki.tid +4 -0
- package/languages/mk-MK/Types/text%2Fx-tiddlywiki.tid +4 -0
- package/languages/mk-MK/icon.tid +8 -0
- package/languages/mk-MK/plugin.info +8 -0
- package/languages/pl-PL/Dates.multids +41 -41
- package/languages/zh-Hans/Buttons.multids +3 -0
- package/languages/zh-Hans/ControlPanel.multids +6 -0
- package/languages/zh-Hans/Docs/ModuleTypes.multids +1 -1
- package/languages/zh-Hans/Docs/PaletteColours.multids +7 -0
- package/languages/zh-Hans/Fields.multids +2 -0
- package/languages/zh-Hans/Misc.multids +3 -3
- package/languages/zh-Hant/Buttons.multids +3 -0
- package/languages/zh-Hant/ControlPanel.multids +6 -0
- package/languages/zh-Hant/Docs/ModuleTypes.multids +1 -1
- package/languages/zh-Hant/Docs/PaletteColours.multids +7 -0
- package/languages/zh-Hant/Fields.multids +2 -0
- package/languages/zh-Hant/Misc.multids +2 -2
- package/license +1 -1
- package/licenses/cla-individual.md +14 -0
- package/package.json +1 -1
- package/plugins/tiddlywiki/async/plugin.info +2 -1
- package/plugins/tiddlywiki/aws/plugin.info +2 -1
- package/plugins/tiddlywiki/aws/templates/lambda/sjcl.tid +2 -2
- package/plugins/tiddlywiki/bibtex/plugin.info +2 -1
- package/plugins/tiddlywiki/blog/plugin.info +2 -1
- package/plugins/tiddlywiki/browser-sniff/plugin.info +2 -1
- package/plugins/tiddlywiki/browser-storage/plugin.info +2 -1
- package/plugins/tiddlywiki/cecily/plugin.info +2 -1
- package/plugins/tiddlywiki/classictools/modules/recipe.js +9 -0
- package/plugins/tiddlywiki/classictools/plugin.info +2 -1
- package/plugins/tiddlywiki/classictools/templates/tiddlywiki2.externaljs.template.html.tid +4 -4
- package/plugins/tiddlywiki/classictools/templates/tiddlywiki2.template.html.tid +21 -21
- package/plugins/tiddlywiki/codemirror/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-autocomplete/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-closebrackets/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-closetag/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-fullscreen-editing/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-keymap-emacs/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-keymap-sublime-text/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-keymap-vim/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-mode-css/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-mode-htmlembedded/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-mode-htmlmixed/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-mode-javascript/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-mode-markdown/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-mode-xml/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-search-replace/plugin.info +2 -1
- package/plugins/tiddlywiki/codemirror-trailingspace/plugin.info +2 -1
- package/plugins/tiddlywiki/comments/plugin.info +2 -1
- package/plugins/tiddlywiki/confetti/confetti-manager.js +56 -0
- package/plugins/tiddlywiki/confetti/confetti-widget.js +67 -0
- package/plugins/tiddlywiki/confetti/examples/staggered.tid +10 -0
- package/plugins/tiddlywiki/confetti/examples/typing-trigger.tid +10 -0
- package/plugins/tiddlywiki/confetti/files/LICENSE +15 -0
- package/plugins/tiddlywiki/confetti/files/confetti.js +626 -0
- package/plugins/tiddlywiki/confetti/files/tiddlywiki.files +20 -0
- package/plugins/tiddlywiki/confetti/plugin.info +7 -0
- package/plugins/tiddlywiki/confetti/readme.tid +65 -0
- package/plugins/tiddlywiki/confetti/startup.js +63 -0
- package/plugins/tiddlywiki/consent-banner/plugin.info +2 -1
- package/plugins/tiddlywiki/d3/plugin.info +2 -1
- package/plugins/tiddlywiki/dynannotate/docs/readme.tid +10 -0
- package/plugins/tiddlywiki/dynannotate/examples/spotlight.tid +71 -0
- package/plugins/tiddlywiki/dynannotate/modules/element-spotlight.js +136 -0
- package/plugins/tiddlywiki/dynannotate/modules/startup.js +24 -1
- package/plugins/tiddlywiki/dynannotate/plugin.info +2 -1
- package/plugins/tiddlywiki/dynannotate/styles.tid +17 -0
- package/plugins/tiddlywiki/dynaview/plugin.info +2 -1
- package/plugins/tiddlywiki/evernote/plugin.info +2 -1
- package/plugins/tiddlywiki/external-attachments/plugin.info +2 -1
- package/plugins/tiddlywiki/filesystem/plugin.info +2 -1
- package/plugins/tiddlywiki/freelinks/plugin.info +2 -1
- package/plugins/tiddlywiki/geospatial/baselayers/TagsGeoBaseLayer.tid +2 -0
- package/plugins/tiddlywiki/geospatial/baselayers/esri-world-imagery.tid +7 -0
- package/plugins/tiddlywiki/geospatial/baselayers/openstreetmap.tid +7 -0
- package/plugins/tiddlywiki/geospatial/baselayers/opentopomap.tid +7 -0
- package/plugins/tiddlywiki/geospatial/docs/flickr.tid +141 -0
- package/plugins/tiddlywiki/geospatial/docs/geobaselayer.tid +20 -0
- package/plugins/tiddlywiki/geospatial/docs/geodifference.tid +20 -0
- package/plugins/tiddlywiki/geospatial/docs/geodistance.tid +14 -0
- package/plugins/tiddlywiki/geospatial/docs/geointersect.tid +20 -0
- package/plugins/tiddlywiki/geospatial/docs/geolayer.tid +24 -0
- package/plugins/tiddlywiki/geospatial/docs/geolocation.tid +92 -0
- package/plugins/tiddlywiki/geospatial/docs/geolookup.tid +16 -0
- package/plugins/tiddlywiki/geospatial/docs/geomap.tid +122 -0
- package/plugins/tiddlywiki/geospatial/docs/geonearestpoint.tid +19 -0
- package/plugins/tiddlywiki/geospatial/docs/geopoint.tid +22 -0
- package/plugins/tiddlywiki/geospatial/docs/geounion.tid +20 -0
- package/plugins/tiddlywiki/geospatial/docs/olc-decode.tid +14 -0
- package/plugins/tiddlywiki/geospatial/docs/olc-encode.tid +14 -0
- package/plugins/tiddlywiki/geospatial/docs.tid +3 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/LICENSE +26 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/images/layers-2x.png +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/images/layers.png +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/images/marker-icon-2x.png +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/images/marker-icon.png +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/images/marker-shadow.png +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/leaflet-src.js +14512 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/leaflet-src.js.map +1 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/leaflet.css +661 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/leaflet.js +6 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/leaflet.js.map +1 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.js/tiddlywiki.files +34 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/MIT-LICENCE.txt +20 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/MarkerCluster.Default.css +60 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/MarkerCluster.css +14 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster-src.js +2718 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster-src.js.map +1 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster.js +2 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster.js.map +1 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/tiddlywiki.files +41 -0
- package/plugins/tiddlywiki/geospatial/files/open-location-code/LICENSE +202 -0
- package/plugins/tiddlywiki/geospatial/files/open-location-code/openlocationcode.js +695 -0
- package/plugins/tiddlywiki/geospatial/files/open-location-code/openlocationcode.min.js +1 -0
- package/plugins/tiddlywiki/geospatial/files/open-location-code/tiddlywiki.files +21 -0
- package/plugins/tiddlywiki/geospatial/files/turf.js/LICENSE +20 -0
- package/plugins/tiddlywiki/geospatial/files/turf.js/tiddlywiki.files +21 -0
- package/plugins/tiddlywiki/geospatial/files/turf.js/turf.6.5.0.js +88 -0
- package/plugins/tiddlywiki/geospatial/geotools.js +41 -0
- package/plugins/tiddlywiki/geospatial/helpers/Flickr.tid +99 -0
- package/plugins/tiddlywiki/geospatial/helpers/FlickrDefaultPhotoTemplate.tid +11 -0
- package/plugins/tiddlywiki/geospatial/icon.tid +6 -0
- package/plugins/tiddlywiki/geospatial/images/markers/pin.svg +9 -0
- package/plugins/tiddlywiki/geospatial/images/markers/pin.svg.meta +2 -0
- package/plugins/tiddlywiki/geospatial/license.tid +10 -0
- package/plugins/tiddlywiki/geospatial/operators/helper.js +24 -0
- package/plugins/tiddlywiki/geospatial/operators/lookup.js +45 -0
- package/plugins/tiddlywiki/geospatial/operators/measurement.js +54 -0
- package/plugins/tiddlywiki/geospatial/operators/olc.js +55 -0
- package/plugins/tiddlywiki/geospatial/operators/transformation.js +88 -0
- package/plugins/tiddlywiki/geospatial/plugin.info +7 -0
- package/plugins/tiddlywiki/geospatial/readme.tid +13 -0
- package/plugins/tiddlywiki/geospatial/settings.tid +24 -0
- package/plugins/tiddlywiki/geospatial/startup.js +78 -0
- package/plugins/tiddlywiki/geospatial/styles.tid +10 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geodifference-interactive.tid +63 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geodifference.tid +54 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geodistance.tid +30 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geointersect-interactive.tid +63 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geointersect.tid +54 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geolookup.tid +64 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geonearestpoint.tid +28 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geonearestpoint2.tid +45 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geopoint.tid +21 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geounion-interactive.tid +63 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/geounion.tid +54 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/olc-decode.tid +20 -0
- package/plugins/tiddlywiki/geospatial/tests/operators/olc-encode.tid +20 -0
- package/plugins/tiddlywiki/geospatial/tests/widgets/geomap-draggable-marker.tid +40 -0
- package/plugins/tiddlywiki/geospatial/tests/widgets/geomap-refresh.tid +62 -0
- package/plugins/tiddlywiki/geospatial/tests/widgets/geomap.tid +54 -0
- package/plugins/tiddlywiki/geospatial/widgets/geobaselayer.js +17 -0
- package/plugins/tiddlywiki/geospatial/widgets/geolayer.js +17 -0
- package/plugins/tiddlywiki/geospatial/widgets/geomap.js +301 -0
- package/plugins/tiddlywiki/github-fork-ribbon/plugin.info +2 -1
- package/plugins/tiddlywiki/github-fork-ribbon/readme.tid +2 -4
- package/plugins/tiddlywiki/github-fork-ribbon/styles.tid +10 -11
- package/plugins/tiddlywiki/github-fork-ribbon/template.tid +26 -0
- package/plugins/tiddlywiki/github-fork-ribbon/usage.tid +79 -24
- package/plugins/tiddlywiki/googleanalytics/plugin.info +2 -1
- package/plugins/tiddlywiki/hammerjs/plugin.info +2 -1
- package/plugins/tiddlywiki/help/plugin.info +2 -1
- package/plugins/tiddlywiki/highlight/files/tiddlywiki.files +0 -1
- package/plugins/tiddlywiki/highlight/plugin.info +2 -1
- package/plugins/tiddlywiki/highlight-legacy/plugin.info +2 -1
- package/plugins/tiddlywiki/innerwiki/anchor.js +17 -0
- package/plugins/tiddlywiki/innerwiki/innerwiki.js +6 -66
- package/plugins/tiddlywiki/innerwiki/plugin.info +2 -1
- package/plugins/tiddlywiki/internals/plugin.info +2 -1
- package/plugins/tiddlywiki/jasmine/plugin.info +2 -1
- package/plugins/tiddlywiki/jasmine/run-wiki-based-tests.js +21 -18
- package/plugins/tiddlywiki/jszip/plugin.info +2 -1
- package/plugins/tiddlywiki/katex/plugin.info +2 -1
- package/plugins/tiddlywiki/markdown/plugin.info +2 -1
- package/plugins/tiddlywiki/markdown-legacy/plugin.info +2 -1
- package/plugins/tiddlywiki/menubar/items/pagecontrols.tid +9 -10
- package/plugins/tiddlywiki/menubar/plugin.info +2 -1
- package/plugins/tiddlywiki/mobiledragdrop/plugin.info +2 -1
- package/plugins/tiddlywiki/nodewebkitsaver/plugin.info +2 -1
- package/plugins/tiddlywiki/pluginlibrary/plugin.info +2 -1
- package/plugins/tiddlywiki/powered-by-tiddlywiki/plugin.info +2 -1
- package/plugins/tiddlywiki/qrcode/plugin.info +2 -1
- package/plugins/tiddlywiki/railroad/plugin.info +2 -1
- package/plugins/tiddlywiki/savetrail/plugin.info +2 -1
- package/plugins/tiddlywiki/sax/plugin.info +2 -1
- package/plugins/tiddlywiki/share/plugin.info +2 -1
- package/plugins/tiddlywiki/stacked-view/plugin.info +2 -1
- package/plugins/tiddlywiki/tahoelafs/plugin.info +2 -1
- package/plugins/tiddlywiki/text-slicer/plugin.info +2 -1
- package/plugins/tiddlywiki/tiddlyweb/plugin.info +2 -1
- package/plugins/tiddlywiki/tour/config-AutoStartTour.tid +2 -0
- package/plugins/tiddlywiki/tour/config-CurrentTour.tid +2 -0
- package/plugins/tiddlywiki/tour/config-DefaultColourMappings.multids +31 -0
- package/plugins/tiddlywiki/tour/config-ShowTour.tid +2 -0
- package/plugins/tiddlywiki/tour/docs.tid +25 -0
- package/plugins/tiddlywiki/tour/images/tour-button-icon.tid +9 -0
- package/plugins/tiddlywiki/tour/plugin.info +8 -0
- package/plugins/tiddlywiki/tour/readme.tid +3 -0
- package/plugins/tiddlywiki/tour/settings.tid +154 -0
- package/plugins/tiddlywiki/tour/simplified-tiddler-with-tags.tid +106 -0
- package/plugins/tiddlywiki/tour/simplified-tiddler.tid +22 -0
- package/plugins/tiddlywiki/tour/start-tour-button.tid +18 -0
- package/plugins/tiddlywiki/tour/startup-actions.tid +7 -0
- package/plugins/tiddlywiki/tour/styles.tid +261 -0
- package/plugins/tiddlywiki/tour/tour-panel.tid +104 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/config/ProductName.tid +2 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-GasGiant.tid +4 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Jupiter.tid +5 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Mars.tid +5 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Planet.tid +4 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Rocky.tid +4 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/data/tiddlers-Saturn.tid +5 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/images/tiddlywiki-tour-logo.svg +28 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/images/tiddlywiki-tour-logo.svg.meta +2 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/introduction-to-tiddlywiki.tid +8 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/settings.tid +4 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/close-control-panel.tid +9 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/closing-tiddlers.tid +25 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/create-tiddler.tid +11 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/end-of-fullscreen.tid +10 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/finished.tid +13 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/links.tid +23 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/open-control-panel.tid +9 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/recent.tid +9 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/search.tid +9 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/tags.tid +26 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/tiddlers.tid +16 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/steps/welcome.tid +10 -0
- package/plugins/tiddlywiki/tour/tours/introduction-to-tiddlywiki/tagsTourIntroductionToTiddlyWiki.tid +2 -0
- package/plugins/tiddlywiki/tour/variables.tid +104 -0
- package/plugins/tiddlywiki/translators/plugin.info +2 -1
- package/plugins/tiddlywiki/tw2parser/plugin.info +2 -1
- package/plugins/tiddlywiki/tw5.com-docs/plugin.info +2 -1
- package/plugins/tiddlywiki/tw5.com-docs/readme.tid +7 -0
- package/plugins/tiddlywiki/twitter/plugin.info +2 -1
- package/plugins/tiddlywiki/twitter-archivist/plugin.info +2 -1
- package/plugins/tiddlywiki/upgrade/plugin.info +2 -1
- package/plugins/tiddlywiki/xlsx-utils/plugin.info +2 -1
- package/plugins/tiddlywiki/xmldom/plugin.info +2 -1
- package/readme.md +6 -6
- package/themes/tiddlywiki/vanilla/base.tid +212 -9
- package/themes/tiddlywiki/vanilla/reset.tid +61 -85
- package/boot/sjcl.js.meta +0 -3
- package/core/modules/indexers/backlinks-index.js +0 -86
- package/editions/es-ES/tiddlers/$__StoryList.tid +0 -6
- package/editions/tw.org/tiddlers/$__StoryList.tid +0 -3
- package/editions/tw5.com/tiddlers/$__StoryList.tid +0 -5
- package/plugins/tiddlywiki/innerwiki/data.js +0 -58
- /package/editions/fr-FR/tiddlers/community/editions/{_Noteself_ by Danielo Rodr/303/255guez.tid" → _Noteself_ by Danielo Rodriguez.tid} +0 -0
- /package/editions/test/tiddlers/tests/data/macros/{NestedMacros-indented.tid → nested-macros/NestedMacros-indented.tid} +0 -0
- /package/editions/test/tiddlers/tests/data/macros/{NestedMacros-indented2.tid → nested-macros/NestedMacros-indented2.tid} +0 -0
- /package/editions/test/tiddlers/tests/data/macros/{NestedMacros.tid → nested-macros/NestedMacros.tid} +0 -0
- /package/editions/test/tiddlers/tests/data/macros/{TrailingNewlines.tid → trailing-newlines/TrailingNewlines.tid} +0 -0
- /package/editions/tw5.com/tiddlers/{Tables in WikiText CSS Utility Classes.tid → wikitext/Tables in WikiText CSS Utility Classes.tid} +0 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
/*\
|
2
|
+
title: $:/core/modules/utils/repository.js
|
3
|
+
type: application/javascript
|
4
|
+
module-type: utils
|
5
|
+
|
6
|
+
Utilities for working with the TiddlyWiki repository file structure
|
7
|
+
|
8
|
+
\*/
|
9
|
+
(function(){
|
10
|
+
|
11
|
+
/*jslint node: true, browser: true */
|
12
|
+
/*global $tw: false */
|
13
|
+
"use strict";
|
14
|
+
|
15
|
+
/*
|
16
|
+
Get an object containing all the plugins as a hashmap by title of the JSON representation of the plugin
|
17
|
+
Options:
|
18
|
+
|
19
|
+
ignoreEnvironmentVariables: defaults to false
|
20
|
+
*/
|
21
|
+
exports.getAllPlugins = function(options) {
|
22
|
+
options = options || {};
|
23
|
+
var fs = require("fs"),
|
24
|
+
path = require("path"),
|
25
|
+
tiddlers = {};
|
26
|
+
// Collect up the library plugins
|
27
|
+
var collectPlugins = function(folder) {
|
28
|
+
var pluginFolders = $tw.utils.getSubdirectories(folder) || [];
|
29
|
+
for(var p=0; p<pluginFolders.length; p++) {
|
30
|
+
if(!$tw.boot.excludeRegExp.test(pluginFolders[p])) {
|
31
|
+
var pluginFields = $tw.loadPluginFolder(path.resolve(folder,"./" + pluginFolders[p]));
|
32
|
+
if(pluginFields && pluginFields.title) {
|
33
|
+
tiddlers[pluginFields.title] = pluginFields;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
},
|
38
|
+
collectPublisherPlugins = function(folder) {
|
39
|
+
var publisherFolders = $tw.utils.getSubdirectories(folder) || [];
|
40
|
+
for(var t=0; t<publisherFolders.length; t++) {
|
41
|
+
if(!$tw.boot.excludeRegExp.test(publisherFolders[t])) {
|
42
|
+
collectPlugins(path.resolve(folder,"./" + publisherFolders[t]));
|
43
|
+
}
|
44
|
+
}
|
45
|
+
};
|
46
|
+
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,options.ignoreEnvironmentVariables ? undefined : $tw.config.pluginsEnvVar),collectPublisherPlugins);
|
47
|
+
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,options.ignoreEnvironmentVariables ? undefined : $tw.config.themesEnvVar),collectPublisherPlugins);
|
48
|
+
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,options.ignoreEnvironmentVariables ? undefined : $tw.config.languagesEnvVar),collectPlugins);
|
49
|
+
return tiddlers;
|
50
|
+
};
|
51
|
+
|
52
|
+
})();
|
@@ -819,6 +819,15 @@ exports.hashString = function(str) {
|
|
819
819
|
},0);
|
820
820
|
};
|
821
821
|
|
822
|
+
/*
|
823
|
+
Cryptographic hash function as used by sha256 filter operator
|
824
|
+
options.length .. number of characters returned defaults to 64
|
825
|
+
*/
|
826
|
+
exports.sha256 = function(str, options) {
|
827
|
+
options = options || {}
|
828
|
+
return $tw.sjcl.codec.hex.fromBits($tw.sjcl.hash.sha256.hash(str)).substr(0,options.length || 64);
|
829
|
+
}
|
830
|
+
|
822
831
|
/*
|
823
832
|
Base64 utility functions that work in either browser or Node.js
|
824
833
|
*/
|
@@ -922,7 +931,7 @@ IE does not have sign function
|
|
922
931
|
*/
|
923
932
|
exports.sign = Math.sign || function(x) {
|
924
933
|
x = +x; // convert to a number
|
925
|
-
if
|
934
|
+
if(x === 0 || isNaN(x)) {
|
926
935
|
return x;
|
927
936
|
}
|
928
937
|
return x > 0 ? 1 : -1;
|
@@ -935,7 +944,7 @@ exports.strEndsWith = function(str,ending,position) {
|
|
935
944
|
if(str.endsWith) {
|
936
945
|
return str.endsWith(ending,position);
|
937
946
|
} else {
|
938
|
-
if
|
947
|
+
if(typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > str.length) {
|
939
948
|
position = str.length;
|
940
949
|
}
|
941
950
|
position -= ending.length;
|
@@ -37,6 +37,7 @@ Compute the internal state of the widget
|
|
37
37
|
DeleteFieldWidget.prototype.execute = function() {
|
38
38
|
this.actionTiddler = this.getAttribute("$tiddler",this.getVariable("currentTiddler"));
|
39
39
|
this.actionField = this.getAttribute("$field",null);
|
40
|
+
this.actionTimestamp = this.getAttribute("$timestamp","yes") === "yes";
|
40
41
|
};
|
41
42
|
|
42
43
|
/*
|
@@ -69,11 +70,15 @@ DeleteFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {
|
|
69
70
|
$tw.utils.each(this.attributes,function(attribute,name) {
|
70
71
|
if(name.charAt(0) !== "$" && name !== "title") {
|
71
72
|
removeFields[name] = undefined;
|
72
|
-
|
73
|
+
if(name in tiddler.fields) {
|
74
|
+
hasChanged = true;
|
75
|
+
}
|
73
76
|
}
|
74
77
|
});
|
75
78
|
if(hasChanged) {
|
76
|
-
this.
|
79
|
+
var creationFields = this.actionTimestamp ? this.wiki.getCreationFields() : {};
|
80
|
+
var modificationFields = this.actionTimestamp ? this.wiki.getModificationFields() : {};
|
81
|
+
this.wiki.addTiddler(new $tw.Tiddler(creationFields,tiddler,removeFields,modificationFields));
|
77
82
|
}
|
78
83
|
}
|
79
84
|
return true; // Action was invoked
|
@@ -66,7 +66,12 @@ LogWidget.prototype.log = function() {
|
|
66
66
|
});
|
67
67
|
|
68
68
|
for(var v in this.variables) {
|
69
|
-
|
69
|
+
var variable = this.parentWidget && this.parentWidget.variables[v];
|
70
|
+
if(variable && variable.isFunctionDefinition) {
|
71
|
+
allVars[v] = variable.value;
|
72
|
+
} else {
|
73
|
+
allVars[v] = this.getVariable(v,{defaultValue:""});
|
74
|
+
}
|
70
75
|
}
|
71
76
|
if(this.filter) {
|
72
77
|
filteredVars = this.wiki.compileFilter(this.filter).call(this.wiki,this.wiki.makeTiddlerIterator(allVars));
|
@@ -262,7 +262,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
|
262
262
|
*/
|
263
263
|
ButtonWidget.prototype.refresh = function(changedTiddlers) {
|
264
264
|
var changedAttributes = this.computeAttributes();
|
265
|
-
if(changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.popupAbsCoords || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle || changedAttributes.disabled || changedAttributes["default"]) {
|
265
|
+
if(changedAttributes.tooltip || changedAttributes.actions || changedAttributes.to || changedAttributes.message || changedAttributes.param || changedAttributes.set || changedAttributes.setTo || changedAttributes.popup || changedAttributes.hover || changedAttributes.selectedClass || changedAttributes.style || changedAttributes.dragFilter || changedAttributes.dragTiddler || (this.set && changedTiddlers[this.set]) || (this.popup && changedTiddlers[this.popup]) || (this.popupTitle && changedTiddlers[this.popupTitle]) || changedAttributes.popupAbsCoords || changedAttributes.setTitle || changedAttributes.setField || changedAttributes.setIndex || changedAttributes.popupTitle || changedAttributes.disabled || changedAttributes["default"]) {
|
266
266
|
this.refreshSelf();
|
267
267
|
return true;
|
268
268
|
} else {
|
@@ -0,0 +1,182 @@
|
|
1
|
+
/*\
|
2
|
+
title: $:/core/modules/widgets/data.js
|
3
|
+
type: application/javascript
|
4
|
+
module-type: widget
|
5
|
+
|
6
|
+
Widget to dynamically represent one or more tiddlers
|
7
|
+
|
8
|
+
\*/
|
9
|
+
(function(){
|
10
|
+
|
11
|
+
/*jslint node: true, browser: true */
|
12
|
+
/*global $tw: false */
|
13
|
+
"use strict";
|
14
|
+
|
15
|
+
var Widget = require("$:/core/modules/widgets/widget.js").widget;
|
16
|
+
|
17
|
+
var DataWidget = function(parseTreeNode,options) {
|
18
|
+
this.dataWidgetTag = parseTreeNode.type;
|
19
|
+
this.initialise(parseTreeNode,options);
|
20
|
+
};
|
21
|
+
|
22
|
+
/*
|
23
|
+
Inherit from the base widget class
|
24
|
+
*/
|
25
|
+
DataWidget.prototype = new Widget();
|
26
|
+
|
27
|
+
/*
|
28
|
+
Render this widget into the DOM
|
29
|
+
*/
|
30
|
+
DataWidget.prototype.render = function(parent,nextSibling) {
|
31
|
+
this.parentDomNode = parent;
|
32
|
+
this.computeAttributes();
|
33
|
+
this.execute();
|
34
|
+
this.dataPayload = this.computeDataTiddlerValues(); // Array of $tw.Tiddler objects
|
35
|
+
this.domNode = this.document.createTextNode(this.readDataTiddlerValuesAsJson());
|
36
|
+
parent.insertBefore(this.domNode,nextSibling);
|
37
|
+
this.domNodes.push(this.domNode);
|
38
|
+
};
|
39
|
+
|
40
|
+
/*
|
41
|
+
Compute the internal state of the widget
|
42
|
+
*/
|
43
|
+
DataWidget.prototype.execute = function() {
|
44
|
+
// Nothing to do here
|
45
|
+
};
|
46
|
+
|
47
|
+
/*
|
48
|
+
Read the tiddler value(s) from a data widget as an array of tiddler field objects (not $tw.Tiddler objects)
|
49
|
+
*/
|
50
|
+
DataWidget.prototype.readDataTiddlerValues = function() {
|
51
|
+
var results = [];
|
52
|
+
$tw.utils.each(this.dataPayload,function(tiddler,index) {
|
53
|
+
results.push(tiddler.getFieldStrings());
|
54
|
+
});
|
55
|
+
return results;
|
56
|
+
};
|
57
|
+
|
58
|
+
/*
|
59
|
+
Read the tiddler value(s) from a data widget as an array of tiddler field objects (not $tw.Tiddler objects)
|
60
|
+
*/
|
61
|
+
DataWidget.prototype.readDataTiddlerValuesAsJson = function() {
|
62
|
+
return JSON.stringify(this.readDataTiddlerValues(),null,4);
|
63
|
+
};
|
64
|
+
|
65
|
+
/*
|
66
|
+
Compute list of tiddlers from a data widget
|
67
|
+
*/
|
68
|
+
DataWidget.prototype.computeDataTiddlerValues = function() {
|
69
|
+
var self = this;
|
70
|
+
// Read any attributes not prefixed with $
|
71
|
+
var item = Object.create(null);
|
72
|
+
$tw.utils.each(this.attributes,function(value,name) {
|
73
|
+
if(name.charAt(0) !== "$") {
|
74
|
+
item[name] = value;
|
75
|
+
}
|
76
|
+
});
|
77
|
+
// Deal with $tiddler, $filter or $compound-tiddler attributes
|
78
|
+
var tiddlers = [],title;
|
79
|
+
if(this.hasAttribute("$tiddler")) {
|
80
|
+
title = this.getAttribute("$tiddler");
|
81
|
+
if(title) {
|
82
|
+
var tiddler = this.wiki.getTiddler(title);
|
83
|
+
if(tiddler) {
|
84
|
+
tiddlers.push(tiddler);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
}
|
88
|
+
if(this.hasAttribute("$filter")) {
|
89
|
+
var filter = this.getAttribute("$filter");
|
90
|
+
if(filter) {
|
91
|
+
var titles = this.wiki.filterTiddlers(filter);
|
92
|
+
$tw.utils.each(titles,function(title) {
|
93
|
+
var tiddler = self.wiki.getTiddler(title);
|
94
|
+
tiddlers.push(tiddler);
|
95
|
+
});
|
96
|
+
}
|
97
|
+
}
|
98
|
+
if(this.hasAttribute("$compound-tiddler")) {
|
99
|
+
title = this.getAttribute("$compound-tiddler");
|
100
|
+
if(title) {
|
101
|
+
tiddlers.push.apply(tiddlers,this.extractCompoundTiddler(title));
|
102
|
+
}
|
103
|
+
}
|
104
|
+
// Return the literal item if none of the special attributes were used
|
105
|
+
if(!this.hasAttribute("$tiddler") && !this.hasAttribute("$filter") && !this.hasAttribute("$compound-tiddler")) {
|
106
|
+
if(Object.keys(item).length > 0 && !!item.title) {
|
107
|
+
return [new $tw.Tiddler(item)];
|
108
|
+
} else {
|
109
|
+
return [];
|
110
|
+
}
|
111
|
+
} else {
|
112
|
+
// Apply the item fields to each of the tiddlers
|
113
|
+
delete item.title; // Do not overwrite the title
|
114
|
+
if(Object.keys(item).length > 0) {
|
115
|
+
$tw.utils.each(tiddlers,function(tiddler,index) {
|
116
|
+
tiddlers[index] = new $tw.Tiddler(tiddler,item);
|
117
|
+
});
|
118
|
+
}
|
119
|
+
return tiddlers;
|
120
|
+
}
|
121
|
+
};
|
122
|
+
|
123
|
+
/*
|
124
|
+
Helper to extract tiddlers from text/vnd.tiddlywiki-multiple tiddlers
|
125
|
+
*/
|
126
|
+
DataWidget.prototype.extractCompoundTiddler = function(title) {
|
127
|
+
var tiddler = this.wiki.getTiddler(title);
|
128
|
+
if(tiddler && tiddler.fields.type === "text/vnd.tiddlywiki-multiple") {
|
129
|
+
var text = tiddler.fields.text || "",
|
130
|
+
rawTiddlers = text.split(/\r?\n\+\r?\n/),
|
131
|
+
tiddlers = [];
|
132
|
+
$tw.utils.each(rawTiddlers,function(rawTiddler) {
|
133
|
+
var fields = Object.create(null),
|
134
|
+
split = rawTiddler.split(/\r?\n\r?\n/mg);
|
135
|
+
if(split.length >= 1) {
|
136
|
+
fields = $tw.utils.parseFields(split[0],fields);
|
137
|
+
}
|
138
|
+
if(split.length >= 2) {
|
139
|
+
fields.text = split.slice(1).join("\n\n");
|
140
|
+
}
|
141
|
+
tiddlers.push(new $tw.Tiddler(fields));
|
142
|
+
});
|
143
|
+
return tiddlers;
|
144
|
+
} else {
|
145
|
+
return [];
|
146
|
+
}
|
147
|
+
};
|
148
|
+
|
149
|
+
/*
|
150
|
+
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
|
151
|
+
*/
|
152
|
+
DataWidget.prototype.refresh = function(changedTiddlers) {
|
153
|
+
var changedAttributes = this.computeAttributes();
|
154
|
+
var newPayload = this.computeDataTiddlerValues();
|
155
|
+
if(hasPayloadChanged(this.dataPayload,newPayload)) {
|
156
|
+
this.dataPayload = newPayload;
|
157
|
+
this.domNode.textContent = this.readDataTiddlerValuesAsJson();
|
158
|
+
return true;
|
159
|
+
} else {
|
160
|
+
return false;
|
161
|
+
}
|
162
|
+
};
|
163
|
+
|
164
|
+
/*
|
165
|
+
Compare two arrays of tiddlers and return true if they are different
|
166
|
+
*/
|
167
|
+
function hasPayloadChanged(a,b) {
|
168
|
+
if(a.length === b.length) {
|
169
|
+
for(var t=0; t<a.length; t++) {
|
170
|
+
if(!(a[t].isEqual(b[t]))) {
|
171
|
+
return true;
|
172
|
+
}
|
173
|
+
}
|
174
|
+
return false;
|
175
|
+
} else {
|
176
|
+
return true;
|
177
|
+
}
|
178
|
+
}
|
179
|
+
|
180
|
+
exports.data = DataWidget;
|
181
|
+
|
182
|
+
})();
|
@@ -119,7 +119,7 @@ DraggableWidget.prototype.refresh = function(changedTiddlers) {
|
|
119
119
|
return true;
|
120
120
|
} else {
|
121
121
|
if(changedAttributes["class"]) {
|
122
|
-
this.
|
122
|
+
this.updateDomNodeClasses();
|
123
123
|
}
|
124
124
|
this.assignAttributes(this.domNodes[0],{
|
125
125
|
changedAttributes: changedAttributes,
|
@@ -132,4 +132,4 @@ DraggableWidget.prototype.refresh = function(changedTiddlers) {
|
|
132
132
|
|
133
133
|
exports.draggable = DraggableWidget;
|
134
134
|
|
135
|
-
})();
|
135
|
+
})();
|
@@ -90,7 +90,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
|
90
90
|
EditWidget.prototype.refresh = function(changedTiddlers) {
|
91
91
|
var changedAttributes = this.computeAttributes();
|
92
92
|
// Refresh if an attribute has changed, or the type associated with the target tiddler has changed
|
93
|
-
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || (
|
93
|
+
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || (this.getEditorType() !== this.editorType)) {
|
94
94
|
this.refreshSelf();
|
95
95
|
return true;
|
96
96
|
} else {
|
@@ -49,7 +49,7 @@ ImportVariablesWidget.prototype.execute = function(tiddlerList) {
|
|
49
49
|
this.tiddlerList = tiddlerList || this.wiki.filterTiddlers(this.filter,this);
|
50
50
|
// Accumulate the <$set> widgets from each tiddler
|
51
51
|
$tw.utils.each(this.tiddlerList,function(title) {
|
52
|
-
var parser = widgetPointer.wiki.parseTiddler(title,{parseAsInline:true, configTrimWhiteSpace:
|
52
|
+
var parser = widgetPointer.wiki.parseTiddler(title,{parseAsInline:true, configTrimWhiteSpace:false});
|
53
53
|
if(parser) {
|
54
54
|
var parseTreeNode = parser.tree[0];
|
55
55
|
while(parseTreeNode && ["setvariable","set","parameters"].indexOf(parseTreeNode.type) !== -1) {
|
@@ -217,7 +217,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
|
217
217
|
*/
|
218
218
|
LinkWidget.prototype.refresh = function(changedTiddlers) {
|
219
219
|
var changedAttributes = this.computeAttributes();
|
220
|
-
if($tw.utils.count(changedAttributes) > 0) {
|
220
|
+
if($tw.utils.count(changedAttributes) > 0 || changedTiddlers[this.to]) {
|
221
221
|
this.refreshSelf();
|
222
222
|
return true;
|
223
223
|
}
|
@@ -74,6 +74,18 @@ ParametersWidget.prototype.execute = function() {
|
|
74
74
|
self.setVariable(variableName,getValue(name));
|
75
75
|
}
|
76
76
|
});
|
77
|
+
} else {
|
78
|
+
// There is no parent transclude. i.e. direct rendering.
|
79
|
+
// We use default values only.
|
80
|
+
$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(self.parseTreeNode),function(attr,index) {
|
81
|
+
var name = attr.name;
|
82
|
+
// If the attribute name starts with $$ then reduce to a single dollar
|
83
|
+
if(name.substr(0,2) === "$$") {
|
84
|
+
name = name.substr(1);
|
85
|
+
}
|
86
|
+
var value = self.getAttribute(attr.name,"");
|
87
|
+
self.setVariable(name,value);
|
88
|
+
});
|
77
89
|
}
|
78
90
|
// Construct the child widgets
|
79
91
|
this.makeChildWidgets();
|
@@ -0,0 +1,165 @@
|
|
1
|
+
/*\
|
2
|
+
title: $:/core/modules/widgets/testcase.js
|
3
|
+
type: application/javascript
|
4
|
+
module-type: widget
|
5
|
+
|
6
|
+
Widget to display a test case
|
7
|
+
|
8
|
+
\*/
|
9
|
+
(function(){
|
10
|
+
|
11
|
+
/*jslint node: true, browser: true */
|
12
|
+
/*global $tw: false */
|
13
|
+
"use strict";
|
14
|
+
|
15
|
+
var Widget = require("$:/core/modules/widgets/widget.js").widget;
|
16
|
+
|
17
|
+
var TestCaseWidget = function(parseTreeNode,options) {
|
18
|
+
this.initialise(parseTreeNode,options);
|
19
|
+
};
|
20
|
+
|
21
|
+
/*
|
22
|
+
Inherit from the base widget class
|
23
|
+
*/
|
24
|
+
TestCaseWidget.prototype = new Widget();
|
25
|
+
|
26
|
+
/*
|
27
|
+
Render this widget into the DOM
|
28
|
+
*/
|
29
|
+
TestCaseWidget.prototype.render = function(parent,nextSibling) {
|
30
|
+
var self = this;
|
31
|
+
this.parentDomNode = parent;
|
32
|
+
this.computeAttributes();
|
33
|
+
this.execute();
|
34
|
+
// Create container DOM node
|
35
|
+
var domNode = this.document.createElement("div");
|
36
|
+
this.domNodes.push(domNode);
|
37
|
+
parent.insertBefore(domNode,nextSibling);
|
38
|
+
// Render the children into a hidden DOM node
|
39
|
+
var parser = {
|
40
|
+
tree: [{
|
41
|
+
type: "widget",
|
42
|
+
attributes: {},
|
43
|
+
orderedAttributes: [],
|
44
|
+
children: this.parseTreeNode.children || []
|
45
|
+
}]
|
46
|
+
};
|
47
|
+
this.contentRoot = this.wiki.makeWidget(parser,{
|
48
|
+
document: $tw.fakeDocument,
|
49
|
+
parentWidget: this
|
50
|
+
});
|
51
|
+
this.contentContainer = $tw.fakeDocument.createElement("div");
|
52
|
+
this.contentRoot.render(this.contentContainer,null);
|
53
|
+
// Create a wiki
|
54
|
+
this.testcaseWiki = new $tw.Wiki();
|
55
|
+
// Always load the core plugin
|
56
|
+
var loadTiddler = function(title) {
|
57
|
+
var tiddler = self.wiki.getTiddler(title);
|
58
|
+
if(tiddler) {
|
59
|
+
self.testcaseWiki.addTiddler(tiddler);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
loadTiddler("$:/core");
|
63
|
+
loadTiddler("$:/plugins/tiddlywiki/codemirror");
|
64
|
+
// Load tiddlers from child data widgets
|
65
|
+
var tiddlers = [];
|
66
|
+
this.findChildrenDataWidgets(this.contentRoot.children,"data",function(widget) {
|
67
|
+
Array.prototype.push.apply(tiddlers,widget.readDataTiddlerValues());
|
68
|
+
});
|
69
|
+
var jsonPayload = JSON.stringify(tiddlers);
|
70
|
+
this.testcaseWiki.addTiddlers(tiddlers);
|
71
|
+
// Unpack plugin tiddlers
|
72
|
+
this.testcaseWiki.readPluginInfo();
|
73
|
+
this.testcaseWiki.registerPluginTiddlers("plugin");
|
74
|
+
this.testcaseWiki.unpackPluginTiddlers();
|
75
|
+
this.testcaseWiki.addIndexersToWiki();
|
76
|
+
// Generate a `transclusion` variable that depends on the values of the payload tiddlers so that the template can easily make unique state tiddlers
|
77
|
+
this.setVariable("transclusion",$tw.utils.hashString(jsonPayload));
|
78
|
+
// Generate a `payloadTiddlers` variable that contains the payload in JSON format
|
79
|
+
this.setVariable("payloadTiddlers",jsonPayload);
|
80
|
+
// Only run the tests if the testcase output and expected results were specified, and those tiddlers actually exist in the wiki
|
81
|
+
var shouldRunTests = false;
|
82
|
+
if(this.testcaseTestOutput && this.testcaseWiki.tiddlerExists(this.testcaseTestOutput) && this.testcaseTestExpectedResult && this.testcaseWiki.tiddlerExists(this.testcaseTestExpectedResult)) {
|
83
|
+
shouldRunTests = true;
|
84
|
+
}
|
85
|
+
// Render the test rendering if required
|
86
|
+
if(shouldRunTests) {
|
87
|
+
var testcaseOutputContainer = $tw.fakeDocument.createElement("div");
|
88
|
+
var testcaseOutputWidget = this.testcaseWiki.makeTranscludeWidget(this.testcaseTestOutput,{
|
89
|
+
document: $tw.fakeDocument,
|
90
|
+
parseAsInline: false,
|
91
|
+
parentWidget: this,
|
92
|
+
variables: {
|
93
|
+
currentTiddler: this.testcaseTestOutput
|
94
|
+
}
|
95
|
+
});
|
96
|
+
testcaseOutputWidget.render(testcaseOutputContainer);
|
97
|
+
}
|
98
|
+
// Clear changes queue
|
99
|
+
this.testcaseWiki.clearTiddlerEventQueue();
|
100
|
+
// Run the actions if provided
|
101
|
+
if(this.testcaseWiki.tiddlerExists(this.testcaseTestActions)) {
|
102
|
+
testcaseOutputWidget.invokeActionString(this.testcaseWiki.getTiddlerText(this.testcaseTestActions));
|
103
|
+
testcaseOutputWidget.refresh(this.testcaseWiki.changedTiddlers,testcaseOutputContainer);
|
104
|
+
}
|
105
|
+
// Set up the test result variables
|
106
|
+
var testResult = "",
|
107
|
+
outputHTML = "",
|
108
|
+
expectedHTML = "";
|
109
|
+
if(shouldRunTests) {
|
110
|
+
outputHTML = testcaseOutputContainer.children[0].innerHTML;
|
111
|
+
expectedHTML = this.testcaseWiki.getTiddlerText(this.testcaseTestExpectedResult);
|
112
|
+
if(outputHTML === expectedHTML) {
|
113
|
+
testResult = "pass";
|
114
|
+
} else {
|
115
|
+
testResult = "fail";
|
116
|
+
}
|
117
|
+
this.setVariable("outputHTML",outputHTML);
|
118
|
+
this.setVariable("expectedHTML",expectedHTML);
|
119
|
+
this.setVariable("testResult",testResult);
|
120
|
+
this.setVariable("currentTiddler",this.testcaseTestOutput);
|
121
|
+
}
|
122
|
+
// Don't display anything if testHideIfPass is "yes" and the tests have passed
|
123
|
+
if(this.testcaseHideIfPass === "yes" && testResult !== "fail") {
|
124
|
+
return;
|
125
|
+
}
|
126
|
+
// Render the page root template of the subwiki
|
127
|
+
var rootWidget = this.testcaseWiki.makeTranscludeWidget(this.testcaseTemplate,{
|
128
|
+
document: this.document,
|
129
|
+
parseAsInline: false,
|
130
|
+
parentWidget: this
|
131
|
+
});
|
132
|
+
rootWidget.render(domNode);
|
133
|
+
// Trap changes in the wiki and refresh the rendering
|
134
|
+
this.testcaseWiki.addEventListener("change",function(changes) {
|
135
|
+
rootWidget.refresh(changes,domNode);
|
136
|
+
});
|
137
|
+
};
|
138
|
+
|
139
|
+
/*
|
140
|
+
Compute the internal state of the widget
|
141
|
+
*/
|
142
|
+
TestCaseWidget.prototype.execute = function() {
|
143
|
+
this.testcaseTemplate = this.getAttribute("template","$:/core/ui/testcases/DefaultTemplate");
|
144
|
+
this.testcaseTestOutput = this.getAttribute("testOutput");
|
145
|
+
this.testcaseTestActions = this.getAttribute("testActions");
|
146
|
+
this.testcaseTestExpectedResult = this.getAttribute("testExpectedResult");
|
147
|
+
this.testcaseHideIfPass = this.getAttribute("testHideIfPass");
|
148
|
+
};
|
149
|
+
|
150
|
+
/*
|
151
|
+
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
|
152
|
+
*/
|
153
|
+
TestCaseWidget.prototype.refresh = function(changedTiddlers) {
|
154
|
+
var changedAttributes = this.computeAttributes();
|
155
|
+
if($tw.utils.count(changedAttributes) > 0) {
|
156
|
+
this.refreshSelf();
|
157
|
+
return true;
|
158
|
+
} else {
|
159
|
+
return this.contentRoot.refresh(changedTiddlers);
|
160
|
+
}
|
161
|
+
};
|
162
|
+
|
163
|
+
exports["testcase"] = TestCaseWidget;
|
164
|
+
|
165
|
+
})();
|
@@ -30,7 +30,30 @@ TranscludeWidget.prototype.render = function(parent,nextSibling) {
|
|
30
30
|
this.parentDomNode = parent;
|
31
31
|
this.computeAttributes();
|
32
32
|
this.execute();
|
33
|
-
|
33
|
+
try {
|
34
|
+
this.renderChildren(parent,nextSibling);
|
35
|
+
} catch(error) {
|
36
|
+
if(error instanceof $tw.utils.TranscludeRecursionError) {
|
37
|
+
// We were infinite looping.
|
38
|
+
// We need to try and abort as much of the loop as we can, so we will keep "throwing" upward until we find a transclusion that has a different signature.
|
39
|
+
// Hopefully that will land us just outside where the loop began. That's where we want to issue an error.
|
40
|
+
// Rendering widgets beneath this point may result in a freezing browser if they explode exponentially.
|
41
|
+
var transcludeSignature = this.getVariable("transclusion");
|
42
|
+
if(this.getAncestorCount() > $tw.utils.TranscludeRecursionError.MAX_WIDGET_TREE_DEPTH - 50) {
|
43
|
+
// For the first fifty transcludes we climb up, we simply collect signatures.
|
44
|
+
// We're assuming that those first 50 will likely include all transcludes involved in the loop.
|
45
|
+
error.signatures[transcludeSignature] = true;
|
46
|
+
} else if(!error.signatures[transcludeSignature]) {
|
47
|
+
// Now that we're past the first 50, let's look for the first signature that wasn't in the loop. That'll be where we print the error and resume rendering.
|
48
|
+
this.children = [this.makeChildWidget({type: "error", attributes: {
|
49
|
+
"$message": {type: "string", value: $tw.language.getString("Error/RecursiveTransclusion")}
|
50
|
+
}})];
|
51
|
+
this.renderChildren(parent,nextSibling);
|
52
|
+
return;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
throw error;
|
56
|
+
}
|
34
57
|
};
|
35
58
|
|
36
59
|
/*
|
@@ -12,9 +12,6 @@ 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
|
-
|
18
15
|
/*
|
19
16
|
Create a widget object for a parse tree node
|
20
17
|
parseTreeNode: reference to the parse tree node to be rendered
|
@@ -153,7 +150,7 @@ Widget.prototype.getVariableInfo = function(name,options) {
|
|
153
150
|
} else if(variable.isFunctionDefinition) {
|
154
151
|
// Function evaluations
|
155
152
|
params = self.resolveVariableParameters(variable.params,actualParams);
|
156
|
-
var variables = Object.create(null);
|
153
|
+
var variables = options.variables || Object.create(null);
|
157
154
|
// Apply default parameter values
|
158
155
|
$tw.utils.each(variable.params,function(param,index) {
|
159
156
|
if(param["default"]) {
|
@@ -166,6 +163,8 @@ Widget.prototype.getVariableInfo = function(name,options) {
|
|
166
163
|
});
|
167
164
|
resultList = this.wiki.filterTiddlers(value,this.makeFakeWidgetWithVariables(variables),options.source);
|
168
165
|
value = resultList[0] || "";
|
166
|
+
} else {
|
167
|
+
params = variable.params;
|
169
168
|
}
|
170
169
|
return {
|
171
170
|
text: value,
|
@@ -317,7 +316,8 @@ Widget.prototype.getStateQualifier = function(name) {
|
|
317
316
|
Make a fake widget with specified variables, suitable for variable lookup in filters
|
318
317
|
*/
|
319
318
|
Widget.prototype.makeFakeWidgetWithVariables = function(variables) {
|
320
|
-
var self = this
|
319
|
+
var self = this,
|
320
|
+
variables = variables || {};
|
321
321
|
return {
|
322
322
|
getVariable: function(name,opts) {
|
323
323
|
if($tw.utils.hop(variables,name)) {
|
@@ -335,7 +335,7 @@ Widget.prototype.makeFakeWidgetWithVariables = function(variables) {
|
|
335
335
|
};
|
336
336
|
} else {
|
337
337
|
opts = opts || {};
|
338
|
-
opts.variables = variables;
|
338
|
+
opts.variables = $tw.utils.extend(variables,opts.variables);
|
339
339
|
return self.getVariableInfo(name,opts);
|
340
340
|
};
|
341
341
|
},
|
@@ -494,10 +494,8 @@ Widget.prototype.makeChildWidgets = function(parseTreeNodes,options) {
|
|
494
494
|
this.children = [];
|
495
495
|
var self = this;
|
496
496
|
// Check for too much recursion
|
497
|
-
if(this.getAncestorCount() > MAX_WIDGET_TREE_DEPTH) {
|
498
|
-
|
499
|
-
"$message": {type: "string", value: $tw.language.getString("Error/RecursiveTransclusion")}
|
500
|
-
}}));
|
497
|
+
if(this.getAncestorCount() > $tw.utils.TranscludeRecursionError.MAX_WIDGET_TREE_DEPTH) {
|
498
|
+
throw new $tw.utils.TranscludeRecursionError();
|
501
499
|
} else {
|
502
500
|
// Create set variable widgets for each variable
|
503
501
|
$tw.utils.each(options.variables,function(value,name) {
|
@@ -813,6 +811,21 @@ Widget.prototype.allowActionPropagation = function() {
|
|
813
811
|
return true;
|
814
812
|
};
|
815
813
|
|
814
|
+
/*
|
815
|
+
Find child <$data> widgets recursively. The tag name allows aliased versions of the widget to be found too
|
816
|
+
*/
|
817
|
+
Widget.prototype.findChildrenDataWidgets = function(children,tag,callback) {
|
818
|
+
var self = this;
|
819
|
+
$tw.utils.each(children,function(child) {
|
820
|
+
if(child.dataWidgetTag === tag) {
|
821
|
+
callback(child);
|
822
|
+
}
|
823
|
+
if(child.children) {
|
824
|
+
self.findChildrenDataWidgets(child.children,tag,callback);
|
825
|
+
}
|
826
|
+
});
|
827
|
+
};
|
828
|
+
|
816
829
|
/*
|
817
830
|
Evaluate a variable with parameters. This is a static convenience method that attempts to evaluate a variable as a function, returning an array of strings
|
818
831
|
*/
|