tiddlywiki 5.4.0 → 5.4.1
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 +1 -1
- package/bin/build-tw-org.sh +0 -0
- package/bin/ci-pre-build.sh +0 -0
- package/bin/ci-push.sh +0 -0
- package/bin/ci-test.sh +0 -0
- package/bin/clean.sh +0 -0
- package/bin/get-plugin-library-version-number +0 -0
- package/bin/ginsu.sh +0 -0
- package/bin/lazy.sh +0 -0
- package/bin/npm-publish.sh +0 -0
- package/bin/optimise-svgs.js +0 -0
- package/bin/quick-bld.sh +0 -0
- package/bin/readme-bld.sh +0 -0
- package/bin/serve.sh +0 -0
- package/bin/tankbld.sh +0 -0
- package/bin/test.sh +0 -0
- package/bin/update-translation-from-html-file.sh +0 -0
- package/bin/verbump.sh +0 -0
- package/community/people/BurningTreeC.tid +9 -0
- package/community/project/teams/TiddlyDesktop Team.tid +8 -0
- package/core/images/advanced-search-button.tid +0 -0
- package/core/images/auto-height.tid +0 -0
- package/core/images/blank.tid +0 -0
- package/core/images/bold.tid +0 -0
- package/core/images/cancel-button.tid +0 -0
- package/core/images/chevron-down.tid +0 -0
- package/core/images/chevron-left.tid +0 -0
- package/core/images/chevron-right.tid +0 -0
- package/core/images/chevron-up.tid +0 -0
- package/core/images/clone-button.tid +0 -0
- package/core/images/close-all-button.tid +0 -0
- package/core/images/close-button.tid +0 -0
- package/core/images/close-others-button.tid +0 -0
- package/core/images/delete-button.tid +0 -0
- package/core/images/done-button.tid +0 -0
- package/core/images/down-arrow.tid +0 -0
- package/core/images/download-button.tid +0 -0
- package/core/images/edit-button.tid +0 -0
- package/core/images/erase.tid +0 -0
- package/core/images/excise.tid +0 -0
- package/core/images/export-button.tid +0 -0
- package/core/images/file.tid +0 -0
- package/core/images/fixed-height.tid +0 -0
- package/core/images/fold-all-button.tid +0 -0
- package/core/images/fold-button.tid +0 -0
- package/core/images/fold-others-button.tid +0 -0
- package/core/images/folder.tid +0 -0
- package/core/images/full-screen-button.tid +0 -0
- package/core/images/github.tid +0 -0
- package/core/images/globe.tid +0 -0
- package/core/images/heading-1.tid +0 -0
- package/core/images/heading-2.tid +0 -0
- package/core/images/heading-3.tid +0 -0
- package/core/images/heading-4.tid +0 -0
- package/core/images/heading-5.tid +0 -0
- package/core/images/heading-6.tid +0 -0
- package/core/images/help.tid +0 -0
- package/core/images/home-button.tid +0 -0
- package/core/images/import-button.tid +0 -0
- package/core/images/info-button.tid +0 -0
- package/core/images/italic.tid +0 -0
- package/core/images/layout-button.tid +0 -0
- package/core/images/left-arrow.tid +0 -0
- package/core/images/line-width.tid +0 -0
- package/core/images/list-bullet.tid +0 -0
- package/core/images/list-number.tid +0 -0
- package/core/images/locked-padlock.tid +0 -0
- package/core/images/mail.tid +0 -0
- package/core/images/menu-button.tid +0 -0
- package/core/images/mono-block.tid +0 -0
- package/core/images/mono-line.tid +0 -0
- package/core/images/new-button.tid +0 -0
- package/core/images/new-here-button.tid +0 -0
- package/core/images/new-image-button.tid +0 -0
- package/core/images/new-journal-button.tid +0 -0
- package/core/images/opacity.tid +0 -0
- package/core/images/open-window.tid +0 -0
- package/core/images/options-button.tid +0 -0
- package/core/images/paint.tid +0 -0
- package/core/images/palette.tid +0 -0
- package/core/images/permalink-button.tid +0 -0
- package/core/images/permaview-button.tid +0 -0
- package/core/images/picture.tid +0 -0
- package/core/images/plugin-generic-language.tid +0 -0
- package/core/images/plugin-generic-plugin.tid +0 -0
- package/core/images/plugin-generic-theme.tid +0 -0
- package/core/images/preview-closed.tid +0 -0
- package/core/images/preview-open.tid +0 -0
- package/core/images/quote.tid +0 -0
- package/core/images/refresh-button.tid +0 -0
- package/core/images/right-arrow.tid +0 -0
- package/core/images/save-button.tid +0 -0
- package/core/images/size.tid +0 -0
- package/core/images/spiral.tid +0 -0
- package/core/images/stamp.tid +0 -0
- package/core/images/star-filled.tid +0 -0
- package/core/images/storyview-classic.tid +0 -0
- package/core/images/storyview-pop.tid +0 -0
- package/core/images/storyview-zoomin.tid +0 -0
- package/core/images/strikethrough.tid +0 -0
- package/core/images/subscript.tid +0 -0
- package/core/images/superscript.tid +0 -0
- package/core/images/tag-button.tid +0 -0
- package/core/images/theme-button.tid +0 -0
- package/core/images/tip.tid +0 -0
- package/core/images/twitter.tid +0 -0
- package/core/images/underline.tid +0 -0
- package/core/images/unfold-all-button.tid +0 -0
- package/core/images/unfold-button.tid +0 -0
- package/core/images/unlocked-padlock.tid +0 -0
- package/core/images/up-arrow.tid +0 -0
- package/core/images/video.tid +0 -0
- package/core/images/warning.tid +0 -0
- package/core/modules/editor/engines/framed.js +2 -3
- package/core/modules/editor/engines/simple.js +2 -3
- package/core/modules/parsers/wikiparser/rules/codeinline.js +5 -2
- package/core/modules/parsers/wikiparser/rules/extlink.js +2 -1
- package/core/modules/parsers/wikiparser/rules/import.js +1 -1
- package/core/modules/parsers/wikiparser/rules/wikilinkprefix.js +4 -2
- package/core/modules/startup/load-modules.js +2 -2
- package/core/modules/startup/startup.js +0 -0
- package/core/modules/utils/deprecated.js +60 -11
- package/core/modules/utils/diff-match-patch/LICENSE +0 -0
- package/core/modules/utils/diff-match-patch/README.md +0 -0
- package/core/modules/utils/diff-match-patch/diff_match_patch.js +0 -0
- package/core/modules/utils/diff-match-patch/diff_match_patch_uncompressed.js +0 -0
- package/core/modules/utils/dom/dom.js +13 -0
- package/core/modules/utils/fakedom.js +9 -0
- package/core/modules/utils/utils.js +27 -7
- package/core/modules/widgets/element.js +0 -0
- package/core/modules/widgets/entity.js +0 -0
- package/core/modules/widgets/fields.js +0 -0
- package/core/modules/widgets/link.js +0 -0
- package/core/modules/widgets/list.js +0 -0
- package/core/modules/widgets/navigator.js +0 -0
- package/core/modules/widgets/reveal.js +0 -0
- package/core/modules/widgets/select.js +3 -4
- package/core/modules/widgets/setvariable.js +0 -0
- package/core/modules/widgets/text.js +0 -0
- package/core/modules/widgets/tiddler.js +0 -0
- package/core/modules/widgets/transclude.js +0 -0
- package/core/modules/widgets/view.js +0 -0
- package/core/modules/widgets/void.js +0 -0
- package/core/modules/widgets/widget.js +0 -0
- package/core/modules/wiki.js +0 -0
- package/core/sjcl-license.tid +0 -0
- package/core/wiki/config/OfficialPluginLibrary.tid +1 -1
- package/core-server/commands/rendertiddler.js +0 -0
- package/editions/de-AT/tiddlers/system/$__editions_de-AT-DE_download-empty.tid +0 -0
- package/editions/de-AT/tiddlywiki.info +0 -0
- package/editions/de-DE/tiddlywiki.info +0 -0
- package/editions/dev/tiddlywiki.info +0 -1
- package/editions/es-ES/tiddlers/system/download-empty.tid +0 -0
- package/editions/fr-FR/tiddlers/system/download-empty.tid +0 -0
- package/editions/introduction/tiddlywiki.info +0 -1
- package/editions/ja-JP/tiddlers/about/Archive.tid +1 -0
- package/editions/ja-JP/tiddlers/filters/syntax/Filter Expression.tid +2 -0
- package/editions/ja-JP/tiddlers/filters/syntax/Filter Parameter.tid +11 -1
- package/editions/ja-JP/tiddlers/filters/syntax/Filter Step.tid +3 -3
- package/editions/ja-JP/tiddlers/filters/syntax/Interchangeable Filter Run Prefixes.tid +3 -0
- package/editions/ja-JP/tiddlers/filters/syntax/Intersection Filter Run Prefix.tid +10 -1
- package/editions/ja-JP/tiddlers/filters/syntax/Let Filter Run Prefix (Examples).tid +15 -0
- package/editions/ja-JP/tiddlers/filters/syntax/Let Filter Run Prefix.tid +32 -0
- package/editions/ja-JP/tiddlers/filters/syntax/Named Filter Run Prefix.tid +11 -0
- package/editions/ja-JP/tiddlers/filters/syntax/Shortcut Filter Run Prefixes.tid +5 -3
- package/editions/ja-JP/tiddlers/filters/syntax/then Filter Run Prefix.tid +1 -1
- package/editions/ja-JP/tiddlers/functions/Functions.tid +3 -2
- package/editions/ja-JP/tiddlers/hellothere/HelloThere.tid +2 -2
- package/editions/ja-JP/tiddlers/hellothere/HelloThumbnail.tid +1 -1
- package/editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Latest Version.tid +1 -0
- package/editions/ja-JP/tiddlers/hellothere/thumbnails/HelloThumbnail - Newsletter.tid +0 -1
- package/editions/ja-JP/tiddlers/procedures/Procedure Calls.tid +3 -52
- package/editions/ja-JP/tiddlers/procedures/calls/Calls.tid +66 -0
- package/editions/ja-JP/tiddlers/saving/Encryption.tid +5 -5
- package/editions/ja-JP/tiddlers/variables/Behaviour of variables invoked via widget attributes.tid +4 -2
- package/editions/ja-JP/tiddlers/wikitext/Description Lists in WikiText.tid +33 -3
- package/editions/ja-JP/tiddlers/wikitext/Formatting in WikiText.tid +1 -1
- package/editions/ja-JP/tiddlers/wikitext/Lists in WikiText.tid +6 -2
- package/editions/ja-JP/tiddlers/wikitext/Macro Calls.tid +1 -52
- package/editions/ja-JP/tiddlers/wikitext/Multi-Valued Variable Attribute Values.tid +39 -0
- package/editions/ja-JP/tiddlers/wikitext/Tables in WikiText CSS Utility Classes.tid +12 -1
- package/editions/ja-JP/tiddlers/wikitext/Transclusion in WikiText.tid +22 -0
- package/editions/ja-JP/tiddlers/wikitext/Widget Attributes.tid +3 -2
- package/editions/prerelease/tiddlers/system/PrereleaseLocalPluginLibrary.tid +1 -1
- package/editions/prerelease/tiddlers/system/PrereleaseOfficialPluginLibrary.tid +1 -1
- package/editions/test/playwright.spec.js +1 -1
- package/editions/test/quick-test.js +71 -0
- package/editions/test/tiddlers/tests/test-deprecated.js +252 -0
- package/editions/test/tiddlers/tests/test-edit-widgets/edit-widgets-helpers.js +138 -0
- package/editions/test/tiddlers/tests/test-edit-widgets/test-edit-text-widget-attributes.js +353 -0
- package/editions/test/tiddlers/tests/test-edit-widgets/test-edit-text-widget.js +198 -0
- package/editions/test/tiddlers/tests/test-fakedom.js +11 -0
- package/editions/test/tiddlers/tests/test-parsetree-positions.js +60 -0
- package/editions/test/tiddlers/tests/test-select-widget.js +144 -0
- package/editions/test/tiddlers/tests/test-utils-copyObjectProperiesSafe.js +240 -0
- package/editions/test/tiddlers/tests/test-widget.js +0 -0
- package/editions/tiddlywiki-surveys/scripts/import-great-interview-project-json.sh +0 -0
- package/editions/tw5.com/tiddlers/$__StoryList.tid +3 -0
- package/editions/tw5.com/tiddlers/about/Archive.tid +4 -2
- package/editions/tw5.com/tiddlers/community/Community Survey 2025.tid +2 -2
- package/editions/tw5.com/tiddlers/hellothere/HelloThere.tid +1 -1
- package/editions/tw5.com/tiddlers/hellothere/HelloThumbnail.tid +1 -1
- package/editions/tw5.com/tiddlers/images/New Release Banner.webp +0 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.0/#9609_impacts_event detail variables in eventcatcher.tid +8 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.0/Release 5.4.0.tid +1 -1
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/#9828.tid +13 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/#9829.tid +9 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/#9836.tid +32 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/#9841.tid +13 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/#9870.tid +9 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/#9873.tid +14 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/#9882/#9882-fix-invalid-source-positions.tid +21 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/#9905.tid +13 -0
- package/editions/tw5.com/tiddlers/releasenotes/5.4.1/Release 5.4.1.tid +19 -0
- package/editions/tw5.com/tiddlers/variables/Multi-Valued Variables.tid +2 -2
- package/editions/tw5.com/tiddlers/widgets/EditTextWidget.tid +1 -1
- package/languages/de-DE/Fields.multids +0 -0
- package/languages/de-DE/Filters.multids +0 -0
- package/languages/de-DE/GettingStarted.tid +0 -0
- package/languages/de-DE/TiddlerInfo.multids +0 -0
- package/languages/pl-PL/ControlPanel.multids +2 -1
- package/languages/pl-PL/Draft.multids +4 -0
- package/languages/pl-PL/Import.multids +2 -0
- package/languages/pl-PL/Misc.multids +1 -0
- package/languages/pl-PL/TiddlerInfo.multids +5 -0
- package/languages/sv-SE/Buttons.multids +0 -0
- package/languages/sv-SE/ControlPanel.multids +0 -0
- package/languages/sv-SE/Dates.multids +0 -0
- package/languages/sv-SE/Docs/ModuleTypes.multids +0 -0
- package/languages/sv-SE/Docs/PaletteColours.multids +0 -0
- package/languages/sv-SE/EditTemplate.multids +0 -0
- package/languages/sv-SE/Exporters.multids +0 -0
- package/languages/sv-SE/Fields.multids +0 -0
- package/languages/sv-SE/Filters.multids +0 -0
- package/languages/sv-SE/GettingStarted.tid +0 -0
- package/languages/sv-SE/Help/build.tid +0 -0
- package/languages/sv-SE/Help/clearpassword.tid +0 -0
- package/languages/sv-SE/Help/default.tid +0 -0
- package/languages/sv-SE/Help/editions.tid +0 -0
- package/languages/sv-SE/Help/help.tid +0 -0
- package/languages/sv-SE/Help/init.tid +0 -0
- package/languages/sv-SE/Help/load.tid +0 -0
- package/languages/sv-SE/Help/makelibrary.tid +0 -0
- package/languages/sv-SE/Help/notfound.tid +0 -0
- package/languages/sv-SE/Help/output.tid +0 -0
- package/languages/sv-SE/Help/password.tid +0 -0
- package/languages/sv-SE/Help/rendertiddler.tid +0 -0
- package/languages/sv-SE/Help/rendertiddlers.tid +0 -0
- package/languages/sv-SE/Help/savetiddler.tid +0 -0
- package/languages/sv-SE/Help/savetiddlers.tid +0 -0
- package/languages/sv-SE/Help/server.tid +0 -0
- package/languages/sv-SE/Help/setfield.tid +0 -0
- package/languages/sv-SE/Help/unpackplugin.tid +0 -0
- package/languages/sv-SE/Help/verbose.tid +0 -0
- package/languages/sv-SE/Help/version.tid +0 -0
- package/languages/sv-SE/Import.multids +0 -0
- package/languages/sv-SE/Misc.multids +0 -0
- package/languages/sv-SE/Modals/Download.tid +0 -0
- package/languages/sv-SE/NewJournal.multids +0 -0
- package/languages/sv-SE/Notifications.multids +0 -0
- package/languages/sv-SE/Search.multids +0 -0
- package/languages/sv-SE/SideBar.multids +0 -0
- package/languages/sv-SE/SiteSubtitle.tid +0 -0
- package/languages/sv-SE/SiteTitle.tid +0 -0
- package/languages/sv-SE/TiddlerInfo.multids +0 -0
- package/languages/sv-SE/Types/application_javascript.tid +0 -0
- package/languages/sv-SE/Types/application_json.tid +0 -0
- package/languages/sv-SE/Types/application_x_tiddler_dictionary.tid +0 -0
- package/languages/sv-SE/Types/image_gif.tid +0 -0
- package/languages/sv-SE/Types/image_jpeg.tid +0 -0
- package/languages/sv-SE/Types/image_png.tid +0 -0
- package/languages/sv-SE/Types/image_svg_xml.tid +0 -0
- package/languages/sv-SE/Types/text_css.tid +0 -0
- package/languages/sv-SE/Types/text_html.tid +0 -0
- package/languages/sv-SE/Types/text_plain.tid +0 -0
- package/languages/sv-SE/Types/text_vnd.tiddlywiki.tid +0 -0
- package/languages/sv-SE/plugin.info +0 -0
- package/licenses/cla-individual.md +2 -0
- package/package.json +1 -1
- package/playwright.config.js +11 -3
- package/plugins/tiddlywiki/codemirror/EditorTypeMappings.multids +0 -0
- package/plugins/tiddlywiki/codemirror/edit-codemirror.js +0 -0
- package/plugins/tiddlywiki/codemirror/engine.js +3 -4
- package/plugins/tiddlywiki/codemirror/files/addon/dialog/dialog.css +0 -0
- package/plugins/tiddlywiki/codemirror/files/addon/dialog/dialog.js +0 -0
- package/plugins/tiddlywiki/codemirror/files/codemirror.css +0 -0
- package/plugins/tiddlywiki/codemirror/files/codemirror.js +0 -0
- package/plugins/tiddlywiki/codemirror/files/mode/tw-meta.js +0 -0
- package/plugins/tiddlywiki/codemirror/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror/keyboard.tid +0 -0
- package/plugins/tiddlywiki/codemirror/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror/styles.tid +0 -0
- package/plugins/tiddlywiki/codemirror/usage.tid +0 -0
- package/plugins/tiddlywiki/codemirror-autocomplete/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-autocomplete/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-autocomplete/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-closebrackets/files/addon/edit/matchbrackets.js +0 -0
- package/plugins/tiddlywiki/codemirror-closebrackets/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-closebrackets/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-closebrackets/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-closetag/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-closetag/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-closetag/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-fullscreen-editing/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-fullscreen-editing/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-fullscreen-editing/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-emacs/files/keymap/emacs.js +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-emacs/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-emacs/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-sublime-text/files/keymap/sublime.js +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-sublime-text/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-sublime-text/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-vim/files/keymap/vim.js +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-vim/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-keymap-vim/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-mode-css/files/mode/css/css.js +0 -0
- package/plugins/tiddlywiki/codemirror-mode-css/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-mode-css/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-mode-css/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlembedded/files/addon/mode/multiplex.js +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlembedded/files/mode/htmlembedded/htmlembedded.js +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlembedded/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlembedded/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlembedded/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlmixed/files/mode/htmlmixed/htmlmixed.js +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlmixed/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlmixed/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-mode-htmlmixed/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-mode-javascript/files/mode/javascript/javascript.js +0 -0
- package/plugins/tiddlywiki/codemirror-mode-javascript/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-mode-javascript/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-mode-javascript/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-mode-markdown/files/mode/markdown/markdown.js +0 -0
- package/plugins/tiddlywiki/codemirror-mode-markdown/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-mode-markdown/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-mode-markdown/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/files/mode/tiddlywiki/tiddlywiki.css +0 -0
- package/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/files/mode/tiddlywiki/tiddlywiki.js +0 -0
- package/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-mode-x-tiddlywiki/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-mode-xml/files/mode/xml/xml.js +0 -0
- package/plugins/tiddlywiki/codemirror-mode-xml/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-mode-xml/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-mode-xml/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-search-replace/files/addon/search/searchcursor.js +0 -0
- package/plugins/tiddlywiki/codemirror-search-replace/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-search-replace/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-search-replace/readme.tid +0 -0
- package/plugins/tiddlywiki/codemirror-trailingspace/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/codemirror-trailingspace/plugin.info +0 -0
- package/plugins/tiddlywiki/codemirror-trailingspace/readme.tid +0 -0
- package/plugins/tiddlywiki/evernote/samples/sample-enex-with-image.xml.enex +0 -0
- package/plugins/tiddlywiki/evernote/samples/sample-enex.xml.enex +0 -0
- package/plugins/tiddlywiki/freelinks/aho-corasick.js +20 -14
- package/plugins/tiddlywiki/freelinks/config-Freelinks-MaxLinks.tid +2 -0
- package/plugins/tiddlywiki/freelinks/macros-view.tid +2 -3
- package/plugins/tiddlywiki/freelinks/readme.tid +9 -3
- package/plugins/tiddlywiki/freelinks/settings.tid +2 -0
- package/plugins/tiddlywiki/freelinks/text.js +25 -5
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/MarkerCluster.Default.css +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/MarkerCluster.css +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster-src.js +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster-src.js.map +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster.js +0 -0
- package/plugins/tiddlywiki/geospatial/files/leaflet.markercluster/leaflet.markercluster.js.map +0 -0
- package/plugins/tiddlywiki/jasmine/update-packages.sh +0 -0
- package/plugins/tiddlywiki/jszip/files/LICENSE.markdown +0 -0
- package/plugins/tiddlywiki/jszip/files/jszip.min.v2.6.1.js +0 -0
- package/plugins/tiddlywiki/katex/files/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/bold.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/heading-1.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/heading-2.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/heading-3.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/heading-4.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/heading-5.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/heading-6.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/italic.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/link.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/linkify.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/list-bullet.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/list-number.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/mono-block.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/mono-line.tid +0 -0
- package/plugins/tiddlywiki/markdown/EditorToolbar/quote.tid +0 -0
- package/plugins/tiddlywiki/markdown/docs_type_markdown.tid +0 -0
- package/plugins/tiddlywiki/markdown/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/markdown/images/new-markdown-button.tid +0 -0
- package/plugins/tiddlywiki/markdown/new-markdown.tid +0 -0
- package/plugins/tiddlywiki/markdown/plugin.info +0 -0
- package/plugins/tiddlywiki/markdown/readme.tid +0 -0
- package/plugins/tiddlywiki/markdown/wrapper.js +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/bold.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-1.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-2.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-3.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-4.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-5.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/heading-6.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/italic.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/link.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/linkify.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/list-bullet.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/list-number.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/mono-block.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/mono-line.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/EditorToolbar/quote.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/docs_type_markdown.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/files/tiddlywiki.files +0 -0
- package/plugins/tiddlywiki/markdown-legacy/images/new-markdown-button.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/new-markdown.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/plugin.info +0 -0
- package/plugins/tiddlywiki/markdown-legacy/readme.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/usage.tid +0 -0
- package/plugins/tiddlywiki/markdown-legacy/wrapper.js +0 -0
- package/plugins/tiddlywiki/qrcode/files/qrcode/LICENSE +0 -0
- package/plugins/tiddlywiki/qrcode/files/qrcode/README.md +0 -0
- package/plugins/tiddlywiki/qrcode/files/qrcode/qrcode.js +0 -0
- package/plugins/tiddlywiki/tw2parser/wikitextrules.js +0 -0
- package/plugins/tiddlywiki/xmldom/files/LICENSE +0 -0
- package/plugins/tiddlywiki/xmldom/files/dom-parser.js +0 -0
- package/plugins/tiddlywiki/xmldom/files/dom.js +0 -0
- package/plugins/tiddlywiki/xmldom/files/entities.js +0 -0
- package/plugins/tiddlywiki/xmldom/files/readme.md +0 -0
- package/plugins/tiddlywiki/xmldom/files/sax.js +0 -0
- package/readme.md +1 -1
- package/.claude/settings.json +0 -34
- package/.claude/settings.local.json +0 -21
- package/editions/dev/tiddlers/$__StoryList.tid +0 -3
- package/editions/ja-JP/tiddlers/gettingstarted/GettingStarted - Internet Explorer.tid +0 -13
- package/editions/ja-JP/tiddlers/howtos/Windows HTA Hack.tid +0 -19
- package/editions/ja-JP/tiddlers/saving/Saving with TiddlyIE.tid +0 -28
- package/editions/test/tiddlers/$__StoryList.tid +0 -2
- package/editions/tw5.com/tiddlers/releasenotes/5.4.0/#9609_impacts_event detail variables in eventcatcher.json +0 -13
|
@@ -1,16 +1,46 @@
|
|
|
1
1
|
caption: 説明リスト
|
|
2
2
|
created: 20131205160424246
|
|
3
|
-
modified:
|
|
4
|
-
original-modified:
|
|
3
|
+
modified: 20260409111112126
|
|
4
|
+
original-modified: 20260405082055301
|
|
5
5
|
tags: WikiText
|
|
6
6
|
title: Description Lists in WikiText
|
|
7
7
|
ja-title: Wikiテキストでの説明リスト
|
|
8
8
|
type: text/vnd.tiddlywiki
|
|
9
9
|
|
|
10
|
+
!! 基本的な構文
|
|
11
|
+
|
|
10
12
|
HTML説明リスト(<abbr title="またの名を">別名</abbr> 定義リスト)は次の構文で作成できます:
|
|
11
13
|
|
|
12
14
|
<<wikitext-example src:"; 説明する用語
|
|
13
15
|
: その用語の説明/定義
|
|
14
16
|
; 別の用語
|
|
15
17
|
: 別の説明/定義
|
|
16
|
-
">>
|
|
18
|
+
">>
|
|
19
|
+
|
|
20
|
+
!! 複数の用語と説明
|
|
21
|
+
|
|
22
|
+
1つの用語に対して複数の説明を作成することも、1つの説明に対して複数の用語を作成することもできます:
|
|
23
|
+
|
|
24
|
+
<<wikitext-example src:"; ねずみ
|
|
25
|
+
: 体が小さく尾が長い齧歯類
|
|
26
|
+
: コンピュータを操作するために使用するポインティングデバイス
|
|
27
|
+
; りんご
|
|
28
|
+
; なし
|
|
29
|
+
: バラ科に属する果物の一種
|
|
30
|
+
">>
|
|
31
|
+
|
|
32
|
+
!! 入れ子になった説明リスト
|
|
33
|
+
|
|
34
|
+
説明リストはネストして、リストの中にリストを作成することもできます:
|
|
35
|
+
|
|
36
|
+
<<wikitext-example src:"; コーヒー
|
|
37
|
+
: 焙煎したコーヒー豆から作られた飲み物
|
|
38
|
+
:; ブラックコーヒー
|
|
39
|
+
:: 添加物を一切使用しないコーヒー
|
|
40
|
+
:; ミルクコーヒー
|
|
41
|
+
:: コーヒーにスチームミルクやフォームミルクを加えたもの
|
|
42
|
+
::; ラテ
|
|
43
|
+
::: エスプレッソとスチームミルクで作ったコーヒー
|
|
44
|
+
; ティー
|
|
45
|
+
: 一般的に茶葉から作られる飲み物
|
|
46
|
+
">>
|
|
@@ -40,7 +40,7 @@ type: text/vnd.tiddlywiki
|
|
|
40
40
|
|`__下線テキスト__`には二重アンダースコアを使用します|`<u>下線テキスト<u>` |
|
|
41
41
|
|`^^上付き文字^^`テキストには二重サーカムフレックスアクセントを使用します |`<sup>上付き文字</sup>`テキストには二重サーカムフレックスアクセントを使用します |
|
|
42
42
|
|`,,下付き文字,,`テキストには二重カンマを使用します |`<sub>下付き文字</sub>`テキストには二重カンマを使用します |
|
|
43
|
-
|`~~取り消し線~~`テキストには二重チルダ記号を使用します |`<
|
|
43
|
+
|`~~取り消し線~~`テキストには二重チルダ記号を使用します |`<s>取り消し線</s>`テキストには二重チルダ記号を使用します |
|
|
44
44
|
|```等幅文字` ``には単一のバッククォートを使用します |`<code>等幅文字</code>`には単一のバッククォートを使用します |
|
|
45
45
|
|`@@ハイライト@@`するには二重@記号を使用します |`<span class="tc-inline-style">ハイライト</span>`するには二重@記号を使用します |
|
|
46
46
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
caption: リスト
|
|
2
2
|
created: 20131205160257619
|
|
3
|
-
modified:
|
|
4
|
-
original-modified:
|
|
3
|
+
modified: 20260409112505342
|
|
4
|
+
original-modified: 20260405094604397
|
|
5
5
|
tags: WikiText Lists
|
|
6
6
|
title: Lists in WikiText
|
|
7
7
|
ja-title: Wikiテキストでのリスト
|
|
@@ -45,6 +45,10 @@ type: text/vnd.tiddlywiki
|
|
|
45
45
|
#** そしてもう一つ
|
|
46
46
|
">>
|
|
47
47
|
|
|
48
|
+
! 説明リスト
|
|
49
|
+
|
|
50
|
+
{{Description Lists in WikiText}}
|
|
51
|
+
|
|
48
52
|
! CSSクラス
|
|
49
53
|
|
|
50
54
|
次の表記法を使用して、リストの個々のメンバーにCSSクラスを割り当てることもできます:
|
|
@@ -2,59 +2,8 @@ caption: マクロ呼び出し
|
|
|
2
2
|
created: 20150220182252000
|
|
3
3
|
modified: 20260321104805874
|
|
4
4
|
original-modified: 20230419103154328
|
|
5
|
-
tags: WikiText Macros
|
|
6
5
|
title: Macro Calls
|
|
7
6
|
ja-title: マクロ呼び出し
|
|
8
7
|
type: text/vnd.tiddlywiki
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
このTiddlerでは、[[マクロ|Macros]]を呼び出すさまざまな方法について説明します。
|
|
13
|
-
|
|
14
|
-
!! マクロ呼び出しトランスクルージョンのショートカット
|
|
15
|
-
|
|
16
|
-
[[マクロ|Macros]]を呼び出すには、マクロ名とパラメータ値を`<<`二重山括弧`>>`で囲みます。
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
<<mymacro param:"これはパラメータ値です">>
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
デフォルトでは、パラメータはマクロの定義と同じ順序でリストします。パラメータに名前とコロンを付けることで、異なる順序でリストすることも可能です。
|
|
23
|
-
|
|
24
|
-
パラメータに値が指定されていない場合は、[[マクロ定義|Macro Definitions]]でそのパラメータに指定されているデフォルト値が代わりに使用されます。(デフォルト値が定義されていない場合は、パラメータはブランクになります。)
|
|
25
|
-
|
|
26
|
-
各パラメータ値は、`'`シングルクォーテーション`'`、`"`ダブルクォーテーション`"`、`"""`三重ダブルクォーテーション`"""`、または`[[`二重角括弧`]]`で囲むことができます。三重ダブルクォーテーションを使用すると、値にほぼあらゆる文字列を含めることができます。値にスペース、シングルクォーテーション、ダブルクォーテーションが含まれていない場合は、区切り文字は必要ありません。
|
|
27
|
-
|
|
28
|
-
この構文の正式な[[説明|Macro Call Syntax]]も利用可能です。
|
|
29
|
-
|
|
30
|
-
[[パーサーモード|WikiText parser mode: macro examples]]に関する[[例|Macro Calls in WikiText (Examples)]]と議論を参照してください。
|
|
31
|
-
|
|
32
|
-
!! <<.wlink TranscludeWidget>>ウィジェットを用いたマクロ呼び出し
|
|
33
|
-
|
|
34
|
-
ショートカット構文は、トランスクルードするマクロの名前を指定する`$variable`属性を持つ<<.wlink TranscludeWidget>>ウィジェットに展開されます。
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
<$transclude $variable="mymacro" param="これはパラメータ値です"/>
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
ウィジェット自体は、パラメータ値を指定できるなど、ショートカット構文よりも柔軟です。
|
|
41
|
-
|
|
42
|
-
!! 属性値にマクロ呼び出しを割り当てる
|
|
43
|
-
|
|
44
|
-
マクロの実行結果は、ウィジェットやHTML要素の属性に割り当てることができます。マクロの実行結果はWiki変換されませんが、[[パラメータの置換|Macro Parameter Handling]]は実行されます。
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
<div class=<<myclasses "Horizontal">>>
|
|
48
|
-
...
|
|
49
|
-
</div>
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
!! フィルターでマクロ呼び出しを使用する
|
|
53
|
-
|
|
54
|
-
マクロ呼び出しはフィルタ内で使用できます:
|
|
55
|
-
|
|
56
|
-
```
|
|
57
|
-
<$list filter="[<mymacro param:'value'>]">
|
|
58
|
-
...
|
|
59
|
-
</$list>
|
|
60
|
-
```
|
|
9
|
+
<<.deprecated-since "5.4.0" "Calls">>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
created: 20250208120000000
|
|
2
|
+
modified: 20260507110511201
|
|
3
|
+
original-modified: 20250208120000000
|
|
4
|
+
tags: WikiText [[Widget Attributes]]
|
|
5
|
+
title: Multi-Valued Variable Attribute Values
|
|
6
|
+
ja-title: 複数値変数の属性値
|
|
7
|
+
type: text/vnd.tiddlywiki
|
|
8
|
+
|
|
9
|
+
<<.from-version "5.4.0">> 複数値変数の属性値は、変数名を二重の丸括弧で囲むことで指定できるようになりました。これにより、[[複数値変数|Multi-Valued Variables]]の最初の値だけでなく、すべての値が属性に渡されます。
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
<$transclude $variable="myproc" items=((myvar))/>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
これは、下位互換性のために最初の値のみを返す[[変数の属性値|Variable Attribute Values]]構文`<<var>>`の複数値版です。この関係は、`<var>`が単一の値を返し、`(var)`がすべての値を返すフィルタオペランドの既存の慣例を反映しています。
|
|
16
|
+
|
|
17
|
+
! 複数値変数非対応の属性
|
|
18
|
+
|
|
19
|
+
`((var))`が複数値変数をサポートしていないウィジェット属性([[textウィジェット|TextWidget]]の`text`属性など)で使用される場合、最初の値のみが使用されます:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
<$text text=((myvar))/>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
! プロシージャに複数値変数を渡す
|
|
26
|
+
|
|
27
|
+
この構文の主なユースケースは、複数の値を持つ変数を`$transclude`パイプラインを通してプロシージャや関数に渡すことです:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
\procedure showItems(itemList)
|
|
31
|
+
<$text text={{{ [(itemList)join[-]] }}}/>
|
|
32
|
+
\end
|
|
33
|
+
|
|
34
|
+
<$let items={{{ [all[tiddlers]sort[]] }}}>
|
|
35
|
+
<$transclude $variable="showItems" itemList=((items))/>
|
|
36
|
+
</$let>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
この例では、`items`に格納されているTiddlerタイトルの完全なリストが`showItems`プロシージャの`itemList`パラメータに渡されます。
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
created: 20220817153236691
|
|
2
|
-
modified:
|
|
2
|
+
modified: 20260409114243582
|
|
3
3
|
original-modified: 20221010074314452
|
|
4
4
|
tags: [[Tables in WikiText]]
|
|
5
5
|
title: Tables in WikiText CSS Utility Classes
|
|
@@ -81,3 +81,14 @@ full-tiddler-widthである表に、左右の余白を追加するには、`tc-m
|
|
|
81
81
|
| セル1|<$edit-text tiddler="$:/temp/test-table-input" tag="input" field="test"/> |
|
|
82
82
|
|^ [[Tiddlerへのリンク|Link to a tiddler]]<br>さらに詳しい説明|<$edit-text tiddler="$:/temp/test-table-input" field="text"/> |
|
|
83
83
|
""">>
|
|
84
|
+
|
|
85
|
+
!! 行スタイルを交互にした表
|
|
86
|
+
|
|
87
|
+
独自のスタイルシートを作成する必要があります。[[スタイルシートの使用|Using Stylesheets]]を参照してください。考え方は、`:nth-of-type(even/odd)`を使用してルールを作成することです。例:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
.myclass tbody tr:nth-of-type(even) { background-color: <<color tiddler-editor-fields-even>>; }
|
|
91
|
+
.myclass tbody tr:nth-of-type(odd) { background-color: <<color tiddler-editor-fields-odd>>; }
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
<<.note """~TiddlyWikiは、テーブルの行に`evenRow`クラスと`oddRow`クラスを自動的に適用します。ただし、これらのクラスの使用は推奨されません。行は'even'(想定とは逆)で始まり、ヘッダー、フッター、本文のいずれに表示されるかに関わらず、テーブルのすべての行は単一の結合された行セットとして扱われます。""">>
|
|
@@ -66,6 +66,28 @@ or, when used with a template, `{{{ [tag[mechanism]]||TemplateTitle }}}` expands
|
|
|
66
66
|
|
|
67
67
|
<<.tip "//Internals//プラグインをインストールすると、生成されたウィジェットツリーをエディターのプレビューペインに表示できます">>
|
|
68
68
|
|
|
69
|
+
!! 複数値変数の表示
|
|
70
|
+
|
|
71
|
+
<<.from-version "5.4.0">> `((var))`構文をインラインで使用して、[[複数値変数|Multi-Valued Variables]]の値を、デフォルトではカンマとスペースで連結して表示できるようになりました:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
((myvar))
|
|
75
|
+
((myvar||:))
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
オプションの`||`区切り文字は、カスタムの区切り文字を指定します。
|
|
79
|
+
|
|
80
|
+
!! インラインフィルター表示
|
|
81
|
+
|
|
82
|
+
<<.from-version "5.4.0">> `(((filter)))`構文によりフィルタ式の結果をデフォルトではカンマとスペースで連結してインラインで表示します:
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
((( [all[tiddlers]sort[]] )))
|
|
86
|
+
((( [all[tiddlers]sort[]] ||: )))
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
オプションの`||`区切り文字は、カスタムの区切り文字を指定します。これは、フィルタリングされたトランスクルージョン構文`{{{ }}}`に対応するインライン表示の表現です。
|
|
90
|
+
|
|
69
91
|
---
|
|
70
92
|
|
|
71
93
|
参照:
|
|
@@ -13,6 +13,7 @@ type: text/vnd.tiddlywiki
|
|
|
13
13
|
* [[マクロ/変数のトランスクルージョン|Variable Attribute Values]]
|
|
14
14
|
* [[フィルター式の結果として|Filtered Attribute Values]]
|
|
15
15
|
* <<.from-version "5.3.0">> [[指定された文字列に対してフィルタと変数置換を実行した結果として|Substituted Attribute Values]]
|
|
16
|
+
* <<.from-version "5.4.0">> [[複数値変数の参照として|Multi-Valued Variable Attribute Values]]
|
|
16
17
|
|
|
17
18
|
|属性タイプ|構文|h
|
|
18
19
|
|リテラル |スペースを含まない値には、シングルクォーテーション、ダブルクォーテーション、トリプルクォーテーション、またはクォーテーションなし |
|
|
@@ -20,9 +21,9 @@ type: text/vnd.tiddlywiki
|
|
|
20
21
|
|変数 |マクロまたは変数呼び出しを囲む二重の山括弧 |
|
|
21
22
|
|フィルタリング結果 |フィルター式を囲む三重の中括弧|
|
|
22
23
|
|置換結果|置換処理を行うテキストの、単一または三重のバッククォート|
|
|
24
|
+
|複数値変数 |変数名を囲む二重の丸括弧 |
|
|
23
25
|
|
|
24
|
-
|
|
25
|
-
<$list filter="[[Literal Attribute Values]] [[Transcluded Attribute Values]] [[Variable Attribute Values]] [[Filtered Attribute Values]] [[Substituted Attribute Values]]">
|
|
26
|
+
<$list filter="[[Literal Attribute Values]] [[Transcluded Attribute Values]] [[Variable Attribute Values]] [[Filtered Attribute Values]] [[Substituted Attribute Values]] [[Multi-Valued Variable Attribute Values]]">
|
|
26
27
|
<$link><h1><$view tiddler=<<currentTiddler>> field=ja-title/></h1></$link>
|
|
27
28
|
<$transclude mode="block"/>
|
|
28
29
|
</$list>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
title: $:/config/LocalPluginLibrary
|
|
2
2
|
tags: $:/tags/PluginLibrary
|
|
3
|
-
url: http://127.0.0.1:8080/prerelease/library/v5.4.
|
|
3
|
+
url: http://127.0.0.1:8080/prerelease/library/v5.4.1/index.html
|
|
4
4
|
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease Local)
|
|
5
5
|
|
|
6
6
|
A locally installed version of the official ~TiddlyWiki plugin library at tiddlywiki.com for testing and debugging. //Requires a local web server to share the library//
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
title: $:/config/OfficialPluginLibrary
|
|
2
2
|
tags: $:/tags/PluginLibrary
|
|
3
|
-
url: https://tiddlywiki.com/prerelease/library/v5.4.
|
|
3
|
+
url: https://tiddlywiki.com/prerelease/library/v5.4.1/index.html
|
|
4
4
|
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease)
|
|
5
5
|
|
|
6
6
|
The prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.
|
|
@@ -7,7 +7,7 @@ const crossPlatformIndexPath = indexPath.replace(/^\/+/, "");
|
|
|
7
7
|
|
|
8
8
|
test("get started link", async ({ page }) => {
|
|
9
9
|
// The tests can take a while to run
|
|
10
|
-
const timeout = 1000 *
|
|
10
|
+
const timeout = 1000 * 60;
|
|
11
11
|
test.setTimeout(timeout);
|
|
12
12
|
|
|
13
13
|
// Load the generated test TW html
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Fast test runner that boots the test edition and runs selected test specs.
|
|
3
|
+
Skips the expensive --rendertiddler step from --build index.
|
|
4
|
+
|
|
5
|
+
Usage:
|
|
6
|
+
node test-parser-quick.js [test-files...]
|
|
7
|
+
|
|
8
|
+
Examples:
|
|
9
|
+
node test-parser-quick.js # Run ALL specs
|
|
10
|
+
node test-parser-quick.js test-wikitext-parser # Run one spec file
|
|
11
|
+
node test-parser-quick.js test-wikitext-parser test-filters # Run multiple spec files
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
"use strict";
|
|
15
|
+
|
|
16
|
+
var $tw = require("../../boot/boot.js").TiddlyWiki();
|
|
17
|
+
|
|
18
|
+
$tw.boot.argv = ["editions/test"];
|
|
19
|
+
|
|
20
|
+
// Disable startup modules that aren't needed for tests
|
|
21
|
+
$tw.boot.disabledStartupModules = [
|
|
22
|
+
"favicon", "password", "browser-messaging", "info",
|
|
23
|
+
"render", "rootwidget", "story", "windows"
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
$tw.boot.boot(function() {
|
|
27
|
+
var args = process.argv.slice(2);
|
|
28
|
+
var allTests = $tw.wiki.filterTiddlers("[all[tiddlers+shadows]type[application/javascript]tag[$:/tags/test-spec]]");
|
|
29
|
+
|
|
30
|
+
// Filter test tiddlers if arguments provided
|
|
31
|
+
var testsToRun;
|
|
32
|
+
if(args.length > 0) {
|
|
33
|
+
testsToRun = allTests.filter(function(title) {
|
|
34
|
+
return args.some(function(arg) {
|
|
35
|
+
return title.toLowerCase().indexOf(arg.toLowerCase()) !== -1;
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
if(testsToRun.length === 0) {
|
|
39
|
+
console.error("No test files matched: " + args.join(", "));
|
|
40
|
+
console.error("Available test files:");
|
|
41
|
+
allTests.forEach(function(t) { console.error(" " + t); });
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
testsToRun = allTests;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Override the test filter to only include our selected tests
|
|
49
|
+
var titlesSet = Object.create(null);
|
|
50
|
+
testsToRun.forEach(function(t) { titlesSet[t] = true; });
|
|
51
|
+
|
|
52
|
+
var origFilterTiddlers = $tw.wiki.filterTiddlers.bind($tw.wiki);
|
|
53
|
+
$tw.wiki.filterTiddlers = function(filterString) {
|
|
54
|
+
var result = origFilterTiddlers.apply(null, arguments);
|
|
55
|
+
if(filterString.indexOf("$:/tags/test-spec") !== -1) {
|
|
56
|
+
return result.filter(function(t) { return titlesSet[t]; });
|
|
57
|
+
}
|
|
58
|
+
return result;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
console.log("Running " + testsToRun.length + " of " + allTests.length + " test files");
|
|
62
|
+
|
|
63
|
+
// Use the jasmine plugin's own runTests function
|
|
64
|
+
var jasmine = $tw.modules.execute("$:/plugins/tiddlywiki/jasmine/jasmine-plugin.js");
|
|
65
|
+
jasmine.runTests(function(err) {
|
|
66
|
+
if(err) {
|
|
67
|
+
console.error(err);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/*\
|
|
2
|
+
title: test-deprecated.js
|
|
3
|
+
type: application/javascript
|
|
4
|
+
tags: [[$:/tags/test-spec]]
|
|
5
|
+
|
|
6
|
+
Regression-guard tests for $:/core/modules/utils/deprecated.js.
|
|
7
|
+
|
|
8
|
+
Locks in pre-5.4.0 tolerant behaviour of $tw.utils helpers that regressed
|
|
9
|
+
in PR #9251 (one-line modern equivalents diverge on edge-case inputs).
|
|
10
|
+
Without the companion restoration patch to core/modules/utils/deprecated.js:
|
|
11
|
+
8 specs fail. With the patch: green.
|
|
12
|
+
|
|
13
|
+
The addClass/removeClass/toggleClass specs at the end were moved from
|
|
14
|
+
test-utils.js — RSOD guard for the SampleWizard report (class field
|
|
15
|
+
"aaa bbb" crashing classList.add with InvalidCharacterError).
|
|
16
|
+
|
|
17
|
+
\*/
|
|
18
|
+
|
|
19
|
+
"use strict";
|
|
20
|
+
|
|
21
|
+
describe("deprecated.js — backwards-compat",function() {
|
|
22
|
+
|
|
23
|
+
describe("$tw.utils.repeat",function() {
|
|
24
|
+
it("returns '' for zero or negative count (does not throw)",function() {
|
|
25
|
+
expect($tw.utils.repeat("x",0)).toBe("");
|
|
26
|
+
expect($tw.utils.repeat("x",-1)).toBe("");
|
|
27
|
+
expect($tw.utils.repeat("x",-100)).toBe("");
|
|
28
|
+
});
|
|
29
|
+
it("coerces null/undefined str rather than throwing",function() {
|
|
30
|
+
expect($tw.utils.repeat(null,3)).toBe("nullnullnull");
|
|
31
|
+
expect($tw.utils.repeat(undefined,2)).toBe("undefinedundefined");
|
|
32
|
+
});
|
|
33
|
+
it("still works for normal inputs",function() {
|
|
34
|
+
expect($tw.utils.repeat("ab",3)).toBe("ababab");
|
|
35
|
+
expect($tw.utils.repeat("-",5)).toBe("-----");
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
describe("$tw.utils.startsWith / $tw.utils.endsWith",function() {
|
|
40
|
+
it("tolerate a RegExp search argument without throwing",function() {
|
|
41
|
+
// Old impl uses substring coercion; native String.prototype.startsWith
|
|
42
|
+
// throws TypeError when passed a RegExp.
|
|
43
|
+
expect(function() { $tw.utils.startsWith("abc",/a/); }).not.toThrow();
|
|
44
|
+
expect(function() { $tw.utils.endsWith("abc",/c/); }).not.toThrow();
|
|
45
|
+
});
|
|
46
|
+
it("still match normal string inputs",function() {
|
|
47
|
+
expect($tw.utils.startsWith("abcdef","abc")).toBe(true);
|
|
48
|
+
expect($tw.utils.startsWith("abcdef","xyz")).toBe(false);
|
|
49
|
+
expect($tw.utils.endsWith("abcdef","def")).toBe(true);
|
|
50
|
+
expect($tw.utils.endsWith("abcdef","xyz")).toBe(false);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
describe("$tw.utils.stringifyNumber",function() {
|
|
55
|
+
it("coerces null/undefined via string-concat rather than throwing",function() {
|
|
56
|
+
expect($tw.utils.stringifyNumber(null)).toBe("null");
|
|
57
|
+
expect($tw.utils.stringifyNumber(undefined)).toBe("undefined");
|
|
58
|
+
});
|
|
59
|
+
it("still returns a number's string form",function() {
|
|
60
|
+
expect($tw.utils.stringifyNumber(42)).toBe("42");
|
|
61
|
+
expect($tw.utils.stringifyNumber(-3.14)).toBe("-3.14");
|
|
62
|
+
expect($tw.utils.stringifyNumber(0)).toBe("0");
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
describe("$tw.utils.domContains",function() {
|
|
67
|
+
// Stub nodes expose both .contains() and .compareDocumentPosition() so
|
|
68
|
+
// both the old (compareDocumentPosition & 16 → number) and new
|
|
69
|
+
// (a !== b && a.contains(b) → boolean) forms can be observed.
|
|
70
|
+
function makeNode(children) {
|
|
71
|
+
children = children || [];
|
|
72
|
+
var self;
|
|
73
|
+
self = {
|
|
74
|
+
contains: function(other) {
|
|
75
|
+
if(other === self) { return true; }
|
|
76
|
+
return children.some(function(c) { return c === other || c.contains(other); });
|
|
77
|
+
},
|
|
78
|
+
compareDocumentPosition: function(other) {
|
|
79
|
+
if(other === self) { return 0; }
|
|
80
|
+
return self.contains(other) ? 16 : 0;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
return self;
|
|
84
|
+
}
|
|
85
|
+
it("returns strictly boolean true/false, not a bit-mask number",function() {
|
|
86
|
+
var child = makeNode();
|
|
87
|
+
var parent = makeNode([child]);
|
|
88
|
+
var unrelated = makeNode();
|
|
89
|
+
expect($tw.utils.domContains(parent,child)).toBe(true);
|
|
90
|
+
expect($tw.utils.domContains(parent,unrelated)).toBe(false);
|
|
91
|
+
});
|
|
92
|
+
it("returns false for domContains(x, x)",function() {
|
|
93
|
+
var a = makeNode();
|
|
94
|
+
expect($tw.utils.domContains(a,a)).toBe(false);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
describe("$tw.utils.hasClass",function() {
|
|
99
|
+
it("returns false for null/undefined element without throwing",function() {
|
|
100
|
+
expect(function() { $tw.utils.hasClass(null,"foo"); }).not.toThrow();
|
|
101
|
+
expect($tw.utils.hasClass(null,"foo")).toBe(false);
|
|
102
|
+
expect(function() { $tw.utils.hasClass(undefined,"foo"); }).not.toThrow();
|
|
103
|
+
expect($tw.utils.hasClass(undefined,"foo")).toBe(false);
|
|
104
|
+
});
|
|
105
|
+
it("returns strictly false (not undefined) for elements without classList",function() {
|
|
106
|
+
expect($tw.utils.hasClass({},"foo")).toBe(false);
|
|
107
|
+
});
|
|
108
|
+
it("delegates to classList.contains for real elements",function() {
|
|
109
|
+
var el = { classList: { contains: function(c) { return c === "a" || c === "b"; } } };
|
|
110
|
+
expect($tw.utils.hasClass(el,"a")).toBe(true);
|
|
111
|
+
expect($tw.utils.hasClass(el,"b")).toBe(true);
|
|
112
|
+
expect($tw.utils.hasClass(el,"c")).toBe(false);
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
// getLocationPath reads window.location: specs pend in Node (no `window`
|
|
117
|
+
// in the TW5 sandbox) and use history.replaceState in the browser —
|
|
118
|
+
// assigning to window.location would trigger a navigation and reload.
|
|
119
|
+
describe("$tw.utils.getLocationPath",function() {
|
|
120
|
+
var originalUrl;
|
|
121
|
+
beforeEach(function() {
|
|
122
|
+
if(!$tw.browser) { return; }
|
|
123
|
+
originalUrl = window.location.href;
|
|
124
|
+
});
|
|
125
|
+
afterEach(function() {
|
|
126
|
+
if(!$tw.browser) { return; }
|
|
127
|
+
history.replaceState(null,"",originalUrl);
|
|
128
|
+
});
|
|
129
|
+
it("preserves the query string in the returned path",function() {
|
|
130
|
+
if(!$tw.browser) { pending("browser-only: requires window.location - run in browser"); return; }
|
|
131
|
+
history.replaceState(null,"","?lang=de&x=1#Intro");
|
|
132
|
+
var path = $tw.utils.getLocationPath();
|
|
133
|
+
expect(path).toContain("?lang=de&x=1");
|
|
134
|
+
expect(path).not.toContain("#Intro");
|
|
135
|
+
});
|
|
136
|
+
it("strips the hash fragment",function() {
|
|
137
|
+
if(!$tw.browser) { pending("browser-only: requires window.location - run in browser"); return; }
|
|
138
|
+
history.replaceState(null,"","#SomeTiddler");
|
|
139
|
+
// Sanity check: replaceState actually changed the hash.
|
|
140
|
+
expect(window.location.hash).toBe("#SomeTiddler");
|
|
141
|
+
var path = $tw.utils.getLocationPath();
|
|
142
|
+
expect(path).not.toContain("#");
|
|
143
|
+
// Rebuild expected href without the hash — works on http(s):// and file://.
|
|
144
|
+
var expected = window.location.href.split("#")[0];
|
|
145
|
+
expect(path).toBe(expected);
|
|
146
|
+
});
|
|
147
|
+
it("includes the query string when no hash is present",function() {
|
|
148
|
+
if(!$tw.browser) { pending("browser-only: requires window.location - run in browser"); return; }
|
|
149
|
+
history.replaceState(null,"","?x=1");
|
|
150
|
+
var path = $tw.utils.getLocationPath();
|
|
151
|
+
expect(path).toMatch(/\?x=1$/);
|
|
152
|
+
expect(path).not.toContain("#");
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
// Regression guard: classList.add/remove/toggle throw InvalidCharacterError on
|
|
157
|
+
// whitespace. Manual repro: tw5-com #SampleWizard, class="aaa bbb", Done, popup
|
|
158
|
+
// -> OK -> nested popup -> RSOD. Stub classList mirrors real DOM semantics
|
|
159
|
+
// (reject whitespace, de-dupe on add, no-op on remove of missing token).
|
|
160
|
+
describe("addClass/removeClass/toggleClass",function() {
|
|
161
|
+
function makeEl() {
|
|
162
|
+
var tokens = [];
|
|
163
|
+
function reject(t) { if(/\s/.test(t)) { throw new Error("InvalidCharacterError: '" + t + "'"); } }
|
|
164
|
+
return {
|
|
165
|
+
classList: {
|
|
166
|
+
add: function() {
|
|
167
|
+
for(var i = 0; i < arguments.length; i++) {
|
|
168
|
+
reject(arguments[i]);
|
|
169
|
+
if(tokens.indexOf(arguments[i]) === -1) { tokens.push(arguments[i]); }
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
remove: function() {
|
|
173
|
+
for(var i = 0; i < arguments.length; i++) {
|
|
174
|
+
reject(arguments[i]);
|
|
175
|
+
var idx = tokens.indexOf(arguments[i]);
|
|
176
|
+
if(idx !== -1) { tokens.splice(idx,1); }
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
toggle: function(cls,status) {
|
|
180
|
+
reject(cls);
|
|
181
|
+
var has = tokens.indexOf(cls) !== -1;
|
|
182
|
+
var want = status === undefined ? !has : status;
|
|
183
|
+
if(want && !has) { tokens.push(cls); }
|
|
184
|
+
if(!want && has) { tokens.splice(tokens.indexOf(cls),1); }
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
_tokens: tokens
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
it("splits on every ASCII-whitespace flavour (space, tab, newline, CR, mixed runs, leading/trailing)",function() {
|
|
192
|
+
var el = makeEl();
|
|
193
|
+
$tw.utils.addClass(el," a\tb\nc\r\nd \t e ");
|
|
194
|
+
expect(el._tokens).toEqual(["a","b","c","d","e"]);
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
it("splits on Unicode whitespace too (U+00A0 non-breaking space, a common paste-in hazard)",function() {
|
|
198
|
+
var el = makeEl();
|
|
199
|
+
$tw.utils.addClass(el,"a\u00A0b");
|
|
200
|
+
expect(el._tokens).toEqual(["a","b"]);
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
it("de-duplicates tokens within one call and across calls",function() {
|
|
204
|
+
var el = makeEl();
|
|
205
|
+
$tw.utils.addClass(el,"x x y");
|
|
206
|
+
$tw.utils.addClass(el,"y z");
|
|
207
|
+
expect(el._tokens).toEqual(["x","y","z"]);
|
|
208
|
+
});
|
|
209
|
+
|
|
210
|
+
it("remove is a no-op for missing tokens and tolerates mixed-presence input",function() {
|
|
211
|
+
var el = makeEl();
|
|
212
|
+
$tw.utils.addClass(el,"a b");
|
|
213
|
+
$tw.utils.removeClass(el,"b c d");
|
|
214
|
+
expect(el._tokens).toEqual(["a"]);
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
it("toggle with no status flips each token independently",function() {
|
|
218
|
+
var el = makeEl();
|
|
219
|
+
$tw.utils.addClass(el,"a");
|
|
220
|
+
$tw.utils.toggleClass(el,"a b");
|
|
221
|
+
expect(el._tokens).toEqual(["b"]);
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
it("toggle with status=true/false forces state regardless of current",function() {
|
|
225
|
+
var el = makeEl();
|
|
226
|
+
$tw.utils.addClass(el,"a");
|
|
227
|
+
$tw.utils.toggleClass(el,"a b",true);
|
|
228
|
+
expect(el._tokens).toEqual(["a","b"]);
|
|
229
|
+
$tw.utils.toggleClass(el,"a b",false);
|
|
230
|
+
expect(el._tokens).toEqual([]);
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
it("is a silent no-op for whitespace-only / empty / non-string / null / undefined className",function() {
|
|
234
|
+
var el = makeEl();
|
|
235
|
+
var inputs = ["", " \t\n ", null, undefined, 42, {}, ["a"]];
|
|
236
|
+
inputs.forEach(function(v) {
|
|
237
|
+
expect(function() { $tw.utils.addClass(el,v); }).not.toThrow();
|
|
238
|
+
expect(function() { $tw.utils.removeClass(el,v); }).not.toThrow();
|
|
239
|
+
expect(function() { $tw.utils.toggleClass(el,v); }).not.toThrow();
|
|
240
|
+
});
|
|
241
|
+
expect(el._tokens).toEqual([]);
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
it("is a silent no-op when element has no classList (SVG in old browsers, detached nodes, stubs)",function() {
|
|
245
|
+
var el = {};
|
|
246
|
+
expect(function() { $tw.utils.addClass(el,"a b"); }).not.toThrow();
|
|
247
|
+
expect(function() { $tw.utils.removeClass(el,"a b"); }).not.toThrow();
|
|
248
|
+
expect(function() { $tw.utils.toggleClass(el,"a b",true); }).not.toThrow();
|
|
249
|
+
});
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
});
|