tiddlywiki 5.2.3 → 5.2.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 +11 -2
- package/bin/test.sh +1 -0
- package/boot/boot.js +9 -6
- package/core/images/layout-button.tid +4 -0
- package/core/images/mastodon.tid +6 -0
- package/core/language/en-GB/Buttons.multids +4 -0
- package/core/language/en-GB/ControlPanel.multids +3 -3
- package/core/language/en-GB/Fields.multids +2 -2
- package/core/language/en-GB/GettingStarted.tid +4 -3
- package/core/language/en-GB/Help/commands.tid +18 -0
- package/core/language/en-GB/Misc.multids +1 -0
- package/core/modules/commands/commands.js +42 -0
- package/core/modules/editor/engines/framed.js +12 -1
- package/core/modules/editor/factory.js +2 -2
- package/core/modules/filters/format/json.js +35 -0
- package/core/modules/filters/is/variable.js +2 -2
- package/core/modules/filters/json-ops.js +186 -0
- package/core/modules/filters/variables.js +9 -3
- package/core/modules/filters.js +15 -6
- package/core/modules/keyboard.js +13 -1
- package/core/modules/parsers/csvparser.js +25 -17
- package/core/modules/parsers/wikiparser/rules/macrodef.js +1 -1
- package/core/modules/parsers/wikiparser/rules/parsermode.js +68 -0
- package/core/modules/parsers/wikiparser/rules/styleinline.js +3 -3
- package/core/modules/parsers/wikiparser/wikiparser.js +4 -2
- package/core/modules/server/routes/put-tiddler.js +10 -0
- package/core/modules/startup/startup.js +5 -1
- package/core/modules/utils/csv.js +101 -23
- package/core/modules/utils/dom/dom.js +17 -2
- package/core/modules/utils/dom/modal.js +6 -0
- package/core/modules/utils/dom/popup.js +69 -6
- package/core/modules/utils/fakedom.js +2 -2
- package/core/modules/utils/linked-list.js +79 -75
- package/core/modules/utils/logger.js +3 -1
- package/core/modules/utils/parsetree.js +20 -10
- package/core/modules/utils/utils.js +3 -0
- package/core/modules/widgets/action-deletefield.js +2 -2
- package/core/modules/widgets/action-popup.js +10 -8
- package/core/modules/widgets/button.js +7 -2
- package/core/modules/widgets/checkbox.js +12 -5
- package/core/modules/widgets/error.js +63 -0
- package/core/modules/widgets/genesis.js +108 -0
- package/core/modules/widgets/importvariables.js +4 -1
- package/core/modules/widgets/keyboard.js +4 -0
- package/core/modules/widgets/let.js +3 -5
- package/core/modules/widgets/reveal.js +11 -10
- package/core/modules/widgets/select.js +9 -0
- package/core/modules/widgets/transclude.js +3 -5
- package/core/modules/widgets/widget.js +44 -18
- package/core/palettes/Blanca.tid +2 -0
- package/core/palettes/Blue.tid +2 -0
- package/core/palettes/BrightMute.tid +2 -0
- package/core/palettes/ContrastDark.tid +2 -0
- package/core/palettes/ContrastLight.tid +2 -0
- package/core/palettes/CupertinoDark.tid +2 -0
- package/core/palettes/DarkPhotos.tid +2 -0
- package/core/palettes/DesertSand.tid +2 -0
- package/core/palettes/GruvBoxDark.tid +2 -0
- package/core/palettes/Nord.tid +2 -0
- package/core/palettes/Rocker.tid +2 -0
- package/core/palettes/SolarFlare.tid +2 -0
- package/core/palettes/SolarizedDark.tid +2 -0
- package/core/palettes/SolarizedLight.tid +2 -0
- package/core/palettes/SpartanDay.tid +2 -0
- package/core/palettes/SpartanNight.tid +2 -0
- package/core/palettes/Twilight.tid +2 -0
- package/core/palettes/Vanilla.tid +2 -0
- package/core/templates/external-js/save-all-external-js.tid +4 -2
- package/core/templates/external-js/save-offline-external-js.tid +4 -2
- package/core/templates/single.tiddler.window.tid +1 -1
- package/core/ui/Actions/new-image.tid +1 -7
- package/core/ui/AdvancedSearch/FilterButtons/delete.tid +3 -3
- package/core/ui/AdvancedSearch/FilterButtons/dropdown.tid +2 -2
- package/core/ui/ControlPanel/Basics/retain-story-ordering-button.tid +3 -0
- package/core/ui/ControlPanel/Basics.tid +3 -2
- package/core/ui/EditTemplate/Preview/output.tid +1 -1
- package/core/ui/EditTemplate/body/default.tid +1 -1
- package/core/ui/EditTemplate/fields.tid +12 -2
- package/core/ui/EditTemplate.tid +7 -2
- package/core/ui/ImportListing.tid +5 -5
- package/core/ui/KeyboardShortcuts/advanced-search.tid +1 -1
- package/core/ui/PageControls/layout.tid +15 -0
- package/core/ui/PageTemplate.tid +1 -4
- package/core/ui/SideBar/More.tid +2 -2
- package/core/ui/SwitcherModal.tid +1 -0
- package/core/ui/TagManager.tid +75 -63
- package/core/ui/ViewTemplate/unfold.tid +6 -2
- package/core/ui/ViewTemplate.tid +1 -1
- package/core/wiki/config/DefaultTiddlersRetainStory.tid +3 -0
- package/core/wiki/config/OfficialPluginLibrary.tid +1 -1
- package/core/wiki/config/PageControlButtons.multids +1 -0
- package/core/wiki/macros/list.tid +7 -7
- package/core/wiki/macros/timeline.tid +6 -9
- package/core/wiki/macros/toc.tid +12 -8
- package/core/wiki/tags/PageControls.tid +1 -1
- package/editions/de-AT/tiddlywiki.info +0 -1
- package/editions/de-AT-server/tiddlywiki.info +0 -1
- package/editions/de-DE/tiddlywiki.info +0 -1
- package/editions/dev/tiddlers/HelloThere.tid +2 -1
- package/editions/dev/tiddlers/How to run a local plugin library for testing.tid +42 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Child widgets tutorial.tid +140 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Do nothing widget demo.tid +22 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Do nothing widget tutorial.tid +25 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Hello World demo.tid +23 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Hello World widget tutorial.tid +18 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Javascript Widget Tutorial.tid +37 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Undefined widget demo.tid +18 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Undefined widget tutorial.tid +11 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes demo I.tid +48 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes demo II.tid +48 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes tutorial part I.tid +50 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget attributes tutorial part II.tid +33 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo I.tid +44 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo II.tid +40 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh demo III.tid +50 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part I.tid +47 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part II.tid +37 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/Widget refresh tutorial part III.tid +26 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/domwidget.js +47 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/domwidget.js.meta +6 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/donothing.js +16 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/donothing.js.meta +6 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute-optimized.js +51 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute-optimized.js.meta +6 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute.js +47 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/hello-attribute.js.meta +6 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/hello.js +35 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/hello.js.meta +6 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/refreshcount.js +43 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/refreshcount.js.meta +6 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield-norefresh.js +36 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield-norefresh.js.meta +6 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield.js +46 -0
- package/editions/dev/tiddlers/javascript-widget-tutorial/tiddlerfield.js.meta +6 -0
- package/editions/dev/tiddlywiki.info +2 -1
- package/editions/fr-FR/tiddlers/$__editions_tw5.com_doc-macros.tid +1 -1
- package/editions/fr-FR/tiddlers/system/$__core_macros_list.tid +113 -0
- package/editions/fr-FR/tiddlers/system/$__core_macros_tag.tid +39 -0
- package/editions/fr-FR/tiddlers/system/$__core_ui_TagPickerTagTemplate.tid +25 -0
- package/editions/full/tiddlywiki.info +0 -1
- package/editions/introduction/tiddlywiki.info +0 -1
- package/editions/pluginlibrary/tiddlers/GettingStarted.tid +45 -0
- package/editions/pluginlibrary/tiddlers/PrereleaseLocalPluginLibrary.tid +6 -0
- package/editions/pluginlibrary/tiddlers/meta/SiteSubtitle.tid +3 -0
- package/editions/pluginlibrary/tiddlers/meta/SiteTitle.tid +3 -0
- package/editions/pluginlibrary/tiddlers/system/$__themes_tiddlywiki_vanilla_options_sidebarlayout.tid +3 -0
- package/editions/pluginlibrary/tiddlywiki.info +7 -0
- package/editions/prerelease/tiddlers/{Release 5.2.4.tid → Release 5.2.5.tid } +8 -17
- package/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +1 -1
- package/editions/prerelease/tiddlers/system/TiddlyWiki Pre-release.tid +5 -1
- package/editions/test/tiddlers/tests/data/csv-cases.tid +282 -0
- package/editions/test/tiddlers/tests/data/filters/Recursion.tid +15 -0
- package/editions/test/tiddlers/tests/data/filters/fake-variables.tid +27 -0
- package/editions/test/tiddlers/tests/data/genesis-widget/DollarSigns.tid +14 -0
- package/editions/test/tiddlers/tests/data/genesis-widget/MultipleAttributes.tid +14 -0
- package/editions/test/tiddlers/tests/data/genesis-widget/Simple.tid +14 -0
- package/editions/test/tiddlers/tests/data/macros/NestedMacros.tid +36 -0
- package/editions/test/tiddlers/tests/data/pragmas/Parsermode.tid +36 -0
- package/editions/test/tiddlers/tests/data/transclude/Recursion.tid +13 -0
- package/editions/test/tiddlers/tests/modules/utils/test-csv.js +33 -0
- package/editions/test/tiddlers/tests/test-checkbox-widget.js +35 -1
- package/editions/test/tiddlers/tests/test-json-filters.js +112 -0
- package/editions/test/tiddlers/tests/test-linked-list.js +42 -2
- package/editions/test/tiddlers/tests/test-popup.js +63 -0
- package/editions/test/tiddlers/tests/test-utils.js +1 -0
- package/editions/test/tiddlers/tests/test-wikitext.js +16 -0
- package/editions/test/tiddlywiki.info +2 -1
- package/editions/translators/tiddlers/system/PageControlButtonsVisibility.multids +1 -0
- package/editions/translators/tiddlywiki.info +0 -1
- package/editions/tw.org/tiddlers/Code of Conduct.tid +4 -1
- package/editions/tw.org/tiddlers/Fundraising.tid +2 -2
- package/editions/tw5.com/tiddlers/Tables in WikiText CSS Utility Classes.tid +81 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/markplace.png +0 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/markplace.png.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/marketplace.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/tags-TiddlyWikiSites.tid +1 -1
- package/editions/tw5.com/tiddlers/about/Funding TiddlyWiki.tid +19 -0
- package/editions/tw5.com/tiddlers/about/Open Collective.tid +14 -0
- package/editions/tw5.com/tiddlers/commands/CommandsCommand.tid +8 -0
- package/editions/tw5.com/tiddlers/commands/RenderTiddlerCommand.tid +2 -0
- package/editions/tw5.com/tiddlers/commands/RenderTiddlersCommand.tid +2 -0
- package/editions/tw5.com/tiddlers/commands/SaveTiddlerCommand.tid +2 -0
- package/editions/tw5.com/tiddlers/commands/SaveTiddlersCommand.tid +2 -0
- package/editions/tw5.com/tiddlers/community/plugins/GSD5.tid +2 -2
- package/editions/tw5.com/tiddlers/community/plugins/_JD Mobile Layout plugin_ by JD.tid +0 -1
- package/editions/tw5.com/tiddlers/community/resources/_Dropboard_ by Reid Gould.tid +0 -1
- package/editions/tw5.com/tiddlers/community/resources/_Hacks_ by Thomas Elmiger.tid +0 -2
- package/editions/tw5.com/tiddlers/community/resources/_MathCell_ by Ste Wilson.tid +0 -1
- package/editions/tw5.com/tiddlers/community/resources/_TiddlyServer_ by Matt Lauber.tid +0 -1
- package/editions/tw5.com/tiddlers/community/resources/_X3DOM for TiddlyWiki 5_ by Jamal Wills.tid +0 -1
- package/editions/tw5.com/tiddlers/concepts/CoordinateSystems.tid +42 -0
- package/editions/tw5.com/tiddlers/concepts/KeyboardShortcutTiddler.tid +2 -0
- package/editions/tw5.com/tiddlers/definitions/Federatial.tid +13 -1
- package/editions/tw5.com/tiddlers/definitions/HTML Block Elements.tid +9 -0
- package/editions/tw5.com/tiddlers/definitions/TiddlyWikiClassic.tid +3 -1
- package/editions/tw5.com/tiddlers/demonstrations/TableOfContentsMacro Selective Expandable Example custom icons.tid +16 -0
- package/editions/tw5.com/tiddlers/demonstrations/Tasks/TaskManagementExampleDraggable.tid +1 -1
- package/editions/tw5.com/tiddlers/features/DateFormat.tid +27 -3
- package/editions/tw5.com/tiddlers/features/JSON in TiddlyWiki.tid +1 -1
- package/editions/tw5.com/tiddlers/features/Modals.tid +3 -0
- package/editions/tw5.com/tiddlers/filters/examples/format Operator (Examples).tid +5 -2
- package/editions/tw5.com/tiddlers/filters/format.tid +5 -4
- package/editions/tw5.com/tiddlers/filters/jsonextract.tid +66 -0
- package/editions/tw5.com/tiddlers/filters/jsonget.tid +93 -0
- package/editions/tw5.com/tiddlers/filters/jsonindexes.tid +65 -0
- package/editions/tw5.com/tiddlers/filters/jsontype.tid +74 -0
- package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted.tid +3 -7
- package/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +23 -22
- package/editions/tw5.com/tiddlers/hellothere/HelloThumbnail.tid +1 -1
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Funding.tid +10 -0
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Grok TiddlyWiki.tid +2 -0
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Introduction Video.tid +2 -0
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Latest Version.tid +9 -1
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Marketplace.tid +10 -0
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyWikiLinks.tid +3 -1
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail_-_Federatial.tid +11 -0
- package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Default Story Ordering.tid +4 -0
- package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting Sync System Tiddlers From Server.tid +13 -0
- package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting SyncLogging.tid +13 -0
- package/editions/tw5.com/tiddlers/hiddensettings/Hidden Setting_ More Tabs Horizontal.tid +7 -0
- package/editions/tw5.com/tiddlers/howtos/How to create keyboard shortcuts.tid +2 -0
- package/editions/tw5.com/tiddlers/howtos/Reading data from JSON tiddlers.tid +10 -1
- package/editions/tw5.com/tiddlers/images/Federatial.png +0 -0
- package/editions/tw5.com/tiddlers/images/Federatial.png.meta +3 -0
- package/editions/tw5.com/tiddlers/images/Funding.png +0 -0
- package/editions/tw5.com/tiddlers/images/{TiddlyMap.png.meta → Funding.png.meta} +1 -1
- package/editions/tw5.com/tiddlers/images/Marketplace Banner.png +0 -0
- package/editions/tw5.com/tiddlers/images/Marketplace Banner.png.meta +3 -0
- package/editions/tw5.com/tiddlers/images/New Release Banner.png +0 -0
- package/editions/tw5.com/tiddlers/macros/ListMacro.tid +3 -1
- package/editions/tw5.com/tiddlers/macros/TableOfContentsMacro.tid +36 -2
- package/editions/tw5.com/tiddlers/marketplace/TiddlyWiki Marketplace.tid +18 -0
- package/editions/tw5.com/tiddlers/mechanisms/PopupMechanism.tid +1 -0
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-modal.tid +4 -2
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-new-tiddler.tid +1 -1
- package/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid +2 -2
- package/editions/tw5.com/tiddlers/pragmas/Pragma_ _parsermode.tid +17 -0
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.4.tid +140 -0
- package/editions/tw5.com/tiddlers/releasenotes/Releases.tid +1 -1
- package/editions/tw5.com/tiddlers/saving/Emergency Tiddler Export.tid +1 -1
- package/editions/tw5.com/tiddlers/saving/Saving on TiddlyHost.tid +1 -1
- package/editions/tw5.com/tiddlers/saving/Saving on TiddlySpot.tid +0 -1
- package/editions/tw5.com/tiddlers/saving/Saving with Polly.tid +1 -0
- package/editions/tw5.com/tiddlers/saving/Saving.tid +12 -5
- package/editions/tw5.com/tiddlers/saving/TiddlyBucket - Save to AWS or Google Storage.tid +15 -0
- package/editions/tw5.com/tiddlers/system/doc-macros.tid +1 -1
- package/editions/tw5.com/tiddlers/system/tw5.com-card-template.tid +1 -16
- package/editions/tw5.com/tiddlers/system/tw5.com-styles.tid +168 -40
- package/editions/tw5.com/tiddlers/system/version-macros.tid +3 -4
- package/editions/tw5.com/tiddlers/system/wikitext-macros.tid +43 -15
- package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_PageTemplate.tid +9 -0
- package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ClassFilters_TiddlerTemplate.tid +9 -0
- package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Filter.tid +2 -2
- package/editions/tw5.com/tiddlers/testimonials/Testimonials - Joe Armstrong.tid +8 -0
- package/editions/tw5.com/tiddlers/testimonials/Testimonials - Network World.tid +8 -0
- package/editions/tw5.com/tiddlers/testimonials/Testimonials - Product Hunt.tid +6 -0
- package/editions/tw5.com/tiddlers/webserver/Using the external JavaScript template.tid +10 -10
- package/editions/tw5.com/tiddlers/webserver/WebServer API_ Get All Tiddlers.tid +3 -1
- package/editions/tw5.com/tiddlers/widgets/ActionPopupWidget.tid +4 -3
- package/editions/tw5.com/tiddlers/widgets/ButtonWidget.tid +2 -1
- package/editions/tw5.com/tiddlers/widgets/DraggableWidget.tid +2 -1
- package/editions/tw5.com/tiddlers/widgets/ErrorWidget.tid +17 -0
- package/editions/tw5.com/tiddlers/widgets/EventCatcherWidget.tid +4 -3
- package/editions/tw5.com/tiddlers/widgets/GenesisWidget.tid +41 -0
- package/editions/tw5.com/tiddlers/widgets/LetWidget.tid +4 -1
- package/editions/tw5.com/tiddlers/widgets/ScrollableWidget.tid +1 -1
- package/editions/tw5.com/tiddlers/widgets/SelectWidget.tid +1 -0
- package/editions/tw5.com/tiddlers/wikitext/Macro Definitions in WikiText.tid +27 -4
- package/editions/tw5.com/tiddlers/wikitext/Styles and Classes in WikiText.tid +1 -1
- package/editions/tw5.com/tiddlers/wikitext/Table Classes Captions Headers and Footers.tid +20 -0
- package/editions/tw5.com/tiddlers/wikitext/Tables in WikiText.tid +3 -13
- package/editions/tw5.com/tiddlers/wikitext/Utility Classes.tid +20 -0
- package/editions/tw5.com/tiddlers/wikitext/parser/WikiText Parser Modes.tid +1 -1
- package/editions/twitter-archivist/tiddlers/DefaultTiddlers.tid +4 -0
- package/editions/twitter-archivist/tiddlers/HelloThere.tid +9 -0
- package/editions/twitter-archivist/tiddlers/SiteSubtitle.tid +3 -0
- package/editions/twitter-archivist/tiddlers/SiteTitle.tid +3 -0
- package/editions/twitter-archivist/tiddlywiki.info +16 -0
- package/languages/ar-PS/ControlPanel.multids +1 -1
- package/languages/ca-ES/ControlPanel.multids +1 -1
- package/languages/cs-CZ/ControlPanel.multids +1 -1
- package/languages/da-DK/ControlPanel.multids +1 -1
- package/languages/de-DE/Buttons.multids +5 -1
- package/languages/de-DE/ControlPanel.multids +1 -1
- package/languages/de-DE/Help/commands.tid +14 -0
- package/languages/de-DE/Misc.multids +1 -0
- package/languages/el-GR/ControlPanel.multids +1 -1
- package/languages/es-ES/Buttons.multids +89 -87
- package/languages/es-ES/ControlPanel.multids +18 -1
- package/languages/es-ES/Docs/PaletteColours.multids +2 -2
- package/languages/es-ES/EditTemplate.multids +3 -0
- package/languages/es-ES/Fields.multids +4 -3
- package/languages/es-ES/GettingStarted.tid +4 -3
- package/languages/es-ES/Help/default.tid +4 -1
- package/languages/es-ES/Help/listen.tid +0 -1
- package/languages/es-ES/Help/render.tid +2 -2
- package/languages/es-ES/Import.multids +1 -1
- package/languages/es-ES/Misc.multids +2 -1
- package/languages/es-ES/SideBar.multids +1 -0
- package/languages/es-ES/Snippets/ListByTag.tid +1 -1
- package/languages/fa-IR/ControlPanel.multids +1 -1
- package/languages/fr-FR/Buttons.multids +2 -0
- package/languages/fr-FR/ControlPanel.multids +4 -4
- package/languages/fr-FR/Misc.multids +3 -2
- package/languages/hi-IN/ControlPanel.multids +1 -1
- package/languages/ia-IA/ControlPanel.multids +1 -1
- package/languages/it-IT/ControlPanel.multids +1 -1
- package/languages/ja-JP/ControlPanel.multids +9 -9
- package/languages/ko-KR/ControlPanel.multids +1 -1
- package/languages/nl-NL/ControlPanel.multids +1 -1
- package/languages/pl-PL/Buttons.multids +7 -3
- package/languages/pl-PL/ControlPanel.multids +26 -24
- package/languages/pl-PL/GettingStarted.tid +4 -3
- package/languages/pl-PL/Help/commands.tid +18 -0
- package/languages/pl-PL/Help/render.tid +2 -2
- package/languages/pl-PL/Misc.multids +1 -0
- package/languages/pl-PL/ThemeTweaks.multids +3 -3
- package/languages/pt-BR/ControlPanel.multids +1 -1
- package/languages/pt-PT/ControlPanel.multids +1 -1
- package/languages/ru-RU/ControlPanel.multids +1 -1
- package/languages/sk-SK/ControlPanel.multids +1 -1
- package/languages/sl-SI/ControlPanel.multids +1 -1
- package/languages/sv-SE/ControlPanel.multids +1 -1
- package/languages/zh-Hans/Buttons.multids +36 -32
- package/languages/zh-Hans/ControlPanel.multids +19 -19
- package/languages/zh-Hans/CoreReadMe.tid +1 -1
- package/languages/zh-Hans/Docs/ModuleTypes.multids +2 -2
- package/languages/zh-Hans/Docs/PaletteColours.multids +8 -8
- package/languages/zh-Hans/Fields.multids +7 -7
- package/languages/zh-Hans/Filters.multids +1 -1
- package/languages/zh-Hans/GettingStarted.tid +8 -6
- package/languages/zh-Hans/Help/commands.tid +18 -0
- package/languages/zh-Hans/Help/fetch.tid +6 -6
- package/languages/zh-Hans/Help/init.tid +1 -1
- package/languages/zh-Hans/Help/listen.tid +5 -5
- package/languages/zh-Hans/Help/makelibrary.tid +1 -1
- package/languages/zh-Hans/Help/savetiddlers.tid +1 -1
- package/languages/zh-Hans/Help/server.tid +6 -6
- package/languages/zh-Hans/Help/setfield.tid +3 -3
- package/languages/zh-Hans/Import.multids +1 -1
- package/languages/zh-Hans/Misc.multids +12 -11
- package/languages/zh-Hans/Search.multids +6 -6
- package/languages/zh-Hans/SiteSubtitle.tid +1 -1
- package/languages/zh-Hans/Snippets/ListByTag.tid +1 -1
- package/languages/zh-Hans/ThemeTweaks.multids +7 -7
- package/languages/zh-Hans/TiddlerInfo.multids +2 -2
- package/languages/zh-Hant/Buttons.multids +4 -0
- package/languages/zh-Hant/ControlPanel.multids +2 -2
- package/languages/zh-Hant/Fields.multids +2 -2
- package/languages/zh-Hant/GettingStarted.tid +4 -3
- package/languages/zh-Hant/Help/commands.tid +18 -0
- package/languages/zh-Hant/Misc.multids +1 -0
- package/licenses/cla-individual.md +4 -0
- package/package.json +1 -1
- package/plugins/tiddlywiki/codemirror/engine.js +4 -0
- package/plugins/tiddlywiki/dynannotate/docs/readme.tid +2 -2
- package/plugins/tiddlywiki/dynannotate/modules/dynannotate.js +4 -2
- package/plugins/tiddlywiki/help/tabs/Support.tid +6 -2
- package/plugins/tiddlywiki/jasmine/command.js +33 -0
- package/plugins/tiddlywiki/jasmine/help.tid +24 -0
- package/plugins/tiddlywiki/jasmine/jasmine-plugin.js +24 -18
- package/plugins/tiddlywiki/jasmine/readme.tid +31 -1
- package/plugins/tiddlywiki/jasmine/run-wiki-based-tests.js +93 -0
- package/plugins/tiddlywiki/jasmine/startup.js +37 -0
- package/plugins/tiddlywiki/translators/macros/translatableStringEditor.tid +6 -0
- package/plugins/tiddlywiki/translators/system/styles.tid +5 -0
- package/plugins/tiddlywiki/twitter-archivist/Twitter Archives.tid +5 -0
- package/plugins/tiddlywiki/twitter-archivist/archivist.js +319 -0
- package/plugins/tiddlywiki/twitter-archivist/configTiddlerInfoMode.tid +2 -0
- package/plugins/tiddlywiki/twitter-archivist/loadtwitterarchive.js +53 -0
- package/plugins/tiddlywiki/twitter-archivist/macros.tid +222 -0
- package/plugins/tiddlywiki/twitter-archivist/plugin.info +6 -0
- package/plugins/tiddlywiki/twitter-archivist/readme.tid +33 -0
- package/plugins/tiddlywiki/twitter-archivist/spec.tid +62 -0
- package/plugins/tiddlywiki/twitter-archivist/startup.js +38 -0
- package/plugins/tiddlywiki/twitter-archivist/styles.tid +47 -0
- package/plugins/tiddlywiki/twitter-archivist/template-archive.tid +3 -0
- package/plugins/tiddlywiki/twitter-archivist/template-hashtag.tid +3 -0
- package/plugins/tiddlywiki/twitter-archivist/template-tweet.tid +3 -0
- package/plugins/tiddlywiki/twitter-archivist/template-tweeter.tid +3 -0
- package/plugins/tiddlywiki/twitter-archivist/todo.tid +15 -0
- package/plugins/tiddlywiki/twitter-archivist/usage.tid +18 -0
- package/plugins/tiddlywiki/twitter-archivist/view-template-body-cascade.tid +8 -0
- package/plugins/tiddlywiki/upgrade/UpgradeWizard.tid +3 -3
- package/readme.md +1 -1
- package/themes/tiddlywiki/vanilla/base.tid +131 -10
- package/editions/fr-FR/tiddlers/$__core_ui_TagTemplate.tid +0 -33
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Classic.tid +0 -6
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Developers.tid +0 -7
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - Gentle Guide.tid +0 -11
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - HelpingTiddlyWiki.tid +0 -7
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TWEUM2017.tid +0 -8
- package/editions/tw5.com/tiddlers/hellothere/thumbnails/HelloThumbnail - TiddlyMap.tid +0 -6
- package/editions/tw5.com/tiddlers/images/Dev Thumbnail.jpg +0 -0
- package/editions/tw5.com/tiddlers/images/Dev Thumbnail.jpg.meta +0 -3
- package/editions/tw5.com/tiddlers/images/TiddlyMap.png +0 -0
@@ -0,0 +1,112 @@
|
|
1
|
+
/*\
|
2
|
+
title: test-json-filters.js
|
3
|
+
type: application/javascript
|
4
|
+
tags: [[$:/tags/test-spec]]
|
5
|
+
|
6
|
+
Tests the JSON filters and the format:json operator
|
7
|
+
|
8
|
+
\*/
|
9
|
+
(function(){
|
10
|
+
|
11
|
+
/* jslint node: true, browser: true */
|
12
|
+
/* eslint-env node, browser, jasmine */
|
13
|
+
/* eslint no-mixed-spaces-and-tabs: ["error", "smart-tabs"]*/
|
14
|
+
/* global $tw, require */
|
15
|
+
"use strict";
|
16
|
+
|
17
|
+
describe("json filter tests", function() {
|
18
|
+
|
19
|
+
var wiki = new $tw.Wiki();
|
20
|
+
var tiddlers = [{
|
21
|
+
title: "First",
|
22
|
+
text: '{"a":"one","b":"","c":1.618,"d": {"e": "four","f": ["five","six",true,false,null]}}',
|
23
|
+
type: "application/json"
|
24
|
+
},{
|
25
|
+
title: "Second",
|
26
|
+
text: '["une","deux","trois",["quatre","cinq"]]',
|
27
|
+
type: "application/json"
|
28
|
+
},{
|
29
|
+
title: "Third",
|
30
|
+
text: "This is not JSON",
|
31
|
+
type: "text/vnd.tiddlywiki"
|
32
|
+
}];
|
33
|
+
wiki.addTiddlers(tiddlers);
|
34
|
+
|
35
|
+
it("should support the getindex operator", function() {
|
36
|
+
expect(wiki.filterTiddlers("[{First}getindex[b]]")).toEqual([]);
|
37
|
+
});
|
38
|
+
|
39
|
+
it("should support the jsonget operator", function() {
|
40
|
+
expect(wiki.filterTiddlers("[{Third}jsonget[]]")).toEqual(["This is not JSON"]);
|
41
|
+
expect(wiki.filterTiddlers("[{Second}jsonget[]]")).toEqual(["une","deux","trois","quatre","cinq"]);
|
42
|
+
expect(wiki.filterTiddlers("[{First}jsonget[]]")).toEqual(["one","","1.618","four","five","six","true","false","null"]);
|
43
|
+
expect(wiki.filterTiddlers("[{First}jsonget[a]]")).toEqual(["one"]);
|
44
|
+
expect(wiki.filterTiddlers("[{First}jsonget[b]]")).toEqual([""]);
|
45
|
+
expect(wiki.filterTiddlers("[{First}jsonget[missing-property]]")).toEqual([]);
|
46
|
+
expect(wiki.filterTiddlers("[{First}jsonget[d]]")).toEqual(["four","five","six","true","false","null"]);
|
47
|
+
expect(wiki.filterTiddlers("[{First}jsonget[d],[e]]")).toEqual(["four"]);
|
48
|
+
expect(wiki.filterTiddlers("[{First}jsonget[d],[f]]")).toEqual(["five","six","true","false","null"]);
|
49
|
+
expect(wiki.filterTiddlers("[{First}jsonget[d],[f],[0]]")).toEqual(["five"]);
|
50
|
+
expect(wiki.filterTiddlers("[{First}jsonget[d],[f],[1]]")).toEqual(["six"]);
|
51
|
+
expect(wiki.filterTiddlers("[{First}jsonget[d],[f],[2]]")).toEqual(["true"]);
|
52
|
+
expect(wiki.filterTiddlers("[{First}jsonget[d],[f],[3]]")).toEqual(["false"]);
|
53
|
+
expect(wiki.filterTiddlers("[{First}jsonget[d],[f],[4]]")).toEqual(["null"]);
|
54
|
+
});
|
55
|
+
|
56
|
+
it("should support the jsonextract operator", function() {
|
57
|
+
expect(wiki.filterTiddlers("[{Third}jsonextract[]]")).toEqual(['"This is not JSON"']);
|
58
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[]]")).toEqual(['{"a":"one","b":"","c":1.618,"d":{"e":"four","f":["five","six",true,false,null]}}']);
|
59
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[a]]")).toEqual(['"one"']);
|
60
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[b]]")).toEqual(['""']);
|
61
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[missing-property]]")).toEqual([]);
|
62
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d]]")).toEqual(['{"e":"four","f":["five","six",true,false,null]}']);
|
63
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d]jsonextract[f]]")).toEqual(['["five","six",true,false,null]']);
|
64
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d],[e]]")).toEqual(['"four"']);
|
65
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d],[f]]")).toEqual(['["five","six",true,false,null]']);
|
66
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d],[f],[0]]")).toEqual(['"five"']);
|
67
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d],[f],[1]]")).toEqual(['"six"']);
|
68
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d],[f],[2]]")).toEqual(["true"]);
|
69
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d],[f],[3]]")).toEqual(["false"]);
|
70
|
+
expect(wiki.filterTiddlers("[{First}jsonextract[d],[f],[4]]")).toEqual(["null"]);
|
71
|
+
});
|
72
|
+
|
73
|
+
it("should support the jsonindexes operator", function() {
|
74
|
+
expect(wiki.filterTiddlers("[{Second}jsonindexes[]]")).toEqual(["0","1","2","3"]);
|
75
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[]]")).toEqual(["a","b","c","d"]);
|
76
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[a]]")).toEqual([]);
|
77
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[b]]")).toEqual([]);
|
78
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[d]]")).toEqual(["e","f"]);
|
79
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[d],[e]]")).toEqual([]);
|
80
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[d],[f]]")).toEqual(["0","1","2","3","4"]);
|
81
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[d],[f],[0]]")).toEqual([]);
|
82
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[d],[f],[1]]")).toEqual([]);
|
83
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[d],[f],[2]]")).toEqual([]);
|
84
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[d],[f],[3]]")).toEqual([]);
|
85
|
+
expect(wiki.filterTiddlers("[{First}jsonindexes[d],[f],[4]]")).toEqual([]);
|
86
|
+
});
|
87
|
+
|
88
|
+
it("should support the jsontype operator", function() {
|
89
|
+
expect(wiki.filterTiddlers("[{Third}jsontype[]]")).toEqual(["string"]);
|
90
|
+
expect(wiki.filterTiddlers("[{First}jsontype[]]")).toEqual(["object"]);
|
91
|
+
expect(wiki.filterTiddlers("[{First}jsontype[a]]")).toEqual(["string"]);
|
92
|
+
expect(wiki.filterTiddlers("[{First}jsontype[b]]")).toEqual(["string"]);
|
93
|
+
expect(wiki.filterTiddlers("[{First}jsontype[c]]")).toEqual(["number"]);
|
94
|
+
expect(wiki.filterTiddlers("[{First}jsontype[d]]")).toEqual(["object"]);
|
95
|
+
expect(wiki.filterTiddlers("[{First}jsontype[d],[e]]")).toEqual(["string"]);
|
96
|
+
expect(wiki.filterTiddlers("[{First}jsontype[d],[f]]")).toEqual(["array"]);
|
97
|
+
expect(wiki.filterTiddlers("[{First}jsontype[d],[f],[0]]")).toEqual(["string"]);
|
98
|
+
expect(wiki.filterTiddlers("[{First}jsontype[d],[f],[1]]")).toEqual(["string"]);
|
99
|
+
expect(wiki.filterTiddlers("[{First}jsontype[d],[f],[2]]")).toEqual(["boolean"]);
|
100
|
+
expect(wiki.filterTiddlers("[{First}jsontype[d],[f],[3]]")).toEqual(["boolean"]);
|
101
|
+
expect(wiki.filterTiddlers("[{First}jsontype[d],[f],[4]]")).toEqual(["null"]);
|
102
|
+
});
|
103
|
+
|
104
|
+
it("should support the format:json operator", function() {
|
105
|
+
expect(wiki.filterTiddlers("[{First}format:json[]]")).toEqual(["{\"a\":\"one\",\"b\":\"\",\"c\":1.618,\"d\":{\"e\":\"four\",\"f\":[\"five\",\"six\",true,false,null]}}"]);
|
106
|
+
expect(wiki.filterTiddlers("[{First}format:json[4]]")).toEqual(["{\n \"a\": \"one\",\n \"b\": \"\",\n \"c\": 1.618,\n \"d\": {\n \"e\": \"four\",\n \"f\": [\n \"five\",\n \"six\",\n true,\n false,\n null\n ]\n }\n}"]);
|
107
|
+
expect(wiki.filterTiddlers("[{First}format:json[ ]]")).toEqual(["{\n \"a\": \"one\",\n \"b\": \"\",\n \"c\": 1.618,\n \"d\": {\n \"e\": \"four\",\n \"f\": [\n \"five\",\n \"six\",\n true,\n false,\n null\n ]\n }\n}"]);
|
108
|
+
});
|
109
|
+
|
110
|
+
});
|
111
|
+
|
112
|
+
})();
|
@@ -59,10 +59,35 @@ describe("LinkedList class tests", function() {
|
|
59
59
|
return pair;
|
60
60
|
};
|
61
61
|
|
62
|
+
// This returns an array in reverse using a LinkList's prev member. Thus
|
63
|
+
// testing that prev is not corrupt. It doesn't exist in the LinkList module
|
64
|
+
// itself to avoid full support for it. Maybe that will change later.
|
65
|
+
function toReverseArray(list) {
|
66
|
+
var visits = Object.create(null),
|
67
|
+
value = list.prev.get(null),
|
68
|
+
array = [];
|
69
|
+
while(value !== null) {
|
70
|
+
array.push(value);
|
71
|
+
var prev = list.prev.get(value);
|
72
|
+
if(Array.isArray(prev)) {
|
73
|
+
var i = (visits[value] || prev.length) - 1;
|
74
|
+
visits[value] = i;
|
75
|
+
value = prev[i];
|
76
|
+
} else {
|
77
|
+
value = prev;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
return array;
|
81
|
+
};
|
82
|
+
|
62
83
|
// compares an array and a linked list to make sure they match up
|
63
84
|
function compare(pair) {
|
64
|
-
|
85
|
+
var forward = pair.list.toArray();
|
86
|
+
expect(forward).toEqual(pair.array);
|
65
87
|
expect(pair.list.length).toBe(pair.array.length);
|
88
|
+
// Now we reverse the linked list and test it back to front, thus
|
89
|
+
// confirming that the list.prev isn't corrupt.
|
90
|
+
expect(toReverseArray(pair.list)).toEqual(forward.reverse());
|
66
91
|
return pair;
|
67
92
|
};
|
68
93
|
|
@@ -115,7 +140,7 @@ describe("LinkedList class tests", function() {
|
|
115
140
|
// for list.last to be anything other than a string, but I
|
116
141
|
// can't figure out how to make that corruption manifest a problem.
|
117
142
|
// So I dig into its private members. Bleh...
|
118
|
-
expect(typeof pair.list.
|
143
|
+
expect(typeof pair.list.prev.get(null)).toBe("string");
|
119
144
|
});
|
120
145
|
|
121
146
|
it("can pushTop value linked to by a repeat item", function() {
|
@@ -137,6 +162,21 @@ describe("LinkedList class tests", function() {
|
|
137
162
|
compare(pushTop(newPair(["C", "X", "A", "A"]), "X")); // CAAX
|
138
163
|
});
|
139
164
|
|
165
|
+
it("can remove all instances of a multi-instance value #7059", function() {
|
166
|
+
// Remove duplicate items when one or more items between the duplicates
|
167
|
+
// are not removed and the first of those duplicates is not the first item.
|
168
|
+
// These tests used to fail prior to the fix to #7059
|
169
|
+
compare(remove(newPair(["A", "A", "C", "B", "A"]), ["A", "C", "A", "A"])); // B
|
170
|
+
compare(remove(newPair(["A", "A", "C", "B", "A"]), ["C", "A", "A", "A"])); // B
|
171
|
+
compare(remove(newPair(["A", "A", "C", "B", "A"]), ["A", "A", "A"])); // CB
|
172
|
+
compare(remove(newPair(["A", "A", "C", "B", "A"]), ["A", "A", "A", "C"])); // B
|
173
|
+
compare(remove(newPair(["A", "A", "B", "A"]), ["A", "A", "A"])); // B
|
174
|
+
compare(remove(newPair(["A", "A", "B", "A"]), ["A", "A", "A", "B"])); //
|
175
|
+
compare(remove(newPair(["C", "A", "B", "A"]), ["C", "A", "A"])); // B
|
176
|
+
compare(remove(newPair(["C", "A", "B", "A", "C"]), ["C", "A", "A", "C"])); // B
|
177
|
+
compare(remove(newPair(["B", "A", "B", "A"]), ["B", "A", "A"])); // B
|
178
|
+
});
|
179
|
+
|
140
180
|
it("can handle particularly nasty pushTop pitfall", function() {
|
141
181
|
var pair = newPair(["A", "B", "A", "C"]);
|
142
182
|
pushTop(pair, "A"); // BACA
|
@@ -0,0 +1,63 @@
|
|
1
|
+
/*\
|
2
|
+
title: test-popup.js
|
3
|
+
type: application/javascript
|
4
|
+
tags: [[$:/tags/test-spec]]
|
5
|
+
|
6
|
+
Tests some utility function of the Popup prototype.
|
7
|
+
|
8
|
+
\*/
|
9
|
+
(function(){
|
10
|
+
|
11
|
+
/*jslint node: true, browser: true */
|
12
|
+
/*global $tw: false */
|
13
|
+
"use strict";
|
14
|
+
|
15
|
+
describe("Popup tests", function() {
|
16
|
+
|
17
|
+
it("parseCoordinates should parse valid coordinates", function() {
|
18
|
+
var popup = require("$:/core/modules/utils/dom/popup.js");
|
19
|
+
|
20
|
+
expect(popup.parseCoordinates("(1,2,3,4)")).toEqual({absolute: false, left: 1, top: 2, width: 3, height: 4});
|
21
|
+
expect(popup.parseCoordinates("(1.5,2.6,3.7,4.8)")).toEqual({absolute: false, left: 1.5, top: 2.6, width: 3.7, height: 4.8});
|
22
|
+
expect(popup.parseCoordinates("@(1,2,3,4)")).toEqual({absolute: true, left: 1, top: 2, width: 3, height: 4});
|
23
|
+
expect(popup.parseCoordinates("@(1.5,2.6,3.7,4.8)")).toEqual({absolute: true, left: 1.5, top: 2.6, width: 3.7, height: 4.8});
|
24
|
+
});
|
25
|
+
|
26
|
+
it("parseCoordinates should not parse invalid coordinates", function() {
|
27
|
+
var popup = require("$:/core/modules/utils/dom/popup.js");
|
28
|
+
|
29
|
+
expect(popup.parseCoordinates("#(1,2,3,4)")).toEqual(false);
|
30
|
+
expect(popup.parseCoordinates("(1,2,3,4")).toEqual(false);
|
31
|
+
expect(popup.parseCoordinates("(1,2,3)")).toEqual(false);
|
32
|
+
});
|
33
|
+
|
34
|
+
it("buildCoordinates should create valid coordinates", function() {
|
35
|
+
var popup = require("$:/core/modules/utils/dom/popup.js");
|
36
|
+
|
37
|
+
var coordinates = {
|
38
|
+
left: 1.5,
|
39
|
+
top: 2.6,
|
40
|
+
width: 3.7,
|
41
|
+
height: 4.8
|
42
|
+
};
|
43
|
+
|
44
|
+
expect(popup.buildCoordinates(popup.coordinatePrefix.csOffsetParent, coordinates)).toEqual("(1.5,2.6,3.7,4.8)");
|
45
|
+
expect(popup.buildCoordinates(popup.coordinatePrefix.csAbsolute, coordinates)).toEqual("@(1.5,2.6,3.7,4.8)");
|
46
|
+
});
|
47
|
+
|
48
|
+
it("buildCoordinates should detect invalid input", function() {
|
49
|
+
var popup = require("$:/core/modules/utils/dom/popup.js");
|
50
|
+
|
51
|
+
var coordinates = {
|
52
|
+
left: "invalid",
|
53
|
+
top: 2.6,
|
54
|
+
width: 3.7,
|
55
|
+
height: 4.8
|
56
|
+
};
|
57
|
+
|
58
|
+
expect(popup.buildCoordinates(popup.coordinatePrefix.csOffsetParent, coordinates)).toEqual("(0,0,0,0)");
|
59
|
+
expect(popup.buildCoordinates("dummy", coordinates)).toEqual("(0,0,0,0)");
|
60
|
+
});
|
61
|
+
});
|
62
|
+
|
63
|
+
})();
|
@@ -78,6 +78,7 @@ describe("Utility tests", function() {
|
|
78
78
|
expect(fds(d,"ddd hh mm ssss")).toBe("Sun 17 41 2828");
|
79
79
|
expect(fds(d,"MM0DD")).toBe("1109");
|
80
80
|
expect(fds(d,"MM0\\D\\D")).toBe("110DD");
|
81
|
+
expect(fds(d,"TIMESTAMP")).toBe(d.getTime().toString());
|
81
82
|
const day = d.getUTCDate();
|
82
83
|
const dayStr = ("" + day).padStart(2, '0');
|
83
84
|
const hours = d.getUTCHours();
|
@@ -63,6 +63,22 @@ describe("WikiText tests", function() {
|
|
63
63
|
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","@@color:red;\n<div>\n\nContent</div>\n@@")).toBe("<div style=\"color:red;\"><p>Content</p></div>");
|
64
64
|
expect(wiki.renderText("text/html","text/vnd-tiddlywiki","@@color:red;\n---\n@@")).toBe("<hr style=\"color:red;\">");
|
65
65
|
});
|
66
|
+
it("handles inline style wikitext notation", function() {
|
67
|
+
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
|
68
|
+
"some @@highlighted@@ text")).toBe('<p>some <span class="tc-inline-style">highlighted</span> text</p>');
|
69
|
+
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
|
70
|
+
"some @@color:green;.tc-inline-style 1 style and 1 class@@ text")).toBe('<p>some <span class=" tc-inline-style " style="color:green;">1 style and 1 class</span> text</p>');
|
71
|
+
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
|
72
|
+
"some @@background-color:red;red@@ text")).toBe('<p>some <span style="background-color:red;">red</span> text</p>');
|
73
|
+
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
|
74
|
+
"some @@.myClass class@@ text")).toBe('<p>some <span class=" myClass ">class</span> text</p>');
|
75
|
+
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
|
76
|
+
"some @@.myClass.secondClass 2 classes@@ text")).toBe('<p>some <span class=" myClass secondClass ">2 classes</span> text</p>');
|
77
|
+
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
|
78
|
+
"some @@background:red;.myClass style and class@@ text")).toBe('<p>some <span class=" myClass " style="background:red;">style and class</span> text</p>');
|
79
|
+
expect(wiki.renderText("text/html","text/vnd-tiddlywiki",
|
80
|
+
"some @@background:red;color:white;.myClass 2 style and 1 class@@ text")).toBe('<p>some <span class=" myClass " style="background:red;color:white;">2 style and 1 class</span> text</p>');
|
81
|
+
});
|
66
82
|
});
|
67
83
|
|
68
84
|
})();
|
@@ -1,5 +1,5 @@
|
|
1
1
|
created: 20220721200137586
|
2
|
-
modified:
|
2
|
+
modified: 20220819200137586
|
3
3
|
tags: [[Table of Contents]]
|
4
4
|
title: Code of Conduct
|
5
5
|
type: text/vnd.tiddlywiki
|
@@ -17,6 +17,7 @@ These principles guide technical and non-technical decisions, and help contribut
|
|
17
17
|
* We recognise that the motivation for sharing and helping is usually for appreciation, and not financial gain, and so we take care to acknowledge and ''thank the people who enrich the community by sharing what they have created''
|
18
18
|
* While we are united in our interest in TiddlyWiki, we differ in every other conceivable way. We choose to focus on what unites us, and ''avoid unnecessarily mixing contentious topics like religion and politics''
|
19
19
|
* We treat each other with respect, and start with the assumption that ''others are acting in good faith''
|
20
|
+
* We avoid discriminatory language
|
20
21
|
* We try to use our strength as a community to help others
|
21
22
|
* We avoid responding when angry or upset because we try to de-escalate conflict
|
22
23
|
* We make sure we critique ideas, not people
|
@@ -27,4 +28,6 @@ These principles guide technical and non-technical decisions, and help contribut
|
|
27
28
|
|
28
29
|
Our discussions are in English. It is not the first language of many people in the community, nor do we all share the same cultural background and reference points. So we take care to use language that is clear and unambigous, and avoid cultural references or jokes that will not be widely understood.
|
29
30
|
|
31
|
+
It is not acceptable to make jokes or other comments that discriminate by race, gender, sexuality, or other protected characteristic.
|
32
|
+
|
30
33
|
As an inclusive community, we are committed to making sure that TiddlyWiki is an accessible tool that understands the needs of people with disabilities.
|
@@ -14,10 +14,10 @@ We do need a small amount of money on an ongoing basis to pay the costs of runni
|
|
14
14
|
|
15
15
|
We use Open Collective to allow you to contribute towards these costs. You can contribute a one-off donation, or make an ongoing monthly commitment. Find out more:
|
16
16
|
|
17
|
-
https://opencollective.com/
|
17
|
+
https://opencollective.com/tiddlywiki
|
18
18
|
|
19
19
|
!! Community Projects
|
20
20
|
|
21
21
|
We also use Open Collective to raise funds to support the development of major new features, plugins or community infrastructure. These projects generally involve a small team of individuals getting together and making a proposal to the rest of the community.
|
22
22
|
|
23
|
-
For example, the [[File Upload Plugin Project|https://opencollective.com/
|
23
|
+
For example, the [[File Upload Plugin Project|https://opencollective.com/tiddlywiki/projects/tiddlywiki-file-upload]] aims to radically simplify working with attached images.
|
@@ -0,0 +1,81 @@
|
|
1
|
+
created: 20220817153236691
|
2
|
+
modified: 20221010074314452
|
3
|
+
tags: [[Tables in WikiText]]
|
4
|
+
title: Tables in WikiText CSS Utility Classes
|
5
|
+
type: text/vnd.tiddlywiki
|
6
|
+
|
7
|
+
~WikiText tables can be styled by applying CSS classes. For basic information on wiktext tables and how to style them, see [[Tables in WikiText]].
|
8
|
+
|
9
|
+
{{Table Classes, Captions, Headers and Footers}}
|
10
|
+
|
11
|
+
As seen above, the resulting table is left aligned and grows to fit the content. This is the browser default layout behaviour for tables. To get another behaviour, various CSS classes can be added into the "`k` row".
|
12
|
+
|
13
|
+
! Utility Classes
|
14
|
+
|
15
|
+
{{Utility Classes}}
|
16
|
+
|
17
|
+
! Examples
|
18
|
+
|
19
|
+
The following examples apply the style classes to tables but the "General Utility Classes" can as well be used on DIVs or other [[HTML block elements|HTML Block Elements]]
|
20
|
+
|
21
|
+
!! Centred Table
|
22
|
+
|
23
|
+
To center a table horizontally, use `tc-center`:
|
24
|
+
|
25
|
+
<<wikitext-example-without-html src:"""|tc-center|k
|
26
|
+
|This is a caption |c
|
27
|
+
|Cell1 |Cell2 |
|
28
|
+
|Cell3 |Cell4 |
|
29
|
+
|Header|Header|h
|
30
|
+
|Footer|Footer|f
|
31
|
+
""">>
|
32
|
+
|
33
|
+
!! Centred Table, 80% Width
|
34
|
+
|
35
|
+
To add empty left and right margins to a table that is otherwise full-tiddler-width, you can use `tc-max-width-80`
|
36
|
+
|
37
|
+
<<wikitext-example-without-html src:"""|tc-center tc-max-width-80|k
|
38
|
+
|This is a caption |c
|
39
|
+
|Cell1 |<<.lorem>> |
|
40
|
+
|<<.lorem>> |Cell4 |
|
41
|
+
|Header|Header|h
|
42
|
+
""">>
|
43
|
+
|
44
|
+
!! Table with Maximum Width
|
45
|
+
|
46
|
+
To expand a table to full tiddler width, use `tc-max-width`
|
47
|
+
|
48
|
+
<<wikitext-example-without-html src:"""|tc-max-width|k
|
49
|
+
|Header|Header|h
|
50
|
+
|Cell1 |Cell2 |
|
51
|
+
|Cell3 |Cell4 |
|
52
|
+
""">>
|
53
|
+
|
54
|
+
!! Table with First Column Minimum Width
|
55
|
+
|
56
|
+
The following example shows a simple "form" where the first columns width is adjusted to its content by means of `tc-first-col-min-width`
|
57
|
+
|
58
|
+
<<wikitext-example-without-html src:"""|tc-max-width tc-first-col-min-width|k
|
59
|
+
|Header|Header|h
|
60
|
+
|Cell1 |<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
|
61
|
+
|Cell3 |<$edit-text tiddler="$:/temp/test-table-input" field="text"/> |
|
62
|
+
""">>
|
63
|
+
|
64
|
+
!! Table with Maximum Width ~TextWidgets
|
65
|
+
|
66
|
+
Here, the previous "form" is styled further to give the [[TextWidget]]s full width by adding the class `tc-edit-max-width`
|
67
|
+
|
68
|
+
<<wikitext-example-without-html src:"""|tc-max-width tc-first-col-min-width tc-edit-max-width|k
|
69
|
+
|Header|Header|h
|
70
|
+
|Cell1 |<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
|
71
|
+
|Cell3 |<$edit-text tiddler="$:/temp/test-table-input" field="text"/> |
|
72
|
+
""">>
|
73
|
+
|
74
|
+
!! Table with No Borders
|
75
|
+
|
76
|
+
The following is a table with maximum width. It contains [[TextWidget]]s with maximum width. The first column is set to be minimum width. Further, all links in the first column are set to __not__ line break (wrap) regardless of window resize.
|
77
|
+
|
78
|
+
<<wikitext-example-without-html src:"""|tc-max-width tc-first-col-min-width tc-edit-max-width tc-table-no-border tc-first-link-nowrap|k
|
79
|
+
| Cell1|<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
|
80
|
+
|^ [[Link to a tiddler]]<br>some more text|<$edit-text tiddler="$:/temp/test-table-input" field="text"/> |
|
81
|
+
""">>
|
Binary file
|
@@ -1,3 +1,3 @@
|
|
1
1
|
title: $:/tags/TiddlyWikiSites
|
2
|
-
list: $:/_tw_shared/sites/tiddlywiki.com $:/_tw_shared/sites/tiddlywiki.org $:/_tw_shared/sites/talk.tiddlywiki.org $:/_tw_shared/sites/links.tiddlywiki.org $:/_tw_shared/sites/tiddlywiki.com.upgrade $:/_tw_shared/sites/tiddlywiki.com.dev $:/_tw_shared/sites/tiddlywiki.com.prerelease $:/_tw_shared/sites/classic.tiddlywiki.com
|
2
|
+
list: $:/_tw_shared/sites/tiddlywiki.com $:/_tw_shared/sites/tiddlywiki.org $:/_tw_shared/sites/talk.tiddlywiki.org $:/_tw_shared/sites/links.tiddlywiki.org $:/_tw_shared/sites/tiddlywiki.com.upgrade $:/_tw_shared/sites/tiddlywiki.com.dev $:/_tw_shared/sites/tiddlywiki.com.prerelease $:/_tw_shared/sites/classic.tiddlywiki.com $:/_tw_shared/sites/marketplace
|
3
3
|
tags: TiddlyWikiSitesMenu
|
@@ -0,0 +1,19 @@
|
|
1
|
+
title: Funding TiddlyWiki
|
2
|
+
tags: About HelloThere
|
3
|
+
modified: 20221204165636777
|
4
|
+
created: 20221204165636777
|
5
|
+
|
6
|
+
TiddlyWiki is more useful to everybody if it is free to use, with no financial barriers to long term adoption. It is not altruism; we believe that removing or reducing barriers to adoption will help to ensure TiddlyWiki's future by making the community larger and stronger.
|
7
|
+
|
8
|
+
Nonetheless, TiddlyWiki is a relatively big, complex machine that requires a significant amount of ongoing work to maintain and improve. Some community infrastructure also requires monthly fees to operate (notably the [[TiddlyWiki forum|Forums]]).
|
9
|
+
|
10
|
+
The people in the community that do the work have widely varying needs:
|
11
|
+
|
12
|
+
* At one end, a good proportion of the work on TiddlyWiki is performed by community members on a purely voluntary basis. For those people, the satisfaction of helping others is sufficient reward. Indeed, for many people, unpaid voluntary activities are a satisfying antidote to everyday paid work
|
13
|
+
* At the other extreme, JeremyRuston and some other contributors are trying to make a full-time living working on TiddlyWiki by offering commercial products and services around it
|
14
|
+
* In between, there are other people who would appreciate an ocassional token to reward them for their work
|
15
|
+
|
16
|
+
To support these needs in the community, we have two initiatives:
|
17
|
+
|
18
|
+
* We use [[Open Collective]] to collect donations for the infrastructure costs of the Community and to crowdfund specific developments by individuals or organisations
|
19
|
+
* The [[TiddlyWiki Marketplace]] provides a shop window for individuals and organisations offering commercial products and services
|
@@ -0,0 +1,14 @@
|
|
1
|
+
title: Open Collective
|
2
|
+
modified: 20221204165636777
|
3
|
+
created: 20221204165636777
|
4
|
+
tags: About HelloThere [[Open Collective]]
|
5
|
+
|
6
|
+
Open Collective is a platform for transparent fundraising and expenses for projects like TiddlyWiki. It is the official TiddlyWiki community fundraising space.
|
7
|
+
|
8
|
+
https://opencollective.com/tiddlywiki
|
9
|
+
|
10
|
+
You can make a fixed one-time donation, or setup a recurring contribution.
|
11
|
+
|
12
|
+
The main goals listed for donations are to cover basic costs for community infrastructure like the Discourse forum, and a new goal for supporting the TiddlyWiki Core.
|
13
|
+
|
14
|
+
Additionally, the community can make use of the platform for special projects - to pool funds to pay for development, design, or anything else. The [[File Upload Plugin|https://opencollective.com/tiddlywiki/projects/tiddlywiki-file-upload]] is the first of these, and we want to welcome others to launch projects here.
|
@@ -1,9 +1,9 @@
|
|
1
1
|
created: 20141230182901899
|
2
|
-
modified:
|
2
|
+
modified: 20220226205227090
|
3
3
|
tags: [[Community Editions]] [[Community Plugins]]
|
4
4
|
title: "GSD5" by Roma Hicks
|
5
5
|
type: text/vnd.tiddlywiki
|
6
|
-
url: http://gsd5.
|
6
|
+
url: http://gsd5.tiddlyhost.com/
|
7
7
|
|
8
8
|
An adaptation of the [[TiddlyWiki powered GTD® system formerly known as MonkeyGTD|http://mgsd.tiddlyspot.com/]] for TiddlyWiki version 5.
|
9
9
|
|
@@ -0,0 +1,42 @@
|
|
1
|
+
created: 20220810201659784
|
2
|
+
modified: 20220810201659784
|
3
|
+
tags: Concepts
|
4
|
+
title: Coordinate Systems
|
5
|
+
type: text/vnd.tiddlywiki
|
6
|
+
|
7
|
+
TiddlyWiki (primarily the RevealWidget) supports two coordinate systems for positioning popups (see PopupMechanism to learn more about popups).
|
8
|
+
|
9
|
+
<<.from-version "5.2.4">> We introduced absolute coordinates that may not work with all extensions and plugins. For maximum backwards compatibility, use absolute coordinates only where necessary.
|
10
|
+
|
11
|
+
!! Relative coordinate system
|
12
|
+
|
13
|
+
The default coordinate system is relative to the nearest positioned ancestor element. This is either:
|
14
|
+
|
15
|
+
* an element with a non-static position, or
|
16
|
+
* a ''td'', ''th'', ''table'' in case the element itself is static positioned.
|
17
|
+
|
18
|
+
For tiddlers the nearest positioned ancestor element mostly is the body of the tiddler. Read the next chapter to learn about the exceptions.
|
19
|
+
|
20
|
+
Relative coordinates are expressed in the form ''(x,y,w,h)''. Where ''x'' and ''y'' represent the position and ''w'' and ''h'' the width and height of the element.
|
21
|
+
|
22
|
+
!! Absolute coordinate system
|
23
|
+
|
24
|
+
The relative coordinate system works flawless most of the time. Problems occure if the target element (for example, a popup) and the source element (the triggering button) do not share the same positioned ancherstor element. This is often the case if the popup is declared outside a table and the triggering button is declared within a table cell. In this case the coordiante systems have different origins and the popup will be displayed in the wrong location.
|
25
|
+
|
26
|
+
Absolute coordinates can fix this problem by using the root element of the page (the upper-left corner of the page) as the origin of the coordinate system. Absolute coordinates are expressed in the form ''@(x,y,w,h)''. Where ''x'' and ''y'' represent the position and ''w'' and ''h'' the width and height of the element. The leading ''@''-symbol marks these coordinates as absolute.
|
27
|
+
|
28
|
+
The ButtonWidget has an option (''popupAbsCoords'') to put absolute coordinates into the state tiddler. The DraggableWidget and the EventCatcherWidget provide the absolute coordinate of an event within the attribute `tv-popup-abs-coords`.
|
29
|
+
|
30
|
+
|
31
|
+
!! Example
|
32
|
+
|
33
|
+
The following example shows a popup that is triggerd from within a table cell. The table cell is the nearest positioned ancestor element. The popup was defined outside the table cell. The button using relative coordinates will open the popup in the wrong location because the button and the popup do not agree on the same coordinate system. Using absolute coordinates fixes this problem.
|
34
|
+
|
35
|
+
<<wikitext-example-without-html '<$reveal type="popup" state="$:/state/CoordinateSampleReveal">
|
36
|
+
<div class="tc-drop-down">
|
37
|
+
Popup
|
38
|
+
</div>
|
39
|
+
</$reveal>
|
40
|
+
|
41
|
+
| Table Row 1 |<$button popup="$:/state/CoordinateSampleReveal">Relative coordinates</$button>|
|
42
|
+
| Table Row 2 |<$button popup="$:/state/CoordinateSampleReveal" popupAbsCoords="yes">Absolute coordinates</$button>|'>>
|