tiddlywiki 5.2.3 → 5.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/es-ES/tiddlers/GettingStarted_-_Chrome.tid +1 -1
- package/editions/es-ES/tiddlers/Saving_with_the_HTML5_fallback_saver.tid +1 -27
- package/editions/es-ES/tiddlers/Saving_with_the_HTML5_saver.tid +35 -0
- package/editions/fr-FR/tiddlers/$__editions_tw5.com_doc-macros.tid +1 -1
- package/editions/fr-FR/tiddlers/GettingStarted - Chrome.tid +1 -1
- package/editions/fr-FR/tiddlers/Saving with the HTML5 saver.tid +23 -0
- package/editions/fr-FR/tiddlers/saving/Saving with the HTML5 fallback saver.tid +1 -22
- 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.6.tid +107 -0
- 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/RegExp in Tiddlywiki by Mohammad.tid +1 -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/community/resources/_file-backups_ Extension Firefox by pmario.tid +1 -1
- package/editions/tw5.com/tiddlers/community/resources/_savetiddlers_ Extension for Chrome and Firefox by buggyj.tid +1 -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 - Chrome.tid +2 -2
- 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 +144 -0
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.5.tid +25 -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 with the HTML5 fallback saver.tid +3 -23
- package/editions/tw5.com/tiddlers/saving/Saving with the HTML5 saver.tid +27 -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 +91 -87
- package/languages/es-ES/ControlPanel.multids +19 -2
- package/languages/es-ES/Docs/PaletteColours.multids +2 -2
- package/languages/es-ES/EditTemplate.multids +3 -0
- package/languages/es-ES/Fields.multids +6 -5
- package/languages/es-ES/GettingStarted.tid +4 -3
- package/languages/es-ES/Help/commands.tid +18 -0
- 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 +6 -0
- package/package.json +1 -1
- package/plugins/tiddlywiki/bibtex/deserializer.js +2 -2
- 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 +114 -9
- package/editions/fr-FR/tiddlers/$__core_ui_TagTemplate.tid +0 -33
- package/editions/prerelease/tiddlers/Release 5.2.4.tid +0 -59
- 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
package/bin/build-site.sh
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
# Default to the current version number for building the plugin library
|
6
6
|
|
7
7
|
if [ -z "$TW5_BUILD_VERSION" ]; then
|
8
|
-
TW5_BUILD_VERSION=v5.2.
|
8
|
+
TW5_BUILD_VERSION=v5.2.5
|
9
9
|
fi
|
10
10
|
|
11
11
|
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"
|
@@ -233,6 +233,15 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|
233
233
|
--build index \
|
234
234
|
|| exit 1
|
235
235
|
|
236
|
+
# /editions/twitter-archivist/index.html Twitter Archivist edition
|
237
|
+
node $TW5_BUILD_TIDDLYWIKI \
|
238
|
+
./editions/twitter-archivist \
|
239
|
+
--verbose \
|
240
|
+
--load $TW5_BUILD_OUTPUT/build.tid \
|
241
|
+
--output $TW5_BUILD_OUTPUT/editions/twitter-archivist/ \
|
242
|
+
--build index \
|
243
|
+
|| exit 1
|
244
|
+
|
236
245
|
######################################################
|
237
246
|
#
|
238
247
|
# Plugin demos
|
@@ -450,7 +459,7 @@ node $TW5_BUILD_TIDDLYWIKI \
|
|
450
459
|
--verbose \
|
451
460
|
--load $TW5_BUILD_OUTPUT/build.tid \
|
452
461
|
--output $TW5_BUILD_OUTPUT/library/$TW5_BUILD_VERSION \
|
453
|
-
--build \
|
462
|
+
--build library\
|
454
463
|
|| exit 1
|
455
464
|
|
456
465
|
# Delete the temporary build tiddler
|
package/bin/test.sh
CHANGED
package/boot/boot.js
CHANGED
@@ -1230,13 +1230,16 @@ $tw.Wiki = function(options) {
|
|
1230
1230
|
this.getTiddler = function(title) {
|
1231
1231
|
if(title) {
|
1232
1232
|
var t = tiddlers[title];
|
1233
|
-
if(t
|
1233
|
+
if(t !== undefined) {
|
1234
1234
|
return t;
|
1235
|
-
} else
|
1236
|
-
|
1235
|
+
} else {
|
1236
|
+
var s = shadowTiddlers[title];
|
1237
|
+
if(s !== undefined) {
|
1238
|
+
return s.tiddler;
|
1239
|
+
}
|
1237
1240
|
}
|
1238
|
-
return undefined;
|
1239
1241
|
}
|
1242
|
+
return undefined;
|
1240
1243
|
};
|
1241
1244
|
|
1242
1245
|
// Get an array of all tiddler titles
|
@@ -2400,11 +2403,11 @@ $tw.boot.initStartup = function(options) {
|
|
2400
2403
|
$tw.utils.registerFileType("application/x-font-ttf","base64",".woff");
|
2401
2404
|
$tw.utils.registerFileType("application/font-woff2","base64",".woff2");
|
2402
2405
|
$tw.utils.registerFileType("audio/ogg","base64",".ogg");
|
2406
|
+
$tw.utils.registerFileType("audio/mp4","base64",[".mp4",".m4a"]);
|
2403
2407
|
$tw.utils.registerFileType("video/ogg","base64",[".ogm",".ogv",".ogg"]);
|
2404
2408
|
$tw.utils.registerFileType("video/webm","base64",".webm");
|
2405
2409
|
$tw.utils.registerFileType("video/mp4","base64",".mp4");
|
2406
2410
|
$tw.utils.registerFileType("audio/mp3","base64",".mp3");
|
2407
|
-
$tw.utils.registerFileType("audio/mp4","base64",[".mp4",".m4a"]);
|
2408
2411
|
$tw.utils.registerFileType("text/markdown","utf8",[".md",".markdown"],{deserializerType:"text/x-markdown"});
|
2409
2412
|
$tw.utils.registerFileType("text/x-markdown","utf8",[".md",".markdown"]);
|
2410
2413
|
$tw.utils.registerFileType("application/enex+xml","utf8",".enex");
|
@@ -2416,7 +2419,7 @@ $tw.boot.initStartup = function(options) {
|
|
2416
2419
|
$tw.utils.registerFileType("application/epub+zip","base64",".epub");
|
2417
2420
|
$tw.utils.registerFileType("application/octet-stream","base64",".octet-stream");
|
2418
2421
|
// Create the wiki store for the app
|
2419
|
-
$tw.wiki = new $tw.Wiki();
|
2422
|
+
$tw.wiki = new $tw.Wiki($tw.safeMode && {enableIndexers: []});
|
2420
2423
|
// Install built in tiddler fields modules
|
2421
2424
|
$tw.Tiddler.fieldModules = $tw.modules.getModulesByTypeAsHashmap("tiddlerfield");
|
2422
2425
|
// Install the tiddler deserializer modules
|
@@ -0,0 +1,4 @@
|
|
1
|
+
title: $:/core/images/layout-button
|
2
|
+
tags: $:/tags/Image
|
3
|
+
|
4
|
+
<svg width="22pt" height="22pt" class="tc-image-layout-button tc-image-button" viewBox="0 0 24 24" stroke-width="1" stroke="none"><path d="M0 0h24v24H0z" fill="none"/><rect x="2" y="2" width="7" height="7" rx="2"/><rect x="2" y="13" width="7" height="9" rx="2"/><rect x="12" y="2" width="10" height="20" rx="2"/></svg>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
title: $:/core/images/mastodon
|
2
|
+
tags: $:/tags/Image
|
3
|
+
|
4
|
+
<svg width="22pt" height="22pt" class="tc-image-mastodon tc-image-button" viewBox="0 0 128 128">
|
5
|
+
<path d="M112.716,76.735C111.231,85.764 99.411,95.646 85.836,97.561C78.757,98.559 71.787,99.476 64.355,99.073C52.201,98.415 42.61,95.646 42.61,95.646C42.61,97.044 42.683,98.374 42.829,99.619C44.409,113.79 54.723,114.639 64.493,115.035C74.354,115.434 83.134,112.163 83.134,112.163L83.539,122.695C83.539,122.695 76.642,127.071 64.355,127.875C57.58,128.315 49.167,127.674 39.369,124.61C18.118,117.965 14.463,91.202 13.904,64.048C13.733,55.985 13.839,48.383 13.839,42.024C13.839,14.257 29.238,6.118 29.238,6.118C37.002,1.905 50.326,0.134 64.177,-0L64.517,-0C78.369,0.134 91.701,1.905 99.465,6.118C99.465,6.118 114.864,14.257 114.864,42.024C114.864,42.024 115.057,62.511 112.716,76.735ZM96.7,44.179C96.7,37.307 95.219,31.847 92.245,27.807C89.177,23.767 85.16,21.696 80.174,21.696C74.403,21.696 70.034,24.316 67.146,29.556L64.337,35.118L61.529,29.556C58.64,24.316 54.271,21.696 48.501,21.696C43.514,21.696 39.497,23.767 36.43,27.807C33.455,31.847 31.974,37.307 31.974,44.179L31.974,77.8L43.249,77.8L43.249,45.167C43.249,38.288 45.699,34.796 50.599,34.796C56.017,34.796 58.733,38.938 58.733,47.128L58.733,64.99L69.941,64.99L69.941,47.128C69.941,38.938 72.657,34.796 78.075,34.796C82.975,34.796 85.425,38.288 85.425,45.167L85.425,77.8L96.7,77.8L96.7,44.179Z"/>
|
6
|
+
</svg>
|
@@ -18,6 +18,8 @@ CopyToClipboard/Caption: copy to clipboard
|
|
18
18
|
CopyToClipboard/Hint: Copy this text to the clipboard
|
19
19
|
Delete/Caption: delete
|
20
20
|
Delete/Hint: Delete this tiddler
|
21
|
+
DeleteTiddlers/Caption: delete tiddlers
|
22
|
+
DeleteTiddlers/Hint: Delete tiddlers
|
21
23
|
Edit/Caption: edit
|
22
24
|
Edit/Hint: Edit this tiddler
|
23
25
|
Encryption/Caption: encryption
|
@@ -57,6 +59,8 @@ Home/Caption: home
|
|
57
59
|
Home/Hint: Open the default tiddlers
|
58
60
|
Language/Caption: language
|
59
61
|
Language/Hint: Choose the user interface language
|
62
|
+
LayoutSwitcher/Hint: Open layout switcher
|
63
|
+
LayoutSwitcher/Caption: layout
|
60
64
|
Manager/Caption: tiddler manager
|
61
65
|
Manager/Hint: Open tiddler manager
|
62
66
|
More/Caption: more
|
@@ -7,7 +7,7 @@ Appearance/Hint: Ways to customise the appearance of your TiddlyWiki.
|
|
7
7
|
Basics/AnimDuration/Prompt: Animation duration
|
8
8
|
Basics/AutoFocus/Prompt: Default focus field for new tiddlers
|
9
9
|
Basics/Caption: Basics
|
10
|
-
Basics/DefaultTiddlers/BottomHint: Use [[double square brackets]] for titles with spaces. Or you can choose to
|
10
|
+
Basics/DefaultTiddlers/BottomHint: Use [[double square brackets]] for titles with spaces. Or you can choose to {{retain story ordering||$:/snippets/retain-story-ordering-button}}
|
11
11
|
Basics/DefaultTiddlers/Prompt: Default tiddlers
|
12
12
|
Basics/DefaultTiddlers/TopHint: Choose which tiddlers are displayed at startup
|
13
13
|
Basics/Language/Prompt: Hello! Current language:
|
@@ -90,8 +90,8 @@ Plugins/Languages/Caption: Languages
|
|
90
90
|
Plugins/Languages/Hint: Language pack plugins
|
91
91
|
Plugins/NoInfoFound/Hint: No ''"<$text text=<<currentTab>>/>"'' found
|
92
92
|
Plugins/NotInstalled/Hint: This plugin is not currently installed
|
93
|
-
Plugins/OpenPluginLibrary:
|
94
|
-
Plugins/ClosePluginLibrary:
|
93
|
+
Plugins/OpenPluginLibrary: Open plugin library
|
94
|
+
Plugins/ClosePluginLibrary: Close plugin library
|
95
95
|
Plugins/PluginWillRequireReload: (requires reload)
|
96
96
|
Plugins/Plugins/Caption: Plugins
|
97
97
|
Plugins/Plugins/Hint: Plugins
|
@@ -13,7 +13,7 @@ dependents: For a plugin, lists the dependent plugin titles
|
|
13
13
|
description: The descriptive text for a plugin, or a modal dialogue
|
14
14
|
draft.of: For draft tiddlers, contains the title of the tiddler of which this is a draft
|
15
15
|
draft.title: For draft tiddlers, contains the proposed new title of the tiddler
|
16
|
-
footer: The footer text for a
|
16
|
+
footer: The footer text for a modal
|
17
17
|
hide-body: The view template will hide bodies of tiddlers if set to ''yes''
|
18
18
|
icon: The title of the tiddler containing the icon associated with a tiddler
|
19
19
|
library: Indicates that a tiddler should be saved as a JavaScript library if set to ''yes''
|
@@ -28,7 +28,7 @@ plugin-type: The type of plugin in a plugin tiddler
|
|
28
28
|
revision: The revision of the tiddler held at the server
|
29
29
|
released: Date of a TiddlyWiki release
|
30
30
|
source: The source URL associated with a tiddler
|
31
|
-
subtitle: The subtitle text for a
|
31
|
+
subtitle: The subtitle text for a modal
|
32
32
|
tags: A list of tags associated with a tiddler
|
33
33
|
text: The body text of a tiddler
|
34
34
|
throttle.refresh: If present, throttles refreshes of this tiddler
|
@@ -9,9 +9,10 @@ Before you start storing important information in ~TiddlyWiki it is vital to mak
|
|
9
9
|
|
10
10
|
<div class="tc-control-panel">
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
|tc-table-no-border tc-first-col-min-width tc-first-link-nowrap|k
|
13
|
+
| <$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link>|<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
|
14
|
+
| <$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link>|<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
|
15
|
+
|^ <$link to="$:/DefaultTiddlers"><<lingo DefaultTiddlers/Prompt>></$link><br><<lingo DefaultTiddlers/TopHint>>|<$edit tag="textarea" tiddler="$:/DefaultTiddlers"/><br>//<<lingo DefaultTiddlers/BottomHint>>// |
|
15
16
|
</div>
|
16
17
|
|
17
18
|
See the [[control panel|$:/ControlPanel]] for more options.
|
@@ -0,0 +1,18 @@
|
|
1
|
+
title: $:/language/Help/commands
|
2
|
+
description: Run commands returned from a filter
|
3
|
+
|
4
|
+
Sequentially run the command tokens returned from a filter
|
5
|
+
|
6
|
+
```
|
7
|
+
--commands <filter>
|
8
|
+
```
|
9
|
+
|
10
|
+
Examples
|
11
|
+
|
12
|
+
```
|
13
|
+
--commands "[enlist{$:/build-commands-as-text}]"
|
14
|
+
```
|
15
|
+
|
16
|
+
```
|
17
|
+
--commands "[{$:/build-commands-as-json}jsonindexes[]] :map[{$:/build-commands-as-json}jsonget<currentTiddler>]"
|
18
|
+
```
|
@@ -8,6 +8,7 @@ CloseAll/Button: close all
|
|
8
8
|
ColourPicker/Recent: Recent:
|
9
9
|
ConfirmCancelTiddler: Do you wish to discard changes to the tiddler "<$text text=<<title>>/>"?
|
10
10
|
ConfirmDeleteTiddler: Do you wish to delete the tiddler "<$text text=<<title>>/>"?
|
11
|
+
ConfirmDeleteTiddlers: Are you sure you wish to delete <<resultCount>> tiddler(s)?
|
11
12
|
ConfirmOverwriteTiddler: Do you wish to overwrite the tiddler "<$text text=<<title>>/>"?
|
12
13
|
ConfirmEditShadowTiddler: You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit "<$text text=<<title>>/>"?
|
13
14
|
ConfirmAction: Do you wish to proceed?
|
@@ -0,0 +1,42 @@
|
|
1
|
+
/*\
|
2
|
+
title: $:/core/modules/commands/commands.js
|
3
|
+
type: application/javascript
|
4
|
+
module-type: command
|
5
|
+
|
6
|
+
Runs the commands returned from a filter
|
7
|
+
|
8
|
+
\*/
|
9
|
+
|
10
|
+
(function() {
|
11
|
+
|
12
|
+
/*jslint node: true, browser: true */
|
13
|
+
/*global $tw: false */
|
14
|
+
"use strict";
|
15
|
+
|
16
|
+
exports.info = {
|
17
|
+
name: "commands",
|
18
|
+
synchronous: true
|
19
|
+
};
|
20
|
+
|
21
|
+
var Command = function(params, commander) {
|
22
|
+
this.params = params;
|
23
|
+
this.commander = commander;
|
24
|
+
};
|
25
|
+
|
26
|
+
Command.prototype.execute = function() {
|
27
|
+
// Parse the filter
|
28
|
+
var filter = this.params[0];
|
29
|
+
if(!filter) {
|
30
|
+
return "No filter specified";
|
31
|
+
}
|
32
|
+
var commands = this.commander.wiki.filterTiddlers(filter)
|
33
|
+
if(commands.length === 0) {
|
34
|
+
return "No tiddlers found for filter '" + filter + "'";
|
35
|
+
}
|
36
|
+
this.commander.addCommandTokens(commands);
|
37
|
+
return null;
|
38
|
+
};
|
39
|
+
|
40
|
+
exports.Command = Command;
|
41
|
+
|
42
|
+
})();
|
@@ -87,7 +87,7 @@ function FramedEngine(options) {
|
|
87
87
|
$tw.utils.addEventListeners(this.domNode,[
|
88
88
|
{name: "click",handlerObject: this,handlerMethod: "handleClickEvent"},
|
89
89
|
{name: "input",handlerObject: this,handlerMethod: "handleInputEvent"},
|
90
|
-
{name: "keydown",handlerObject: this
|
90
|
+
{name: "keydown",handlerObject: this,handlerMethod: "handleKeydownEvent"},
|
91
91
|
{name: "focus",handlerObject: this,handlerMethod: "handleFocusEvent"}
|
92
92
|
]);
|
93
93
|
// Add drag and drop event listeners if fileDrop is enabled
|
@@ -192,6 +192,17 @@ FramedEngine.prototype.handleFocusEvent = function(event) {
|
|
192
192
|
}
|
193
193
|
};
|
194
194
|
|
195
|
+
/*
|
196
|
+
Handle a keydown event
|
197
|
+
*/
|
198
|
+
FramedEngine.prototype.handleKeydownEvent = function(event) {
|
199
|
+
if ($tw.keyboardManager.handleKeydownEvent(event, {onlyPriority: true})) {
|
200
|
+
return true;
|
201
|
+
}
|
202
|
+
|
203
|
+
return this.widget.handleKeydownEvent(event);
|
204
|
+
};
|
205
|
+
|
195
206
|
/*
|
196
207
|
Handle a click
|
197
208
|
*/
|
@@ -115,7 +115,7 @@ function editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {
|
|
115
115
|
// Otherwise, we need to construct a default value for the editor
|
116
116
|
switch(this.editField) {
|
117
117
|
case "text":
|
118
|
-
value = "
|
118
|
+
value = "";
|
119
119
|
type = "text/vnd.tiddlywiki";
|
120
120
|
break;
|
121
121
|
case "title":
|
@@ -298,7 +298,7 @@ function editTextWidgetFactory(toolbarEngine,nonToolbarEngine) {
|
|
298
298
|
Propogate keydown events to our container for the keyboard widgets benefit
|
299
299
|
*/
|
300
300
|
EditTextWidget.prototype.propogateKeydownEvent = function(event) {
|
301
|
-
var newEvent = this.cloneEvent(event,["keyCode","which","metaKey","ctrlKey","altKey","shiftKey"]);
|
301
|
+
var newEvent = this.cloneEvent(event,["keyCode","code","which","key","metaKey","ctrlKey","altKey","shiftKey"]);
|
302
302
|
return !this.parentDomNode.dispatchEvent(newEvent);
|
303
303
|
};
|
304
304
|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
/*\
|
2
|
+
title: $:/core/modules/filters/format/json.js
|
3
|
+
type: application/javascript
|
4
|
+
module-type: formatfilteroperator
|
5
|
+
\*/
|
6
|
+
(function(){
|
7
|
+
|
8
|
+
/*jslint node: true, browser: true */
|
9
|
+
/*global $tw: false */
|
10
|
+
"use strict";
|
11
|
+
|
12
|
+
/*
|
13
|
+
Export our filter function
|
14
|
+
*/
|
15
|
+
exports.json = function(source,operand,options) {
|
16
|
+
var results = [],
|
17
|
+
spaces = null;
|
18
|
+
if(operand) {
|
19
|
+
spaces = /^\d+$/.test(operand) ? parseInt(operand,10) : operand;
|
20
|
+
}
|
21
|
+
source(function(tiddler,title) {
|
22
|
+
var data = $tw.utils.parseJSONSafe(title);
|
23
|
+
try {
|
24
|
+
data = JSON.parse(title);
|
25
|
+
} catch(e) {
|
26
|
+
data = undefined;
|
27
|
+
}
|
28
|
+
if(data !== undefined) {
|
29
|
+
results.push(JSON.stringify(data,null,spaces));
|
30
|
+
}
|
31
|
+
});
|
32
|
+
return results;
|
33
|
+
};
|
34
|
+
|
35
|
+
})();
|
@@ -19,13 +19,13 @@ exports.variable = function(source,prefix,options) {
|
|
19
19
|
var results = [];
|
20
20
|
if(prefix === "!") {
|
21
21
|
source(function(tiddler,title) {
|
22
|
-
if(
|
22
|
+
if(options.widget.getVariable(title) === undefined) {
|
23
23
|
results.push(title);
|
24
24
|
}
|
25
25
|
});
|
26
26
|
} else {
|
27
27
|
source(function(tiddler,title) {
|
28
|
-
if(
|
28
|
+
if(options.widget.getVariable(title) !== undefined) {
|
29
29
|
results.push(title);
|
30
30
|
}
|
31
31
|
});
|
@@ -0,0 +1,186 @@
|
|
1
|
+
/*\
|
2
|
+
title: $:/core/modules/filters/json-ops.js
|
3
|
+
type: application/javascript
|
4
|
+
module-type: filteroperator
|
5
|
+
|
6
|
+
Filter operators for JSON operations
|
7
|
+
|
8
|
+
\*/
|
9
|
+
(function(){
|
10
|
+
|
11
|
+
/*jslint node: true, browser: true */
|
12
|
+
/*global $tw: false */
|
13
|
+
"use strict";
|
14
|
+
|
15
|
+
exports["jsonget"] = function(source,operator,options) {
|
16
|
+
var results = [];
|
17
|
+
source(function(tiddler,title) {
|
18
|
+
var data = $tw.utils.parseJSONSafe(title,title);
|
19
|
+
if(data) {
|
20
|
+
var items = getDataItemValueAsStrings(data,operator.operands);
|
21
|
+
if(items !== undefined) {
|
22
|
+
results.push.apply(results,items);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
});
|
26
|
+
return results;
|
27
|
+
};
|
28
|
+
|
29
|
+
exports["jsonextract"] = function(source,operator,options) {
|
30
|
+
var results = [];
|
31
|
+
source(function(tiddler,title) {
|
32
|
+
var data = $tw.utils.parseJSONSafe(title,title);
|
33
|
+
if(data) {
|
34
|
+
var item = getDataItem(data,operator.operands);
|
35
|
+
if(item !== undefined) {
|
36
|
+
results.push(JSON.stringify(item));
|
37
|
+
}
|
38
|
+
}
|
39
|
+
});
|
40
|
+
return results;
|
41
|
+
};
|
42
|
+
|
43
|
+
exports["jsonindexes"] = function(source,operator,options) {
|
44
|
+
var results = [];
|
45
|
+
source(function(tiddler,title) {
|
46
|
+
var data = $tw.utils.parseJSONSafe(title,title);
|
47
|
+
if(data) {
|
48
|
+
var items = getDataItemKeysAsStrings(data,operator.operands);
|
49
|
+
if(items !== undefined) {
|
50
|
+
results.push.apply(results,items);
|
51
|
+
}
|
52
|
+
}
|
53
|
+
});
|
54
|
+
return results;
|
55
|
+
};
|
56
|
+
|
57
|
+
exports["jsontype"] = function(source,operator,options) {
|
58
|
+
var results = [];
|
59
|
+
source(function(tiddler,title) {
|
60
|
+
var data = $tw.utils.parseJSONSafe(title,title);
|
61
|
+
if(data) {
|
62
|
+
var item = getDataItemType(data,operator.operands);
|
63
|
+
if(item !== undefined) {
|
64
|
+
results.push(item);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
});
|
68
|
+
return results;
|
69
|
+
};
|
70
|
+
|
71
|
+
/*
|
72
|
+
Given a JSON data structure and an array of index strings, return an array of the string representation of the values at the end of the index chain, or "undefined" if any of the index strings are invalid
|
73
|
+
*/
|
74
|
+
function getDataItemValueAsStrings(data,indexes) {
|
75
|
+
// Get the item
|
76
|
+
var item = getDataItem(data,indexes);
|
77
|
+
// Return the item as a string list
|
78
|
+
return convertDataItemValueToStrings(item);
|
79
|
+
}
|
80
|
+
|
81
|
+
/*
|
82
|
+
Given a JSON data structure and an array of index strings, return an array of the string representation of the keys of the item at the end of the index chain, or "undefined" if any of the index strings are invalid
|
83
|
+
*/
|
84
|
+
function getDataItemKeysAsStrings(data,indexes) {
|
85
|
+
// Get the item
|
86
|
+
var item = getDataItem(data,indexes);
|
87
|
+
// Return the item keys as a string
|
88
|
+
return convertDataItemKeysToStrings(item);
|
89
|
+
}
|
90
|
+
|
91
|
+
/*
|
92
|
+
Return an array of the string representation of the values of a data item, or "undefined" if the item is undefined
|
93
|
+
*/
|
94
|
+
function convertDataItemValueToStrings(item) {
|
95
|
+
// Return the item as a string
|
96
|
+
if(item === undefined) {
|
97
|
+
return undefined;
|
98
|
+
} else if(item === null) {
|
99
|
+
return ["null"]
|
100
|
+
} else if(typeof item === "object") {
|
101
|
+
var results = [],i,t;
|
102
|
+
if($tw.utils.isArray(item)) {
|
103
|
+
// Return all the items in arrays recursively
|
104
|
+
for(i=0; i<item.length; i++) {
|
105
|
+
t = convertDataItemValueToStrings(item[i])
|
106
|
+
if(t !== undefined) {
|
107
|
+
results.push.apply(results,t);
|
108
|
+
}
|
109
|
+
}
|
110
|
+
} else {
|
111
|
+
// Return all the values in objects recursively
|
112
|
+
$tw.utils.each(Object.keys(item).sort(),function(key) {
|
113
|
+
t = convertDataItemValueToStrings(item[key]);
|
114
|
+
if(t !== undefined) {
|
115
|
+
results.push.apply(results,t);
|
116
|
+
}
|
117
|
+
});
|
118
|
+
}
|
119
|
+
return results;
|
120
|
+
}
|
121
|
+
return [item.toString()];
|
122
|
+
}
|
123
|
+
|
124
|
+
/*
|
125
|
+
Return an array of the string representation of the keys of a data item, or "undefined" if the item is undefined
|
126
|
+
*/
|
127
|
+
function convertDataItemKeysToStrings(item) {
|
128
|
+
// Return the item as a string
|
129
|
+
if(item === undefined) {
|
130
|
+
return item;
|
131
|
+
} else if(typeof item === "object") {
|
132
|
+
if(item === null) {
|
133
|
+
return [];
|
134
|
+
}
|
135
|
+
var results = [];
|
136
|
+
if($tw.utils.isArray(item)) {
|
137
|
+
for(var i=0; i<item.length; i++) {
|
138
|
+
results.push(i.toString());
|
139
|
+
}
|
140
|
+
return results;
|
141
|
+
} else {
|
142
|
+
$tw.utils.each(Object.keys(item).sort(),function(key) {
|
143
|
+
results.push(key);
|
144
|
+
});
|
145
|
+
return results;
|
146
|
+
}
|
147
|
+
}
|
148
|
+
return [];
|
149
|
+
}
|
150
|
+
|
151
|
+
function getDataItemType(data,indexes) {
|
152
|
+
// Get the item
|
153
|
+
var item = getDataItem(data,indexes);
|
154
|
+
// Return the item type
|
155
|
+
if(item === undefined) {
|
156
|
+
return item;
|
157
|
+
} else if(item === null) {
|
158
|
+
return "null";
|
159
|
+
} else if($tw.utils.isArray(item)) {
|
160
|
+
return "array";
|
161
|
+
} else if(typeof item === "object") {
|
162
|
+
return "object";
|
163
|
+
} else {
|
164
|
+
return typeof item;
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
/*
|
169
|
+
Given a JSON data structure and an array of index strings, return the value at the end of the index chain, or "undefined" if any of the index strings are invalid
|
170
|
+
*/
|
171
|
+
function getDataItem(data,indexes) {
|
172
|
+
if(indexes.length === 0 || (indexes.length === 1 && indexes[0] === "")) {
|
173
|
+
return data;
|
174
|
+
}
|
175
|
+
// Get the item
|
176
|
+
var item = data;
|
177
|
+
for(var i=0; i<indexes.length; i++) {
|
178
|
+
if(item !== undefined) {
|
179
|
+
item = item[indexes[i]];
|
180
|
+
}
|
181
|
+
}
|
182
|
+
return item;
|
183
|
+
}
|
184
|
+
|
185
|
+
})();
|
186
|
+
|
@@ -16,9 +16,15 @@ Filter operator for returning the names of the active variables
|
|
16
16
|
Export our filter function
|
17
17
|
*/
|
18
18
|
exports.variables = function(source,operator,options) {
|
19
|
-
var names = []
|
20
|
-
|
21
|
-
|
19
|
+
var names = [],
|
20
|
+
widget = options.widget;
|
21
|
+
while(widget && !widget.hasOwnProperty("variables")) {
|
22
|
+
widget = widget.parentWidget;
|
23
|
+
}
|
24
|
+
if(widget && widget.variables) {
|
25
|
+
for(var variable in widget.variables) {
|
26
|
+
names.push(variable);
|
27
|
+
}
|
22
28
|
}
|
23
29
|
return names.sort();
|
24
30
|
};
|
package/core/modules/filters.js
CHANGED
@@ -12,6 +12,9 @@ Adds tiddler filtering methods to the $tw.Wiki object.
|
|
12
12
|
/*global $tw: false */
|
13
13
|
"use strict";
|
14
14
|
|
15
|
+
/* Maximum permitted filter recursion depth */
|
16
|
+
var MAX_FILTER_DEPTH = 300;
|
17
|
+
|
15
18
|
/*
|
16
19
|
Parses an operation (i.e. a run) within a filter string
|
17
20
|
operators: Array of array of operator nodes into which results should be inserted
|
@@ -328,7 +331,7 @@ exports.compileFilter = function(filterString) {
|
|
328
331
|
})());
|
329
332
|
});
|
330
333
|
// Return a function that applies the operations to a source iterator of tiddler titles
|
331
|
-
var
|
334
|
+
var fnMeasured = $tw.perf.measure("filter: " + filterString,function filterFunction(source,widget) {
|
332
335
|
if(!source) {
|
333
336
|
source = self.each;
|
334
337
|
} else if(typeof source === "object") { // Array or hashmap
|
@@ -338,9 +341,15 @@ exports.compileFilter = function(filterString) {
|
|
338
341
|
widget = $tw.rootWidget;
|
339
342
|
}
|
340
343
|
var results = new $tw.utils.LinkedList();
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
+
self.filterRecursionCount = (self.filterRecursionCount || 0) + 1;
|
345
|
+
if(self.filterRecursionCount < MAX_FILTER_DEPTH) {
|
346
|
+
$tw.utils.each(operationFunctions,function(operationFunction) {
|
347
|
+
operationFunction(results,source,widget);
|
348
|
+
});
|
349
|
+
} else {
|
350
|
+
results.push("/**-- Excessive filter recursion --**/");
|
351
|
+
}
|
352
|
+
self.filterRecursionCount = self.filterRecursionCount - 1;
|
344
353
|
return results.toArray();
|
345
354
|
});
|
346
355
|
if(this.filterCacheCount >= 2000) {
|
@@ -350,9 +359,9 @@ exports.compileFilter = function(filterString) {
|
|
350
359
|
this.filterCache = Object.create(null);
|
351
360
|
this.filterCacheCount = 0;
|
352
361
|
}
|
353
|
-
this.filterCache[filterString] =
|
362
|
+
this.filterCache[filterString] = fnMeasured;
|
354
363
|
this.filterCacheCount++;
|
355
|
-
return
|
364
|
+
return fnMeasured;
|
356
365
|
};
|
357
366
|
|
358
367
|
})();
|
package/core/modules/keyboard.js
CHANGED
@@ -141,6 +141,7 @@ function KeyboardManager(options) {
|
|
141
141
|
this.shortcutKeysList = [], // Stores the shortcut-key descriptors
|
142
142
|
this.shortcutActionList = [], // Stores the corresponding action strings
|
143
143
|
this.shortcutParsedList = []; // Stores the parsed key descriptors
|
144
|
+
this.shortcutPriorityList = []; // Stores the parsed shortcut priority
|
144
145
|
this.lookupNames = ["shortcuts"];
|
145
146
|
this.lookupNames.push($tw.platform.isMac ? "shortcuts-mac" : "shortcuts-not-mac")
|
146
147
|
this.lookupNames.push($tw.platform.isWindows ? "shortcuts-windows" : "shortcuts-not-windows");
|
@@ -318,12 +319,23 @@ KeyboardManager.prototype.updateShortcutLists = function(tiddlerList) {
|
|
318
319
|
this.shortcutKeysList[i] = tiddlerFields.key !== undefined ? tiddlerFields.key : undefined;
|
319
320
|
this.shortcutActionList[i] = tiddlerFields.text;
|
320
321
|
this.shortcutParsedList[i] = this.shortcutKeysList[i] !== undefined ? this.parseKeyDescriptors(this.shortcutKeysList[i]) : undefined;
|
322
|
+
this.shortcutPriorityList[i] = tiddlerFields.priority === "yes" ? true : false;
|
321
323
|
}
|
322
324
|
};
|
323
325
|
|
324
|
-
|
326
|
+
/*
|
327
|
+
event: the keyboard event object
|
328
|
+
options:
|
329
|
+
onlyPriority: true if only priority global shortcuts should be invoked
|
330
|
+
*/
|
331
|
+
KeyboardManager.prototype.handleKeydownEvent = function(event, options) {
|
332
|
+
options = options || {};
|
325
333
|
var key, action;
|
326
334
|
for(var i=0; i<this.shortcutTiddlers.length; i++) {
|
335
|
+
if(options.onlyPriority && this.shortcutPriorityList[i] !== true) {
|
336
|
+
continue;
|
337
|
+
}
|
338
|
+
|
327
339
|
if(this.shortcutParsedList[i] !== undefined && this.checkKeyDescriptors(event,this.shortcutParsedList[i])) {
|
328
340
|
key = this.shortcutParsedList[i];
|
329
341
|
action = this.shortcutActionList[i];
|