tiddlywiki 5.2.2 → 5.2.3
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/.github/ISSUE_TEMPLATE/bug_report.yml +67 -0
- package/.github/ISSUE_TEMPLATE/config.yml +8 -0
- package/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +8 -0
- package/bin/build-site.sh +1 -1
- package/boot/boot.js +1 -1
- package/contributing.md +1 -1
- package/core/language/en-GB/EditTemplate.multids +1 -0
- package/core/language/en-GB/Help/default.tid +4 -1
- package/core/language/en-GB/Help/render.tid +2 -2
- package/core/language/en-GB/SideBar.multids +1 -0
- package/core/modules/commands/render.js +1 -1
- package/core/modules/commands/rendertiddler.js +1 -0
- package/core/modules/commands/rendertiddlers.js +1 -1
- package/core/modules/commands/save.js +56 -42
- package/core/modules/editor/engines/framed.js +3 -1
- package/core/modules/editor/operations/text/prefix-lines.js +2 -2
- package/core/modules/editor/operations/text/wrap-lines.js +27 -10
- package/core/modules/filterrunprefixes/map.js +10 -2
- package/core/modules/filters/insertafter.js +46 -0
- package/core/modules/filters/insertbefore.js +6 -1
- package/core/modules/filters.js +19 -1
- package/core/modules/savers/put.js +11 -7
- package/core/modules/savers/upload.js +1 -1
- package/core/modules/server/server.js +3 -2
- package/core/modules/startup/browser-messaging.js +4 -2
- package/core/modules/startup/story.js +3 -1
- package/core/modules/utils/dom/dom.js +51 -0
- package/core/modules/utils/dom/dragndrop.js +24 -14
- package/core/modules/utils/dom/notifier.js +2 -1
- package/core/modules/utils/parsetree.js +48 -11
- package/core/modules/utils/utils.js +15 -1
- package/core/modules/widgets/action-setfield.js +12 -14
- package/core/modules/widgets/button.js +6 -1
- package/core/modules/widgets/checkbox.js +124 -15
- package/core/modules/widgets/draggable.js +37 -14
- package/core/modules/widgets/element.js +9 -3
- package/core/modules/widgets/eventcatcher.js +1 -27
- package/core/modules/widgets/image.js +4 -0
- package/core/modules/widgets/let.js +1 -1
- package/core/modules/widgets/scrollable.js +2 -0
- package/core/modules/widgets/widget.js +8 -1
- package/core/modules/wiki.js +1 -1
- package/core/palettes/CupertinoDark.tid +3 -3
- package/core/palettes/GruvBoxDark.tid +2 -2
- package/core/palettes/Nord.tid +2 -2
- package/core/templates/save-lazy-all.tid +2 -2
- package/core/templates/server/static.sidebar.wikitext.tid +1 -1
- package/core/templates/server/static.tiddler.html.tid +2 -2
- package/core/ui/Actions/new-image.tid +1 -0
- package/core/ui/Actions/new-journal.tid +2 -1
- package/core/ui/Actions/new-tiddler.tid +1 -0
- package/core/ui/AdvancedSearch/Filter.tid +50 -10
- package/core/ui/AdvancedSearch/FilterButtons/clear.tid +1 -0
- package/core/ui/AdvancedSearch/FilterButtons/delete.tid +1 -0
- package/core/ui/AdvancedSearch/FilterButtons/dropdown.tid +5 -2
- package/core/ui/AdvancedSearch/FilterButtons/export.tid +1 -0
- package/core/ui/AdvancedSearch/Shadows.tid +54 -12
- package/core/ui/AdvancedSearch/Standard.tid +36 -19
- package/core/ui/AdvancedSearch/System.tid +54 -12
- package/core/ui/AdvancedSearch.tid +1 -0
- package/core/ui/AlertTemplate.tid +10 -1
- package/core/ui/Components/tag-link.tid +1 -0
- package/core/ui/ControlPanel/Advanced.tid +1 -0
- package/core/ui/ControlPanel/Appearance.tid +1 -0
- package/core/ui/ControlPanel/Basics.tid +3 -0
- package/core/ui/ControlPanel/Cascades.tid +1 -0
- package/core/ui/ControlPanel/EditorTypes.tid +1 -0
- package/core/ui/ControlPanel/Info.tid +1 -0
- package/core/ui/ControlPanel/KeyboardShortcuts.tid +18 -7
- package/core/ui/ControlPanel/Modals/AddPlugins.tid +26 -9
- package/core/ui/ControlPanel/Parsing.tid +3 -0
- package/core/ui/ControlPanel/Plugins/Add/Updates.tid +5 -1
- package/core/ui/ControlPanel/Plugins/AddPlugins.tid +4 -1
- package/core/ui/ControlPanel/Plugins.tid +1 -0
- package/core/ui/ControlPanel/Saving/TiddlySpot.tid +2 -1
- package/core/ui/ControlPanel/Saving.tid +1 -0
- package/core/ui/ControlPanel/Settings/DefaultMoreSidebarTab.tid +1 -0
- package/core/ui/ControlPanel/Settings/DefaultSidebarTab.tid +1 -0
- package/core/ui/ControlPanel/Settings/LinkToBehaviour.tid +1 -0
- package/core/ui/ControlPanel/Settings/ToolbarButtonStyle.tid +1 -0
- package/core/ui/ControlPanel/Toolbars/EditorItemTemplate.tid +8 -1
- package/core/ui/ControlPanel/Toolbars/ItemTemplate.tid +11 -1
- package/core/ui/ControlPanel/Toolbars.tid +1 -0
- package/core/ui/ControlPanel.tid +1 -0
- package/core/ui/DefaultSearchResultList.tid +1 -0
- package/core/ui/EditTemplate/Preview/output.tid +1 -1
- package/core/ui/EditTemplate/body/default.tid +8 -5
- package/core/ui/EditTemplate/body-editor.tid +2 -0
- package/core/ui/EditTemplate/controls.tid +1 -0
- package/core/ui/EditTemplate/fieldEditor-default.tid +1 -1
- package/core/ui/EditTemplate/fields.tid +17 -10
- package/core/ui/EditTemplate/shadow.tid +2 -0
- package/core/ui/EditTemplate/title.tid +10 -5
- package/core/ui/EditTemplate.tid +28 -4
- package/core/ui/EditorToolbar/editor-height.tid +1 -0
- package/core/ui/EditorToolbar/excise-dropdown.tid +5 -4
- package/core/ui/EditorToolbar/file-import.tid +4 -0
- package/core/ui/EditorToolbar/link-dropdown.tid +10 -5
- package/core/ui/EditorToolbar/more-dropdown.tid +5 -1
- package/core/ui/EditorToolbar/paint.tid +1 -0
- package/core/ui/EditorToolbar/preview.tid +1 -0
- package/core/ui/EditorToolbar/size-dropdown.tid +6 -1
- package/core/ui/ExportTiddlyWikiCore.tid +15 -5
- package/core/ui/ImportListing.tid +23 -5
- package/core/ui/ImportPreviews/Fields.tid +1 -0
- package/core/ui/KeyboardShortcuts/advanced-search.tid +1 -0
- package/core/ui/KeyboardShortcuts/change-sidebar-layout.tid +4 -2
- package/core/ui/KeyboardShortcuts/new-image.tid +1 -0
- package/core/ui/KeyboardShortcuts/new-journal.tid +1 -0
- package/core/ui/KeyboardShortcuts/new-tiddler.tid +1 -0
- package/core/ui/KeyboardShortcuts/save-wiki.tid +1 -0
- package/core/ui/KeyboardShortcuts/toggle-sidebar.tid +4 -3
- package/core/ui/LayoutSwitcher.tid +16 -4
- package/core/ui/ListItemTemplate.tid +1 -3
- package/core/ui/ListTaggedCascade.tid +1 -0
- package/core/ui/Manager/ItemMainFields.tid +1 -0
- package/core/ui/Manager/ItemSidebarColour.tid +4 -1
- package/core/ui/Manager/ItemSidebarIcon.tid +4 -4
- package/core/ui/Manager/ItemSidebarTools.tid +7 -2
- package/core/ui/Manager.tid +11 -6
- package/core/ui/MissingTemplate.tid +1 -0
- package/core/ui/MoreSideBar/Types.tid +1 -0
- package/core/ui/PageControls/controlpanel.tid +1 -1
- package/core/ui/PageStylesheet.tid +1 -0
- package/core/ui/PageTemplate/story.tid +1 -1
- package/core/ui/PaletteManager.tid +11 -10
- package/core/ui/PluginInfo.tid +1 -0
- package/core/ui/PluginInfoDefaultContents.tid +1 -0
- package/core/ui/SearchResults.tid +8 -6
- package/core/ui/SideBar/More.tid +1 -0
- package/core/ui/SideBar/Open.tid +2 -2
- package/core/ui/SideBarSegments/search.tid +2 -0
- package/core/ui/SideBarSegments/tabs.tid +1 -1
- package/core/ui/TiddlerFieldTemplate.tid +1 -0
- package/core/ui/TiddlerFields.tid +1 -0
- package/core/ui/TiddlerInfo/Advanced/PluginInfo.tid +1 -0
- package/core/ui/TiddlerInfo/Advanced/ShadowInfo.tid +1 -0
- package/core/ui/TiddlerInfo/Advanced.tid +1 -0
- package/core/ui/TiddlerInfo.tid +1 -0
- package/core/ui/TopRightBar/menu.tid +1 -0
- package/core/ui/UntaggedTemplate.tid +1 -0
- package/core/ui/ViewTemplate/body/import.tid +6 -1
- package/core/ui/ViewTemplate/body/plugin.tid +1 -0
- package/core/ui/ViewTemplate/body/rendered-plain-text.tid +7 -0
- package/core/ui/ViewTemplate/body.tid +2 -0
- package/core/ui/ViewTemplate/classic.tid +1 -0
- package/core/ui/ViewTemplate/subtitle/modified.tid +4 -0
- package/core/ui/ViewTemplate/subtitle/modifier.tid +4 -0
- package/core/ui/ViewTemplate/subtitle.tid +6 -2
- package/core/ui/ViewTemplate/tags.tid +1 -0
- package/core/ui/ViewTemplate/title.tid +2 -0
- package/core/ui/ViewTemplate/unfold.tid +1 -0
- package/core/ui/ViewTemplate.tid +1 -1
- package/core/ui/ViewToolbar/new-here.tid +1 -0
- package/core/wiki/allfields.tid +8 -2
- package/core/wiki/config/OfficialPluginLibrary.tid +1 -1
- package/core/wiki/config/ViewTemplateBodyFilters.multids +2 -1
- package/core/wiki/currpalettepreview.tid +7 -2
- package/core/wiki/debugstylesheets.tid +1 -0
- package/core/wiki/download-wiki-button.tid +2 -1
- package/core/wiki/languageswitcher.tid +2 -0
- package/core/wiki/macros/colour-picker.tid +9 -2
- package/core/wiki/macros/copy-to-clipboard.tid +5 -2
- package/core/wiki/macros/diff.tid +4 -3
- package/core/wiki/macros/dumpvariables.tid +1 -0
- package/core/wiki/macros/image-picker.tid +5 -4
- package/core/wiki/macros/keyboard-driven-input.tid +22 -12
- package/core/wiki/macros/list.tid +7 -2
- package/core/wiki/macros/tabs.tid +55 -30
- package/core/wiki/macros/tag-picker.tid +14 -13
- package/core/wiki/macros/tag.tid +10 -5
- package/core/wiki/macros/thumbnails.tid +21 -9
- package/core/wiki/macros/timeline.tid +1 -0
- package/core/wiki/macros/toc.tid +19 -8
- package/core/wiki/macros/translink.tid +1 -0
- package/core/wiki/macros/tree.tid +8 -3
- package/core/wiki/minifocusswitcher.tid +1 -0
- package/core/wiki/minilanguageswitcher.tid +1 -0
- package/core/wiki/minithemeswitcher.tid +2 -1
- package/core/wiki/modules.tid +1 -0
- package/core/wiki/palettepreview.tid +1 -0
- package/core/wiki/paletteswitcher.tid +13 -2
- package/core/wiki/peek-stylesheets.tid +1 -5
- package/core/wiki/tags/ViewTemplateBodyFilter.tid +1 -1
- package/core/wiki/tags/ViewTemplateSubtitle.tid +2 -0
- package/core/wiki/themeswitcher.tid +10 -1
- package/core/wiki/title.tid +2 -1
- package/core/wiki/viewswitcher.tid +1 -0
- package/editions/de-AT/tiddlers/howto/TiddlyWiki und TiddlyDesktop.tid +1 -1
- package/editions/dev/tiddlers/_tw_shared/tiddlywiki.files +5 -0
- package/editions/dev/tiddlers/system/github-fork-ribbon.tid +1 -1
- package/editions/dev/tiddlywiki.info +1 -1
- package/editions/es-ES/tiddlers/TiddlyDesktop.tid +2 -2
- package/editions/fr-FR/tiddlers/Community Links Aggregator.tid +4 -4
- package/editions/fr-FR/tiddlers/Glossaire en-GB -_ fr-FR.tid +2 -1
- package/editions/fr-FR/tiddlers/community/editions/_Noteself_ by Danielo Rodr/303/255guez.tid" +34 -0
- package/editions/fr-FR/tiddlers/community/resources/TW5-firebase_ TiddlyWiki5 for Google Firebase by Peter Neumark.tid +28 -0
- package/editions/fr-FR/tiddlers/community/resources/TiddlyDrive Add-on for Google Drive by Joshua Stubbs.tid +24 -0
- package/editions/fr-FR/tiddlers/community/resources/TiddlyServer by Arlen Beiler.tid +35 -0
- package/editions/fr-FR/tiddlers/community/resources/Twexe_ Single File Tiddlywiki5 executable.tid +30 -0
- package/editions/fr-FR/tiddlers/community/resources/_Timimi_ Extension and executable by Riz.tid +33 -0
- package/editions/fr-FR/tiddlers/community/resources/_file-backups_ Extension for Firefox by pmario.tid +19 -0
- package/editions/fr-FR/tiddlers/community/resources/_savetiddlers_ Extension for Chrome and Firefox by buggyj.tid +17 -0
- package/editions/fr-FR/tiddlers/concepts/Pragma.tid +23 -0
- package/editions/fr-FR/tiddlers/{WikiText.tid → concepts/WikiText.tid} +6 -4
- package/editions/fr-FR/tiddlers/definitions/TiddlyDesktop.tid +19 -0
- package/editions/fr-FR/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid +11 -0
- package/editions/fr-FR/tiddlers/gettingstarted/GettingStarted - Safari.tid +12 -0
- package/editions/fr-FR/tiddlers/{A_Gentle_Guide_to_TiddlyWiki.tid → hellothere/A Gentle Guide to TiddlyWiki.tid } +6 -4
- package/editions/fr-FR/tiddlers/howtos/How to Customize TiddlyDesktop.tid +33 -0
- package/editions/fr-FR/tiddlers/howtos/Windows HTA Hack.tid +17 -0
- package/editions/fr-FR/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid +49 -0
- package/editions/fr-FR/tiddlers/nodejs/Serving TW5 from Android.tid +47 -0
- package/editions/fr-FR/tiddlers/nodejs/TiddlyWiki on Node.js.tid +18 -0
- package/editions/fr-FR/tiddlers/saving/Emergency Tiddler Export.tid +28 -0
- package/editions/fr-FR/tiddlers/saving/Example config-tiddlyweb-host for IIS.tid +9 -0
- package/editions/fr-FR/tiddlers/saving/Example package.json for IIS.tid +15 -0
- package/editions/fr-FR/tiddlers/saving/Example tiddlywiki.info for IIS.tid +18 -0
- package/editions/fr-FR/tiddlers/saving/Example web.config for IIS.tid +32 -0
- package/editions/fr-FR/tiddlers/saving/Installing TiddlyWiki on Microsoft Internet Information Server.tid +69 -0
- package/editions/fr-FR/tiddlers/saving/Saving on Android.tid +36 -0
- package/editions/fr-FR/tiddlers/saving/Saving on Beaker Browser.tid +35 -0
- package/editions/fr-FR/tiddlers/saving/Saving on Browser with File System Access API.tid +20 -0
- package/editions/fr-FR/tiddlers/saving/Saving on TidGi Desktop.tid +28 -0
- package/editions/fr-FR/tiddlers/saving/Saving on TiddlyDesktop.tid +20 -0
- package/editions/fr-FR/tiddlers/saving/Saving on TiddlyHost.tid +18 -0
- package/editions/fr-FR/tiddlers/{Saving on TiddlySpot.tid → saving/Saving on TiddlySpot.tid } +14 -3
- package/editions/fr-FR/tiddlers/saving/Saving on a PHP Server.tid +45 -0
- package/editions/fr-FR/tiddlers/saving/Saving on iPad_iPhone.tid +30 -0
- package/editions/fr-FR/tiddlers/saving/Saving to a Git service.tid +26 -0
- package/editions/fr-FR/tiddlers/saving/Saving via WebDAV.tid +88 -0
- package/editions/fr-FR/tiddlers/saving/Saving via a Minimal Ruby Server.tid +20 -0
- package/editions/fr-FR/tiddlers/saving/Saving with Polly.tid +30 -0
- package/editions/fr-FR/tiddlers/saving/Saving with TW Receiver.tid +16 -0
- package/editions/fr-FR/tiddlers/{Saving with TiddlyFox on Android.tid → saving/Saving with TiddlyFox on Android.tid } +5 -5
- package/editions/fr-FR/tiddlers/saving/Saving with TiddlyFox.tid +31 -0
- package/editions/fr-FR/tiddlers/saving/Saving with TiddlyIE.tid +25 -0
- package/editions/fr-FR/tiddlers/{Saving with the HTML5 fallback saver.tid → saving/Saving with the HTML5 fallback saver.tid } +11 -6
- package/editions/fr-FR/tiddlers/{Saving.tid → saving/Saving.tid} +8 -10
- package/editions/fr-FR/tiddlers/saving/TiddlyWiki Cloud.tid +17 -0
- package/editions/fr-FR/tiddlers/system/$__core_ui_SideBar_Open.tid +40 -0
- package/editions/fr-FR/tiddlers/{$__editions_fr-FR_util-macros.tid → system/$__editions_fr-FR_util-macros.tid} +4 -4
- package/editions/fr-FR/tiddlers/{$__editions_tw5.com_wikitext-macros.tid → system/$__editions_tw5.com_wikitext-macros.tid} +24 -3
- package/editions/fr-FR/tiddlers/system/tw5.com-card-template.tid +17 -0
- package/editions/fr-FR/tiddlers/tiddlydesktop/TiddlyDesktop_Releases.tid +9 -0
- package/editions/fr-FR/tiddlers/widgets/TranscludeWidget.tid +72 -0
- package/editions/fr-FR/tiddlers/{Block_Quotes_in_WikiText.tid → wikitext/Block Quotes in WikiText.tid } +3 -2
- package/editions/fr-FR/tiddlers/{Code Blocks in WikiText.tid → wikitext/Code Blocks in WikiText.tid } +3 -3
- package/editions/fr-FR/tiddlers/{Dashes in WikiText.tid → wikitext/Dashes in WikiText.tid } +3 -3
- package/editions/fr-FR/tiddlers/{Definitions_in_WikiText.tid → wikitext/Definitions in WikiText.tid } +2 -2
- package/editions/fr-FR/tiddlers/{Formatting in WikiText.tid → wikitext/Formatting in WikiText.tid } +5 -6
- package/editions/fr-FR/tiddlers/{Hard Linebreaks in WikiText.tid → wikitext/Hard Linebreaks in WikiText.tid } +6 -5
- package/editions/fr-FR/tiddlers/{Headings in WikiText.tid → wikitext/Headings in WikiText.tid } +4 -4
- package/editions/fr-FR/tiddlers/wikitext/Horizontal Rules in WikiText.tid +17 -0
- package/editions/fr-FR/tiddlers/{Lists_in_WikiText.tid → wikitext/Lists in WikiText.tid } +19 -19
- package/editions/fr-FR/tiddlers/wikitext/Macro Calls in WikiText.tid +27 -0
- package/editions/fr-FR/tiddlers/{Paragraphs in WikiText.tid → wikitext/Paragraphs in WikiText.tid } +8 -7
- package/editions/fr-FR/tiddlers/wikitext/Tables in WikiText.tid +69 -0
- package/editions/fr-FR/tiddlers/wikitext/Transclusion and Substitution.tid +61 -0
- package/editions/fr-FR/tiddlers/{Transclusion_in_WikiText.tid → wikitext/Transclusion in WikiText.tid } +14 -13
- package/editions/fr-FR/tiddlers/{Transclusion_with_Templates.tid → wikitext/Transclusion with Templates.tid } +2 -1
- package/editions/fr-FR/tiddlers/{Typed_Blocks_in_WikiText.tid → wikitext/Typed Blocks in WikiText.tid } +16 -11
- package/editions/fr-FR/tiddlers/{Variables_in_WikiText.tid → wikitext/Variables in WikiText.tid } +7 -8
- package/editions/fr-FR/tiddlers/wikitext/Widgets in WikiText.tid +30 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/Block Mode WikiText (Examples).tid +52 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/Block Mode WikiText.tid +37 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/Inline Mode WikiText.tid +28 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/Places where the parser ignores WikiText.tid +14 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/WikiText Parser Modes.tid +17 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode HTML examples.tid +73 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode transitions.tid +59 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode_ macro examples.tid +56 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/WikiText parser mode_ transclusion examples.tid +56 -0
- package/editions/fr-FR/tiddlers/wikitext/parser/table-example.tid +8 -0
- package/editions/katexdemo/tiddlers/$__DefaultTiddlers.tid +8 -0
- package/editions/katexdemo/tiddlers/HelloThere.tid +4 -1
- package/editions/katexdemo/tiddlers/LaTeX.tid +8 -0
- package/editions/katexdemo/tiddlers/TiddlyWiki.tid +8 -0
- package/editions/katexdemo/tiddlers/TiddlyWiki5.tid +6 -0
- package/editions/prerelease/tiddlers/{Release 5.2.3.tid → Release 5.2.4.tid } +16 -15
- package/editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid +1 -1
- package/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +1 -1
- package/editions/prerelease/tiddlers/system/TiddlyWiki Pre-release.tid +4 -1
- package/editions/prerelease/tiddlywiki.info +0 -2
- package/editions/test/tiddlers/tests/data/tabs-macro/expected-html-tabs-horizontal-all.tid +1 -29
- package/editions/test/tiddlers/tests/data/tabs-macro/expected-html-tabs-horizontal.tid +1 -39
- package/editions/test/tiddlers/tests/data/tabs-macro/expected-html-tabs-vertical.tid +1 -39
- package/editions/test/tiddlers/tests/test-action-widgets.js +43 -0
- package/editions/test/tiddlers/tests/test-checkbox-widget.js +507 -0
- package/editions/test/tiddlers/tests/test-filters.js +49 -2
- package/editions/test/tiddlers/tests/test-prefixes-filter.js +2 -0
- package/editions/test/tiddlers/tests/test-utils.js +6 -0
- package/editions/test/tiddlers/tests/test-widget.js +2 -1
- package/editions/test/tiddlers/tests/test-wikitext-tabs-macro.js +8 -7
- package/editions/test/tiddlers/tests/test-wikitext.js +8 -1
- package/editions/translators/tiddlywiki.info +7 -1
- package/editions/tw.org/tiddlers/$__config_DefaultSidebarTab.tid +6 -0
- package/editions/tw.org/tiddlers/$__core_templates_static.content.tid +18 -0
- package/editions/tw.org/tiddlers/Code of Conduct.tid +30 -0
- package/editions/tw.org/tiddlers/Fundraising.tid +23 -0
- package/editions/tw.org/tiddlers/HelloThere.tid +3 -2
- package/editions/tw.org/tiddlers/Table of Contents.tid +2 -1
- package/editions/tw.org/tiddlers/_tw_shared/tiddlywiki.files +5 -0
- package/editions/tw5.com/tiddlers/$__StoryList.tid +3 -3
- package/editions/tw5.com/tiddlers/Brackets.tid +14 -0
- package/editions/tw5.com/tiddlers/{images → _tw_shared}/Motovun Jack.svg +0 -0
- package/editions/tw5.com/tiddlers/{images → _tw_shared}/Motovun Jack.svg.meta +1 -1
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/classic.tiddlywiki.com.ico +0 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/classic.tiddlywiki.com.ico.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/links.tiddlywiki.org.ico +0 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/links.tiddlywiki.org.ico.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/talk.tiddlywiki.org.svg +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/talk.tiddlywiki.org.svg.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.dev.ico +0 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.dev.ico.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.ico +0 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.ico.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.prerelease.ico +0 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.prerelease.ico.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.upgrade.ico +0 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.com.upgrade.ico.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.org.ico +0 -0
- package/editions/tw5.com/tiddlers/_tw_shared/favicons/tiddlywiki.org.ico.meta +3 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/classic.tiddlywiki.com.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/links.tiddlywiki.org.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/talk.tiddlywiki.org.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.com.dev.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.com.prerelease.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.com.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.com.upgrade.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites/tiddlywiki.org.tid +6 -0
- package/editions/tw5.com/tiddlers/_tw_shared/sites.tid +32 -0
- package/editions/tw5.com/tiddlers/_tw_shared/styles.tid +48 -0
- package/editions/tw5.com/tiddlers/_tw_shared/tags-TiddlyWikiSites.tid +3 -0
- package/editions/tw5.com/tiddlers/community/Community Links Aggregator.tid +1 -1
- package/editions/tw5.com/tiddlers/community/Contributing.tid +2 -1
- package/editions/tw5.com/tiddlers/community/editions/TiddlyMemo by oflg.tid +16 -0
- package/editions/tw5.com/tiddlers/community/resources/Projectify by Nicolas Petton.tid +6 -4
- package/editions/tw5.com/tiddlers/concepts/Customizing EditTemplate Field Rendering.tid +23 -7
- package/editions/tw5.com/tiddlers/concepts/DataTiddlers.tid +4 -21
- package/editions/tw5.com/tiddlers/concepts/DictionaryTiddlers.tid +3 -2
- package/editions/tw5.com/tiddlers/concepts/JSONTiddlers.tid +4 -3
- package/editions/tw5.com/tiddlers/concepts/KeyboardShortcutTiddler.tid +7 -0
- package/editions/tw5.com/tiddlers/concepts/Macros.tid +6 -2
- package/editions/tw5.com/tiddlers/concepts/Order of Tagged Tiddlers.tid +3 -1
- package/editions/tw5.com/tiddlers/concepts/SystemTags.tid +1 -1
- package/editions/tw5.com/tiddlers/concepts/TiddlyWiki5.tid +4 -2
- package/editions/tw5.com/tiddlers/concepts/Title List.tid +4 -1
- package/editions/tw5.com/tiddlers/customising/Customising TiddlyWiki's user interface.tid +2 -2
- package/editions/tw5.com/tiddlers/definitions/JavaScript Object Notation.tid +2 -6
- package/editions/tw5.com/tiddlers/definitions/Node.js.tid +5 -3
- package/editions/tw5.com/tiddlers/definitions/TiddlyDesktop.tid +1 -1
- package/editions/tw5.com/tiddlers/definitions/TiddlyWeb.tid +1 -0
- package/editions/tw5.com/tiddlers/demonstrations/CustomStoryTiddlerTemplateDemo.tid/Styles.tid +0 -1
- package/editions/tw5.com/tiddlers/features/JSON in TiddlyWiki.tid +69 -0
- package/editions/tw5.com/tiddlers/filters/Mathematics Operators.tid +23 -3
- package/editions/tw5.com/tiddlers/filters/examples/insertafter Operator (Examples).tid +28 -0
- package/editions/tw5.com/tiddlers/filters/format.tid +3 -1
- package/editions/tw5.com/tiddlers/filters/insertafter Operator.tid +35 -0
- package/editions/tw5.com/tiddlers/filters/insertbefore Operator.tid +9 -3
- package/editions/tw5.com/tiddlers/filters/syntax/Map Filter Run Prefix (Examples).tid +20 -2
- package/editions/tw5.com/tiddlers/filters/syntax/Map Filter Run Prefix.tid +3 -2
- package/editions/tw5.com/tiddlers/gettingstarted/GettingStarted.tid +6 -0
- package/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +1 -1
- package/editions/tw5.com/tiddlers/howtos/Constructing JSON tiddlers.tid +16 -0
- package/editions/tw5.com/tiddlers/howtos/Creating a splash screen.tid +1 -1
- package/editions/tw5.com/tiddlers/howtos/How to apply custom styles by tag.tid +2 -2
- package/editions/tw5.com/tiddlers/howtos/How to customize TiddlyDesktop.tid +1 -1
- package/editions/tw5.com/tiddlers/howtos/How to update TiddlyWiki to the latest version.tid +7 -0
- package/editions/tw5.com/tiddlers/howtos/Modifying JSON tiddlers.tid +18 -0
- package/editions/tw5.com/tiddlers/howtos/Reading data from JSON tiddlers.tid +25 -0
- package/editions/tw5.com/tiddlers/images/New Release Banner.png +0 -0
- package/editions/tw5.com/tiddlers/macros/JsonTiddlersMacro.tid +3 -3
- package/editions/tw5.com/tiddlers/macros/TagMacro.tid +1 -1
- package/editions/tw5.com/tiddlers/macros/jsontiddler Macro.tid +2 -2
- package/editions/tw5.com/tiddlers/macros/list-links-draggable Macro.tid +2 -0
- package/editions/tw5.com/tiddlers/mechanisms/InfoMechanism.tid +1 -0
- package/editions/tw5.com/tiddlers/mechanisms/PluginMechanism.tid +1 -1
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-close-window.tid +3 -1
- package/editions/tw5.com/tiddlers/messages/WidgetMessage_ tm-new-tiddler.tid +11 -2
- package/editions/tw5.com/tiddlers/nodejs/Environment Variables on Node.js.tid +5 -5
- package/editions/tw5.com/tiddlers/nodejs/Installing TiddlyWiki on Node.js.tid +5 -10
- package/editions/tw5.com/tiddlers/nodejs/Installing custom plugins on Node.js.tid +11 -19
- package/editions/tw5.com/tiddlers/nodejs/Installing official plugins on Node.js.tid +40 -0
- package/editions/tw5.com/tiddlers/nodejs/PluginsCS.tid +9 -0
- package/editions/tw5.com/tiddlers/nodejs/TiddlyWiki on Node.js.tid +7 -2
- package/editions/tw5.com/tiddlers/nodejs/Uninstalling a plugin with Node.js.tid +31 -0
- package/editions/tw5.com/tiddlers/nodejs/Using TiddlyWiki on Node.js.tid +4 -4
- package/editions/tw5.com/tiddlers/platforms/TiddlyWiki in the Sky for TiddlyWeb.tid +2 -1
- package/editions/tw5.com/tiddlers/plugins/Installing a plugin from the plugin library.tid +22 -35
- package/editions/tw5.com/tiddlers/plugins/Manually installing a plugin.tid +19 -4
- package/editions/tw5.com/tiddlers/plugins/OfficialPlugins.tid +3 -1
- package/editions/tw5.com/tiddlers/plugins/Plugin Ordering.tid +47 -0
- package/editions/tw5.com/tiddlers/plugins/PluginFolders.tid +27 -1
- package/editions/tw5.com/tiddlers/plugins/Plugins.tid +19 -7
- package/editions/tw5.com/tiddlers/plugins/Uninstalling a plugin.tid +15 -25
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.1.23.tid +32 -34
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.0.tid +36 -38
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.1.tid +16 -18
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.2.tid +26 -28
- package/editions/tw5.com/tiddlers/releasenotes/Release 5.2.3.tid +152 -0
- package/editions/tw5.com/tiddlers/releasenotes/Releases.tid +1 -1
- package/editions/tw5.com/tiddlers/saving/Saving on Android.tid +1 -1
- package/editions/tw5.com/tiddlers/saving/Saving on TidGi.tid +1 -1
- package/editions/tw5.com/tiddlers/saving/Saving on TiddlyDesktop.tid +3 -3
- package/editions/tw5.com/tiddlers/saving/Saving on iPad_iPhone.tid +1 -1
- package/editions/tw5.com/tiddlers/saving/Saving via WebDAV.tid +5 -3
- package/editions/tw5.com/tiddlers/saving/Saving.tid +9 -11
- package/editions/tw5.com/tiddlers/system/Deprecated.tid +4 -4
- package/editions/tw5.com/tiddlers/system/Deprecated_-_What_does_it_mean.tid +2 -6
- package/editions/tw5.com/tiddlers/system/doc-macros.tid +11 -1
- package/editions/tw5.com/tiddlers/system/doc-styles.tid +34 -4
- package/editions/tw5.com/tiddlers/system/download-empty-button.tid +1 -1
- package/editions/tw5.com/tiddlers/system/systemtag-template.tid +21 -0
- package/editions/tw5.com/tiddlers/system/tw5.com-card-template.tid +12 -8
- package/editions/tw5.com/tiddlers/system/tw5.com-styles.tid +5 -6
- package/editions/tw5.com/tiddlers/system/version-macros.tid +3 -3
- package/editions/tw5.com/tiddlers/system/wikitext-macros.tid +38 -3
- package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_Macro_View_Body.tid +9 -0
- package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ViewTemplate.tid +2 -2
- package/editions/tw5.com/tiddlers/systemtags/SystemTag_ $__tags_ViewTemplateSubtitle.tid +9 -0
- package/editions/tw5.com/tiddlers/tiddlydesktop/TiddlyDesktop_Releases.tid +1 -1
- package/editions/tw5.com/tiddlers/variables/modifier Variable.tid +2 -2
- package/editions/tw5.com/tiddlers/widgets/CheckboxWidget.tid +77 -3
- package/editions/tw5.com/tiddlers/widgets/DraggableWidget.tid +19 -3
- package/editions/tw5.com/tiddlers/widgets/EventCatcherWidget.tid +3 -1
- package/editions/tw5.com/tiddlers/widgets/ImageWidget.tid +5 -3
- package/editions/tw5.com/tiddlers/widgets/JSONTiddlerWidget.tid +5 -4
- package/editions/tw5.com/tiddlers/widgets/ListWidget.tid +2 -2
- package/editions/tw5.com/tiddlers/widgets/ScrollableWidget.tid +3 -3
- package/editions/tw5.com/tiddlers/widgets/SetWidget.tid +3 -1
- package/editions/tw5.com/tiddlers/widgets/TranscludeWidget.tid +2 -5
- package/editions/tw5.com/tiddlers/wikitext/Code Blocks in WikiText.tid +4 -7
- package/editions/tw5.com/tiddlers/wikitext/Dashes in WikiText.tid +7 -3
- package/editions/tw5.com/tiddlers/wikitext/Formatting in WikiText.tid +7 -7
- package/editions/tw5.com/tiddlers/wikitext/Headings in WikiText.tid +3 -3
- package/editions/tw5.com/tiddlers/wikitext/Horizontal Rules in WikiText.tid +3 -5
- package/editions/tw5.com/tiddlers/wikitext/Tables in WikiText.tid +13 -37
- package/editions/tw5.com/tiddlers/wikitext/Widgets in WikiText.tid +4 -4
- package/editions/tw5.com/tiddlers/wikitext/parser/WikiText Parser Modes.tid +1 -1
- package/languages/de-DE/EditTemplate.multids +1 -0
- package/languages/de-DE/Help/render.tid +2 -1
- package/languages/de-DE/SideBar.multids +1 -0
- package/languages/fr-FR/ControlPanel.multids +18 -0
- package/languages/fr-FR/EditTemplate.multids +1 -0
- package/languages/fr-FR/Fields.multids +4 -2
- package/languages/fr-FR/Help/default.tid +4 -1
- package/languages/fr-FR/Help/render.tid +2 -1
- package/languages/fr-FR/Misc.multids +1 -1
- package/languages/fr-FR/SideBar.multids +1 -0
- package/languages/ja-JP/Buttons.multids +147 -30
- package/languages/ja-JP/ControlPanel.multids +175 -37
- package/languages/ja-JP/CoreReadMe.tid +2 -2
- package/languages/ja-JP/Dates.multids +24 -24
- package/languages/ja-JP/Docs/ModuleTypes.multids +3 -3
- package/languages/ja-JP/Docs/PaletteColours.multids +18 -18
- package/languages/ja-JP/EditTemplate.multids +23 -7
- package/languages/ja-JP/Exporters.multids +1 -1
- package/languages/ja-JP/Fields.multids +28 -23
- package/languages/ja-JP/Filters.multids +12 -9
- package/languages/ja-JP/GettingStarted.tid +6 -6
- package/languages/ja-JP/Help/build.tid +2 -2
- package/languages/ja-JP/Help/editions.tid +6 -2
- package/languages/ja-JP/Help/help.tid +1 -1
- package/languages/ja-JP/Help/init.tid +2 -2
- package/languages/ja-JP/Help/load.tid +2 -2
- package/languages/ja-JP/Help/makelibrary.tid +3 -3
- package/languages/ja-JP/Help/output.tid +2 -2
- package/languages/ja-JP/Help/rendertiddler.tid +2 -2
- package/languages/ja-JP/Help/rendertiddlers.tid +2 -2
- package/languages/ja-JP/Help/savetiddler.tid +2 -2
- package/languages/ja-JP/Help/savetiddlers.tid +12 -2
- package/languages/ja-JP/Help/server.tid +6 -6
- package/languages/ja-JP/Help/setfield.tid +7 -7
- package/languages/ja-JP/Help/unpackplugin.tid +2 -2
- package/languages/ja-JP/Help/verbose.tid +6 -2
- package/languages/ja-JP/Help/version.tid +2 -2
- package/languages/ja-JP/Import.multids +27 -8
- package/languages/ja-JP/Misc.multids +98 -11
- package/languages/ja-JP/Modals/Download.tid +2 -2
- package/languages/ja-JP/Notifications.multids +2 -2
- package/languages/ja-JP/Search.multids +8 -4
- package/languages/ja-JP/SideBar.multids +6 -4
- package/languages/ja-JP/SiteSubtitle.tid +1 -1
- package/languages/ja-JP/SiteTitle.tid +1 -1
- package/languages/ja-JP/TiddlerInfo.multids +10 -10
- package/languages/ja-JP/Types/application%2Fjavascript.tid +1 -1
- package/languages/ja-JP/Types/image%2Fgif.tid +1 -1
- package/languages/ja-JP/Types/image%2Fjpeg.tid +1 -1
- package/languages/ja-JP/Types/image%2Fpng.tid +1 -1
- package/languages/ja-JP/Types/image%2Fsvg%2Bxml.tid +1 -1
- package/languages/ja-JP/Types/image%2Fx-icon.tid +1 -1
- package/languages/ja-JP/Types/text%2Fcss.tid +1 -1
- package/languages/ja-JP/Types/text%2Fvnd.tiddlywiki.tid +1 -1
- package/languages/ja-JP/plugin.info +1 -1
- package/languages/pl-PL/ControlPanel.multids +3 -1
- package/languages/pl-PL/EditTemplate.multids +1 -0
- package/languages/pl-PL/Fields.multids +3 -3
- package/languages/pl-PL/Help/default.tid +4 -1
- package/languages/pl-PL/Import.multids +3 -3
- package/languages/pl-PL/SideBar.multids +1 -0
- package/languages/zh-Hans/EditTemplate.multids +1 -0
- package/languages/zh-Hans/Help/default.tid +4 -1
- package/languages/zh-Hans/Help/render.tid +1 -0
- package/languages/zh-Hans/SideBar.multids +1 -0
- package/languages/zh-Hant/EditTemplate.multids +1 -0
- package/languages/zh-Hant/Help/default.tid +4 -1
- package/languages/zh-Hant/Help/render.tid +1 -0
- package/languages/zh-Hant/SideBar.multids +1 -0
- package/licenses/cla-individual.md +10 -0
- package/package.json +1 -1
- package/plugins/tiddlywiki/browser-sniff/browser.js +5 -1
- package/plugins/tiddlywiki/browser-sniff/usage.tid +1 -0
- package/plugins/tiddlywiki/browser-storage/rawmarkup.js +18 -1
- package/plugins/tiddlywiki/browser-storage/readme.tid +0 -1
- package/plugins/tiddlywiki/browser-storage/settings.tid +5 -1
- package/plugins/tiddlywiki/browser-storage/startup.js +14 -9
- package/plugins/tiddlywiki/dynannotate/docs/readme.tid +72 -8
- package/plugins/tiddlywiki/dynannotate/modules/dynannotate.js +10 -1
- package/plugins/tiddlywiki/dynannotate/modules/legacy-selection-tracker.js +104 -0
- package/plugins/tiddlywiki/dynannotate/modules/selection-tracker.js +144 -89
- package/plugins/tiddlywiki/dynannotate/modules/startup.js +40 -0
- package/{editions/katexdemo/tiddlers → plugins/tiddlywiki/katex}/ImplementationNotes.tid +3 -3
- package/plugins/tiddlywiki/katex/developer.tid +58 -0
- package/plugins/tiddlywiki/katex/files/contrib/mhchem.min.js +1 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Bold.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Italic.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Math-Italic.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Script-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/plugins/tiddlywiki/katex/files/katex.min.css +1 -1
- package/plugins/tiddlywiki/katex/files/katex.min.js +1 -1
- package/plugins/tiddlywiki/katex/files/katex.without-font-face.min.css +1 -1
- package/plugins/tiddlywiki/katex/files/tiddlywiki.files +2 -2
- package/plugins/tiddlywiki/katex/plugin.info +1 -1
- package/plugins/tiddlywiki/katex/readme.tid +1 -1
- package/plugins/tiddlywiki/katex/snippets/logo.tid +4 -0
- package/plugins/tiddlywiki/katex/snippets/math.tid +8 -0
- package/plugins/tiddlywiki/katex/styles.tid +7 -0
- package/plugins/tiddlywiki/katex/usage.tid +18 -2
- package/plugins/tiddlywiki/markdown/EditorToolbar/link-dropdown.tid +73 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/link.tid +11 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/linkify.tid +15 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/mono-block.tid +17 -0
- package/plugins/tiddlywiki/markdown/KeyboardShortcuts/new-markdown-tiddler.tid +8 -0
- package/plugins/tiddlywiki/markdown/config.multids +5 -0
- package/plugins/tiddlywiki/markdown/editor-operations/make-markdown-link.js +37 -0
- package/plugins/tiddlywiki/markdown/images/markdown-linkify.tid +6 -0
- package/plugins/tiddlywiki/menubar/items/search.tid +2 -0
- package/plugins/tiddlywiki/tiddlyweb/save-wiki-button.tid +1 -1
- package/readme.md +5 -3
- package/themes/tiddlywiki/vanilla/base.tid +21 -3
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -43
- package/editions/fr-FR/tiddlers/$__core_ui_SideBar_Open.tid +0 -15
- package/editions/fr-FR/tiddlers/Horizontal Rules in WikiText.tid +0 -17
- package/editions/fr-FR/tiddlers/Installing TiddlyWiki on Node.js.tid +0 -23
- package/editions/fr-FR/tiddlers/Macro_Calls_in_WikiText.tid +0 -22
- package/editions/fr-FR/tiddlers/Pragma.tid +0 -17
- package/editions/fr-FR/tiddlers/Saving on Android.tid +0 -10
- package/editions/fr-FR/tiddlers/Saving on InternetExplorer.tid +0 -11
- package/editions/fr-FR/tiddlers/Saving on Safari.tid +0 -24
- package/editions/fr-FR/tiddlers/Saving on iPad_iPhone.tid +0 -23
- package/editions/fr-FR/tiddlers/Saving with TiddlyFox.tid +0 -24
- package/editions/fr-FR/tiddlers/Saving with TiddlyIE.tid +0 -19
- package/editions/fr-FR/tiddlers/Saving_on_a_PHP_Server.tid +0 -30
- package/editions/fr-FR/tiddlers/Tables_in_WikiText.tid +0 -102
- package/editions/fr-FR/tiddlers/TiddlyDesktop.tid +0 -23
- package/editions/fr-FR/tiddlers/TiddlyDesktop_Releases.tid +0 -9
- package/editions/fr-FR/tiddlers/TiddlyWiki on Node.js.tid +0 -18
- package/editions/fr-FR/tiddlers/TranscludeWidget.tid +0 -73
- package/editions/fr-FR/tiddlers/Widgets_in_WikiText.tid +0 -30
- package/editions/katexdemo/tiddlers/DefaultTiddlers.tid +0 -5
- package/plugins/tiddlywiki/katex/files/README.md +0 -119
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/katex/files/katex.css +0 -1079
- package/plugins/tiddlywiki/katex/files/katex.js +0 -18183
- package/plugins/tiddlywiki/katex/files/mhchem.min.js +0 -1
@@ -54,7 +54,9 @@ exports.startup = function() {
|
|
54
54
|
var hash = $tw.utils.getLocationHash();
|
55
55
|
if(hash !== $tw.locationHash) {
|
56
56
|
$tw.locationHash = hash;
|
57
|
-
|
57
|
+
if(hash !== "#") {
|
58
|
+
openStartupTiddlers({defaultToCurrentStory: true});
|
59
|
+
}
|
58
60
|
}
|
59
61
|
},false);
|
60
62
|
// Listen for the tm-browser-refresh message
|
@@ -281,5 +281,56 @@ exports.getLocationPath = function() {
|
|
281
281
|
return window.location.toString().split("#")[0];
|
282
282
|
};
|
283
283
|
|
284
|
+
/*
|
285
|
+
Collect DOM variables
|
286
|
+
*/
|
287
|
+
exports.collectDOMVariables = function(selectedNode,domNode,event) {
|
288
|
+
var variables = {},
|
289
|
+
selectedNodeRect,
|
290
|
+
domNodeRect;
|
291
|
+
if(selectedNode) {
|
292
|
+
$tw.utils.each(selectedNode.attributes,function(attribute) {
|
293
|
+
variables["dom-" + attribute.name] = attribute.value.toString();
|
294
|
+
});
|
295
|
+
|
296
|
+
if(selectedNode.offsetLeft) {
|
297
|
+
// Add a variable with a popup coordinate string for the selected node
|
298
|
+
variables["tv-popup-coords"] = "(" + selectedNode.offsetLeft + "," + selectedNode.offsetTop +"," + selectedNode.offsetWidth + "," + selectedNode.offsetHeight + ")";
|
299
|
+
|
300
|
+
// Add variables for offset of selected node
|
301
|
+
variables["tv-selectednode-posx"] = selectedNode.offsetLeft.toString();
|
302
|
+
variables["tv-selectednode-posy"] = selectedNode.offsetTop.toString();
|
303
|
+
variables["tv-selectednode-width"] = selectedNode.offsetWidth.toString();
|
304
|
+
variables["tv-selectednode-height"] = selectedNode.offsetHeight.toString();
|
305
|
+
}
|
306
|
+
}
|
307
|
+
|
308
|
+
if(domNode && domNode.offsetWidth) {
|
309
|
+
variables["tv-widgetnode-width"] = domNode.offsetWidth.toString();
|
310
|
+
variables["tv-widgetnode-height"] = domNode.offsetHeight.toString();
|
311
|
+
}
|
312
|
+
|
313
|
+
if(event && event.clientX && event.clientY) {
|
314
|
+
if(selectedNode) {
|
315
|
+
// Add variables for event X and Y position relative to selected node
|
316
|
+
selectedNodeRect = selectedNode.getBoundingClientRect();
|
317
|
+
variables["event-fromselected-posx"] = (event.clientX - selectedNodeRect.left).toString();
|
318
|
+
variables["event-fromselected-posy"] = (event.clientY - selectedNodeRect.top).toString();
|
319
|
+
}
|
320
|
+
|
321
|
+
if(domNode) {
|
322
|
+
// Add variables for event X and Y position relative to event catcher node
|
323
|
+
domNodeRect = domNode.getBoundingClientRect();
|
324
|
+
variables["event-fromcatcher-posx"] = (event.clientX - domNodeRect.left).toString();
|
325
|
+
variables["event-fromcatcher-posy"] = (event.clientY - domNodeRect.top).toString();
|
326
|
+
}
|
327
|
+
|
328
|
+
// Add variables for event X and Y position relative to the viewport
|
329
|
+
variables["event-fromviewport-posx"] = event.clientX.toString();
|
330
|
+
variables["event-fromviewport-posy"] = event.clientY.toString();
|
331
|
+
}
|
332
|
+
return variables;
|
333
|
+
};
|
334
|
+
|
284
335
|
|
285
336
|
})();
|
@@ -25,14 +25,13 @@ widget: widget to use as the context for the filter
|
|
25
25
|
exports.makeDraggable = function(options) {
|
26
26
|
var dragImageType = options.dragImageType || "dom",
|
27
27
|
dragImage,
|
28
|
-
domNode = options.domNode
|
29
|
-
dragHandle = options.selector && domNode.querySelector(options.selector) || domNode;
|
28
|
+
domNode = options.domNode;
|
30
29
|
// Make the dom node draggable (not necessary for anchor tags)
|
31
|
-
if((domNode.tagName || "").toLowerCase() !== "a") {
|
32
|
-
|
30
|
+
if(!options.selector && ((domNode.tagName || "").toLowerCase() !== "a")) {
|
31
|
+
domNode.setAttribute("draggable","true");
|
33
32
|
}
|
34
33
|
// Add event handlers
|
35
|
-
$tw.utils.addEventListeners(
|
34
|
+
$tw.utils.addEventListeners(domNode,[
|
36
35
|
{name: "dragstart", handlerFunction: function(event) {
|
37
36
|
if(event.dataTransfer === undefined) {
|
38
37
|
return false;
|
@@ -41,20 +40,26 @@ exports.makeDraggable = function(options) {
|
|
41
40
|
var dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),
|
42
41
|
dragFilter = options.dragFilterFn && options.dragFilterFn(),
|
43
42
|
titles = dragTiddler ? [dragTiddler] : [],
|
44
|
-
|
43
|
+
startActions = options.startActions,
|
44
|
+
variables,
|
45
|
+
domNodeRect;
|
45
46
|
if(dragFilter) {
|
46
47
|
titles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));
|
47
48
|
}
|
48
49
|
var titleString = $tw.utils.stringifyList(titles);
|
49
50
|
// Check that we've something to drag
|
50
|
-
if(titles.length > 0 && event.target ===
|
51
|
+
if(titles.length > 0 && (options.selector && $tw.utils.domMatchesSelector(event.target,options.selector) || event.target === domNode)) {
|
51
52
|
// Mark the drag in progress
|
52
53
|
$tw.dragInProgress = domNode;
|
53
54
|
// Set the dragging class on the element being dragged
|
54
|
-
$tw.utils.addClass(
|
55
|
+
$tw.utils.addClass(domNode,"tc-dragging");
|
55
56
|
// Invoke drag-start actions if given
|
56
57
|
if(startActions !== undefined) {
|
57
|
-
|
58
|
+
// Collect our variables
|
59
|
+
variables = $tw.utils.collectDOMVariables(domNode,null,event);
|
60
|
+
variables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);
|
61
|
+
variables["actionTiddler"] = titleString;
|
62
|
+
options.widget.invokeActionString(startActions,options.widget,event,variables);
|
58
63
|
}
|
59
64
|
// Create the drag image elements
|
60
65
|
dragImage = options.widget.document.createElement("div");
|
@@ -101,20 +106,22 @@ exports.makeDraggable = function(options) {
|
|
101
106
|
dataTransfer.setData("text/vnd.tiddler",jsonData);
|
102
107
|
dataTransfer.setData("text/plain",titleString);
|
103
108
|
dataTransfer.setData("text/x-moz-url","data:text/vnd.tiddler," + encodeURIComponent(jsonData));
|
109
|
+
} else {
|
110
|
+
dataTransfer.setData("URL","data:text/vnd.tiddler," + encodeURIComponent(jsonData));
|
104
111
|
}
|
105
|
-
dataTransfer.setData("URL","data:text/vnd.tiddler," + encodeURIComponent(jsonData));
|
106
112
|
dataTransfer.setData("Text",titleString);
|
107
113
|
event.stopPropagation();
|
108
114
|
}
|
109
115
|
return false;
|
110
116
|
}},
|
111
117
|
{name: "dragend", handlerFunction: function(event) {
|
112
|
-
if(event.target === domNode) {
|
118
|
+
if((options.selector && $tw.utils.domMatchesSelector(event.target,options.selector)) || event.target === domNode) {
|
113
119
|
// Collect the tiddlers being dragged
|
114
120
|
var dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),
|
115
121
|
dragFilter = options.dragFilterFn && options.dragFilterFn(),
|
116
122
|
titles = dragTiddler ? [dragTiddler] : [],
|
117
|
-
|
123
|
+
endActions = options.endActions,
|
124
|
+
variables;
|
118
125
|
if(dragFilter) {
|
119
126
|
titles.push.apply(titles,options.widget.wiki.filterTiddlers(dragFilter,options.widget));
|
120
127
|
}
|
@@ -122,10 +129,13 @@ exports.makeDraggable = function(options) {
|
|
122
129
|
$tw.dragInProgress = null;
|
123
130
|
// Invoke drag-end actions if given
|
124
131
|
if(endActions !== undefined) {
|
125
|
-
|
132
|
+
variables = $tw.utils.collectDOMVariables(domNode,null,event);
|
133
|
+
variables.modifier = $tw.keyboardManager.getEventModifierKeyDescriptor(event);
|
134
|
+
variables["actionTiddler"] = titleString;
|
135
|
+
options.widget.invokeActionString(endActions,options.widget,event,variables);
|
126
136
|
}
|
127
137
|
// Remove the dragging class on the element being dragged
|
128
|
-
$tw.utils.removeClass(
|
138
|
+
$tw.utils.removeClass(domNode,"tc-dragging");
|
129
139
|
// Delete the drag image element
|
130
140
|
if(dragImage) {
|
131
141
|
dragImage.parentNode.removeChild(dragImage);
|
@@ -36,8 +36,9 @@ Notifier.prototype.display = function(title,options) {
|
|
36
36
|
if(!tiddler) {
|
37
37
|
return;
|
38
38
|
}
|
39
|
-
// Add classes
|
39
|
+
// Add classes and roles
|
40
40
|
$tw.utils.addClass(notification,"tc-notification");
|
41
|
+
notification.setAttribute("role","alert");
|
41
42
|
// Create the variables
|
42
43
|
var variables = $tw.utils.extend({currentTiddler: title},options.variables);
|
43
44
|
// Render the body of the notification
|
@@ -13,8 +13,26 @@ Parse tree utility functions.
|
|
13
13
|
"use strict";
|
14
14
|
|
15
15
|
exports.addAttributeToParseTreeNode = function(node,name,value) {
|
16
|
+
var attribute = {name: name, type: "string", value: value};
|
16
17
|
node.attributes = node.attributes || {};
|
17
|
-
node.attributes[name] =
|
18
|
+
node.attributes[name] = attribute;
|
19
|
+
if(node.orderedAttributes) {
|
20
|
+
node.orderedAttributes.push(attribute);
|
21
|
+
}
|
22
|
+
};
|
23
|
+
|
24
|
+
exports.getOrderedAttributesFromParseTreeNode = function(node) {
|
25
|
+
if(node.orderedAttributes) {
|
26
|
+
return node.orderedAttributes;
|
27
|
+
} else {
|
28
|
+
var attributes = [];
|
29
|
+
$tw.utils.each(node.attributes,function(attribute) {
|
30
|
+
attributes.push(attribute);
|
31
|
+
});
|
32
|
+
return attributes.sort(function(a,b) {
|
33
|
+
return a.name < b.name ? -1 : (a.name > b.name ? 1 : 0);
|
34
|
+
});
|
35
|
+
}
|
18
36
|
};
|
19
37
|
|
20
38
|
exports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {
|
@@ -25,26 +43,45 @@ exports.getAttributeValueFromParseTreeNode = function(node,name,defaultValue) {
|
|
25
43
|
};
|
26
44
|
|
27
45
|
exports.addClassToParseTreeNode = function(node,classString) {
|
28
|
-
var classes = []
|
46
|
+
var classes = [],
|
47
|
+
attribute;
|
29
48
|
node.attributes = node.attributes || {};
|
30
|
-
|
31
|
-
if(
|
32
|
-
|
33
|
-
|
49
|
+
attribute = node.attributes["class"];
|
50
|
+
if(!attribute) {
|
51
|
+
// If the class attribute does not exist, we must create it first.
|
52
|
+
attribute = {name: "class", type: "string", value: ""};
|
53
|
+
node.attributes["class"] = attribute;
|
54
|
+
if(node.orderedAttributes) {
|
55
|
+
// If there are orderedAttributes, we've got to add them there too.
|
56
|
+
node.orderedAttributes.push(attribute);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
if(attribute.type === "string") {
|
60
|
+
if(attribute.value !== "") {
|
61
|
+
classes = attribute.value.split(" ");
|
34
62
|
}
|
35
63
|
if(classString !== "") {
|
36
64
|
$tw.utils.pushTop(classes,classString.split(" "));
|
37
65
|
}
|
38
|
-
|
66
|
+
attribute.value = classes.join(" ");
|
39
67
|
}
|
40
68
|
};
|
41
69
|
|
42
70
|
exports.addStyleToParseTreeNode = function(node,name,value) {
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
71
|
+
var attribute;
|
72
|
+
node.attributes = node.attributes || {};
|
73
|
+
attribute = node.attributes.style;
|
74
|
+
if(!attribute) {
|
75
|
+
attribute = {name: "style", type: "string", value: ""};
|
76
|
+
node.attributes.style = attribute;
|
77
|
+
if(node.orderedAttributes) {
|
78
|
+
// If there are orderedAttributes, we've got to add them there too.
|
79
|
+
node.orderedAttributes.push(attribute);
|
47
80
|
}
|
81
|
+
}
|
82
|
+
if(attribute.type === "string") {
|
83
|
+
attribute.value += name + ":" + value + ";";
|
84
|
+
}
|
48
85
|
};
|
49
86
|
|
50
87
|
exports.findParseTreeNode = function(nodeArray,search) {
|
@@ -95,6 +95,20 @@ exports.repeat = function(str,count) {
|
|
95
95
|
return result;
|
96
96
|
};
|
97
97
|
|
98
|
+
/*
|
99
|
+
Check if a string starts with another string
|
100
|
+
*/
|
101
|
+
exports.startsWith = function(str,search) {
|
102
|
+
return str.substring(0, search.length) === search;
|
103
|
+
};
|
104
|
+
|
105
|
+
/*
|
106
|
+
Check if a string ends with another string
|
107
|
+
*/
|
108
|
+
exports.endsWith = function(str,search) {
|
109
|
+
return str.substring(str.length - search.length) === search;
|
110
|
+
};
|
111
|
+
|
98
112
|
/*
|
99
113
|
Trim whitespace from the start and end of a string
|
100
114
|
Thanks to Steven Levithan, http://blog.stevenlevithan.com/archives/faster-trim-javascript
|
@@ -448,7 +462,7 @@ exports.formatDateString = function(date,template) {
|
|
448
462
|
// 'return raw UTC (tiddlywiki style) date string.'
|
449
463
|
if(t.indexOf("[UTC]") == 0 ) {
|
450
464
|
if(t == "[UTC]YYYY0MM0DD0hh0mm0ssXXX")
|
451
|
-
return $tw.utils.stringifyDate(new Date());
|
465
|
+
return $tw.utils.stringifyDate(date || new Date());
|
452
466
|
var offset = date.getTimezoneOffset() ; // in minutes
|
453
467
|
date = new Date(date.getTime()+offset*60*1000) ;
|
454
468
|
t = t.substr(5) ;
|
@@ -35,7 +35,7 @@ SetFieldWidget.prototype.render = function(parent,nextSibling) {
|
|
35
35
|
Compute the internal state of the widget
|
36
36
|
*/
|
37
37
|
SetFieldWidget.prototype.execute = function() {
|
38
|
-
this.actionTiddler = this.getAttribute("$tiddler"
|
38
|
+
this.actionTiddler = this.getAttribute("$tiddler") || (!this.hasParseTreeNodeAttribute("$tiddler") && this.getVariable("currentTiddler"));
|
39
39
|
this.actionField = this.getAttribute("$field");
|
40
40
|
this.actionIndex = this.getAttribute("$index");
|
41
41
|
this.actionValue = this.getAttribute("$value");
|
@@ -46,11 +46,7 @@ SetFieldWidget.prototype.execute = function() {
|
|
46
46
|
Refresh the widget by ensuring our attributes are up to date
|
47
47
|
*/
|
48
48
|
SetFieldWidget.prototype.refresh = function(changedTiddlers) {
|
49
|
-
|
50
|
-
if(changedAttributes["$tiddler"] || changedAttributes["$field"] || changedAttributes["$index"] || changedAttributes["$value"]) {
|
51
|
-
this.refreshSelf();
|
52
|
-
return true;
|
53
|
-
}
|
49
|
+
// Nothing to refresh
|
54
50
|
return this.refreshChildren(changedTiddlers);
|
55
51
|
};
|
56
52
|
|
@@ -60,15 +56,17 @@ Invoke the action associated with this widget
|
|
60
56
|
SetFieldWidget.prototype.invokeAction = function(triggeringWidget,event) {
|
61
57
|
var self = this,
|
62
58
|
options = {};
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
$tw.utils.each(this.attributes,function(attribute,name) {
|
68
|
-
if(name.charAt(0) !== "$") {
|
69
|
-
self.wiki.setText(self.actionTiddler,name,undefined,attribute,options);
|
59
|
+
if(this.actionTiddler) {
|
60
|
+
options.suppressTimestamp = !this.actionTimestamp;
|
61
|
+
if((typeof this.actionField == "string") || (typeof this.actionIndex == "string") || (typeof this.actionValue == "string")) {
|
62
|
+
this.wiki.setText(this.actionTiddler,this.actionField,this.actionIndex,this.actionValue,options);
|
70
63
|
}
|
71
|
-
|
64
|
+
$tw.utils.each(this.attributes,function(attribute,name) {
|
65
|
+
if(name.charAt(0) !== "$") {
|
66
|
+
self.wiki.setText(self.actionTiddler,name,undefined,attribute,options);
|
67
|
+
}
|
68
|
+
});
|
69
|
+
}
|
72
70
|
return true; // Action was invoked
|
73
71
|
};
|
74
72
|
|
@@ -46,7 +46,8 @@ ButtonWidget.prototype.render = function(parent,nextSibling) {
|
|
46
46
|
isPoppedUp = (this.popup || this.popupTitle) && this.isPoppedUp();
|
47
47
|
if(this.selectedClass) {
|
48
48
|
if((this.set || this.setTitle) && this.setTo && this.isSelected()) {
|
49
|
-
$tw.utils.pushTop(classes,this.selectedClass.split(" "));
|
49
|
+
$tw.utils.pushTop(classes, this.selectedClass.split(" "));
|
50
|
+
domNode.setAttribute("aria-checked", "true");
|
50
51
|
}
|
51
52
|
if(isPoppedUp) {
|
52
53
|
$tw.utils.pushTop(classes,this.selectedClass.split(" "));
|
@@ -66,6 +67,9 @@ ButtonWidget.prototype.render = function(parent,nextSibling) {
|
|
66
67
|
if(this["aria-label"]) {
|
67
68
|
domNode.setAttribute("aria-label",this["aria-label"]);
|
68
69
|
}
|
70
|
+
if (this.role) {
|
71
|
+
domNode.setAttribute("role", this.role);
|
72
|
+
}
|
69
73
|
if(this.popup || this.popupTitle) {
|
70
74
|
domNode.setAttribute("aria-expanded",isPoppedUp ? "true" : "false");
|
71
75
|
}
|
@@ -206,6 +210,7 @@ ButtonWidget.prototype.execute = function() {
|
|
206
210
|
this.popup = this.getAttribute("popup");
|
207
211
|
this.hover = this.getAttribute("hover");
|
208
212
|
this["aria-label"] = this.getAttribute("aria-label");
|
213
|
+
this.role = this.getAttribute("role");
|
209
214
|
this.tooltip = this.getAttribute("tooltip");
|
210
215
|
this.style = this.getAttribute("style");
|
211
216
|
this["class"] = this.getAttribute("class","");
|
@@ -27,6 +27,7 @@ CheckboxWidget.prototype = new Widget();
|
|
27
27
|
Render this widget into the DOM
|
28
28
|
*/
|
29
29
|
CheckboxWidget.prototype.render = function(parent,nextSibling) {
|
30
|
+
var isChecked;
|
30
31
|
// Save the parent dom node
|
31
32
|
this.parentDomNode = parent;
|
32
33
|
// Compute our attributes
|
@@ -35,11 +36,16 @@ CheckboxWidget.prototype.render = function(parent,nextSibling) {
|
|
35
36
|
this.execute();
|
36
37
|
// Create our elements
|
37
38
|
this.labelDomNode = this.document.createElement("label");
|
38
|
-
this.labelDomNode.setAttribute("class",this.checkboxClass);
|
39
|
+
this.labelDomNode.setAttribute("class","tc-checkbox " + this.checkboxClass);
|
39
40
|
this.inputDomNode = this.document.createElement("input");
|
40
41
|
this.inputDomNode.setAttribute("type","checkbox");
|
41
|
-
|
42
|
+
isChecked = this.getValue();
|
43
|
+
if(isChecked) {
|
42
44
|
this.inputDomNode.setAttribute("checked","true");
|
45
|
+
$tw.utils.addClass(this.labelDomNode,"tc-checkbox-checked");
|
46
|
+
}
|
47
|
+
if(isChecked === undefined && this.checkboxIndeterminate === "yes") {
|
48
|
+
this.inputDomNode.indeterminate = true;
|
43
49
|
}
|
44
50
|
if(this.isDisabled === "yes") {
|
45
51
|
this.inputDomNode.setAttribute("disabled",true);
|
@@ -59,20 +65,25 @@ CheckboxWidget.prototype.render = function(parent,nextSibling) {
|
|
59
65
|
|
60
66
|
CheckboxWidget.prototype.getValue = function() {
|
61
67
|
var tiddler = this.wiki.getTiddler(this.checkboxTitle);
|
62
|
-
if(tiddler) {
|
68
|
+
if(tiddler || this.checkboxFilter) {
|
63
69
|
if(this.checkboxTag) {
|
64
|
-
if(this.checkboxInvertTag) {
|
70
|
+
if(this.checkboxInvertTag === "yes") {
|
65
71
|
return !tiddler.hasTag(this.checkboxTag);
|
66
72
|
} else {
|
67
73
|
return tiddler.hasTag(this.checkboxTag);
|
68
74
|
}
|
69
75
|
}
|
70
|
-
if(this.checkboxField) {
|
76
|
+
if(this.checkboxField || this.checkboxIndex) {
|
77
|
+
// Same logic applies to fields and indexes
|
71
78
|
var value;
|
72
|
-
if(
|
73
|
-
|
79
|
+
if(this.checkboxField) {
|
80
|
+
if($tw.utils.hop(tiddler.fields,this.checkboxField)) {
|
81
|
+
value = tiddler.fields[this.checkboxField] || "";
|
82
|
+
} else {
|
83
|
+
value = this.checkboxDefault || "";
|
84
|
+
}
|
74
85
|
} else {
|
75
|
-
value = this.checkboxDefault || "";
|
86
|
+
value = this.wiki.extractTiddlerDataItem(tiddler,this.checkboxIndex,this.checkboxDefault || "");
|
76
87
|
}
|
77
88
|
if(value === this.checkboxChecked) {
|
78
89
|
return true;
|
@@ -80,15 +91,59 @@ CheckboxWidget.prototype.getValue = function() {
|
|
80
91
|
if(value === this.checkboxUnchecked) {
|
81
92
|
return false;
|
82
93
|
}
|
94
|
+
// Neither value found: were both specified?
|
95
|
+
if(this.checkboxChecked && !this.checkboxUnchecked) {
|
96
|
+
return false; // Absence of checked value
|
97
|
+
}
|
98
|
+
if(this.checkboxUnchecked && !this.checkboxChecked) {
|
99
|
+
return true; // Absence of unchecked value
|
100
|
+
}
|
101
|
+
if(this.checkboxChecked && this.checkboxUnchecked) {
|
102
|
+
// Both specified but neither found: indeterminate or false, depending
|
103
|
+
if(this.checkboxIndeterminate === "yes") {
|
104
|
+
return undefined;
|
105
|
+
} else {
|
106
|
+
return false;
|
107
|
+
}
|
108
|
+
}
|
83
109
|
}
|
84
|
-
if(this.
|
85
|
-
|
86
|
-
|
110
|
+
if(this.checkboxListField || this.checkboxListIndex || this.checkboxFilter) {
|
111
|
+
// Same logic applies to lists and filters
|
112
|
+
var list;
|
113
|
+
if(this.checkboxListField) {
|
114
|
+
if($tw.utils.hop(tiddler.fields,this.checkboxListField)) {
|
115
|
+
list = tiddler.getFieldList(this.checkboxListField);
|
116
|
+
} else {
|
117
|
+
list = $tw.utils.parseStringArray(this.checkboxDefault || "") || [];
|
118
|
+
}
|
119
|
+
} else if (this.checkboxListIndex) {
|
120
|
+
list = $tw.utils.parseStringArray(this.wiki.extractTiddlerDataItem(tiddler,this.checkboxListIndex,this.checkboxDefault || "")) || [];
|
121
|
+
} else {
|
122
|
+
list = this.wiki.filterTiddlers(this.checkboxFilter,this) || [];
|
123
|
+
}
|
124
|
+
if(list.indexOf(this.checkboxChecked) !== -1) {
|
87
125
|
return true;
|
88
126
|
}
|
89
|
-
if(
|
127
|
+
if(list.indexOf(this.checkboxUnchecked) !== -1) {
|
90
128
|
return false;
|
91
129
|
}
|
130
|
+
// Neither one present
|
131
|
+
if(this.checkboxChecked && !this.checkboxUnchecked) {
|
132
|
+
return false; // Absence of checked value
|
133
|
+
}
|
134
|
+
if(this.checkboxUnchecked && !this.checkboxChecked) {
|
135
|
+
return true; // Absence of unchecked value
|
136
|
+
}
|
137
|
+
if(this.checkboxChecked && this.checkboxUnchecked) {
|
138
|
+
// Both specified but neither found: indeterminate or false, depending
|
139
|
+
if(this.checkboxIndeterminate === "yes") {
|
140
|
+
return undefined;
|
141
|
+
} else {
|
142
|
+
return false;
|
143
|
+
}
|
144
|
+
}
|
145
|
+
// Neither specified, so empty list is false, non-empty is true
|
146
|
+
return !!list.length;
|
92
147
|
}
|
93
148
|
} else {
|
94
149
|
if(this.checkboxTag) {
|
@@ -114,7 +169,8 @@ CheckboxWidget.prototype.handleChangeEvent = function(event) {
|
|
114
169
|
hasChanged = false,
|
115
170
|
tagCheck = false,
|
116
171
|
hasTag = tiddler && tiddler.hasTag(this.checkboxTag),
|
117
|
-
value = checked ? this.checkboxChecked : this.checkboxUnchecked
|
172
|
+
value = checked ? this.checkboxChecked : this.checkboxUnchecked,
|
173
|
+
notValue = checked ? this.checkboxUnchecked : this.checkboxChecked;
|
118
174
|
if(this.checkboxTag && this.checkboxInvertTag === "yes") {
|
119
175
|
tagCheck = hasTag === checked;
|
120
176
|
} else {
|
@@ -148,9 +204,51 @@ CheckboxWidget.prototype.handleChangeEvent = function(event) {
|
|
148
204
|
hasChanged = true;
|
149
205
|
}
|
150
206
|
}
|
207
|
+
// Set the list field (or index) if specified
|
208
|
+
if(this.checkboxListField || this.checkboxListIndex) {
|
209
|
+
var listContents, oldPos, newPos;
|
210
|
+
if(this.checkboxListField) {
|
211
|
+
listContents = tiddler.getFieldList(this.checkboxListField);
|
212
|
+
} else {
|
213
|
+
listContents = $tw.utils.parseStringArray(this.wiki.extractTiddlerDataItem(this.checkboxTitle,this.checkboxListIndex) || "") || [];
|
214
|
+
}
|
215
|
+
oldPos = notValue ? listContents.indexOf(notValue) : -1;
|
216
|
+
newPos = value ? listContents.indexOf(value) : -1;
|
217
|
+
if(oldPos === -1 && newPos !== -1) {
|
218
|
+
// old value absent, new value present: no change needed
|
219
|
+
} else if(oldPos === -1) {
|
220
|
+
// neither one was present
|
221
|
+
if(value) {
|
222
|
+
listContents.push(value);
|
223
|
+
hasChanged = true;
|
224
|
+
} else {
|
225
|
+
// value unspecified? then leave list unchanged
|
226
|
+
}
|
227
|
+
} else if(newPos === -1) {
|
228
|
+
// old value present, new value absent
|
229
|
+
if(value) {
|
230
|
+
listContents[oldPos] = value;
|
231
|
+
hasChanged = true;
|
232
|
+
} else {
|
233
|
+
listContents.splice(oldPos, 1)
|
234
|
+
hasChanged = true;
|
235
|
+
}
|
236
|
+
} else {
|
237
|
+
// both were present: just remove the old one, leave new alone
|
238
|
+
listContents.splice(oldPos, 1)
|
239
|
+
hasChanged = true;
|
240
|
+
}
|
241
|
+
if(this.checkboxListField) {
|
242
|
+
newFields[this.checkboxListField] = $tw.utils.stringifyList(listContents);
|
243
|
+
}
|
244
|
+
// The listIndex case will be handled in the if(hasChanged) block below
|
245
|
+
}
|
151
246
|
if(hasChanged) {
|
152
247
|
if(this.checkboxIndex) {
|
153
248
|
this.wiki.setText(this.checkboxTitle,"",this.checkboxIndex,value);
|
249
|
+
} else if(this.checkboxListIndex) {
|
250
|
+
var listIndexValue = (listContents && listContents.length) ? $tw.utils.stringifyList(listContents) : undefined;
|
251
|
+
this.wiki.setText(this.checkboxTitle,"",this.checkboxListIndex,listIndexValue);
|
154
252
|
} else {
|
155
253
|
this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),fallbackFields,tiddler,newFields,this.wiki.getModificationFields()));
|
156
254
|
}
|
@@ -179,9 +277,13 @@ CheckboxWidget.prototype.execute = function() {
|
|
179
277
|
this.checkboxTag = this.getAttribute("tag");
|
180
278
|
this.checkboxField = this.getAttribute("field");
|
181
279
|
this.checkboxIndex = this.getAttribute("index");
|
280
|
+
this.checkboxListField = this.getAttribute("listField");
|
281
|
+
this.checkboxListIndex = this.getAttribute("listIndex");
|
282
|
+
this.checkboxFilter = this.getAttribute("filter");
|
182
283
|
this.checkboxChecked = this.getAttribute("checked");
|
183
284
|
this.checkboxUnchecked = this.getAttribute("unchecked");
|
184
285
|
this.checkboxDefault = this.getAttribute("default");
|
286
|
+
this.checkboxIndeterminate = this.getAttribute("indeterminate","no");
|
185
287
|
this.checkboxClass = this.getAttribute("class","");
|
186
288
|
this.checkboxInvertTag = this.getAttribute("invertTag","");
|
187
289
|
this.isDisabled = this.getAttribute("disabled","no");
|
@@ -194,14 +296,21 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
|
|
194
296
|
*/
|
195
297
|
CheckboxWidget.prototype.refresh = function(changedTiddlers) {
|
196
298
|
var changedAttributes = this.computeAttributes();
|
197
|
-
if(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.checked || changedAttributes.unchecked || changedAttributes["default"] || changedAttributes["class"] || changedAttributes.disabled) {
|
299
|
+
if(changedAttributes.tiddler || changedAttributes.tag || changedAttributes.invertTag || changedAttributes.field || changedAttributes.index || changedAttributes.listField || changedAttributes.listIndex || changedAttributes.filter || changedAttributes.checked || changedAttributes.unchecked || changedAttributes["default"] || changedAttributes.indeterminate || changedAttributes["class"] || changedAttributes.disabled) {
|
198
300
|
this.refreshSelf();
|
199
301
|
return true;
|
200
302
|
} else {
|
201
303
|
var refreshed = false;
|
202
304
|
if(changedTiddlers[this.checkboxTitle]) {
|
203
|
-
|
305
|
+
var isChecked = this.getValue();
|
306
|
+
this.inputDomNode.checked = !!isChecked;
|
307
|
+
this.inputDomNode.indeterminate = (isChecked === undefined);
|
204
308
|
refreshed = true;
|
309
|
+
if(isChecked) {
|
310
|
+
$tw.utils.addClass(this.labelDomNode,"tc-checkbox-checked");
|
311
|
+
} else {
|
312
|
+
$tw.utils.removeClass(this.labelDomNode,"tc-checkbox-checked");
|
313
|
+
}
|
205
314
|
}
|
206
315
|
return this.refreshChildren(changedTiddlers) || refreshed;
|
207
316
|
}
|
@@ -48,7 +48,7 @@ DraggableWidget.prototype.render = function(parent,nextSibling) {
|
|
48
48
|
if(this.draggableClasses) {
|
49
49
|
classes.push(this.draggableClasses);
|
50
50
|
}
|
51
|
-
if(!this.dragHandleSelector) {
|
51
|
+
if(!this.dragHandleSelector && this.dragEnable) {
|
52
52
|
classes.push("tc-draggable");
|
53
53
|
}
|
54
54
|
domNode.setAttribute("class",classes.join(" "));
|
@@ -56,16 +56,18 @@ DraggableWidget.prototype.render = function(parent,nextSibling) {
|
|
56
56
|
parent.insertBefore(domNode,nextSibling);
|
57
57
|
this.renderChildren(domNode,null);
|
58
58
|
// Add event handlers
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
59
|
+
if(this.dragEnable) {
|
60
|
+
$tw.utils.makeDraggable({
|
61
|
+
domNode: domNode,
|
62
|
+
dragTiddlerFn: function() {return self.getAttribute("tiddler");},
|
63
|
+
dragFilterFn: function() {return self.getAttribute("filter");},
|
64
|
+
startActions: self.startActions,
|
65
|
+
endActions: self.endActions,
|
66
|
+
dragImageType: self.dragImageType,
|
67
|
+
widget: this,
|
68
|
+
selector: self.dragHandleSelector
|
69
|
+
});
|
70
|
+
}
|
69
71
|
this.domNodes.push(domNode);
|
70
72
|
};
|
71
73
|
|
@@ -80,16 +82,37 @@ DraggableWidget.prototype.execute = function() {
|
|
80
82
|
this.endActions = this.getAttribute("endactions");
|
81
83
|
this.dragImageType = this.getAttribute("dragimagetype");
|
82
84
|
this.dragHandleSelector = this.getAttribute("selector");
|
85
|
+
this.dragEnable = this.getAttribute("enable","yes") === "yes";
|
83
86
|
// Make the child widgets
|
84
87
|
this.makeChildWidgets();
|
85
88
|
};
|
86
89
|
|
90
|
+
|
91
|
+
DraggableWidget.prototype.updateDomNodeClasses = function() {
|
92
|
+
var domNodeClasses = this.domNodes[0].className.split(" "),
|
93
|
+
oldClasses = this.draggableClasses.split(" ");
|
94
|
+
this.draggableClasses = this.getAttribute("class");
|
95
|
+
//Remove classes assigned from the old value of class attribute
|
96
|
+
$tw.utils.each(oldClasses,function(oldClass){
|
97
|
+
var i = domNodeClasses.indexOf(oldClass);
|
98
|
+
if(i !== -1) {
|
99
|
+
domNodeClasses.splice(i,1);
|
100
|
+
}
|
101
|
+
});
|
102
|
+
//Add new classes from updated class attribute.
|
103
|
+
$tw.utils.pushTop(domNodeClasses,this.draggableClasses);
|
104
|
+
this.domNodes[0].setAttribute("class",domNodeClasses.join(" "))
|
105
|
+
}
|
106
|
+
|
87
107
|
/*
|
88
108
|
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
|
89
109
|
*/
|
90
110
|
DraggableWidget.prototype.refresh = function(changedTiddlers) {
|
91
|
-
var changedAttributes = this.computeAttributes()
|
92
|
-
|
111
|
+
var changedAttributes = this.computeAttributes(),
|
112
|
+
changedAttributesCount = $tw.utils.count(changedAttributes);
|
113
|
+
if(changedAttributesCount === 1 && changedAttributes["class"]) {
|
114
|
+
this.updateDomNodeClasses();
|
115
|
+
} else if(changedAttributesCount > 0) {
|
93
116
|
this.refreshSelf();
|
94
117
|
return true;
|
95
118
|
}
|
@@ -98,4 +121,4 @@ DraggableWidget.prototype.refresh = function(changedTiddlers) {
|
|
98
121
|
|
99
122
|
exports.draggable = DraggableWidget;
|
100
123
|
|
101
|
-
})();
|
124
|
+
})();
|