1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2026-01-22 10:54:46 +00:00

Compare commits

...

313 Commits

Author SHA1 Message Date
Jeremy Ruston
ffbcb38920 Move execution of startup actions after initialisation of the language switcher
Fixes #8946
2025-02-14 14:01:13 +00:00
Jeremy Ruston
2ebf452abb Consent banner should not display in static renderings 2025-02-09 14:29:43 +00:00
Jeremy Ruston
d4bc3fcd99 Fix: HTTP progress handler not passed optional variables
Thanks @ericshulman
2025-02-06 17:04:10 +00:00
Jeremy Ruston
d770d98aff Refactor user defined function operator to make debugging easier 2025-02-03 13:27:02 +00:00
Leilei332
f7043f6d43 Fix 8915 (#8916) 2025-01-28 12:48:24 +00:00
Leilei332
76f40208af Flexoki palette update (#8909)
* Flexoki palette update

* Improve highlight contrast
2025-01-27 18:10:04 +00:00
Leilei332
67e8670c73 Extend copy to clipborad function to support customized mime types (#8912)
* Extend copy to clipborad function to support customized mime types

* Remove function default parameter syntax

* Add plainText option

* Use plainText name

* Set "text/plain" data only when it exists

* Docs update

* Docs update
2025-01-27 16:45:26 +00:00
Saq Imtiaz
b1843837ea Fixes unnecessary refresh in Genesis widget (#8895)
* fix: handle attributes correctly in genesis widget

* fix: handle attributes correctly in genesis widget
2025-01-27 11:00:26 +00:00
Saq Imtiaz
42c22acba6 Cleans up cruft from edit widget (#8897)
* chore: cleanup cruft from edit widget

* chore: cleanup cruft from edit widget

* chore: cleanup cruft from edit widget
2025-01-27 11:00:07 +00:00
Saq Imtiaz
f02c9ebba3 feat: support for avif images (#8911) 2025-01-26 12:25:01 +00:00
Rhys-T
94b325f41f Fix: Don't set dirty flag when shadow tiddler changes (#8903)
Adds `shadow` and `normal` flags to each entry in `changedTiddlers`,
indicating whether the corresponding version of the tiddler has changed.
Makes the saver handler ignore any changes that aren't flagged `normal`.

Fixes #8902.
2025-01-25 10:59:51 +00:00
Jeremy Ruston
843f133f5e Merge branch 'tiddlywiki-com' 2025-01-23 21:48:03 +00:00
Jeremy Ruston
903d0fb8e1 Update CI due to deprecation of actions/upload-artifact@v3
See https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
2025-01-23 21:47:22 +00:00
Jeremy Ruston
53edea9256 Merge branch 'tiddlywiki-com' 2025-01-23 18:48:50 +00:00
Galen Huntington
b04af8bf7a Bug fix: TTF extension was wrong. update font types, add OTF type. (#8898)
* Bug fix: TTF extension was wrong.

* Update font MIME types throughout; add font/otf.
2025-01-23 18:18:02 +00:00
Jeremy Ruston
9aed6a5248 Update CI due to deprecation of actions/upload-artifact@v3
See https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
2025-01-23 18:05:56 +00:00
Galen Huntington
e9fb63affc Sign CLA. (#8899) 2025-01-21 14:43:36 +00:00
Mario Pietsch
4478f445a5 unusedtitle trim title if needed (#8882) 2025-01-07 16:26:02 +00:00
Jeremy Ruston
f8a8f00f52 Update for 2025 2025-01-05 14:35:27 +00:00
Jeremy Ruston
d65c3afdf0 Merge branch 'tiddlywiki-com' 2025-01-05 14:34:32 +00:00
J. Ryan Stinnett
743415922d Sign CLA (#8878) 2025-01-05 14:31:20 +00:00
David Bovill
394e960add Signing CLA (#8876) 2025-01-04 12:31:50 +00:00
Mario Pietsch
cc0c89836d [DOCS] Add class:multi-columns to References: Concepts and Definitions (#8877) 2025-01-04 12:24:02 +00:00
Mario Pietsch
3c7999c3bb [DOCS] fix 7264 - improve mouseevent eventcatcher documentation (#8875)
* [DOCS] fix 7264 - improve mouseevent eventcatcher documentation

* Update EventCatcherWidget.tid
2025-01-03 15:13:52 +00:00
IchijikuIchigo
54f0c4fa34 [ja_JP] Japanese translation update - 'About' section of tiddlywiki.com (#8870)
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\About.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\Acknowledgements.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\Contributors.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\History of TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\License.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\releasenotes\Releases.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\roadmap\RoadMap.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\Archive.tid'
2024-12-26 12:14:35 +00:00
IchijikuIchigo
0c21bca0ad [ja_JP] Uncomment out Japanese document link (#8866) 2024-12-24 12:00:33 +00:00
IchijikuIchigo
ee6cfc7785 [ja_JP] Japanese translation update (#8853)
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\editions\Editions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\editions\Empty Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\editions\Blog Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\editions\Full Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\editions\Resume Builder Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\editions\Text Slicer Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\editions\XLSX Utilities Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Plugin Editions.tid'

* [ja-JP] Japanese translation of 'editions\ja-JP\tiddlers\languages\Languages.tid'

* [ja-JP] Japanese translation of 'editions\ja-JP\tiddlers\languages\Chinese (Simplified) Edition.tid'

* [ja-JP] Japanese translation of 'editions\ja-JP\tiddlers\languages\Chinese (Traditional) Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\languages\Castellano (Espana) Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\languages\German (Germany) Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\languages\German (Austria) Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\languages\French (France) Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\languages\Japanese (Japan) Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\languages\Korean (Korea Republic) Edition.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\languages\LanguageGallery.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Plugins.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Installing a plugin from the plugin library.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Uninstalling a plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Manually installing a plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\OfficialPlugins.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Amazon Web Services Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\BrowserStorage Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\CodeMirror Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\D3 Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\External Attachments Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Highlight Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\JSZip Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\KaTeX Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Markdown Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Railroad Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Share Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\TW2Parser Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Twitter Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\TiddlyWiki Docs PR Maker.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\D3 Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Dynaview Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Consent Banner Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Innerwiki Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\Mobile Drag And Drop Shim Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\plugins\SaveTrail Plugin.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\TiddlyWiki Docs PR Maker.tid'
2024-12-23 12:03:52 +00:00
Jeremy Ruston
664c6fd5d0 Initial commit (#8843)
Fixes #8842
2024-12-22 18:53:06 +00:00
Leilei332
1994574cfd Mark IE related things as deprecated (#8841) 2024-12-22 11:27:31 +00:00
Jeremy Ruston
e8d4ce2ad0 Update release note 2024-12-21 11:19:07 +00:00
Leilei332
ec0c91bca6 Further fix html lang attribute (#8835) 2024-12-21 11:13:00 +00:00
Jeremy Ruston
370ca4b4c4 Merge branch 'tiddlywiki-com' 2024-12-21 09:47:40 +00:00
Leilei332
49a33ae467 Fix switching language should not make the lang attribute empty (#8831)
* Fix switching language should not make the lang attribute empty

* Use name field
2024-12-20 14:25:16 +00:00
IchijikuIchigo
c13687b174 [ja_JP] Japanese translation update - 'Features' section of tiddlywiki.com (#8830)
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Features.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\mechanisms\AlertMechanism.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Core Icons.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\DateFormat.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\AutoSave.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Deserializers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Drag and Drop.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\mechanisms\DragAndDropMechanism.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\concepts\ExternalImages.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Future Proof.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Importing Tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\concepts\InfoPanel.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\JSON in TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\LazyLoading.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Modals.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\SampleWizard.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\SampleWizard2.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Notifications.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\SampleNotification.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Performance Instrumentation.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\concepts\PermaLinks.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\SafeMode.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Scalability.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\StartupActions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Using SVG.tid'
2024-12-19 11:29:21 +00:00
well-noted
4457ee86c3 Add signature to CLA (#8827) 2024-12-18 08:46:03 +00:00
Théophile Desmedt
e8a23e9bcc Improve link-dropdown.tid - Replace vars and set with let widget, streamline function usage (#8821)
* cleanup: Apply substitution more systematically

* change vars and set to let widget

* use attribute substitution instead of a function
2024-12-15 22:11:36 +00:00
Xavier Cazin
baafe5ea23 Add missing <<tag>> macro parameter in the ViewTemplate for system tags (#8820)
* Add missing <<tag>> macro parameter in the ViewTemplate for system tags

* Use %if construct instead of $list widget in System Tag ViewTemplate
2024-12-15 14:31:07 +00:00
Leilei332
3ee1b0bd26 Tabindex support (#8819)
* Tabindex support

* Add docs

* Fix refresh
2024-12-15 07:54:55 +00:00
Leilei332
c886cfe6f5 Add disabled parameter to select widget and browse widget (#8816)
* Add disabled parameter to select widget and browse widget

* Add disabled attribute to edit-shortcut
2024-12-14 16:40:31 +00:00
Jeremy Ruston
3fc9523f81 Merge branch 'tiddlywiki-com' 2024-12-09 16:26:53 +00:00
Jeremy Ruston
978685524b Replace Netlify build badge with a local image
To avoid CORS problems with https://github.com/TiddlyWiki/TiddlyWiki5/pull/8810
2024-12-09 16:26:43 +00:00
Théophile Desmedt
530b893710 Add another example to the wikify widget : use core svg to show an icon next to links (#8806)
* Add another example to the wikify widget : use core svg to show an icon next to links

* improve wikitext

* fix css

* limit example to svg core tiddlers

* fix typo + use <<.wid wikify>> when mentioning the wikify widget

* simplify a bit more the procedure that add  a namespace to the svg
2024-12-08 19:56:35 +00:00
Xavier Cazin
908be0e91c fr-FR translation improvements (#8808)
* fr-FR translation for new ViewTemplate cascades

* fr-FR tweaks in field description strings
2024-12-08 16:43:24 +00:00
Leilei332
1f34c62828 Flexoki palette update (#8807)
* Flexoki palette update

* Add TiddlyDesktop colors

* Add highlight colors
2024-12-08 09:11:29 +00:00
Jeremy Ruston
42f9f3073e Merge branch 'tiddlywiki-com' 2024-12-05 20:53:30 +00:00
Leilei332
a9940506cf Extend rendered-plain-text template to support more languages. (#8780) 2024-12-05 12:41:24 +00:00
Leilei332
dd70e37132 Add DiffTextWidget colors to some palettes (#8661)
* Add difftextwidget colors to Solarized palettes

* Add diff colors from https://wikilabs.github.io/editions/palette-manager/

* Add diff colors to Solar Flare palette & use yellow color for diff-invisible.

* Update solarized and solar flare palette.
2024-12-05 12:40:48 +00:00
Leilei332
2801eee905 Migrate some old macros to new syntax (#8768)
* Migrate some old macros to new syntax

* Rewrite more macros.

* Update image-picker

* Rewrite tabs macro

* Use more new syntax

* Revert thumbnail macro

* Avoid duplicated whitespace pragma

* Revert tabs macro
2024-12-05 12:40:13 +00:00
lin onetwo
673a0f5605 Fix: allow overwrite plugin that don't have plugin-priority (#8800)
* fix: allow overwrite plugin that don't have plugin-priority

* Update boot.js

* Update boot.js
2024-12-05 12:37:37 +00:00
Mario Pietsch
42b2b9fd20 Add tc-test-case class to testcase-widget (#8744)
* add tc-tesc-case class to testcase-widget

* add default and custom class to testcase-widget

* Testcase widget update tests for default and custom class definitions
2024-12-05 12:33:27 +00:00
John Robinette
c7f741d4f8 fix: make HTTP Basic Auth aware of path-prefix (#8789) 2024-12-05 12:31:32 +00:00
IchijikuIchigo
eae869fd6f [ja_JP] Japanese translation update (#8790)
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\A Gentle Guide to TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\Discover TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\Some of the things you can do with TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\Ten reasons to switch to TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\What happened to the original TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\Funding TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\Open Collective.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\Funding TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\examples\A Thesis Notebook.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\examples\_Lucky Sushi_ online shop by sini-Kit.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\Gospel_Bubbles_by_Rev_David_Gifford.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\examples\PETTIL.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\examples\GitFixUm.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\examples\PESpot Lesson Planner by Patrick Detzner.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\examples\Simple Zork like Game.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\examples\TriTarget.org by Devin Weaver.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - MultiWikiServer.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - MultiWikiServer.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - TiddlyWiki Privacy.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\Gospel_Bubbles_by_Rev_David_Gifford.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting_ Tag Pill Drag Filter.tid'
2024-12-05 12:29:35 +00:00
Théophile Desmedt
4954a6ac50 Add example for the function operator (#8793)
* Add example for the function operator

* change the example to explicitly use the function operator

* Use the standard example format, add detailed explanations and add an introductory function to gradually increase complexity

* add missing "the"

* add the end of the explanation for the diff.fields function

* Update function Operator (Examples).tid

Show the name of the plugin for the subtiddler used in the demo

* fix example number

* Update function Operator (Examples).tid

fix typo
2024-12-05 12:27:18 +00:00
Théophile Desmedt
106fe2dfb9 Provide examples for the wikify widget (#8792)
* Provide examples for the wikify widget

* fix a typo in the wikify widget doc tiddler

* Update and rename TestCases_WikifyWidget_WidgetInput_Fail.tid to TestCases_WikifyWidget_WidgetValue_Fail.tid

* Update and rename TestCases_WikifyWidget_WidgetInput_Success.tid to TestCases_WikifyWidget_WidgetValue_Success.tid

* Update WikifyWidget.tid

* Update TestCases_WikifyWidget_WidgetValue_Fail.tid

* Update TestCases_WikifyWidget_WidgetValue_Success.tid

* Update WikifyWidget.tid

* Update TestCases_WikifyWidget_WidgetValue_Success.tid

fix small error causing validation to fail

* Update TestCases_WikifyWidget_WidgetValue_Success.tid

* remove trailing end line

* remove trailing new line

* add description, remove modified field
2024-12-05 12:25:22 +00:00
Théophile Desmedt
c7b45a3eb0 Signing CLA (#8791) 2024-12-05 12:19:22 +00:00
Mario Pietsch
86d3e9560b [DOCS] Improve "each operator" links (#8798) 2024-12-05 12:18:16 +00:00
Mario Pietsch
59548f066a [DOCS] Update dev edition to use shared utilities (#8803)
* prepare dev-edition to use _tw_shared doc utilities

* prepare for future dev-edition "private" styles

* move tw5.com documentation utility files to _tw_shared directory
2024-12-05 12:05:17 +00:00
Mario Pietsch
ceb78a0c8d Fix dev-edition fix github-ribbon (#8801) 2024-12-05 11:03:08 +00:00
IchijikuIchigo
8d71942faa [ja_JP] Japanese translation update (#8787)
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\customising\Customise TiddlyWiki.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\howtos\Adding_a_table_of_contents_to_the_sidebar.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\customising\Configuring startup tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Configuring the default TiddlerInfo tab.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\customising\Alternative page layouts.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Creating a custom export format.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Creating a splash screen.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\customising\Creating new toolbar buttons.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\customising\Customising search results.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\customising\Customising TiddlyWiki's user interface.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Settings.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting Content to be displayed for empty story.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting Default Tiddler Colour.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting Default Tiddler Icon.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting_ Disable Drag and Drop.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting_ Disable Lazy Loading.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting_ Enable File Import in Editor_1.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting SaveWikiButton Filename.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to apply custom styles by tag.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Making a custom journal button.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Setting a favicon.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Preserving open tiddlers at startup.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Setting a page background image.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Using Stylesheets.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Debugging Stylesheets.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Custom_styles_by_data-tags.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Custom_Attribute_Selectors.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Custom Styles by title.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Custom Styles by userClass.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Custom_Styles_FAQ.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\faq\csFAQ_dynamic_stylesheet.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\faq\csFAQ_how_can_i_use_custom_field.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\faq\csFAQ_what_if_tiddler_has_no_tags.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\faq\csFAQ_what_this_and_that_tag.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\faq\csFAQ_what_this_or_that_tag.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Custom tag pill styles.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to apply custom styles by tag.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Styles and Classes in WikiText.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting HtmlParserDisableSandbox.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting_ More Tabs Horizontal.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting Search-NavigateOnEnter.tid'

* [ja-JP] Japanese translation of '\editions\tw5.com\tiddlers\hiddensettings\Hidden Setting NewImageType.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting Default Story Ordering.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting_ Scroll Top Adjustment.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting_ Search AutoFocus.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting SearchMinLength.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting ShowEditPreviewPerTiddler.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting SyncLogging.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting SyncPollingInterval.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting Sync System Tiddlers From Server.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting EditTabIndex.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting TagsMinLength.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting SaveWikiButton Template.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting_ Typin Refresh Delay.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hiddensettings\Hidden Setting ViewTemplate and EditTemplate.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\Hidden Setting_ Import Content Types for Editor.tid'
2024-11-28 11:52:42 +00:00
Jeremy Ruston
028c80782d Tweak wording for hidden setting introduced in #8783 2024-11-27 16:28:27 +00:00
Michael McDermott
81a972dc46 Create setting for default type of draft tiddlers (#8783)
* Proof of concept to change type of tiddlers created by editing missing.

* Adding a setting for default type so that it can be overridden for other wikis.

* Incorporating PR feedback.

* Adding documentation tiddler for new setting.

* Added documentation to the markdown plugin documentation.

* Added documentation to the markdown plugin documentation.

* Added notice to markdown edition.
2024-11-27 16:26:53 +00:00
Mario Pietsch
f273825ec3 [DOCS] Update -- Tiddler Colour Cascade info - add icon (#8770) 2024-11-25 16:42:29 +00:00
John Robinette
d0285e001a Signing CLA (#8781) 2024-11-25 15:20:52 +00:00
Mario Pietsch
81862b5bc5 [DOCS] Slightly improve the documentation for tiddler color-field (#8765) 2024-11-21 09:11:12 +01:00
Jeremy Ruston
dabbc1bacc Merge branch 'tiddlywiki-com' 2024-11-18 10:58:07 +00:00
Jeremy Ruston
1a1f166ac8 More privacy and security tweaks 2024-11-18 10:57:44 +00:00
Jeremy Ruston
f2306a9a2f Fix multicolumn display 2024-11-18 10:57:10 +00:00
Jeremy Ruston
044ce8fbc2 Merge branch 'tiddlywiki-com' 2024-11-18 09:37:08 +00:00
Jeremy Ruston
36ae2e82be Improve multicolumn display to avoid super narrow columns 2024-11-18 09:32:38 +00:00
Jeremy Ruston
1e70e097e7 Privacy and security tweaks from @ericshulman 2024-11-18 09:32:21 +00:00
Jeremy Ruston
24ada16130 Merge branch 'tiddlywiki-com' 2024-11-17 17:57:06 +00:00
Jeremy Ruston
d919b825ed Split security and privacy info into two columns 2024-11-17 17:51:12 +00:00
Jeremy Ruston
8151942bd4 Privacy docs suggestions from @ericshulman 2024-11-17 17:31:38 +00:00
Mario Pietsch
a02c8e1cc4 German translation (#8749) 2024-11-17 13:50:59 +00:00
Jeremy Ruston
7f730b7cbf Typo 2024-11-17 12:56:21 +00:00
Jeremy Ruston
5ea4077385 Merge branch 'tiddlywiki-com' 2024-11-17 12:35:06 +00:00
Jeremy Ruston
287d4ff63d Tweak privacy and security docs 2024-11-17 11:29:13 +00:00
Jeremy Ruston
c0843420d5 Merge branch 'tiddlywiki-com' 2024-11-16 14:21:13 +00:00
Jeremy Ruston
e3052647ff Link to new mws.tiddlywiki.com site 2024-11-16 12:43:02 +00:00
Mario Pietsch
943030ccd2 [DOCS] Update TiddlyWiki Archive Overview (#8750) 2024-11-15 20:28:45 +00:00
Jeremy Ruston
de9a12b8f9 Preparing for v5.3.7 2024-11-15 17:21:22 +00:00
Jeremy Ruston
228c82e1db Version number update for 5.3.6 2024-11-15 17:14:49 +00:00
Jeremy Ruston
8993572fec Preparing for release of v5.3.6 2024-11-15 17:14:03 +00:00
Jeremy Ruston
b70f5bb0f7 Merge branch 'tiddlywiki-com' 2024-11-15 17:03:05 +00:00
Jeremy Ruston
747ffcaef2 Add banner to release note 2024-11-15 16:48:21 +00:00
Jeremy Ruston
fdafdba1b0 Update new release banner 2024-11-15 16:45:42 +00:00
Jeremy Ruston
e73784ac4e Reorder Find Out More badges 2024-11-15 12:26:38 +00:00
Jeremy Ruston
f10a1a0538 Release note update 2024-11-15 12:26:07 +00:00
Jeremy Ruston
3fb2f980c8 Geospatial Plugin: Improve Event Support (#8740)
* Add onclick attribute to geolayer widget

* Temporarily add the plugin to tw5.com for the Netlify preview

* Rename onclick to clickActions

And add docs for the lat, long, alt variables

* No longer apply the default popup template

Now that we have customisable popups the default one is pretty useless

* Prepare for merging to v5.3.6

The special circumstances are that this PR is confined to a plugin, and that the new work is an extension of the new features already merged in v5.3.6
2024-11-15 12:03:16 +00:00
Jeremy Ruston
3856d1bf6a Merge branch 'tiddlywiki-com' 2024-11-15 11:37:18 +00:00
Jeremy Ruston
683aae4977 Merge branch 'privacy-and-security-update' into tiddlywiki-com 2024-11-15 11:27:45 +00:00
Jeremy Ruston
63bc3c3d65 Merge branch 'tiddlywiki-com' 2024-11-14 22:18:15 +00:00
Jeremy Ruston
99f4d5cc8a Restore sample alert
Appears to have been accidentally removed back in 68095eb392 in November 2021
2024-11-14 22:14:35 +00:00
Jeremy Ruston
10cacfea9f Merge branch 'tiddlywiki-com' 2024-11-14 18:10:50 +00:00
Jeremy Ruston
77a227c1d0 Add banner advertising MWS
Closes #8731
2024-11-14 18:01:36 +00:00
Jeremy Ruston
0ea567b86d Tweaks 2024-11-14 17:04:54 +00:00
Jeremy Ruston
598d55a3cd Wording tweaks 2024-11-14 14:30:41 +00:00
Jeremy Ruston
0763ee5525 Change caption of Community Links badge 2024-11-14 14:30:31 +00:00
Jeremy Ruston
ca08eacce7 Reorder badges 2024-11-14 14:30:17 +00:00
Jeremy Ruston
4bac0bca70 Reduce number of links to TiddlyWiki 2024-11-14 14:22:57 +00:00
Jeremy Ruston
899a4984c0 Tweaks
Improvements suggested at https://talk.tiddlywiki.org/t/new-privacy-and-security-documentation/11167/2?u=jeremyruston
2024-11-14 14:19:54 +00:00
Jeremy Ruston
e80b3339b0 Merge branch 'tiddlywiki-com' into privacy-and-security-update 2024-11-14 10:40:58 +00:00
Jeremy Ruston
5644e48d92 First draft of Privacy and Security docs 2024-11-14 10:34:14 +00:00
Jeremy Ruston
a58337d594 Merge branch 'tiddlywiki-com' 2024-11-12 20:52:09 +00:00
Jeremy Ruston
036c16728b Add badge for Netlify preview builds 2024-11-12 20:51:16 +00:00
Jeremy Ruston
e3648c7ec1 Remove prerelease copy of scary warning styles 2024-11-12 20:36:26 +00:00
Jeremy Ruston
1f9cbd25b4 Merge branch 'tiddlywiki-com' 2024-11-12 20:36:03 +00:00
Jeremy Ruston
b18faf05c1 Add scary warning from prerelease
So that it is available in Netlify preview builds, which use the tw5.com edition, not prerelease
2024-11-12 20:35:51 +00:00
Jeremy Ruston
8a7b211a5a Add a badge that is displayed for the Netlify preview builds 2024-11-12 19:51:39 +00:00
Jeremy Ruston
c08d946981 Merge branch 'tiddlywiki-com' 2024-11-12 12:37:00 +00:00
Jeremy Ruston
814f6b5dbb Improve resolution of introduction thumbnail 2024-11-12 12:36:49 +00:00
Jeremy Ruston
0ad080110a Fix social media card image URL 2024-11-12 12:17:06 +00:00
Jeremy Ruston
13bedda377 Add social media cards for the main edition 2024-11-12 12:05:16 +00:00
Jeremy Ruston
e43cccc432 Do not wikify "TiddlyWiki" in social media card UI 2024-11-12 11:55:40 +00:00
IchijikuIchigo
0fbf14bb7a [ja_JP] Japanese translation update (#8735)
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\workingwithtw\Working with TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\The First Rule of Using TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\gettingstarted\GettingStarted - Android.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\gettingstarted\GettingStarted - Chrome.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\gettingstarted\GettingStarted - Firefox.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\gettingstarted\GettingStarted - Internet Explorer.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\gettingstarted\GettingStarted - iOS.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\gettingstarted\GettingStarted - Node.js.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\gettingstarted\GettingStarted - Online.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\gettingstarted\GettingStarted - Safari.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\howtos\Upgrading.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\workingwithtw\Navigating between open tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\features\Searching in TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\workingwithtw\Using links to navigate between tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\workingwithtw\Creating and editing tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\workingwithtw\Creating and editing tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\workingwithtw\Creating journal tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on a PHP Server.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with TW Receiver.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\workingwithtw\Formatting text in TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Editor toolbar.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Height of text editor.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Insert link.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Insert picture.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\More actions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Text preview.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Using Excise.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Structuring TiddlyWiki.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\howtos\KeyboardShortcuts.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\workingwithtw\BrowserCompatibility.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Using Stamp.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\howtos\Tagging.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\concepts\Order of Tagged Tiddlers.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\concepts\TagTiddlers.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to update TiddlyWiki to the latest version.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\wikitext\Images in WikiText.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\saving\Encryption.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\workingwithtw\Audio.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\workingwithtw\Performance.tid
2024-11-10 16:46:15 +00:00
Leilei332
0160a4f3d3 Flexoki palette update (#8733)
* Add modal colors to Flexoki Light palette
* Make Flexoki Light palette primary color darker to improve contrast
* Improve Flexoki Dark contrast
2024-11-09 11:47:51 +00:00
Jeremy Ruston
b7c290a163 Privacy and security badge 2024-11-07 08:58:53 +00:00
Jeremy Ruston
144a8ac3ff Improve card spacing
Looks better on wide screens - see the problem here https://x.com/0x_syk/status/1853918855724495237
2024-11-06 17:08:00 +00:00
Jeremy Ruston
135a2e5320 Site build should not be verbose 2024-11-06 13:37:42 +00:00
Jeremy Ruston
9629d9e508 Update Netlify badge 2024-11-06 10:43:09 +00:00
Jeremy Ruston
248de77117 Update readme to include Netlify credit 2024-11-06 09:06:36 +00:00
Jeremy Ruston
de6b04d50d Fix filename of default page template
This was changed in #8172 but I think it was a mistake to allow the filename to become inconsistent with the tiddler title
2024-11-04 19:26:06 +00:00
Jeremy Ruston
116b1b15af Simplify descriptions of Flexoki palettes 2024-11-04 10:39:12 +00:00
Jeremy Ruston
2eceee34fa Merge branch 'tiddlywiki-com' 2024-11-03 16:10:12 +00:00
Mario Pietsch
12f7c077f0 [DOCS] Fix Tiddler Info Tab Default Description (#8726)
* [DOCS] Fix Tiddler Info Tab Default Description

* Update Configuring the default TiddlerInfo tab.tid
2024-11-03 16:07:07 +00:00
Mario Pietsch
60a34bb228 [DOCS] Rename: Hidden Setting: Import Content Types for Editor (#8727) 2024-11-03 16:06:45 +00:00
Jeremy Ruston
3d536ed2ae Update release note 2024-11-03 15:17:12 +00:00
Xavier Cazin
208de70e17 Catchup with fr-FR translation (#8722)
* fr-FR translation for new buttons:
- OpenControlPanel
- TestCaseImport
- Excise/DefaultTitle

* fr-FR translations for SocialCard-related strings

* fr-FR translations for stability badges and testcase accent colors

* fr-FR translations for function and procedure definition snippets

* fr-FR translation for compound tiddlers type
2024-11-03 15:16:31 +00:00
Jeremy Ruston
d27a847e67 Add Flexoki palettes (#8545)
* Initial Commit

* Use leading zeros for 2 digit codes

As suggested by @pmario in https://github.com/TiddlyWiki/TiddlyWiki5/pull/8545#issuecomment-2304541731, makes the colours display better in the editor

* Palette entries for alerts, codeblocks and diffs

* Update download button colour

* Add more colors to Flexoki Light palette (#8620)

* Add more colors to Flexoki Light palette

Add more colors to flexoki light palette, including:

* Dirty indicator
* Table borders and headings
* Tiddler info
* Sidebar tabs and buttons
* Stability badges
* Code blocks

* Add more colours

* Add message box colors
* Add notification colors
* Add editor background color
* Changed muted background color to fix low-contrast
* Add tiddler title color

* Add colour for external links

* Flexoki palette update (#8724)

* Flexoki palette update

* Add dark palette
* Add menubar colors
* Update diff widget colors

* Update inline code color

* Use hardcoded color for some color & add message box color

* Remove dev palette settings

---------

Co-authored-by: Leilei332 <LeiYiXia29@outlook.com>
2024-11-03 15:14:46 +00:00
Leilei332
86abb9bdb5 Fix $:/temp/advancedsearch displayed in Shadow search (#8723)
Fix the problem introduced in #8678.
2024-11-03 15:10:43 +00:00
Jeremy Ruston
c0f7a77ab1 Release note tweak 2024-10-31 17:45:37 +00:00
Jeremy Ruston
763fae5c53 Update release note 2024-10-31 17:04:05 +00:00
Mario Pietsch
ebb9c4f082 [DOCS] Make LinkCatcher variables more visible (#8713)
* Make LinkCatcher variables more visible

* move tip to bottom
2024-10-31 16:05:03 +00:00
Jeremy Ruston
f565b5b55d Fix genesis widget so that explicit attributes take precedence
Fixes #8701
2024-10-30 14:51:04 +00:00
Jeremy Ruston
6787a174b1 Revert "Add new classes to wikitext created emphasised elements to make them easily stylable (#8163)"
This reverts commit 44cf2e3c70.
2024-10-30 14:47:26 +00:00
Mohammad Rahmani
201b695d96 Replace Deprecated SaveTiddler(s) with Save Command (#8710) 2024-10-30 14:15:33 +00:00
Mohammad Rahmani
87d9e59e03 Correct the Filter when Generating the HTML Representations of All Individual Non-system Tiddlers (#8671) 2024-10-30 14:14:45 +00:00
Mario Pietsch
44cf2e3c70 Add new classes to wikitext created emphasised elements to make them easily stylable (#8163)
* allow internal link to be wikitex formatted as bold

* fix typo

* add new classes to all emphasis and inline-code elements

* fix tests for new STRONG classes
2024-10-30 09:19:01 +00:00
Mario Pietsch
9b2e8a61ed Use Node.js v 22.x.y for our GH build system (#8708) 2024-10-29 12:34:50 +00:00
Leilei332
40fca47974 Translator editon update (#8703)
* Translator editon update

Update for the translator editon, including:

* Changes to `--render` in `tiddlywiki.info`, and changes the command
  for generating `$:/languages/Docs/Types/` to replace strings with `_`
instead of using uri encoding.
* Update docs. The guide for changing `$:/core/readme` tiddler is wrong,
  so I removed it.

* Simplify templates and commands

* Add progress bar
2024-10-29 12:07:12 +00:00
Leilei332
561296db71 Make markdown's highlight look the same as tiddlywiki's (#8704) 2024-10-29 12:06:27 +00:00
Saq Imtiaz
a687aefbe9 Extends element widget with support for CSS custom properties (#8699)
* Extend element widget with support for CSS custom properties.

* chore: added tests

* chore: code style

* docs: added documentation for support for CSS custom properties

* docs: added documentation for support for CSS custom properties
2024-10-29 11:59:04 +00:00
IchijikuIchigo
bb53cc5791 [ja_JP] Japanese translation update (#8705)
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\videos\Videos.tid

* [ja-JP] A little correction to the Japanese translation

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\videos\Introduction Video.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\videos\Introducing TiddlyDesktop Video.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\videos\TiddlyWiki on Firefox for Android Video.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\videos\Working with the TiddlyWiki5 repository video.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\OXTWIG.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\TiddlyWiki Hangouts.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\learning\Learning.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\filters\Introduction to filter notation.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Sharing a TiddlyWiki on Dropbox.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\workingwithtw\Sharing your tiddlers with others.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\learning\Copying tiddlers between TiddlyWiki files.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Creating SubStories.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Editing Tiddlers with Emacs.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Making curved text with SVG.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\demonstrations\Tasks\TaskManagementExample.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\Tasks\Compose ballad.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\demonstrations\Tasks\done.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\demonstrations\Tasks\done.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\Tasks\Go to Mordor.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\Tasks\Kill the Dragon.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\Tasks\Get the Ring.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\Tasks\Make the beds.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\demonstrations\Tasks\task.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Adding a Twitter Follow button.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\about\Philosophy of Tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Adopt a Titles Policy.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Concatenating text and variables using macro substitution.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Constructing JSON tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Editing Tiddlers with Vim.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Formatting_List_Results_as_Tables_(no_CSS).tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Formatting List Results as Tables with CSS - Specified Columns Methods.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Formatting List Results as Tables with CSS - Variable Column Method.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\howtos\How_to_add_a_new_tab_to_the_sidebar.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to change the sort order of sub-branches in a TOC macro.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to create a custom tiddler colour rule.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to create a custom tiddler icon rule.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to export tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to hide the authors and other fields with CSS.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to put the last modification date in a banner.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\howtos\How_to_turn_off_camel_case_linking.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to widen tiddlers (aka story river).tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\images\Icon Gallery.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Modifying JSON tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Reading data from JSON tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Simple ways to write protect tiddlers.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\Tasks\TaskManagementExampleDraggable.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\Tasks\TaskManagementExampleDraggableTemplate.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Visible Transclusions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\demonstrations\KeyboardDrivenInput\Demonstration_ keyboard-driven-input Macro.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to add a banner for GitHub contributions.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to create a custom story tiddler template.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to create keyboard shortcuts.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to customize TiddlyDesktop.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\How to embed PDF and other documents.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\learning\Introduction to Lists.tid'

* [ja_JP] Japanese translation update from commit: 6d11f4b

* [ja-JP] Corrected the display content of modified date in Japanese translation
2024-10-29 10:47:06 +00:00
Mohammad Rahmani
5ddcd5a666 Replace Deprecated renderTiddler with render command (#8700) 2024-10-29 10:39:45 +00:00
Mario Pietsch
8b9723f6c7 Add action tiddler list to droppable widget (#8256)
* initial POC

* clean up the code

* Add documentation changes

* Improve docs
2024-10-24 17:51:19 +01:00
Mario Pietsch
b68de0d69f Toc uses currentTiddler as "tag" default parameter if it is missing (#8291)
* toc's use currentTiddler, if tag prameter is undefined

* add currentTiddler info to toc documentation
2024-10-24 17:39:18 +01:00
Leilei332
c060216a8e Make recent tab limit configurable (#8698)
Make maxium number of tiddlers under the "Recent" tab configurable in
the `$:/config/RecentLimit` tiddler. UI for configuring this option is
also added under the "Settings" tab.
2024-10-24 15:09:30 +01:00
Simon Huber
8b60cab6a2 Keyboard driven input rework (#8678)
* Update tag-picker.tid

* rework kb-driven-input macro to procedures + new syntax

* rework change-input-tab to procedure

* fix

* remove console log :)

* replace defines with procedures

* fix link-dropdown

* fix focus-selector in new-field dropdown

* revert changing the footpring of change-input-tab + make it work as procedure

* update change-input-tab procedure

* refactor change-input-tab procedure and keep tags/Macro tag

* simplify complicated filter

* add tags/Global tag

* remove tags/Global tag

* rename variable
2024-10-24 14:34:23 +01:00
Jeremy Ruston
9635e2d8af Revert refactoring CSS helper macros as functions
See discussion at https://github.com/TiddlyWiki/TiddlyWiki5/pull/7987#issuecomment-2431123638
2024-10-23 08:21:11 +01:00
Jeremy Ruston
73bc45b305 Merge branch 'tiddlywiki-com' 2024-10-22 17:26:37 +01:00
Jeremy Ruston
0a03ac8219 Revert to just using $:/tags/Macro for core macros
See #8683
2024-10-22 13:15:34 +01:00
Jeremy Ruston
b6c8045739 Further updates to Grok TiddlyWiki banner 2024-10-22 08:51:43 +01:00
Jeremy Ruston
3a34a2e8d9 Update Grok TiddlyWiki banner 2024-10-22 08:50:55 +01:00
Jeremy Ruston
192fb9794d Merge branch 'tiddlywiki-com' 2024-10-21 17:43:27 +01:00
Jeremy Ruston
ea3cb1c58d Fix build command crash with no wiki folder
Fixes #8694
2024-10-21 17:42:35 +01:00
Jeremy Ruston
5490b782a6 Improve content of "Welcome" tiddler 2024-10-21 17:35:53 +01:00
Jeremy Ruston
b9218a8391 Merge branch 'tiddlywiki-com' 2024-10-21 17:14:50 +01:00
Jeremy Ruston
6d11f4b506 Update Grok TiddlyWiki links for 2.0 2024-10-21 17:14:39 +01:00
Leilei332
a0caa0f12d Fix timeline macro showing long list of tiddlers created the same day. (#8690) 2024-10-20 10:47:50 +01:00
Leilei332
e1287a9470 Fix smaller editor toolbar icons (#8691)
A small fix for the problem introduced in #8688
2024-10-20 10:35:21 +01:00
zorrox1024
b3c2385018 Sign CLA (#8693)
Co-authored-by: Jeffrey Zhang <zhang.lei.fly@gmail.com>
2024-10-20 10:34:43 +01:00
Leilei332
a42a7972cb Further fix icons not displaying properly. (#8688) 2024-10-19 13:41:30 +01:00
Leilei332
e259f414d9 Fix some tiddlers should use code body (#8687)
A small fix which applys code bodies to these tiddlers:
* Tiddlers with prefix `$:/core/config/`
* Tiddlers tagged `$:/EditorTools` and `$:/tags/ToolbarButtonStyle`
2024-10-19 09:24:24 +01:00
Jeremy Ruston
646f5ae7cf Fix blank language plugin name
Introduced in 41b9f625b3
2024-10-18 13:50:15 +01:00
Leilei332
e25ab7777f Further fix content overflow. (#8682)
This reverts fix for all tables. It should fix #8617.

It also adds fix for overflow in $:/Manager 's content page, testcase
widget output. The fix for overflow $:/TagManager is reverted since it
caused the dropdown not to display properly.
2024-10-18 13:16:50 +01:00
Mario Pietsch
14d1672f6a [DOCS] Improve TW Commands Listing (#8684)
* [DOCS] Improve TW Commands Listing

* Fix typos as requested
2024-10-18 13:01:42 +01:00
Mario Pietsch
0b789bf28b Adjust multi-columns CSS class to switch earlier for smaller displays (#8686) 2024-10-18 12:01:58 +01:00
Jeremy Ruston
060cfd4868 Fix geomap with markers docs demo 2024-10-17 11:14:09 +01:00
Jeremy Ruston
142fef73f2 Docs: Update modified date for History of TiddlyWiki tiddler 2024-10-16 12:52:16 +01:00
Jeremy Ruston
9e253efd9a Merge branch 'tiddlywiki-com' 2024-10-16 11:25:03 +01:00
Jeremy Ruston
a8822add1e Link to GitHub anniversary contributors discussion 2024-10-16 09:49:03 +01:00
Jeremy Ruston
a95cad4ef6 Update release note 2024-10-15 18:11:27 +01:00
IchijikuIchigo
416925d354 [ja_JP] Japanese translation update (#8679)
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\HelloThere.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\quickstart\tiddlyhost.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\quickstart\desktop.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\quickstart\diy.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\quickstart\xememex.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\quickstart\Quick Start.tid'

* [ja-JP] Modify 'editions\fr-FR\tiddlers$ _config_ViewTemplateTitleFilters_fr-default.tid' for Japanese

* [ja-JP] Modify 'editions\fr-FR\tiddlers$ _core_ui_ViewTemplate_title_fr-default.tid' for Japanese

* [ja-JP] Modify 'editions\fr-FR\tiddlers-FR_Macros_list.tid' for Japanese

* [ja-JP] Modify 'editions\fr-FR\tiddlers-FR_Macros_timeline-title.tid' for Japanese

* [ja-JP] Modify 'editions\fr-FR\tiddlers-FR_Macros_toc-caption.tid' for Japanese

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\classic.tiddlywiki.com.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\links.tiddlywiki.org.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\marketplace.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\talk.tiddlywiki.org.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.com.dev.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.com.prerelease.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.com.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.com.upgrade.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.org.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\gettingstarted\GettingStarted.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\menubar\gettingstarted.tid

* [ja-JP] Modify 'editions\fr-FR\tiddlers\system.tid' for Japanese

* [ja-JP] Modify 'editions\fr-FR\tiddlers\system.tid' for Japanese

* [ja-JP] Modify 'editions\fr-FR\tiddlers\system.tid' for Japanese

* [ja-JP] Modify 'editions\fr-FR\tiddlers\system.tid' for Japanese

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\system\TableOfContents.tid

* [ja-JP] Japanese translation of plugins\tiddlywiki\menubar\items\contents.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Twenty Years of TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Newsletter.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Introduction Video.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Grok TiddlyWiki.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Latest Version.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Funding.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - TiddlyWikiLinks.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Marketplace.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Intertwingled Innovations.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\testimonials\Testimonials - Joe Armstrong.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\testimonials\Testimonials - Network World.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\testimonials\Testimonials - Product Hunt.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Community.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Forums.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Forums.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\about\Developers.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\about\Developers.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Latest.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Tutorials.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Community Editions.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Latest.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Tutorials.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Community Plugins.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Community Palettes.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Community Themes.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Other Resources.tid'

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Examples.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Articles.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Meetups.tid

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\saving\Saving.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on TiddlyDesktop.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on TidGi.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on Android.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on Browser with the File System Access API.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on Browser with TiddlyStow.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on TiddlyHost.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving via WebDAV.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with the HTML5 saver.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving via minimal Ruby server.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with FireFox.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with Polly.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving to a Git service.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving via a Minimal Web Server.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on iPad_iPhone.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with TiddlyFox.tid'

* Display the modified date and time of the original tiddler

* Add translation changes to Japanese from commit: 47519b1

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with TiddlyIE.tid'

* Add translation changes to Japanese from commit: 0a8fcfd

* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\Welcome.tid

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\Find Out More.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\Testimonials and Reviews.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\TiddlyWiki on the Web.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\videos\Getting Started Video.tid'

* [ja-JP] Add translation changes to Japanese from commit: 04185b4

* [ja-JP] Add translation changes to Japanese from commit: 0a8fcfd

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\Twexe_ Single File Tiddlywiki5 executable.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\_file-backups_ Extension Firefox by pmario.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\_Timimi_ Extension and executable by Riz.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Installing TiddlyWiki on Microsoft Internet Information Server.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\TiddlyServer by Arlen Beiler.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Windows HTA Hack.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\TiddlyDrive Add-on for Google Drive by Joshua Stubbs.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\nodejs\Installing TiddlyWiki on Node.js.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\TW5-firebase_ TiddlyWiki5 for Google Firebase by Peter Neumark.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\TW5-firebase_ TiddlyWiki5 for Google Firebase by Peter Neumark.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with TiddlyPWA.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\TiddlyBucket - Save to AWS or Google Storage.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Emergency Tiddler Export.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\editions\_Noteself_ by Danielo Rodriguez.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\TiddlyWiki in the Sky for Dropbox.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\nodejs\Serving TW5 from Android.tid'

* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\_savetiddlers_ Extension for Chrome and Firefox by buggyj.tid'

* [ja-JP] Corrected the translation of HTML5 saver
2024-10-14 12:32:17 +01:00
Leilei332
e44d6f4d7b Small fix for en-PH language (#8676)
A small fix for two problems introduced #8669.

* Two tab should be used to indent instead of four spaces in
  `tiddlywiki.info` in full edition.
* Changed description for `en-PH`. Since "PH" isn't a country name like
  "US", it should be "Philippines".
2024-10-11 13:40:35 +01:00
Jeremy Ruston
a51afc8b81 Add support for HTTP bearer authentication 2024-10-10 15:10:55 +01:00
Jeremy Ruston
48cbaa1ec7 Merge branch 'tiddlywiki-com' 2024-10-10 15:04:51 +01:00
Jeremy Ruston
2933855f31 Ensure "TiddlyWiki on the Web" links are displayed correctly
Thanks @ericshulman
2024-10-10 15:04:38 +01:00
Leilei332
ead0fd5219 Migrate to eslint 9 (#8673)
* Migrate to eslint 9

* Add comment in eslintignore
2024-10-10 13:32:57 +01:00
Jeremy Ruston
d955f259ec Merge branch 'tiddlywiki-com' 2024-10-09 21:42:26 +01:00
Jeremy Ruston
0a8fcfd3ba HelloThere tweaks suggested by @CrossEye 2024-10-09 21:31:21 +01:00
Jeremy Ruston
8712979deb Add note about AI images 2024-10-09 21:18:52 +01:00
Jeremy Ruston
f5b7b0cc55 Merge branch 'tiddlywiki-com' 2024-10-09 18:16:55 +01:00
Jeremy Ruston
4c64ae5afa Notes about the newsletter 2024-10-09 18:09:31 +01:00
Jeremy Ruston
04185b49af Further Quick Start tweaks 2024-10-09 16:44:04 +01:00
Jeremy Ruston
b2c3e2b01d Fix QuickStart cards 2024-10-09 16:23:15 +01:00
Jeremy Ruston
78f1209672 Improve tagging of HelloThere tiddlers
Suggested by @ericshulman
2024-10-09 15:45:28 +01:00
Jeremy Ruston
5dd72d8223 GettingStarted styling fixes
From @ericshulman see https://talk.tiddlywiki.org/t/gettingstarted-tiddler-on-tiddlywiki-com-not-showing-any-results/10864/7
2024-10-09 15:29:19 +01:00
Jeremy Ruston
d02c220ddf Restore $:/_tw5.com-card-template
Fixes error in #8664
2024-10-09 14:54:58 +01:00
Mateusz Wilczek
ddb6c206cb Update docs for makeqr macro (#8654) 2024-10-09 12:11:44 +01:00
Mateusz Wilczek
a4c2454773 Update font stacks (#8628)
* Update font stacks in vanilla theme

* Fix punctuation in font stacks
2024-10-09 12:05:41 +01:00
Jeremy Ruston
e3e29ec463 Merge branch 'tiddlywiki-com' 2024-10-08 17:12:25 +01:00
Jeremy Ruston
47519b1703 Experiments: Refactoring HelloThere (#8664)
* Initial Commit

* Fix default tiddlers for prerelease

* Use parsermode: inline for tiddlers that don't semantically have paragraphs

* Tweak card styles

Cards can now grow slightly to fill the available space

* Rename "Community Links" to "TiddlyWiki on the Web", and excise the items to individual tiddlers

* Revert changes to core styles

* Introductory text for each welcome tiddler

* Colours for welcome tiddlers

* Simplify introduction of GettingStarted

* Update TiddlyFox information

* Move all the card related definitions into their own folder

Perhaps preparatory to making them into a plugin, or putting them into the core

* Add a hover effect for card icons

* Retract changes to GettingStarted and system fonts

We'll come back to that

* Revert properly
2024-10-08 17:11:30 +01:00
Yohan Yukiya Sese-Cunetaㆍ사요한・謝雪矢
41b9f625b3 Language plugin: add en-PH (English (PH)) as a new translation (#8669)
* initial en-PH

* English (PH) [en-ph] translation v1

* fix: moved en-PH to the correct file in /editions/full/tiddlywiki.info

* deleted since changes were mainly on styles, like em or en dash instead of regular dash

* upd: 'dependents' not needed in this particular case

* deleted 'empty' files

* upd: removed modifications which were mainly related on style (like em and en dashes);
upd: CamelCase instead of separating camelCase and PascalCase (see https://github.com/TiddlyWiki/TiddlyWiki5/pull/8669#pullrequestreview-2352481385 )

* upd: Simplified Confirm* strings;
upd: natural DateFormat (instead of formal format)

* upd: 'want' instead of 'wish'

* upd: natural DateFormat (instead of ISO format)

* minor: used 'the' instead of 'a' or 'an' as reading of '.html' depends on the reader (ie. a 'dot html' extension vs an 'html' extension)
2024-10-08 15:05:49 +01:00
Yohan Yukiya Sese-Cunetaㆍ사요한・謝雪矢
0451a8aa8d CLA-individual signed: JC John Sese Cuneta, @techmagus, 2024/10/07 (#8670)
Individually signed the CLA.

 JC John Sese Cuneta, @techmagus, 2024/10/07
2024-10-08 15:05:13 +01:00
Mario Pietsch
1736d9dd4d Fix misaligned subtitle (#8672) 2024-10-08 11:48:46 +01:00
Jeremy Ruston
491b664798 Merge branch 'tiddlywiki-com' 2024-10-07 11:41:52 +01:00
Leilei332
8a47eb2d03 [DOCS] Update commands in "Generating Static Sites with TiddlyWiki" to use render command (#8666)
* Update commands in "Generating Static Sites with TiddlyWiki" to use render command & add deprecated tag to some command

* Remove timestamp in deprecated commands
2024-10-07 11:22:06 +01:00
Mohammad Rahmani
c0415d9c93 Make All Hex Color Code Consistent (#8665) 2024-10-06 17:43:18 +01:00
Jeremy Ruston
f2a3e74e8b Merge branch 'tiddlywiki-com' 2024-10-05 11:07:58 +01:00
Jeremy Ruston
20611cc875 Force a build 2024-10-03 21:16:15 +01:00
Jeremy Ruston
ac8fa2cf00 Remove obsolete mobiledragdrop plugin 2024-10-03 16:41:19 +01:00
Jeremy Ruston
2327dd043f Revert "Fix alignment in tiddler subtitle (#8659)"
This reverts commit f4f1ae6b9b.
2024-10-03 13:19:23 +01:00
Mario Pietsch
f4f1ae6b9b Fix alignment in tiddler subtitle (#8659) 2024-10-03 12:34:39 +01:00
Saq Imtiaz
e591dfd590 Update the editor file import UI to support markdown tiddlers (#8486)
* chore: update editor file import to use procedures and substitute operator

* feat: refactor editor file-import UI to reuse filter from $:/config/Editor/EnableImportFilter

* feat: support for markdown in editor file import UI

* feat: improve markdown type detection and enable markdown image imports by default

* fix: uri encode tiddler titles for markdown

* escape characters instead of URI encoding

* fix: tweak regexp to simplify code and document escaping rules
2024-10-02 13:15:53 +01:00
Leilei332
c82761a600 Add tc-table-wrapper class to fix overflow (#8652)
* Add tc-table-wrapper class to fix overflow

* Apply class in tag manager body
2024-10-02 13:06:40 +01:00
Joe Bordes
d981e45e15 i18n(ES) update to latest code base (#8653) 2024-10-02 13:00:04 +01:00
Leilei332
2dd8ff95b2 Fix github fork ribbon plugin marked as deprecated & add it back to full edition. (#8656) 2024-10-02 12:42:49 +01:00
Mario Pietsch
fca39c7f72 Remove function wrapper (#8625)
* remove function wrapper

* add back anonymous function to sjcl.tid
2024-10-01 13:16:39 +01:00
btheado
7bf2fee15e Fix geospatial plugin map state loading (#8511) 2024-09-30 14:49:33 +01:00
j. redhead
fc197e1bfa Improve documentation of how to disable CamelCase (#8626) 2024-09-30 14:28:41 +01:00
Leilei332
0aa9cf6669 Include Polish language in full edition (#8638)
Fix the problem that Polish is not included in the full edition
2024-09-30 14:27:38 +01:00
Leilei332
6e4a64b6cd Remove deprecated plugins in full edition (#8639)
Remove plugins that are marked deprecated in full edition
2024-09-30 14:27:22 +01:00
Saq Imtiaz
3f4067ef7b Fix: variables in functions should not pollute upstream widgets (#8641) 2024-09-30 14:26:36 +01:00
Simon Huber
96840b886f Fix mediatype Typo in excise.js (#8640)
This fixes the typo "mediatype" instead of "mediaType" causing a RSOE
2024-09-30 14:26:00 +01:00
Leilei332
bb462210c3 Make stability badges in add plugin modal translatable (#8642)
A further implementation for #8614
2024-09-30 14:24:10 +01:00
Leilei332
36b988c273 Gather all the plugins' settings page under the control panel's "Settings" tab. (#8643) 2024-09-30 14:23:29 +01:00
Leilei332
2a77d6afdf Fix confusing empty message in tag dropdown (#8649) 2024-09-30 13:40:45 +01:00
IchijikuIchigo
1e6d7b030f Signing the CLA (#8647) 2024-09-30 08:58:04 +01:00
Saq Imtiaz
3a9d375fb2 Fix: syntax issues with checking target branch for CLA signatures (#8648) 2024-09-30 08:46:54 +01:00
Jeremy Ruston
459cae2817 Merge .github directory from master 2024-09-26 16:31:35 +01:00
Saq Imtiaz
de15b08b81 Update SystemTag_ $__tags_ClassFilters_PageTemplate.tid (#8635) 2024-09-26 14:48:54 +01:00
Jeremy Ruston
52cb5763c8 Fixed update readme stats 2024-09-25 21:35:50 +01:00
Jeremy Ruston
ab09d17499 Revert "Update readme stats"
This reverts commit 53e1cad0d6.
2024-09-25 21:35:17 +01:00
Jeremy Ruston
53e1cad0d6 Update readme stats
Fixes #8633
2024-09-25 19:46:21 +01:00
Mario Pietsch
bb75560922 Add basic view-widget tests (#8632) 2024-09-25 13:02:10 +01:00
Mario Pietsch
501cb7beaa [DOCS] Improve TW Readme structure (#8634) 2024-09-25 13:01:26 +01:00
Saq Imtiaz
006157ee97 Update cla-check.yml to be caseinsensitive 2024-09-24 19:26:30 +02:00
Maurycy Zarzycki
ae8a6e7fb8 Pl 2024 09 24 (#8631)
* Fix accidentally putting Polish translation in English locale

* Add translations introduced in c386411570
2024-09-24 18:11:40 +01:00
Jeremy Ruston
678c272979 Revert "Improve View Widget Refreshing (#8135)"
This reverts commit 6ae00e4973.
2024-09-24 11:48:54 +01:00
lin onetwo
a60e7165d2 Feat: loading indicator for tiddlers being lazy loaded (#8505)
* feat: basic loading

* feat: if condition

* feat: use palette

* refactor: remove css variable
2024-09-24 11:38:39 +01:00
Jeremy Ruston
9a042c0130 Merge branch 'tiddlywiki-com' 2024-09-23 12:16:38 +01:00
Jeremy Ruston
c64e94fdc2 Update TiddlyWiki History 2024-09-23 12:11:15 +01:00
Jeremy Ruston
ecbbbe39da 20 years of TiddlyWiki banner 2024-09-23 12:06:47 +01:00
Jeremy Ruston
6abfbc3987 Remove extraneous build of the dev edition 2024-09-21 13:31:07 +01:00
j. redhead
38f7e792bc Docs: fix typo in a wikilink (#8616) 2024-09-21 10:56:37 +01:00
Leilei332
c386411570 Make stability badge text translatable (#8614) 2024-09-17 14:16:18 +02:00
Leilei332
73225d09d7 Fix shadow tiddler with code body displayed as missing (#8609)
Fix problem introduced in #8604
2024-09-17 08:52:46 +02:00
Leilei332
8d80ff297c Fix colour-picker dropdown auto close when selecting or typing a color (#8610) 2024-09-17 08:51:13 +02:00
Maurycy Zarzycki
0222d4df7c Add translation changes to Polish from commits: (#8612)
* ece8b0ee01
* 5aa3646df5
* c8cbf6853e
* 18152aa7c8
* d2302df197
* 8735d1ac93
* 82bf4480de
* 3af2a0ae6f
* 57d3e8e765
* 5c43512a56
* 98cd4a09b4
* 98d411c08a
2024-09-17 08:48:32 +02:00
Leilei332
6dbdbfbe82 Fix overflow in table and table-of-contents (#8608)
Another approach fix overflow.
2024-09-16 14:24:58 +02:00
Leilei332
19990802fa Fix missing tiddler with code body isn't displayed properly. (#8604) 2024-09-16 11:39:50 +02:00
Leilei332
0f4d6e4e47 Fix extra p tag in colour-picker (#8605) 2024-09-16 11:38:55 +02:00
Leilei332
a510e4ad68 Use colour-picker macro in Tag Manager (#8606) 2024-09-16 11:38:27 +02:00
Leilei332
e93515f32a Fix style of codemirror settings page (#8600)
A small fix to make its style the same as the TiddlyWiki settings page.
2024-09-15 11:49:33 +02:00
Simon Huber
6ae00e4973 Improve View Widget Refreshing (#8135)
* Update view.js

* add viewhandler base class and view subclasses

* simplify render methods of wikified views

* use fakewidget's text for rendering

* simplify wikified refresh methods

* remove unneeded self=this

* pass mode to makeTranscludeWidget

* update view widget

* update view widget
2024-09-15 11:49:09 +02:00
Leilei332
3355907581 Seperate clear cookie and disable actions in Browser Storage Plugin (#8602)
Added two messages:
* `tm-delete-browser-storage` for deleting the cookie saved by the
  Browser Storage plugin
* `tm-disable-browser-storage` for disabling Browser Storage
2024-09-15 11:48:08 +02:00
Leilei332
a687bfe928 [DOCS] Deprecate D3 and Mobile Drag and Drop plugin (#8597)
* Deprecate D3 and Mobile Drag and Drop plugin

Deprecate D3 and Mobile Drag and Drop plugin that is marked deprecated
since 5.3.4

* Use superscript
2024-09-13 16:19:09 +02:00
Leilei332
c7ca8359ab Add drag and drop handling for export macro & rewrite using v5.3.2 syntax (#8594) 2024-09-12 19:33:57 +01:00
Leilei332
18e1ee44d8 Move contents of config tab to readme tab in markdown plugin (#8595) 2024-09-12 19:31:13 +01:00
Mohammad Rahmani
fbf619b006 Update ViewTemplateBodyFilters.multids For Readability (#8592)
This Cascade from 

```
[tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]then[$:/core/ui/TestCaseTemplate]] [tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]then[$:/core/ui/TestCaseTemplate]]
```

Simplified. I also suggest using the same convention for all cascades
2024-09-12 10:09:11 +01:00
Michael McDermott
bae2b78925 Added keyboard shortcut option for menubar search. (#8350) 2024-09-11 17:13:54 +01:00
Jeremy Ruston
695e2ee589 Revert "Make overflowed content scrollable (#8524)"
This reverts commit d7b00a6dd0.
2024-09-10 19:03:06 +01:00
Jeremy Ruston
d133c922b7 Updated release note 2024-09-10 18:59:31 +01:00
Jeremy Ruston
8a75ba17c1 Merge branch 'tiddlywiki-com' 2024-09-10 17:57:31 +01:00
Michael McDermott
a960e4f658 Make Excision Available for Markdown (#8498)
* Updates to make Excision more friendly to Markdown users by adding
Markdown as an option in the criteria to use excision and by making the
excise operation reuse the type of the tiddler being excised.

* Updated excise operation to use Markdown syntax for links.
2024-09-10 17:57:06 +01:00
Mario Pietsch
054be1af4e Add new reference tiddlers for the new v5.3.x concepts (#8164) 2024-09-10 17:56:10 +01:00
Jeremy Ruston
40138beac4 Merge branch 'tiddlywiki-com' 2024-09-10 17:18:25 +01:00
Mario Pietsch
d450fce77b Add trimSelection parameter to text editor (#7944)
* add trimSelection - both, start, end, no

* add documentation for trimSelection to tm-edit-text-operation tiddler

* add trimSelection both to all buttions where it makes sense

* change "both" to "yes" as a default

* fix trimSelection typo

* fix trimSelection typo

* docs trimSelection add "no" as possible value - it's the default

* remove some redundant variable declarations

* update from-version

* fix comment typos

* fix whitespace

* make local variables more visible
2024-09-10 17:17:28 +01:00
Mario Pietsch
c64bbd984f Re-activate tabs-macro test, rename expected-* files for easier maintenance (#8403)
* re-activate tabs-macro test, rename expected-* files for easier maintenence

* make sure the Recent tab in the browser is populated for easy testing
2024-09-10 17:16:02 +01:00
Mario Pietsch
0c1d478e19 Improve hellothere flex cards accessibility (#8325)
* add alt-text field to image meta data files

* add aria-label to some HelloThere links

* improve flex-card procedure to render alt-text for images and aria-hide the new-badge because it causes problems

* revert HelloThere modified date
2024-09-10 17:15:17 +01:00
Mario Pietsch
753a820945 Edittemplate toolbar improve accessibility (#8324)
* change aria-label from caption to hint to make it more descriptive

* add indentation
2024-09-10 17:14:29 +01:00
Mario Pietsch
ffbef16152 ViewTemplate toolbar add, change aria-label to hint so it is more descriptive (#8323) 2024-09-10 17:13:58 +01:00
Mario Pietsch
232cffb0a1 Add type "number: (default)" to compare operator (#8160)
* Add type "number: (default)" to compare operator

* Update compare Operator.tid

* Update compare Operator (Examples).tid

* Update compare Operator (Examples).tid
2024-09-10 17:13:09 +01:00
Mario Pietsch
4f4e055091 Add a search button to the control panel tiddler fields tab (#8157)
* add a search button to the control panel tiddler fields tab

* minor update

* use v5.3.x syntax

* use tf. prefix for the function

* make show-filter-count a global macro

* make table header translatable

* add documentation

* show-filter-count code cleanup

* remove the table-header

* remove erroneous caption field
2024-09-10 16:30:59 +01:00
Leilei332
d7b00a6dd0 Make overflowed content scrollable (#8524)
* Make overflowed content scrollable

* Fix removed tab
2024-09-10 14:33:10 +01:00
Leilei332
eaf8558595 Update PageControls buttons to use v5.3.2 syntax (#8579)
* Let PageControls buttons use v5.3.2 syntax

* Rewrite buttons and actions

* Omit whitespace & use function to avoid duplicating

* Omit whitespace in conditional syntax
* Define tf.get-tags function to avoid duplicated text substitution
* Rewrite advanced search button

* Add space in join operator

* Rewrite buttons in plugins

* Remove tf prefix in new-journal.tid

* Remove tf prefix in new-tiddler.tid
2024-09-10 12:00:13 +01:00
Jeremy Ruston
1368cd67ca Fix missing closing tag, and update erroneous docs (#8340) 2024-09-10 11:50:08 +01:00
btheado
6505e4610f Use the testcase widget for $action-createtiddler examples (#8232)
* Use the testcase widget for the $action-createtiddler widget examples

* Use procedure instead of macros for $action-createtiddler examples
2024-09-10 11:49:04 +01:00
btheado
feec6ef18f Use testcase tiddlers for html examples (#8376)
* Convert several html examples into testcase tiddlers

* Convert html table exmaple into testcase tiddler
2024-09-10 11:48:14 +01:00
lin onetwo
19336dc437 Update Alternative page layouts.tid (#8461) 2024-09-10 11:39:50 +01:00
Aza K9
30bb563ffe Fix Issue With Highlight.js Demo Link (#8503) 2024-09-10 11:37:03 +01:00
Aza K9
8d9407aad7 Signing CLA (#8502)
Co-authored-by: Jeremy Ruston <jeremy@jermolene.com>
2024-09-10 11:36:34 +01:00
Mohammad Rahmani
813a574921 Docs: list operator "Index" instead of "Property" (#8509) 2024-09-10 11:35:05 +01:00
Leilei332
93543ba213 Add documention for $:/tags/ControlPanel/SettingsTab (#8512)
* Add documention for $:/tags/ControlPanel/SettingsTab

* Fix tag name
2024-09-10 11:33:28 +01:00
Leilei332
3434884ea4 Add a settings page for markdown plugin (#8585)
* Add a settings page for markdown plugin

* Add link to $:/config/markdown/renderWikiText

* Place "Quotes replacement" settings after "Typographer"

* Add link to plugin itself & remove transclusion in config tab

The transclusion to $:/plugins/tiddlywiki/markdown/settings in config
tab is removed to avoid confusion

* Add settings tab in plugin info
2024-09-10 11:13:00 +01:00
Mario Pietsch
8a8dcf8255 Add startCount to unusedtitle macro, new tests, new docs (#7941)
* add startCount to unusedtitle macro, new tests, new docs

* rename test files

* update .from-version in docs
2024-09-10 10:49:41 +01:00
Jeremy Ruston
b12625c9f6 Merge branch 'tiddlywiki-com' 2024-09-09 21:04:33 +01:00
Mario Pietsch
e1b3308a9d Fix float right overflow (#8557)
* tc-subtitle is not a sibling to tc-body,
So tc-subtitle needs a clearfix to contains float:right

* add clearfix to all tiddler elements that could contain floats

* add clearfix to tc-tiddler-title in ViewTemplate

* add clearfix to plugin/blog/templates

* add clearfix to plugin/tour/templates

* remove test tiddler

* rename draft title class to tc-tiddler-title-draft

* undo title field covering

* move tc-clearfix to tc-float-right in the base CSS file

* rename clearfix CSS class to tc-clearfix

* update documentation tiddlers
2024-09-09 09:48:57 +01:00
Mario Pietsch
d827c57dcf Make export macros code readable without changing any functionality (#8513) 2024-09-08 15:57:55 +01:00
Leilei332
4327d58c1b Fix description for $:/config/DefaultTiddlerColour (#8588)
A small fix after #8508
2024-09-08 13:41:32 +01:00
Leilei332
dc7f8cb0af Add docs for some hidden settings (#8508)
* Add docs for $:/config/EmptyStoryMessage in hidden settings

* Add docs for $:/config/DefaultTiddlerColour
2024-09-07 15:04:55 +01:00
Simon Baird
7f2ab57f78 Fix invalid accept header in put saver (#8547)
IIUC the charset doesn't belong in the Accept header. It does belong
in a Content-Type header though, see [1] and [2].

FYI this header causes problems for Tiddlyhost which must work around
the invalid mime type, see [3] for the nitty-gritty.

[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept
[2] https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type
[3] 10cd353552
2024-09-06 19:55:51 +01:00
Mario Pietsch
38657a2323 tm-new-tiddler - Create empty tags field only if template or additionalFields contain a tags-field (#8559)
* create empty tags only if template or additionalFields contain a tags-field

* fix typos

* add tests for tm-new-tiddler message

* tm-new-tiddler add standard test with tags field
2024-09-06 19:46:53 +01:00
Leilei332
dcf63b75fa Fix suffix does not work for base64 operators (#8574)
* Fix suffix does not work for base64 operators

* Remove console.log
2024-09-06 19:40:05 +01:00
Leilei332
f0cb57fad8 Update docs for base64 operators (#8575)
* Update docs for decodebase64 and encodebase64 operator
* Add exmaples for decodebase64 and encodebase64 operator
2024-09-06 19:39:41 +01:00
Leilei332
9a3f1d25e5 Update toolbar buttons to use v5.3.2 syntax (#8584) 2024-09-05 18:40:18 +01:00
Jeremy Ruston
d6308f1c74 Merge branch 'tiddlywiki-com' 2024-09-02 20:57:12 +01:00
Jeremy Ruston
149bba62d2 Fix typos in Saving with TiddlyPWA 2024-09-02 20:57:03 +01:00
Jeremy Ruston
8e4670ce0a Merge branch 'tiddlywiki-com' 2024-09-02 16:52:15 +01:00
Jeremy Ruston
69637640d2 Standardise whitespace in conditional shortcut syntax (#8583) 2024-09-02 16:51:15 +01:00
Jeremy Ruston
2af23a6ca5 Remove extraneous camelcase 2024-09-02 16:34:11 +01:00
Jeremy Ruston
487f5f5251 IIS example config shouldn't be tagged "Saving" 2024-09-02 16:33:57 +01:00
Jeremy Ruston
dafe7884e8 Add TiddlyPWA to GettingStarted
Apologies @valpackett I had not realised that TiddlyPWA was not listed.

I'd welcome any improvements to the listing. I copied the functional description from your website but might be a good opportunity to sell the benefits more.

I'm doing this as part of a review and improvement of the GettingStarted tiddler.
2024-09-02 16:32:48 +01:00
Mario Pietsch
a0be1d63ef [DOCS] Using Stylesheets -- fix typos (#8581) 2024-09-02 12:41:06 +01:00
Mario Pietsch
842605d28e fix advanced search filter input eats key presses (#8578) 2024-09-01 18:53:37 +01:00
Jeremy Ruston
f6cd7608f5 Release note clarification 2024-09-01 17:54:14 +01:00
Mario Pietsch
8e1cad5a59 Fix HTML nesting error causing typing problem in advanced search filter tab in Firefox (#8577) 2024-09-01 17:48:59 +01:00
Mario Pietsch
6b4f0bea98 Update: Simple tm-http-request POST (#8580) 2024-09-01 17:18:42 +01:00
Jeremy Ruston
d70b23e439 Add link to Jeremy's QCon talk 2024-09-01 17:08:08 +01:00
Jeremy Ruston
81405ee8f4 Further tweaks to release note 2024-09-01 16:57:20 +01:00
Jeremy Ruston
16e7510c72 Update release note 2024-09-01 16:34:44 +01:00
Jeremy Ruston
26acd9be72 Fix whitespace in social media cards
Apologies @simonbaird this is the belated fix to the issue you mentioned in https://github.com/TiddlyWiki/TiddlyWiki5/pull/8441#issuecomment-2276175490
2024-08-30 14:55:14 +01:00
btheado
9a4aafdb41 Prevent geospatial plugin exception when geomap contains empty geolayer widget (#8484)
* Prevent exception when geomap contains empty geolayer widget

* Convert testcase widget into testcase tiddler
2024-08-30 14:21:46 +01:00
btheado
5094096a87 Add import field to testcase tiddlers (#8499)
* Convert "import" field of testcase tiddlers into $data widget with $filter attribute

* Add documentation for testcase tiddler import field and fixed typo and grammar
2024-08-30 14:21:24 +01:00
Leilei332
98d411c08a Add empty message to tag picker, search dropdown and advanced search (#8558)
* Add empty message to tag picker, search dropdown and advanced search

* Add empty message for tag-picker

* Use italic font
2024-08-30 10:39:33 +01:00
Jdigio0213
220156edee Signing CLA (#8565) 2024-08-30 09:31:36 +01:00
Jeremy Ruston
7dfdbae812 Keyboard widget should not crash if the keyboard manager has not been initialised
A user reported a problem with using the keyboard widget within a startup action.
2024-08-29 17:25:30 +01:00
Leilei332
6b13614a6a Fix duplicated search result in advanced search (#8485)
* Fix multiple search result in advanced search

* Use $list-empty widget
2024-08-28 15:24:56 +01:00
Bram Chen
c9f816fb53 Update chinese language files (#8495)
* Update chinese language files

* Add chinese translations of control panel UI for social media cards

* Update chinese language files

* Add chinese translations for Excise/DefaultTitle

* Update chinese language files

* Improve Simplified Chinese translation for SocialCard/Hint
2024-08-28 08:39:36 +01:00
Leilei332
d3cea5d730 Further fix search outline (#8552)
* Fix outline color not showing properly for dark palettes

A further fix after #7317

* Tweak outline style for firefox
2024-08-27 16:41:47 +01:00
Jeremy Ruston
fb9459a0dd Fix since-version docs macro to make extra information optional 2024-08-27 15:42:13 +01:00
Leilei332
98cd4a09b4 Make the default title created by excision translatable (#8500)
* Make the default title created by excision translatable

* Use $tw.language.getString to get language string
2024-08-27 09:26:42 +01:00
Jeremy Ruston
fa423e508f Put saver OPTIONS request: fix interpretation of success codes
Fixes #8554
2024-08-26 21:50:44 +01:00
908 changed files with 14161 additions and 3048 deletions

View File

@@ -1,8 +0,0 @@
# Ignore "third party" code whose style we will not change.
/boot/sjcl.js
/core/modules/utils/base64-utf8/base64-utf8.module.js
/core/modules/utils/base64-utf8/base64-utf8.module.min.js
/core/modules/utils/diff-match-patch/diff_match_patch.js
/core/modules/utils/diff-match-patch/diff_match_patch_uncompressed.js
/core/modules/utils/dom/csscolorparser.js
/plugins/tiddlywiki/*/files/

View File

@@ -1,286 +0,0 @@
env:
browser: true
commonjs: true
es2021: true
node: true
extends: 'eslint:recommended'
globals:
"$tw": "writable" # temporary
parserOptions:
ecmaVersion: 5
rules:
array-bracket-newline: 'off'
array-bracket-spacing: 'off'
array-callback-return: 'off'
array-element-newline: 'off'
arrow-body-style: error
arrow-parens:
- error
- as-needed
arrow-spacing:
- error
- after: true
before: true
block-scoped-var: 'off'
block-spacing: 'off'
brace-style: 'off'
callback-return: 'off'
camelcase: 'off'
capitalized-comments: 'off'
class-methods-use-this: error
comma-dangle: 'off'
comma-spacing: 'off'
comma-style: 'off'
complexity: 'off'
computed-property-spacing: 'off'
consistent-return: 'off'
consistent-this: 'off'
curly: 'off'
default-case: 'off'
default-case-last: error
default-param-last: error
dot-location: 'off'
dot-notation: 'off'
eol-last: 'off'
eqeqeq: 'off'
func-call-spacing: 'off'
func-name-matching: 'off'
func-names: 'off'
func-style: 'off'
function-call-argument-newline: 'off'
function-paren-newline: 'off'
generator-star-spacing: error
global-require: 'off'
grouped-accessor-pairs: error
guard-for-in: 'off'
handle-callback-err: 'off'
id-blacklist: error
id-denylist: error
id-length: 'off'
id-match: error
implicit-arrow-linebreak: error
indent: 'off'
indent-legacy: 'off'
init-declarations: 'off'
jsx-quotes: error
key-spacing: 'off'
keyword-spacing:
- error
- before: true
after: false
overrides:
'case':
after: true
'do':
'after': true
'else':
after: true
'return':
after: true
'throw':
after: true
'try':
after: true
line-comment-position: 'off'
linebreak-style: 'off'
lines-around-comment: 'off'
lines-around-directive: 'off'
lines-between-class-members: error
max-classes-per-file: error
max-depth: 'off'
max-len: 'off'
max-lines: 'off'
max-lines-per-function: 'off'
max-nested-callbacks: error
max-params: 'off'
max-statements: 'off'
max-statements-per-line: 'off'
multiline-comment-style: 'off'
multiline-ternary: 'off'
new-parens: 'off'
newline-after-var: 'off'
newline-before-return: 'off'
newline-per-chained-call: 'off'
no-alert: 'off'
no-array-constructor: 'off'
no-await-in-loop: error
no-bitwise: 'off'
no-buffer-constructor: 'off'
no-caller: error
no-catch-shadow: 'off'
no-confusing-arrow: error
no-console: 'off'
no-constant-condition:
- error
- checkLoops: false
no-constructor-return: error
no-continue: 'off'
no-div-regex: 'off'
no-duplicate-imports: error
no-else-return: 'off'
no-empty-function: 'off'
no-eq-null: 'off'
no-eval: 'off'
no-extend-native: 'off'
no-extra-bind: 'off'
no-extra-label: 'off'
no-extra-parens: 'off'
no-floating-decimal: 'off'
no-implicit-coercion:
- error
- boolean: false
number: false
string: false
no-implicit-globals: 'off'
no-implied-eval: error
no-inline-comments: 'off'
no-invalid-this: 'off'
no-iterator: error
no-label-var: 'off'
no-labels: 'off'
no-lone-blocks: 'off'
no-lonely-if: 'off'
no-loop-func: 'off'
no-loss-of-precision: error
no-magic-numbers: 'off'
no-mixed-operators: 'off'
no-mixed-requires: 'off'
no-multi-assign: 'off'
no-multi-spaces: 'off'
no-multi-str: error
no-multiple-empty-lines: 'off'
no-native-reassign: 'off'
no-negated-condition: 'off'
no-negated-in-lhs: error
no-nested-ternary: 'off'
no-new: 'off'
no-new-func: 'off'
no-new-object: 'off'
no-new-require: error
no-new-wrappers: error
no-octal-escape: error
no-param-reassign: 'off'
no-path-concat: error
no-plusplus: 'off'
no-process-env: 'off'
no-process-exit: 'off'
no-promise-executor-return: error
no-proto: 'off'
no-restricted-exports: error
no-restricted-globals: error
no-restricted-imports: error
no-restricted-modules: error
no-restricted-properties: error
no-restricted-syntax: error
no-return-assign: 'off'
no-return-await: error
no-script-url: 'off'
no-self-compare: 'off'
no-sequences: 'off'
no-shadow: 'off'
no-spaced-func: 'off'
no-sync: 'off'
no-tabs: 'off'
no-template-curly-in-string: error
no-ternary: 'off'
no-throw-literal: 'off'
no-trailing-spaces: 'off'
no-undef-init: 'off'
no-undefined: 'off'
no-underscore-dangle: 'off'
no-unmodified-loop-condition: 'off'
no-unneeded-ternary: 'off'
no-unreachable-loop: error
no-unused-expressions: 'off'
no-use-before-define: 'off'
no-useless-backreference: error
no-useless-call: 'off'
no-useless-computed-key: error
no-useless-concat: 'off'
no-useless-constructor: error
no-useless-rename: error
no-useless-return: 'off'
no-var: 'off'
no-void: 'off'
no-warning-comments: 'off'
no-whitespace-before-property: error
nonblock-statement-body-position:
- error
- any
object-curly-newline: 'off'
object-curly-spacing: 'off'
object-property-newline: 'off'
object-shorthand: 'off'
one-var: 'off'
one-var-declaration-per-line: 'off'
operator-assignment: 'off'
operator-linebreak: 'off'
padded-blocks: 'off'
padding-line-between-statements: error
prefer-arrow-callback: 'off'
prefer-const: 'off'
prefer-destructuring: 'off'
prefer-exponentiation-operator: 'off'
prefer-named-capture-group: 'off'
prefer-numeric-literals: error
prefer-object-spread: 'off'
prefer-promise-reject-errors: error
prefer-reflect: 'off'
prefer-regex-literals: 'off'
prefer-rest-params: 'off'
prefer-spread: 'off'
prefer-template: 'off'
quote-props: 'off'
quotes:
- error
- double
- avoidEscape: true
radix: 'off'
require-atomic-updates: error
require-await: error
require-jsdoc: 'off'
require-unicode-regexp: 'off'
rest-spread-spacing: error
semi: 'off'
semi-spacing: 'off'
semi-style: 'off'
sort-imports: error
sort-keys: 'off'
sort-vars: 'off'
space-before-blocks: 'off'
space-before-function-paren: 'off'
space-in-parens: 'off'
space-infix-ops: 'off'
space-unary-ops: 'off'
spaced-comment: 'off'
strict: 'off'
switch-colon-spacing: 'off'
symbol-description: error
template-curly-spacing: error
template-tag-spacing: error
unicode-bom:
- error
- never
valid-jsdoc: 'off'
valid-typeof:
- error
- requireStringLiterals: false
vars-on-top: 'off'
wrap-iife: 'off'
wrap-regex: 'off'
yield-star-spacing: error
yoda: 'off'
# temporary rules
no-useless-escape: 'off'
no-unused-vars: 'off'
no-empty: 'off'
no-extra-semi: 'off'
no-redeclare: 'off'
no-control-regex: "off"
no-mixed-spaces-and-tabs: "off"
no-extra-boolean-cast: "off"
no-prototype-builtins: "off"
no-undef: "off"
no-unreachable: "off"
no-self-assign: "off"

View File

@@ -5,17 +5,17 @@ on:
- master
- tiddlywiki-com
env:
NODE_VERSION: "18"
NODE_VERSION: "22"
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
- run: "./bin/ci-test.sh"
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
@@ -30,8 +30,8 @@ jobs:
TW5_BUILD_MAIN_EDITION: "./editions/prerelease"
TW5_BUILD_OUTPUT: "./output/prerelease"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
- run: "./bin/ci-pre-build.sh"
@@ -62,8 +62,8 @@ jobs:
TW5_BUILD_OUTPUT: "./output"
TW5_BUILD_ARCHIVE: "./output"
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "${{ env.NODE_VERSION }}"
- run: "./bin/ci-pre-build.sh"

View File

@@ -14,7 +14,7 @@ jobs:
if: ${{ (github.event.pull_request.user.login != github.repository_owner) }}
steps:
- run: |
if ! curl -s https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/tiddlywiki-com/licenses/cla-individual.md | grep -o "@$USER,"; then
if ! curl -s https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/tiddlywiki-com/licenses/cla-individual.md | grep -io "@$USER,"; then
echo "CLA not signed"
gh pr comment "$NUMBER" -b "@$USER It appears that this is your first contribution to the project, welcome.

View File

@@ -23,8 +23,8 @@ jobs:
pull-requests: write
steps:
- run: |
if ! $BRANCH == "tiddlywiki-com"; then
echo "This CLA signature targets the wrong branch"
if [[ "$BRANCH" != "tiddlywiki-com" ]]; then
echo "This CLA signature targets the wrong branch: $BRANCH"
gh pr comment "$NUMBER" -b "@$AUTHOR Signatures to the CLA must target the 'tiddlywiki-com' branch."
fi
env:

View File

@@ -5,7 +5,7 @@
# Default to the current version number for building the plugin library
if [ -z "$TW5_BUILD_VERSION" ]; then
TW5_BUILD_VERSION=v5.3.6
TW5_BUILD_VERSION=v5.3.7
fi
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"
@@ -97,7 +97,6 @@ if [ -n "$TW5_BUILD_ARCHIVE" ]; then
node $TW5_BUILD_TIDDLYWIKI \
$TW5_BUILD_MAIN_EDITION \
--verbose \
--version \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_ARCHIVE \
@@ -115,7 +114,6 @@ fi
node $TW5_BUILD_TIDDLYWIKI \
$TW5_BUILD_MAIN_EDITION \
--verbose \
--version \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
@@ -128,7 +126,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /tiddlywikicore-<version>.js Core plugin javascript
node $TW5_BUILD_TIDDLYWIKI \
./editions/empty \
--verbose \
--output $TW5_BUILD_OUTPUT \
--build empty emptyexternalcore \
|| exit 1
@@ -137,7 +134,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /test.html Test edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/test \
--verbose \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all test.html text/plain \
|| exit 1
@@ -150,7 +146,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /dev/static/static.css Static stylesheet
node $TW5_BUILD_TIDDLYWIKI \
./editions/dev \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/dev \
--build index favicon static \
@@ -159,29 +154,13 @@ node $TW5_BUILD_TIDDLYWIKI \
# /tour.html tour edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/tour \
--verbose \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all tour.html text/plain \
|| exit 1
# /dev/index.html Developer docs
# /dev/favicon.ico Favicon for dev site
# /dev/static.html Static rendering of default tiddlers
# /dev/alltiddlers.html Static rendering of all tiddlers
# /dev/static/* Static single tiddlers
# /dev/static/static.css Static stylesheet
node $TW5_BUILD_TIDDLYWIKI \
./editions/dev \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/dev \
--build index favicon static \
|| exit 1
# /share.html Custom edition for sharing via the URL
node $TW5_BUILD_TIDDLYWIKI \
./editions/share \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--build share \
@@ -190,7 +169,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /upgrade.html Custom edition for performing upgrades
node $TW5_BUILD_TIDDLYWIKI \
./editions/upgrade \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--build upgrade \
@@ -199,7 +177,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /encrypted.html Copy of the main file encrypted with the password "password"
node $TW5_BUILD_TIDDLYWIKI \
$TW5_BUILD_MAIN_EDITION \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--build encrypted \
@@ -215,7 +192,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /editions/xlsx-utils/index.html xlsx-utils edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/xlsx-utils \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/xlsx-utils/ \
--build index \
@@ -224,7 +200,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /editions/resumebuilder/index.html Resume builder edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/resumebuilder \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/resumebuilder/ \
--build index \
@@ -233,7 +208,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /editions/text-slicer/index.html Text slicer edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/text-slicer \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/text-slicer/ \
--build index \
@@ -242,7 +216,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /editions/translators/index.html Translators edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/translators \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/translators/ \
--build index \
@@ -251,7 +224,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /editions/introduction/index.html Introduction edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/introduction \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/introduction/ \
--build index \
@@ -260,7 +232,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /editions/full/index.html Full edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/full \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/full/ \
--build index \
@@ -269,7 +240,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /editions/tw5.com-docs/index.html tiddlywiki.com docs edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/tw5.com-docs \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/tw5.com-docs/ \
--build index \
@@ -278,7 +248,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /editions/twitter-archivist/index.html Twitter Archivist edition
node $TW5_BUILD_TIDDLYWIKI \
./editions/twitter-archivist \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/editions/twitter-archivist/ \
--build index \
@@ -294,7 +263,6 @@ node $TW5_BUILD_TIDDLYWIKI \
node $TW5_BUILD_TIDDLYWIKI \
./editions/innerwikidemo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/innerwiki/index.html text/plain \
@@ -305,7 +273,6 @@ node $TW5_BUILD_TIDDLYWIKI \
node $TW5_BUILD_TIDDLYWIKI \
./editions/dynaviewdemo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/dynaview/index.html text/plain \
@@ -320,7 +287,6 @@ node $TW5_BUILD_TIDDLYWIKI \
node $TW5_BUILD_TIDDLYWIKI \
./editions/katexdemo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/katex/index.html text/plain \
@@ -331,7 +297,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /plugins/tiddlywiki/tahoelafs/empty.html Empty wiki with Tahoe-LAFS plugin
node $TW5_BUILD_TIDDLYWIKI \
./editions/tahoelafs \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/tahoelafs/index.html text/plain \
@@ -342,7 +307,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /plugins/tiddlywiki/d3/empty.html Empty wiki with D3 plugin
node $TW5_BUILD_TIDDLYWIKI \
./editions/d3demo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/d3/index.html text/plain \
@@ -353,7 +317,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /plugins/tiddlywiki/codemirror/empty.html Empty wiki with codemirror plugin
node $TW5_BUILD_TIDDLYWIKI \
./editions/codemirrordemo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/codemirror/index.html text/plain \
@@ -364,7 +327,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /plugins/tiddlywiki/markdown/empty.html Empty wiki with Markdown plugin
node $TW5_BUILD_TIDDLYWIKI \
./editions/markdowndemo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/markdown/index.html text/plain \
@@ -375,7 +337,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /plugins/tiddlywiki/tw2parser/empty.html Empty wiki with tw2parser plugin
node $TW5_BUILD_TIDDLYWIKI \
./editions/classicparserdemo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/tw2parser/index.html text/plain \
@@ -386,7 +347,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /plugins/tiddlywiki/highlight/empty.html Empty wiki with highlight plugin
node $TW5_BUILD_TIDDLYWIKI \
./editions/highlightdemo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/highlight/index.html text/plain \
@@ -397,7 +357,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /plugins/tiddlywiki/geospatial/empty.html Empty wiki with geospatial plugin
node $TW5_BUILD_TIDDLYWIKI \
./editions/geospatialdemo \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT \
--rendertiddler $:/core/save/all plugins/tiddlywiki/geospatial/index.html text/plain \
@@ -425,7 +384,6 @@ rm -rf $TW5_BUILD_OUTPUT/languages/zh-Hant/static/*
# /languages/de-AT/empty.html Empty wiki with de-AT language
node $TW5_BUILD_TIDDLYWIKI \
./editions/de-AT \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/languages/de-AT \
--build favicon empty static index \
@@ -435,7 +393,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /languages/de-DE/empty.html Empty wiki with de-DE language
node $TW5_BUILD_TIDDLYWIKI \
./editions/de-DE \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/languages/de-DE \
--build favicon empty static index \
@@ -445,7 +402,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /languages/es-ES/empty.html Empty wiki with es-ES language
node $TW5_BUILD_TIDDLYWIKI \
./editions/es-ES \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/languages/es-ES \
--build favicon empty static index \
@@ -455,7 +411,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /languages/fr-FR/empty.html Empty wiki with fr-FR language
node $TW5_BUILD_TIDDLYWIKI \
./editions/fr-FR \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/languages/fr-FR \
--build favicon empty static index \
@@ -465,7 +420,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /languages/ja-JP/empty.html Empty wiki with ja-JP language
node $TW5_BUILD_TIDDLYWIKI \
./editions/ja-JP \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/languages/ja-JP \
--build empty index \
@@ -475,7 +429,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /languages/ko-KR/empty.html Empty wiki with ko-KR language
node $TW5_BUILD_TIDDLYWIKI \
./editions/ko-KR \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/languages/ko-KR \
--build favicon empty static index \
@@ -485,7 +438,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /languages/zh-Hans/empty.html Empty wiki with zh-Hans language
node $TW5_BUILD_TIDDLYWIKI \
./editions/zh-Hans \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/languages/zh-Hans \
--build empty index \
@@ -495,7 +447,6 @@ node $TW5_BUILD_TIDDLYWIKI \
# /languages/zh-Hant/empty.html Empty wiki with zh-Hant language
node $TW5_BUILD_TIDDLYWIKI \
./editions/zh-Hant \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/languages/zh-Hant \
--build empty index \
@@ -509,7 +460,6 @@ node $TW5_BUILD_TIDDLYWIKI \
node $TW5_BUILD_TIDDLYWIKI \
./editions/pluginlibrary \
--verbose \
--load $TW5_BUILD_OUTPUT/build.tid \
--output $TW5_BUILD_OUTPUT/library/$TW5_BUILD_VERSION \
--build library\

View File

@@ -1470,17 +1470,15 @@ $tw.Wiki = function(options) {
// Unpack the currently registered plugins, creating shadow tiddlers for their constituent tiddlers
this.unpackPluginTiddlers = function() {
var self = this;
// Sort the plugin titles by the `plugin-priority` field
pluginTiddlers.sort(function(a,b) {
if("plugin-priority" in a.fields && "plugin-priority" in b.fields) {
return a.fields["plugin-priority"] - b.fields["plugin-priority"];
} else if("plugin-priority" in a.fields) {
// Sort the plugin titles by the `plugin-priority` field, if this field is missing, default to 1
pluginTiddlers.sort(function(a, b) {
var priorityA = "plugin-priority" in a.fields ? a.fields["plugin-priority"] : 1;
var priorityB = "plugin-priority" in b.fields ? b.fields["plugin-priority"] : 1;
if (priorityA !== priorityB) {
return priorityA - priorityB;
} else if (a.fields.title < b.fields.title) {
return -1;
} else if("plugin-priority" in b.fields) {
return +1;
} else if(a.fields.title < b.fields.title) {
return -1;
} else if(a.fields.title === b.fields.title) {
} else if (a.fields.title === b.fields.title) {
return 0;
} else {
return +1;
@@ -2465,13 +2463,15 @@ $tw.boot.initStartup = function(options) {
$tw.utils.registerFileType("image/webp","base64",".webp",{flags:["image"]});
$tw.utils.registerFileType("image/heic","base64",".heic",{flags:["image"]});
$tw.utils.registerFileType("image/heif","base64",".heif",{flags:["image"]});
$tw.utils.registerFileType("image/avif","base64",".avif",{flags:["image"]});
$tw.utils.registerFileType("image/svg+xml","utf8",".svg",{flags:["image"]});
$tw.utils.registerFileType("image/vnd.microsoft.icon","base64",".ico",{flags:["image"]});
$tw.utils.registerFileType("image/x-icon","base64",".ico",{flags:["image"]});
$tw.utils.registerFileType("application/wasm","base64",".wasm");
$tw.utils.registerFileType("application/font-woff","base64",".woff");
$tw.utils.registerFileType("application/x-font-ttf","base64",".woff");
$tw.utils.registerFileType("application/font-woff2","base64",".woff2");
$tw.utils.registerFileType("font/woff","base64",".woff");
$tw.utils.registerFileType("font/woff2","base64",".woff2");
$tw.utils.registerFileType("font/ttf","base64",".ttf");
$tw.utils.registerFileType("font/otf","base64",".otf");
$tw.utils.registerFileType("audio/ogg","base64",".ogg");
$tw.utils.registerFileType("audio/mp4","base64",[".mp4",".m4a"]);
$tw.utils.registerFileType("video/ogg","base64",[".ogm",".ogv",".ogg"]);

View File

@@ -4,7 +4,7 @@ type: text/plain
TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)
Copyright (c) 2004-2007, Jeremy Ruston
Copyright (c) 2007-2024, UnaMesa Association
Copyright (c) 2007-2025, UnaMesa Association
All rights reserved.
Redistribution and use in source and binary forms, with or without

View File

@@ -133,6 +133,7 @@ Excise/Caption/Replace/Link: link
Excise/Caption/Replace/Transclusion: transclusion
Excise/Caption/Tag: Tag new tiddler with the title of this tiddler
Excise/Caption/TiddlerExists: Warning: tiddler already exists
Excise/DefaultTitle: New Excision
Excise/Hint: Excise the selected text into a new tiddler
Heading1/Caption: heading 1
Heading1/Hint: Apply heading level 1 formatting to lines containing selection

View File

@@ -96,6 +96,10 @@ Plugins/PluginWillRequireReload: (requires reload)
Plugins/Plugins/Caption: Plugins
Plugins/Plugins/Hint: Plugins
Plugins/Reinstall/Caption: reinstall
Plugins/Stability/Deprecated: DEPRECATED
Plugins/Stability/Experimental: EXPERIMENTAL
Plugins/Stability/Legacy: LEGACY
Plugins/Stability/Stable: STABLE
Plugins/Themes/Caption: Themes
Plugins/Themes/Hint: Theme plugins
Plugins/Update/Caption: update
@@ -171,6 +175,8 @@ Settings/NavigationPermalinkviewMode/UpdateAddressBar/Description: Update addres
Settings/PerformanceInstrumentation/Caption: Performance Instrumentation
Settings/PerformanceInstrumentation/Hint: Displays performance statistics in the browser developer console. Requires reload to take effect
Settings/PerformanceInstrumentation/Description: Enable performance instrumentation
Settings/RecentLimit/Caption: Recent Tab Limit
Settings/RecentLimit/Hint: Maximum number of tiddlers to be displayed under the sidebar "Recent" tab
Settings/ToolbarButtonStyle/Caption: Toolbar Button Style
Settings/ToolbarButtonStyle/Hint: Choose the style for toolbar buttons:
Settings/ToolbarButtonStyle/Styles/Borderless: Borderless
@@ -200,10 +206,10 @@ Settings/MissingLinks/Hint: Choose whether to link to tiddlers that do not exist
Settings/MissingLinks/Description: Enable links to missing tiddlers
SocialCard/Caption: Social Media Card
SocialCard/Domain/Prompt: Domain name to display for the link (for example, ''tiddlywiki.com'')
SocialCard/Hint: This information is used by social and messaging services to display a preview card for links to this TiddlyWiki when hosted online
SocialCard/PreviewUrl/Prompt: Full URL to preview image for this TiddlyWiki
SocialCard/Hint: This information is used by social and messaging services to display a preview card for links to this ~TiddlyWiki when hosted online
SocialCard/PreviewUrl/Prompt: Full URL to preview image for this ~TiddlyWiki
SocialCard/PreviewUrl/Preview: Preview image:
SocialCard/Url/Prompt: Full URL of this TiddlyWiki
SocialCard/Url/Prompt: Full URL of this ~TiddlyWiki
StoryTiddler/Caption: Story Tiddler
StoryTiddler/Hint: This rule cascade is used to dynamically choose the template for displaying a tiddler in the story river.
StoryView/Caption: Story View

View File

@@ -26,6 +26,8 @@ Tags/ClearInput/Caption: clear input
Tags/ClearInput/Hint: Clear tag input
Tags/Dropdown/Caption: tag list
Tags/Dropdown/Hint: Show tag list
Tags/EmptyMessage: No tags found
Tags/EmptyMessage/System: No system tags found
Title/BadCharacterWarning: Warning: avoid using any of the characters <<bad-chars>> in tiddler titles
Title/Exists/Prompt: Target tiddler already exists
Title/Relink/Prompt: Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers

View File

@@ -6,6 +6,8 @@ Filter/Hint: Search via a [[filter expression|https://tiddlywiki.com/static/Filt
Filter/Matches: //<small><<resultCount>> matches</small>//
Matches: //<small><<resultCount>> matches</small>//
Matches/All: All matches:
Matches/NoMatch: //No match//
Matches/NoResult: //No search result//
Matches/Title: Title matches:
Search: Search
Search/TooShort: Search text too short

View File

@@ -24,7 +24,7 @@ var Command = function(params,commander) {
Command.prototype.execute = function() {
// Get the build targets defined in the wiki
var buildTargets = $tw.boot.wikiInfo.build;
var buildTargets = $tw.boot.wikiInfo && $tw.boot.wikiInfo.build;
if(!buildTargets) {
return "No build targets defined";
}

View File

@@ -12,20 +12,27 @@ Text editor operation to excise the selection to a new tiddler
/*global $tw: false */
"use strict";
function isMarkdown(mediaType) {
return mediaType === 'text/markdown' || mediaType === 'text/x-markdown';
}
exports["excise"] = function(event,operation) {
var editTiddler = this.wiki.getTiddler(this.editTitle),
editTiddlerTitle = this.editTitle;
editTiddlerTitle = this.editTitle,
wikiLinks = !isMarkdown(editTiddler.fields.type),
excisionBaseTitle = $tw.language.getString("Buttons/Excise/DefaultTitle");
if(editTiddler && editTiddler.fields["draft.of"]) {
editTiddlerTitle = editTiddler.fields["draft.of"];
}
var excisionTitle = event.paramObject.title || this.wiki.generateNewTitle("New Excision");
var excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(excisionBaseTitle);
this.wiki.addTiddler(new $tw.Tiddler(
this.wiki.getCreationFields(),
this.wiki.getModificationFields(),
{
title: excisionTitle,
text: operation.selection,
tags: event.paramObject.tagnew === "yes" ? [editTiddlerTitle] : []
tags: event.paramObject.tagnew === "yes" ? [editTiddlerTitle] : [],
type: editTiddler.fields.type
}
));
operation.replacement = excisionTitle;
@@ -34,7 +41,8 @@ exports["excise"] = function(event,operation) {
operation.replacement = "{{" + operation.replacement+ "}}";
break;
case "link":
operation.replacement = "[[" + operation.replacement+ "]]";
operation.replacement = wikiLinks ? "[[" + operation.replacement+ "]]"
: ("[" + operation.replacement + "](<#" + operation.replacement + ">)");
break;
case "macro":
operation.replacement = "<<" + (event.paramObject.macro || "translink") + " \"\"\"" + operation.replacement + "\"\"\">>";

View File

@@ -13,37 +13,125 @@ Text editor operation to wrap the selection with the specified prefix and suffix
"use strict";
exports["wrap-selection"] = function(event,operation) {
if(operation.selStart === operation.selEnd) {
// No selection; check if we're within the prefix/suffix
if(operation.text.substring(operation.selStart - event.paramObject.prefix.length,operation.selStart + event.paramObject.suffix.length) === event.paramObject.prefix + event.paramObject.suffix) {
var o = operation,
prefix = event.paramObject.prefix,
suffix = event.paramObject.suffix,
trimSelection = event.paramObject.trimSelection || "no",
selLength = o.selEnd - o.selStart;
// This function detects, if trailing spaces are part of the selection __and__ if the user wants to handle them
// Returns "yes", "start", "end", "no" (default)
// yes .. there are trailing spaces at both ends
// start .. there are trailing spaces at the start
// end .. there are trailing spaces at the end
// no .. no trailing spaces are taken into account
var trailingSpaceAt = function(sel) {
var _start,
_end,
result;
// trimSelection is a user parameter, which this evaluations takes into account
switch(trimSelection) {
case "end":
result = (sel.trimEnd().length !== selLength) ? "end" : "no";
break;
case "yes":
_start = sel.trimStart().length !== selLength;
_end = sel.trimEnd().length !== selLength;
result = (_start && _end) ? "yes" : (_start) ? "start" : (_end) ? "end" : "no";
break;
case "start":
result = (sel.trimStart().length !== selLength) ? "start" : "no";
break;
default:
result = "no";
break;
}
return result;
}
function togglePrefixSuffix() {
if(o.text.substring(o.selStart - prefix.length, o.selStart + suffix.length) === prefix + suffix) {
// Remove the prefix and suffix
operation.cutStart = operation.selStart - event.paramObject.prefix.length;
operation.cutEnd = operation.selEnd + event.paramObject.suffix.length;
operation.replacement = "";
operation.newSelStart = operation.cutStart;
operation.newSelEnd = operation.newSelStart;
o.cutStart = o.selStart - prefix.length;
o.cutEnd = o.selEnd + suffix.length;
o.replacement = "";
o.newSelStart = o.cutStart;
o.newSelEnd = o.newSelStart;
} else {
// Wrap the cursor instead
operation.cutStart = operation.selStart;
operation.cutEnd = operation.selEnd;
operation.replacement = event.paramObject.prefix + event.paramObject.suffix;
operation.newSelStart = operation.selStart + event.paramObject.prefix.length;
operation.newSelEnd = operation.newSelStart;
o.cutStart = o.selStart;
o.cutEnd = o.selEnd;
o.replacement = prefix + suffix;
o.newSelStart = o.selStart + prefix.length;
o.newSelEnd = o.newSelStart;
}
} else if(operation.text.substring(operation.selStart,operation.selStart + event.paramObject.prefix.length) === event.paramObject.prefix && operation.text.substring(operation.selEnd - event.paramObject.suffix.length,operation.selEnd) === event.paramObject.suffix) {
}
// options: lenPrefix, lenSuffix
function removePrefixSuffix(options) {
options = options || {};
var _lenPrefix = options.lenPrefix || 0;
var _lenSuffix = options.lenSuffix || 0;
o.cutStart = o.selStart - _lenPrefix;
o.cutEnd = o.selEnd + _lenSuffix;
o.replacement = (_lenPrefix || _lenSuffix) ? o.selection : o.selection.substring(prefix.length, o.selection.length - suffix.length);
o.newSelStart = o.cutStart;
o.newSelEnd = o.cutStart + o.replacement.length;
}
function addPrefixSuffix() {
// remove trailing space if requested
switch(trailingSpaceAt(o.selection)) {
case "no":
// has no trailing spaces
o.cutStart = o.selStart;
o.cutEnd = o.selEnd;
o.replacement = prefix + o.selection + suffix;
o.newSelStart = o.selStart;
o.newSelEnd = o.selStart + o.replacement.length;
break;
case "yes":
// handle both ends
o.cutStart = o.selEnd - (o.selection.trimStart().length);
o.cutEnd = o.selection.trimEnd().length + o.selStart;
o.replacement = prefix + o.selection.trim() + suffix;
o.newSelStart = o.cutStart;
o.newSelEnd = o.cutStart + o.replacement.length;
break;
case "start":
// handle leading
o.cutStart = o.selEnd - (o.selection.trimStart().length);
o.cutEnd = o.selEnd;
o.replacement = prefix + o.selection.trimStart() + suffix;
o.newSelStart = o.cutStart;
o.newSelEnd = o.cutStart + o.replacement.length;
break;
case "end":
// handle trailing
o.cutStart = o.selStart;
o.cutEnd = o.selection.trimEnd().length + o.selStart;
o.replacement = prefix + o.selection.trimEnd() + suffix;
o.newSelStart = o.selStart;
o.newSelEnd = o.selStart + o.replacement.length;
break;
}
}
if(o.selStart === o.selEnd) {
// No selection; Create prefix and suffix. Set cursor in between them: ""|""
togglePrefixSuffix();
} else if(o.text.substring(o.selStart, o.selStart + prefix.length) === prefix &&
o.text.substring(o.selEnd - suffix.length,o.selEnd) === suffix) {
// Prefix and suffix are already present, so remove them
operation.cutStart = operation.selStart;
operation.cutEnd = operation.selEnd;
operation.replacement = operation.selection.substring(event.paramObject.prefix.length,operation.selection.length - event.paramObject.suffix.length);
operation.newSelStart = operation.selStart;
operation.newSelEnd = operation.selStart + operation.replacement.length;
removePrefixSuffix();
} else if(o.text.substring(o.selStart - prefix.length, o.selStart) === prefix &&
o.text.substring(o.selEnd, o.selEnd + suffix.length) === suffix) {
// Prefix and suffix are present BUT not selected -> remove them
removePrefixSuffix({"lenPrefix": prefix.length, "lenSuffix": suffix.length});
} else {
// Add the prefix and suffix
operation.cutStart = operation.selStart;
operation.cutEnd = operation.selEnd;
operation.replacement = event.paramObject.prefix + operation.selection + event.paramObject.suffix;
operation.newSelStart = operation.selStart;
operation.newSelEnd = operation.selStart + operation.replacement.length;
addPrefixSuffix();
}
};

View File

@@ -18,8 +18,8 @@ Export our filter functions
exports.decodebase64 = function(source,operator,options) {
var results = [];
var binary = operator.suffixes && operator.suffixes.indexOf("binary") !== -1;
var urlsafe = operator.suffixes && operator.suffixes.indexOf("urlsafe") !== -1;
var binary = operator.suffixes && operator.suffixes[0].indexOf("binary") !== -1;
var urlsafe = operator.suffixes && operator.suffixes[0].indexOf("urlsafe") !== -1;
source(function(tiddler,title) {
results.push($tw.utils.base64Decode(title,binary,urlsafe));
});
@@ -28,8 +28,8 @@ exports.decodebase64 = function(source,operator,options) {
exports.encodebase64 = function(source,operator,options) {
var results = [];
var binary = operator.suffixes && operator.suffixes.indexOf("binary") !== -1;
var urlsafe = operator.suffixes && operator.suffixes.indexOf("urlsafe") !== -1;
var binary = operator.suffixes && operator.suffixes[0].indexOf("binary") !== -1;
var urlsafe = operator.suffixes && operator.suffixes[0].indexOf("urlsafe") !== -1;
source(function(tiddler,title) {
results.push($tw.utils.base64Encode(title,binary,urlsafe));
});

View File

@@ -17,19 +17,24 @@ Export our filter function
*/
exports.function = function(source,operator,options) {
var functionName = operator.operands[0],
params = [];
params = [],
results;
$tw.utils.each(operator.operands.slice(1),function(param) {
params.push({value: param});
});
// console.log(`Calling ${functionName} with params ${JSON.stringify(params)}`);
var variableInfo = options.widget && options.widget.getVariableInfo && options.widget.getVariableInfo(functionName,{params: params, source: source});
if(variableInfo && variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition) {
return variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];
results = variableInfo.resultList ? variableInfo.resultList : [variableInfo.text];
}
// Return the input list if the function wasn't found
var results = [];
source(function(tiddler,title) {
results.push(title);
});
if(!results) {
results = [];
source(function(tiddler,title) {
results.push(title);
});
}
// console.log(`function ${functionName} with params ${JSON.stringify(params)} results: ${JSON.stringify(results)}`);
return results;
};

View File

@@ -16,20 +16,22 @@ exports.name = "unusedtitle";
exports.params = [
{name: "baseName"},
{name: "separator"},
{name: "template"}
{name: "template"},
{name: "startCount"}
];
/*
Run the macro
*/
exports.run = function(baseName,separator,template) {
exports.run = function(baseName,separator,template,startCount) {
separator = separator || " ";
startCount = startCount || 0;
if(!baseName) {
baseName = $tw.language.getString("DefaultNewTiddlerTitle");
}
// $tw.wiki.generateNewTitle = function(baseTitle,options)
// options.prefix must be a string!
return this.wiki.generateNewTitle(baseName, {"prefix": separator, "template": template});
// options.prefix must be a string!
return this.wiki.generateNewTitle(baseName, {"prefix": separator, "template": template, "startCount": startCount}).trim();
};
})();

View File

@@ -40,6 +40,7 @@ exports["image/gif"] = ImageParser;
exports["image/webp"] = ImageParser;
exports["image/heic"] = ImageParser;
exports["image/heif"] = ImageParser;
exports["image/avif"] = ImageParser;
exports["image/x-icon"] = ImageParser;
exports["image/vnd.microsoft.icon"] = ImageParser;

View File

@@ -6,7 +6,7 @@ module-type: wikirule
Conditional shortcut syntax
```
This is a <% if [{something}] %>Elephant<% elseif [{else}] %>Pelican<% else %>Crocodile<% endif %>
This is a <%if [{something}] %>Elephant<%elseif [{else}] %>Pelican<%else%>Crocodile<%endif%>
```
\*/
@@ -27,7 +27,7 @@ exports.init = function(parser) {
};
exports.findNextMatch = function(startPos) {
// Look for the next <% if shortcut
// Look for the next <%if shortcut
this.matchRegExp.lastIndex = startPos;
this.match = this.matchRegExp.exec(this.parser.source);
// If not found then return no match

View File

@@ -46,8 +46,10 @@ function SaverHandler(options) {
// Filter the changes so that we only count changes to tiddlers that we care about
var filteredChanges = self.filterFn.call(self.wiki,function(iterator) {
$tw.utils.each(changes,function(change,title) {
var tiddler = self.wiki.getTiddler(title);
iterator(tiddler,title);
if(change.normal) {
var tiddler = self.wiki.getTiddler(title);
iterator(tiddler,title);
}
});
});
// Adjust the number of changes

View File

@@ -20,7 +20,7 @@ Retrieve ETag if available
*/
var retrieveETag = function(self) {
var headers = {
Accept: "*/*;charset=UTF-8"
Accept: "*/*"
};
$tw.utils.httpRequest({
url: self.uri(),
@@ -55,7 +55,7 @@ var PutSaver = function(wiki) {
callback: function(err,data,xhr) {
// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1
if(!err) {
self.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader("dav");
self.serverAcceptsPuts = xhr.status >= 200 && xhr.status < 300 && !!xhr.getResponseHeader("dav");
}
}
});

View File

@@ -25,7 +25,7 @@ exports.handler = function(request,response,state) {
response.end();
} else {
// Redirect to the root wiki if login worked
var location = ($tw.syncadaptor && $tw.syncadaptor.host)? $tw.syncadaptor.host: "/";
var location = ($tw.syncadaptor && $tw.syncadaptor.host)? $tw.syncadaptor.host: `${state.pathPrefix}/`;
response.writeHead(302,{
Location: location
});

View File

@@ -75,7 +75,7 @@ exports.startup = function() {
$tw.wiki.unpackPluginTiddlers();
// Queue change events for the changed shadow tiddlers
$tw.utils.each(Object.keys(changedShadowTiddlers),function(title) {
$tw.wiki.enqueueTiddlerEvent(title,changedShadowTiddlers[title]);
$tw.wiki.enqueueTiddlerEvent(title,changedShadowTiddlers[title], true);
});
}
}

View File

@@ -52,7 +52,9 @@ exports.startup = function() {
basicAuthUsername: params["basic-auth-username"],
basicAuthUsernameFromStore: params["basic-auth-username-from-store"],
basicAuthPassword: params["basic-auth-password"],
basicAuthPasswordFromStore: params["basic-auth-password-from-store"]
basicAuthPasswordFromStore: params["basic-auth-password-from-store"],
bearerAuthToken: params["bearer-auth-token"],
bearerAuthTokenFromStore: params["bearer-auth-token-from-store"]
});
});
$tw.rootWidget.addEventListener("tm-http-cancel-all-requests",function(event) {
@@ -75,8 +77,9 @@ exports.startup = function() {
$tw.rootWidget.addEventListener("tm-copy-to-clipboard",function(event) {
$tw.utils.copyToClipboard(event.param,{
successNotification: event.paramObject && event.paramObject.successNotification,
failureNotification: event.paramObject && event.paramObject.failureNotification
});
failureNotification: event.paramObject && event.paramObject.failureNotification,
plainText: event.paramObject && event.paramObject.plainText
},event.paramObject && event.paramObject.type);
});
// Install the tm-focus-selector message
$tw.rootWidget.addEventListener("tm-focus-selector",function(event) {

View File

@@ -67,14 +67,6 @@ exports.startup = function() {
wiki: $tw.wiki,
document: $tw.browser ? document : $tw.fakeDocument
});
// Execute any startup actions
$tw.rootWidget.invokeActionsByTag("$:/tags/StartupAction");
if($tw.browser) {
$tw.rootWidget.invokeActionsByTag("$:/tags/StartupAction/Browser");
}
if($tw.node) {
$tw.rootWidget.invokeActionsByTag("$:/tags/StartupAction/Node");
}
// Kick off the language manager and switcher
$tw.language = new $tw.Language();
$tw.languageSwitcher = new $tw.PluginSwitcher({
@@ -88,8 +80,10 @@ exports.startup = function() {
if($tw.browser) {
var pluginTiddler = $tw.wiki.getTiddler(plugins[0]);
if(pluginTiddler) {
document.documentElement.setAttribute("lang",pluginTiddler.getFieldString("name"));
document.documentElement.setAttribute("dir",pluginTiddler.getFieldString("text-direction") || "auto");
} else {
document.documentElement.setAttribute("lang","en-GB");
document.documentElement.removeAttribute("dir");
}
}
@@ -115,6 +109,14 @@ exports.startup = function() {
handlerMethod: "handleKeydownEvent"
}]);
}
// Execute any startup actions
$tw.rootWidget.invokeActionsByTag("$:/tags/StartupAction");
if($tw.browser) {
$tw.rootWidget.invokeActionsByTag("$:/tags/StartupAction/Browser");
}
if($tw.node) {
$tw.rootWidget.invokeActionsByTag("$:/tags/StartupAction/Node");
}
// Clear outstanding tiddler store change events to avoid an unnecessary refresh cycle at startup
$tw.wiki.clearTiddlerEventQueue();
// Find a working syncadaptor

View File

@@ -268,9 +268,10 @@ exports.copyStyles = function(srcDomNode,dstDomNode) {
/*
Copy plain text to the clipboard on browsers that support it
*/
exports.copyToClipboard = function(text,options) {
options = options || {};
text = text || "";
exports.copyToClipboard = function(text,options,type) {
var text = text || "";
var options = options || {};
var type = type || "text/plain";
var textArea = document.createElement("textarea");
textArea.style.position = "fixed";
textArea.style.top = 0;
@@ -283,10 +284,16 @@ exports.copyToClipboard = function(text,options) {
textArea.style.outline = "none";
textArea.style.boxShadow = "none";
textArea.style.background = "transparent";
textArea.value = text;
document.body.appendChild(textArea);
textArea.select();
textArea.setSelectionRange(0,text.length);
textArea.addEventListener("copy",function(event) {
event.preventDefault();
if (options.plainText) {
event.clipboardData.setData("text/plain",options.plainText);
}
event.clipboardData.setData(type,text);
});
var succeeded = false;
try {
succeeded = document.execCommand("copy");

View File

@@ -104,6 +104,8 @@ basicAuthUsername: plain username for basic authentication
basicAuthUsernameFromStore: name of password store entry containing username
basicAuthPassword: plain password for basic authentication
basicAuthPasswordFromStore: name of password store entry containing password
bearerAuthToken: plain text token for bearer authentication
bearerAuthTokenFromStore: name of password store entry contain bear authorization token
*/
function HttpClientRequest(options) {
var self = this;
@@ -135,8 +137,11 @@ function HttpClientRequest(options) {
});
this.basicAuthUsername = options.basicAuthUsername || (options.basicAuthUsernameFromStore && $tw.utils.getPassword(options.basicAuthUsernameFromStore)) || "";
this.basicAuthPassword = options.basicAuthPassword || (options.basicAuthPasswordFromStore && $tw.utils.getPassword(options.basicAuthPasswordFromStore)) || "";
this.bearerAuthToken = options.bearerAuthToken || (options.bearerAuthTokenFromStore && $tw.utils.getPassword(options.bearerAuthTokenFromStore)) || "";
if(this.basicAuthUsername && this.basicAuthPassword) {
this.requestHeaders.Authorization = "Basic " + $tw.utils.base64Encode(this.basicAuthUsername + ":" + this.basicAuthPassword);
} else if(this.bearerAuthToken) {
this.requestHeaders.Authorization = "Bearer " + this.bearerAuthToken;
}
}
@@ -211,11 +216,11 @@ HttpClientRequest.prototype.send = function(callback) {
if(lengthComputable) {
setBinding(self.bindProgress,"" + Math.floor((loaded/total) * 100))
}
self.wiki.invokeActionString(self.progressActions,undefined,{
self.wiki.invokeActionString(self.progressActions,undefined,$tw.utils.extend({},self.variables,{
lengthComputable: lengthComputable ? "yes" : "no",
loaded: loaded,
total: total
},{parentWidget: $tw.rootWidget});
}),{parentWidget: $tw.rootWidget});
}
});
}

View File

@@ -56,36 +56,64 @@ Object.defineProperty(TW_TextNode.prototype, "formattedTextContent", {
}
});
var TW_Element = function(tag,namespace) {
var TW_Style = function(el) {
// Define the internal style object
var styleObject = {
// Method to get the entire style object
get: function() {
return el._style;
},
// Method to set styles using a string (e.g. "color:red; background-color:blue;")
set: function(str) {
var self = this;
str = str || "";
$tw.utils.each(str.split(";"),function(declaration) {
var parts = declaration.split(":"),
name = $tw.utils.trim(parts[0]),
value = $tw.utils.trim(parts[1]);
if(name && value) {
el._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;
}
});
},
// Method to set a specific property without transforming the property name, such as a custom property
setProperty: function(name, value) {
el._style[name] = value;
}
};
// Return a Proxy to handle direct access to individual style properties
return new Proxy(styleObject, {
get: function(target, property) {
// If the property exists on styleObject, return it (get, set, setProperty methods)
if (property in target) {
return target[property];
}
// Otherwise, return the corresponding property from _style
return el._style[$tw.utils.convertStyleNameToPropertyName(property)] || "";
},
set: function(target, property, value) {
// Set the property in _style
el._style[$tw.utils.convertStyleNameToPropertyName(property)] = value;
return true;
}
});
};
var TW_Element = function(tag, namespace) {
bumpSequenceNumber(this);
this.isTiddlyWikiFakeDom = true;
this.tag = tag;
this.attributes = {};
this.isRaw = false;
this.children = [];
this._style = {};
this._style = {}; // Internal style object
this.style = new TW_Style(this); // Proxy for style management
this.namespaceURI = namespace || "http://www.w3.org/1999/xhtml";
};
Object.setPrototypeOf(TW_Element.prototype,TW_Node.prototype);
Object.defineProperty(TW_Element.prototype, "style", {
get: function() {
return this._style;
},
set: function(str) {
var self = this;
str = str || "";
$tw.utils.each(str.split(";"),function(declaration) {
var parts = declaration.split(":"),
name = $tw.utils.trim(parts[0]),
value = $tw.utils.trim(parts[1]);
if(name && value) {
self._style[$tw.utils.convertStyleNameToPropertyName(name)] = value;
}
});
}
});
Object.setPrototypeOf(TW_Element.prototype,TW_Node.prototype);
Object.defineProperty(TW_Element.prototype, "nodeType", {
get: function() {
@@ -105,7 +133,7 @@ TW_Element.prototype.setAttribute = function(name,value) {
throw "Cannot setAttribute on a raw TW_Element";
}
if(name === "style") {
this.style = value;
this.style.set(value);
} else {
this.attributes[name] = value + "";
}

View File

@@ -330,16 +330,18 @@ exports.formatTitleString = function(template,options) {
}]
];
while(t.length){
var matchString = "";
var matchString = "",
found = false;
$tw.utils.each(matches, function(m) {
var match = m[0].exec(t);
if(match) {
found = true;
matchString = m[1].call(null,match);
t = t.substr(match[0].length);
return false;
}
});
if(matchString) {
if(found) {
result += matchString;
} else {
result += t.charAt(0);

View File

@@ -42,6 +42,9 @@ BrowseWidget.prototype.render = function(parent,nextSibling) {
if(this.tooltip) {
domNode.setAttribute("title",this.tooltip);
}
if(this.tabIndex) {
domNode.setAttribute("tabindex", this.tabIndex);
}
// Nw.js supports "nwsaveas" to force a "save as" dialogue that allows a new or existing file to be selected
if(this.nwsaveas) {
domNode.setAttribute("nwsaveas",this.nwsaveas);
@@ -56,6 +59,9 @@ BrowseWidget.prototype.render = function(parent,nextSibling) {
if(this.nwdirectory) {
domNode.setAttribute("nwdirectory",this.nwdirectory);
}
if(this.isDisabled === "yes") {
domNode.setAttribute("disabled", true);
}
// Add a click event handler
domNode.addEventListener("change",function (event) {
if(self.message) {
@@ -94,6 +100,8 @@ BrowseWidget.prototype.execute = function() {
this.accept = this.getAttribute("accept");
this.webkitdirectory = this.getAttribute("webkitdirectory");
this.nwdirectory = this.getAttribute("nwdirectory");
this.tabIndex = this.getAttribute("tabindex");
this.isDisabled = this.getAttribute("disabled", "no");
};
/*

View File

@@ -47,6 +47,9 @@ CheckboxWidget.prototype.render = function(parent,nextSibling) {
if(isChecked === undefined && this.checkboxIndeterminate === "yes") {
this.inputDomNode.indeterminate = true;
}
if(this.tabIndex) {
this.inputDomNode.setAttribute("tabindex", this.tabIndex);
}
if(this.isDisabled === "yes") {
this.inputDomNode.setAttribute("disabled",true);
}
@@ -305,6 +308,7 @@ CheckboxWidget.prototype.execute = function() {
this.checkboxClass = this.getAttribute("class","");
this.checkboxInvertTag = this.getAttribute("invertTag","");
this.isDisabled = this.getAttribute("disabled","no");
this.tabIndex = this.getAttribute();
// Make the child widgets
this.makeChildWidgets();
};
@@ -314,7 +318,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
*/
CheckboxWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
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) {
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 || changedAttributes.tabindex) {
this.refreshSelf();
return true;
} else {

View File

@@ -125,11 +125,23 @@ DroppableWidget.prototype.handleDropEvent = function(event) {
// Remove highlighting
$tw.utils.removeClass(this.domNodes[0],"tc-dragover");
// Try to import the various data types we understand
$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {
fieldsArray.forEach(function(fields) {
self.performActions(fields.title || fields.text,event);
if(this.droppableActions) {
$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {
fieldsArray.forEach(function(fields) {
self.performActions(fields.title || fields.text,event);
});
});
});
}
// Send a TitleList to performListActions
if(this.droppableListActions) {
$tw.utils.importDataTransfer(dataTransfer,null,function(fieldsArray) {
var titleList = [];
fieldsArray.forEach(function(fields) {
titleList.push(fields.title || fields.text);
});
self.performListActions($tw.utils.stringifyList(titleList),event);
});
}
// Tell the browser that we handled the drop
event.preventDefault();
// Stop the drop ripple up to any parent handlers
@@ -137,6 +149,13 @@ DroppableWidget.prototype.handleDropEvent = function(event) {
return false;
};
DroppableWidget.prototype.performListActions = function(titleList,event) {
if(this.droppableListActions) {
var modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);
this.invokeActionString(this.droppableListActions,this,event,{actionTiddlerList: titleList, modifier: modifierKey});
}
};
DroppableWidget.prototype.performActions = function(title,event) {
if(this.droppableActions) {
var modifierKey = $tw.keyboardManager.getEventModifierKeyDescriptor(event);
@@ -149,6 +168,7 @@ Compute the internal state of the widget
*/
DroppableWidget.prototype.execute = function() {
this.droppableActions = this.getAttribute("actions");
this.droppableListActions = this.getAttribute("listActions");
this.droppableEffect = this.getAttribute("effect","copy");
this.droppableTag = this.getAttribute("tag");
this.droppableEnable = (this.getAttribute("enable") || "yes") === "yes";
@@ -168,7 +188,8 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
*/
DroppableWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass || changedAttributes.actions || changedAttributes.effect) {
if(changedAttributes.tag || changedAttributes.enable || changedAttributes.disabledClass ||
changedAttributes.actions|| changedAttributes.listActions || changedAttributes.effect) {
this.refreshSelf();
return true;
} else {

View File

@@ -48,6 +48,9 @@ EditShortcutWidget.prototype.render = function(parent,nextSibling) {
if(this.shortcutAriaLabel) {
this.inputNode.setAttribute("aria-label",this.shortcutAriaLabel);
}
if(this.isDisabled === "yes") {
this.inputNode.setAttribute("disabled", true);
}
// Assign the current shortcut
this.updateInputNode();
// Add event handlers
@@ -77,6 +80,7 @@ EditShortcutWidget.prototype.execute = function() {
this.shortcutTooltip = this.getAttribute("tooltip");
this.shortcutAriaLabel = this.getAttribute("aria-label");
this.shortcutFocus = this.getAttribute("focus");
this.isDisabled = this.getAttribute("disabled", "no");
};
/*
@@ -138,7 +142,7 @@ Selectively refreshes the widget if needed. Returns true if the widget needed re
*/
EditShortcutWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes["default"] || changedAttributes["class"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes["aria-label"] || changedAttributes.focus) {
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.placeholder || changedAttributes["default"] || changedAttributes["class"] || changedAttributes.style || changedAttributes.tooltip || changedAttributes["aria-label"] || changedAttributes.focus || changedAttributes.disabled) {
this.refreshSelf();
return true;
} else if(changedTiddlers[this.shortcutTiddler]) {

View File

@@ -43,15 +43,6 @@ EditWidget.prototype.execute = function() {
// Get our parameters
this.editTitle = this.getAttribute("tiddler",this.getVariable("currentTiddler"));
this.editField = this.getAttribute("field","text");
this.editIndex = this.getAttribute("index");
this.editClass = this.getAttribute("class");
this.editPlaceholder = this.getAttribute("placeholder");
this.editTabIndex = this.getAttribute("tabindex");
this.editFocus = this.getAttribute("focus","");
this.editCancelPopups = this.getAttribute("cancelPopups","");
this.editInputActions = this.getAttribute("inputActions");
this.editRefreshTitle = this.getAttribute("refreshTitle");
this.editAutoComplete = this.getAttribute("autocomplete");
// Choose the appropriate edit widget
this.editorType = this.getEditorType();
// Make the child widgets
@@ -89,8 +80,8 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
*/
EditWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
// Refresh if an attribute has changed, or the type associated with the target tiddler has changed
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tabindex || changedAttributes.cancelPopups || changedAttributes.inputActions || changedAttributes.refreshTitle || changedAttributes.autocomplete || (this.getEditorType() !== this.editorType)) {
// Refresh if the editor type has changed
if(changedAttributes.tiddler || changedAttributes.field || (this.getEditorType() !== this.editorType)) {
this.refreshSelf();
return true;
} else {

View File

@@ -23,15 +23,21 @@ Inherit from the base widget class
*/
GenesisWidget.prototype = new Widget();
GenesisWidget.prototype.computeAttributes = function(options) {
options = options || Object.create(null);
options.filterFn = function(name) {
// Only compute our own attributes which start with a single dollar
return name.charAt(0) === "$" && name.charAt(1) !== "$";
}
return Widget.prototype.computeAttributes.call(this,options);
};
/*
Render this widget into the DOM
*/
GenesisWidget.prototype.render = function(parent,nextSibling) {
this.parentDomNode = parent;
this.computeAttributes({filterFn: function(name) {
// Only compute our own attributes which start with a single dollar
return name.charAt(0) === "$" && name.charAt(1) !== "$";
}});
this.computeAttributes();
this.execute();
this.renderChildren(parent,nextSibling);
};
@@ -65,6 +71,16 @@ GenesisWidget.prototype.execute = function() {
children: this.parseTreeNode.children || [],
isNotRemappable: !this.genesisRemappable
}];
// Apply attributes in $names/$values
this.attributeNames = [];
this.attributeValues = [];
if(this.genesisNames && this.genesisValues) {
this.attributeNames = this.wiki.filterTiddlers(self.genesisNames,this);
this.attributeValues = this.wiki.filterTiddlers(self.genesisValues,this);
$tw.utils.each(this.attributeNames,function(varname,index) {
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],varname,self.attributeValues[index] || "");
});
}
// Apply explicit attributes
$tw.utils.each($tw.utils.getOrderedAttributesFromParseTreeNode(this.parseTreeNode),function(attribute) {
var name = attribute.name;
@@ -79,16 +95,6 @@ GenesisWidget.prototype.execute = function() {
}
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],$tw.utils.extend({},attribute,{name: name}));
});
// Apply attributes in $names/$values
this.attributeNames = [];
this.attributeValues = [];
if(this.genesisNames && this.genesisValues) {
this.attributeNames = this.wiki.filterTiddlers(self.genesisNames,this);
this.attributeValues = this.wiki.filterTiddlers(self.genesisValues,this);
$tw.utils.each(this.attributeNames,function(varname,index) {
$tw.utils.addAttributeToParseTreeNode(parseTreeNodes[0],varname,self.attributeValues[index] || "");
});
}
// Construct the child widgets
this.makeChildWidgets(parseTreeNodes);
};

View File

@@ -96,13 +96,15 @@ KeyboardWidget.prototype.execute = function() {
this.param = this.getAttribute("param","");
this.key = this.getAttribute("key","");
this.tag = this.getAttribute("tag","");
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
this.shortcutTiddlers = [];
var name = this.key.substring(2,this.key.length -2);
$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
});
if($tw.keyboardManager) {
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
this.shortcutTiddlers = [];
var name = this.key.substring(2,this.key.length -2);
$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
});
}
}
// Make child widgets
this.makeChildWidgets();
@@ -126,7 +128,7 @@ KeyboardWidget.prototype.refresh = function(changedTiddlers) {
this.assignDomNodeClasses();
}
// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) && $tw.keyboardManager) {
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
}
return this.refreshChildren(changedTiddlers);

View File

@@ -184,7 +184,7 @@ NavigatorWidget.prototype.handleCloseOtherTiddlersEvent = function(event) {
// Place a tiddler in edit mode
NavigatorWidget.prototype.handleEditTiddlerEvent = function(event) {
var editTiddler = $tw.hooks.invokeHook("th-editing-tiddler",event),
win = event.event && event.event.view ? event.event.view : window;
win = event.event && event.event.view ? event.event.view : window;
if(!editTiddler) {
return false;
}
@@ -277,6 +277,8 @@ NavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {
}
// Get the current value of the tiddler we're editing
var tiddler = this.wiki.getTiddler(targetTitle);
var defaultType = this.wiki.getTiddlerText("$:/config/DefaultMissingType", "").trim();
var defaultFields = { type: defaultType };
// Save the initial value of the draft tiddler
draftTitle = this.generateDraftTitle(targetTitle);
var draftTiddler = new $tw.Tiddler({
@@ -288,7 +290,8 @@ NavigatorWidget.prototype.makeDraftTiddler = function(targetTitle) {
"draft.title": targetTitle,
"draft.of": targetTitle
},
this.wiki.getModificationFields()
this.wiki.getModificationFields(),
tiddler === null || tiddler === undefined ? defaultFields : {}
);
this.wiki.addTiddler(draftTiddler);
return draftTiddler;
@@ -306,7 +309,7 @@ NavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {
var title = event.param || event.tiddlerTitle,
tiddler = this.wiki.getTiddler(title),
storyList = this.getStoryList(),
win = event.event && event.event.view ? event.event.view : window;
win = event.event && event.event.view ? event.event.view : window;
// Replace the original tiddler with the draft
if(tiddler) {
var draftTitle = (tiddler.fields["draft.title"] || "").trim(),
@@ -412,7 +415,8 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
event = $tw.hooks.invokeHook("th-new-tiddler", event);
// Get the story details
var storyList = this.getStoryList(),
templateTiddler, additionalFields, title, draftTitle, existingTiddler;
templateTiddler, additionalFields, title, draftTitle, existingTiddler,
templateHasTags = false;
// Get the template tiddler (if any)
if(typeof event.param === "string") {
// Get the template tiddler
@@ -457,8 +461,10 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
// Merge tags
mergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));
}
var additionalFieldsHasTags = !!(additionalFields && (additionalFields.tags === ""));
if(templateTiddler && templateTiddler.fields.tags) {
// Merge tags
templateHasTags = true;
mergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);
}
// Save the draft tiddler
@@ -474,7 +480,8 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
{
title: draftTitle,
"draft.of": title,
tags: mergedTags
// If template or additionalFields have "tags" even if empty a tags field will be created.
tags: ((mergedTags.length > 0) || templateHasTags || additionalFieldsHasTags) ? mergedTags : undefined
},this.wiki.getModificationFields());
this.wiki.addTiddler(draftTiddler);
// Update the story to insert the new draft at the top and remove any existing tiddler
@@ -526,7 +533,7 @@ NavigatorWidget.prototype.handleImportTiddlersEvent = function(event) {
var systemMessage = $tw.language.getString("Import/Upgrader/Tiddler/Unselected");
$tw.utils.each(messages,function(message,title) {
newFields["message-" + title] = message;
if (message.indexOf(systemMessage) !== -1) {
if(message.indexOf(systemMessage) !== -1) {
newFields["selection-" + title] = "unchecked";
}
});

View File

@@ -47,6 +47,9 @@ RadioWidget.prototype.render = function(parent,nextSibling) {
if(isChecked) {
this.inputDomNode.checked = true;
}
if(this.tabIndex) {
this.inputDomNode.setAttribute("tabindex", this.tabIndex);
}
if(this.isDisabled === "yes") {
this.inputDomNode.setAttribute("disabled",true);
}
@@ -111,6 +114,7 @@ RadioWidget.prototype.execute = function() {
this.radioClass = this.getAttribute("class","");
this.radioDefault = this.getAttribute("default");
this.isDisabled = this.getAttribute("disabled","no");
this.tabIndex = this.getAttribute("tabindex");
this.radioActions = this.getAttribute("actions","");
// Make the child widgets
this.makeChildWidgets();

View File

@@ -46,6 +46,9 @@ RangeWidget.prototype.render = function(parent,nextSibling) {
if(this.increment){
this.inputDomNode.setAttribute("step", this.increment);
}
if(this.tabIndex) {
this.inputDomNode.setAttribute("tabindex", this.tabIndex);
}
if(this.isDisabled === "yes") {
this.inputDomNode.setAttribute("disabled",true);
}
@@ -164,6 +167,7 @@ RangeWidget.prototype.execute = function() {
this.defaultValue = this.getAttribute("default","");
this.elementClass = this.getAttribute("class","");
this.isDisabled = this.getAttribute("disabled","no");
this.tabIndex = this.getAttribute("tabindex");
// Actions since 5.1.23
// Next 2 only fire once!
this.actionsMouseDown = this.getAttribute("actionsStart","");

View File

@@ -53,6 +53,9 @@ SelectWidget.prototype.render = function(parent,nextSibling) {
if(this.selectMultiple) {
domNode.setAttribute("multiple","multiple");
}
if(this.isDisabled === "yes") {
domNode.setAttribute("disabled", true);
}
if(this.selectSize) {
domNode.setAttribute("size",this.selectSize);
}
@@ -172,6 +175,7 @@ SelectWidget.prototype.execute = function() {
this.selectTabindex = this.getAttribute("tabindex");
this.selectTooltip = this.getAttribute("tooltip");
this.selectFocus = this.getAttribute("focus");
this.isDisabled = this.getAttribute("disabled","no");
// Make the child widgets
this.makeChildWidgets();
};
@@ -182,7 +186,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
SelectWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
// If we're using a different tiddler/field/index then completely refresh ourselves
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tooltip || changedAttributes.tabindex) {
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes.tooltip || changedAttributes.tabindex || changedAttributes.disabled) {
this.refreshSelf();
return true;
} else {

View File

@@ -33,6 +33,7 @@ TestCaseWidget.prototype.render = function(parent,nextSibling) {
this.execute();
// Create container DOM node
var domNode = this.document.createElement("div");
domNode.setAttribute("class", "tc-test-case " + this.testcaseClass);
this.domNodes.push(domNode);
parent.insertBefore(domNode,nextSibling);
// Render the children into a hidden DOM node
@@ -145,6 +146,7 @@ TestCaseWidget.prototype.execute = function() {
this.testcaseTestActions = this.getAttribute("testActions");
this.testcaseTestExpectedResult = this.getAttribute("testExpectedResult");
this.testcaseHideIfPass = this.getAttribute("testHideIfPass");
this.testcaseClass = this.getAttribute("class","");
};
/*

View File

@@ -101,6 +101,7 @@ TranscludeWidget.prototype.execute = function() {
}
this.sourceText = target.text;
this.parserType = target.type;
this._canonical_uri = target._canonical_uri;
// Set the legacy transclusion context variables only if we're not transcluding a variable
if(!this.transcludeVariable) {
var recursionMarker = this.makeRecursionMarker();
@@ -228,7 +229,8 @@ TranscludeWidget.prototype.getTransclusionTarget = function() {
});
return {
text: parserInfo.text,
type: parserInfo.type
type: parserInfo.type,
_canonical_uri: parserInfo._canonical_uri
};
}
};
@@ -455,8 +457,11 @@ TranscludeWidget.prototype.makeRecursionMarker = function() {
TranscludeWidget.prototype.parserNeedsRefresh = function() {
// Doesn't need to consider transcluded variables because a parent variable can't change once a widget has been created
var parserInfo = this.wiki.getTextReferenceParserInfo(this.transcludeTitle,this.transcludeField,this.transcludeIndex,{subTiddler:this.transcludeSubTiddler});
return (this.sourceText === undefined || parserInfo.sourceText !== this.sourceText || parserInfo.parserType !== this.parserType)
var parserInfo = this.wiki.getTextReferenceParserInfo(this.transcludeTitle,this.transcludeField,this.transcludeIndex,{
subTiddler: this.transcludeSubTiddler,
defaultType: this.transcludeType
});
return (this.sourceText === undefined || parserInfo.sourceText !== this.sourceText || parserInfo.parserType !== this.parserType || parserInfo._canonical_uri !== this._canonical_uri);
};
TranscludeWidget.prototype.functionNeedsRefresh = function() {

View File

@@ -335,7 +335,7 @@ Widget.prototype.makeFakeWidgetWithVariables = function(variables) {
};
} else {
opts = opts || {};
opts.variables = $tw.utils.extend(variables,opts.variables);
opts.variables = $tw.utils.extend({},variables,opts.variables);
return self.getVariableInfo(name,opts);
};
},
@@ -428,6 +428,11 @@ Widget.prototype.assignAttributes = function(domNode,options) {
destPrefix = options.destPrefix || "",
EVENT_ATTRIBUTE_PREFIX = "on";
var assignAttribute = function(name,value) {
// Process any CSS custom properties
if(name.substr(0,2) === "--" && name.length > 2) {
domNode.style.setProperty(name,value);
return;
}
// Process any style attributes before considering sourcePrefix and destPrefix
if(name.substr(0,6) === "style." && name.length > 6) {
domNode.style[$tw.utils.unHyphenateCss(name.substr(6))] = value;

View File

@@ -141,12 +141,15 @@ This method should be called after the changes it describes have been made to th
title: Title of tiddler
isDeleted: defaults to false (meaning the tiddler has been created or modified),
true if the tiddler has been deleted
isShadow: defaults to false (meaning the change applies to the normal tiddler),
true if the tiddler being changed is a shadow tiddler
*/
exports.enqueueTiddlerEvent = function(title,isDeleted) {
exports.enqueueTiddlerEvent = function(title,isDeleted,isShadow) {
// Record the touch in the list of changed tiddlers
this.changedTiddlers = this.changedTiddlers || Object.create(null);
this.changedTiddlers[title] = this.changedTiddlers[title] || Object.create(null);
this.changedTiddlers[title][isDeleted ? "deleted" : "modified"] = true;
this.changedTiddlers[title][isShadow ? "shadow" : "normal"] = true;
// Increment the change count
this.changeCount = this.changeCount || Object.create(null);
if($tw.utils.hop(this.changeCount,title)) {
@@ -194,18 +197,24 @@ options.prefix must be a string
*/
exports.generateNewTitle = function(baseTitle,options) {
options = options || {};
var c = 0,
title = baseTitle,
template = options.template,
var title = baseTitle,
template = options.template || "",
// test if .startCount is a positive integer. If not set to 0
c = (parseInt(options.startCount,10) > 0) ? parseInt(options.startCount,10) : 0,
prefix = (typeof(options.prefix) === "string") ? options.prefix : " ";
if (template) {
// "count" is important to avoid an endless loop in while(...)!!
template = (/\$count:?(\d+)?\$/i.test(template)) ? template : template + "$count$";
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":c});
// .formatTitleString() expects strings as input
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":c+""});
while(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":(++c)});
title = $tw.utils.formatTitleString(template,{"base":baseTitle,"separator":prefix,"counter":(++c)+""});
}
} else {
if (c > 0) {
title = baseTitle + prefix + c;
}
while(this.tiddlerExists(title) || this.isShadowTiddler(title) || this.findDraft(title)) {
title = baseTitle + prefix + (++c);
}
@@ -1126,6 +1135,7 @@ exports.getTextReferenceParserInfo = function(title,field,index,options) {
if(tiddler.fields.type) {
parserInfo.parserType = tiddler.fields.type;
}
parserInfo._canonical_uri = tiddler.fields._canonical_uri;
}
} else if(field) {
if(field === "title") {

View File

@@ -0,0 +1,212 @@
color-scheme: dark
description: An inky color scheme for prose and code
name: FlexokiDark
tags: $:/tags/Palette
title: $:/palettes/FlexokiDark
type: application/x-tiddler-dictionary
flexoki-paper: #FFFCF0
flexoki-999: #100F0F
flexoki-950: #1C1B1A
flexoki-900: #282726
flexoki-850: #343331
flexoki-800: #403E3C
flexoki-700: #575653
flexoki-600: #6c6b66
flexoki-500: #878580
flexoki-300: #B7B5AC
flexoki-200: #CECDC3
flexoki-150: #DAD8CE
flexoki-100: #E6E4D9
flexoki-050: #F2F0E5
flexoki-red-600: #AF3029
flexoki-red-400: #D14D41
flexoki-orange-600: #BC5215
flexoki-orange-400: #DA702C
flexoki-yellow-900: #4D3A0B
flexoki-yellow-600: #AD8301
flexoki-yellow-400: #D0A215
flexoki-yellow-100: #FCEEB8
flexoki-green-600: #66800B
flexoki-green-400: #879A39
flexoki-cyan-950: #142625
flexoki-cyan-600: #227d77
flexoki-cyan-400: #3AA99F
flexoki-cyan-050: #EBF2E7
flexoki-blue-600: #205EA6
flexoki-blue-400: #4385BE
flexoki-purple-600: #5E409D
flexoki-purple-400: #8B7EC8
flexoki-magenta-600: #A02F6F
flexoki-magenta-400: #CE5D97
flexoki-bg: <<colour flexoki-999>>
flexoki-tx-2: <<colour flexoki-500>>
flexoki-tx-3: <<colour flexoki-700>>
flexoki-ui-3: <<colour flexoki-800>>
flexoki-ui-2: <<colour flexoki-850>>
flexoki-ui: <<colour flexoki-900>>
flexoki-bg-2: <<colour flexoki-950>>
flexoki-tx: <<colour flexoki-300>>
flexoki-re: <<colour flexoki-red-400>>
flexoki-or: <<colour flexoki-orange-400>>
flexoki-ye: <<colour flexoki-yellow-400>>
flexoki-gr: <<colour flexoki-green-400>>
flexoki-cy: <<colour flexoki-cyan-400>>
flexoki-bl: <<colour flexoki-blue-400>>
flexoki-pu: <<colour flexoki-purple-400>>
flexoki-ma: <<colour flexoki-magenta-400>>
flexoki-re-2: <<colour flexoki-red-600>>
flexoki-or-2: <<colour flexoki-orange-600>>
flexoki-ye-2: <<colour flexoki-yellow-600>>
flexoki-gr-2: <<colour flexoki-green-600>>
flexoki-cy-2: <<colour flexoki-cyan-600>>
flexoki-bl-2: <<colour flexoki-blue-600>>
flexoki-pu-2: <<colour flexoki-purple-600>>
flexoki-ma-2: <<colour flexoki-magenta-600>>
alert-background: <<colour flexoki-yellow-900>>
alert-border: <<colour flexoki-ye>>
alert-highlight: <<colour flexoki-re>>
alert-muted-foreground: <<colour flexoki-ye>>
background: #100F0F
blockquote-bar: <<colour flexoki-ma-2>>
button-background: <<colour flexoki-bg-2>>
button-foreground: <<colour flexoki-paper>>
button-border: <<colour flexoki-600>>
code-background: <<colour background>>
code-border: <<colour flexoki-tx>>
code-foreground: <<colour flexoki-tx>>
diff-delete-background: <<colour flexoki-re>>
diff-delete-foreground: <<colour flexoki-bg-2>>
diff-equal-background:
diff-equal-foreground: inherit
diff-insert-background: <<colour flexoki-gr>>
diff-insert-foreground: <<colour flexoki-bg-2>>
diff-invisible-background: <<colour flexoki-ye>>
diff-invisible-foreground: <<colour flexoki-bg-2>>
dirty-indicator: <<colour flexoki-re>>
download-background: <<colour flexoki-cy-2>>
download-foreground: <<colour background>>
dragger-background: <<colour background>>
dragger-foreground: <<colour foreground>>
dropdown-background: <<colour background>>
dropdown-border: <<colour flexoki-ui-3>>
dropdown-tab-background-selected: <<colour flexoki-ui>>
dropdown-tab-background: <<colour flexoki-ui-3>>
dropzone-background: <<colour flexoki-gr>>
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: <<colour flexoki-bl>>
external-link-foreground: <<colour flexoki-bl>>
footnote-target-background: <<colour flexoki-bg-2>>
foreground: #CECDC3
highlight-background: <<colour flexoki-yellow-900>>
highlight-foreground: inherit
menubar-background: <<colour primary>>
menubar-foreground: <<colour flexoki-paper>>
message-background: <<colour background>>
message-border: <<colour foreground>>
message-foreground: <<colour foreground>>
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: <<colour flexoki-ui-3>>
modal-footer-background: <<colour flexoki-ui-2>>
modal-footer-border: <<colour flexoki-ui-3>>
modal-header-border: <<colour flexoki-ui-3>>
muted-foreground: <<colour flexoki-tx-2>>
network-activity-foreground: <<colour flexoki-cy>>
notification-background: <<colour flexoki-bg>>
notification-border: <<colour flexoki-paper>>
page-background: <<colour flexoki-bg-2>>
pre-background: <<colour flexoki-bg-2>>
pre-border: <<colour flexoki-ui-2>>
primary: <<colour flexoki-cy>>
selection-background: <<colour primary>>
selection-foreground: <<colour background>>
select-tag-background: <<colour flexoki-bg>>
select-tag-foreground: <<colour flexoki-paper>>
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: <<colour flexoki-tx>>
sidebar-controls-foreground: <<colour flexoki-tx-3>>
sidebar-foreground-shadow: transparent
sidebar-foreground: <<colour flexoki-tx>>
sidebar-muted-foreground-hover: <<colour flexoki-tx>>
sidebar-muted-foreground: <<colour flexoki-tx-3>>
sidebar-tab-background-selected: <<colour flexoki-bg-2>>
sidebar-tab-background: <<colour flexoki-ui-2>>
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: <<colour tab-border>>
sidebar-tab-divider: <<colour tab-divider>>
sidebar-tab-foreground-selected:
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: <<colour flexoki-tx>>
sidebar-tiddler-link-foreground: <<colour flexoki-tx-2>>
site-title-foreground: <<colour tiddler-title-foreground>>
stability-stable: <<colour flexoki-gr>>
stability-experimental: <<colour flexoki-ye>>
stability-deprecated: <<colour flexoki-re>>
stability-legacy: <<colour flexoki-bl>>
static-alert-foreground: #aaaaaa
tab-background-selected: <<colour background>>
tab-background: <<colour flexoki-bg-2>>
tab-border-selected: <<colour flexoki-ui-3>>
tab-border: <<colour flexoki-ui>>
tab-divider: <<colour flexoki-ui-2>>
tab-foreground-selected: <<colour tab-foreground>>
tab-foreground: <<colour flexoki-tx-2>>
table-border: <<colour flexoki-ui-2>>
table-footer-background: <<colour flexoki-ui>>
table-header-background: <<colour flexoki-ui>>
tag-background: #D0A215
tag-foreground: #100F0F
testcase-accent-level-1: <<colour flexoki-bl-2>>
testcase-accent-level-2: <<colour flexoki-ye-2>>
testcase-accent-level-3: <<colour flexoki-gr-2>>
tiddler-background: <<colour background>>
tiddler-border: <<colour flexoki-ui-2>>
tiddler-controls-foreground-hover: <<colour flexoki-tx-3>>
tiddler-controls-foreground-selected: <<colour flexoki-tx-2>>
tiddler-controls-foreground: <<colour flexoki-tx-3>>
tiddler-editor-background: <<colour flexoki-bg-2>>
tiddler-editor-border-image: #ffffff
tiddler-editor-border: <<colour flexoki-ui-2>>
tiddler-editor-fields-even: <<colour flexoki-ui-3>>
tiddler-editor-fields-odd: <<colour flexoki-ui-2>>
tiddler-info-background: <<colour flexoki-ui>>
tiddler-info-border: <<colour flexoki-ui>>
tiddler-info-tab-background: <<colour flexoki-ui>>
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour primary>>
tiddler-subtitle-foreground: <<colour flexoki-tx-3>>
tiddler-title-foreground: <<colour flexoki-ma>>
toolbar-new-button:
toolbar-options-button:
toolbar-save-button:
toolbar-info-button:
toolbar-edit-button:
toolbar-close-button:
toolbar-delete-button: <<colour flexoki-re>>
toolbar-cancel-button:
toolbar-done-button:
untagged-background: <<colour flexoki-tx-3>>
very-muted-foreground: <<colour flexoki-600>>
wikilist-background: <<colour flexoki-ui>>
wikilist-item: <<colour flexoki-black>>
wikilist-info: <<colour flexoki-paper>>
wikilist-title: <<colour flexoki-tx-2>>
wikilist-title-svg: <<colour wikilist-title>>
wikilist-url: <<colour flexoki-tx-3>>
wikilist-button-open: <<colour flexoki-gr>>
wikilist-button-open-hover: <<colour flexoki-gr-2>>
wikilist-button-reveal: <<colour flexoki-cy>>
wikilist-button-reveal-hover: <<colour flexoki-cy-2>>
wikilist-button-remove: <<colour flexoki-re>>
wikilist-button-remove-hover: <<colour flexoki-re-2>>
wikilist-toolbar-background: <<colour flexoki-ui-2>>
wikilist-toolbar-foreground: <<colour flexoki-600>>
wikilist-droplink-dragover: <<colour flexoki-pu>>
wikilist-button-background: <<colour flexoki-tx-3>>
wikilist-button-foreground: <<colour flexoki-paper>>

View File

@@ -0,0 +1,214 @@
title: $:/palettes/FlexokiLight
name: FlexokiLight
description: An inky color scheme for prose and code
tags: $:/tags/Palette
type: application/x-tiddler-dictionary
color-scheme: light
flexoki-black: #100F0F
flexoki-paper: #FFFCF0
flexoki-950: #1C1B1A
flexoki-900: #282726
flexoki-850: #343331
flexoki-800: #403E3C
flexoki-700: #575653
flexoki-600: #6F6E69
flexoki-500: #878580
flexoki-300: #B7B5AC
flexoki-200: #CECDC3
flexoki-150: #DAD8CE
flexoki-100: #E6E4D9
flexoki-050: #F2F0E5
flexoki-red-600: #AF3029
flexoki-red-400: #D14D41
flexoki-orange-600: #BC5215
flexoki-orange-400: #DA702C
flexoki-yellow-900: #4D3A0B
flexoki-yellow-600: #AD8301
flexoki-yellow-400: #D0A215
flexoki-yellow-100: #FCEEB8
flexoki-green-600: #66800B
flexoki-green-400: #879A39
flexoki-cyan-950: #142625
flexoki-cyan-600: #24837B
flexoki-cyan-400: #3AA99F
flexoki-cyan-050: #EBF2E7
flexoki-blue-600: #205EA6
flexoki-blue-400: #4385BE
flexoki-purple-600: #5E409D
flexoki-purple-400: #8B7EC8
flexoki-magenta-600: #A02F6F
flexoki-magenta-400: #CE5D97
flexoki-tx: <<colour flexoki-black>>
flexoki-tx-2: <<colour flexoki-600>>
flexoki-tx-3: <<colour flexoki-300>>
flexoki-ui-3: <<colour flexoki-200>>
flexoki-ui-2: <<colour flexoki-150>>
flexoki-ui: <<colour flexoki-100>>
flexoki-bg-2: <<colour flexoki-050>>
flexoki-bg: <<colour flexoki-paper>>
flexoki-re: <<colour flexoki-red-400>>
flexoki-or: <<colour flexoki-orange-400>>
flexoki-ye: <<colour flexoki-yellow-400>>
flexoki-gr: <<colour flexoki-green-400>>
flexoki-cy: <<colour flexoki-cyan-400>>
flexoki-bl: <<colour flexoki-blue-400>>
flexoki-pu: <<colour flexoki-purple-400>>
flexoki-ma: <<colour flexoki-magenta-400>>
flexoki-re-2: <<colour flexoki-red-600>>
flexoki-or-2: <<colour flexoki-orange-600>>
flexoki-ye-2: <<colour flexoki-yellow-600>>
flexoki-gr-2: <<colour flexoki-green-600>>
flexoki-cy-2: <<colour flexoki-cyan-600>>
flexoki-bl-2: <<colour flexoki-blue-600>>
flexoki-pu-2: <<colour flexoki-purple-600>>
flexoki-ma-2: <<colour flexoki-magenta-600>>
alert-background: <<colour flexoki-yellow-100>>
alert-border: <<colour flexoki-ye-2>>
alert-highlight: <<colour flexoki-re-2>>
alert-muted-foreground: <<colour flexoki-tx-2>>
background: #FFFCF0
blockquote-bar: <<colour flexoki-magenta-600>>
button-background: <<colour flexoki-bg-2>>
button-foreground: <<colour flexoki-black>>
button-border: <<colour flexoki-500>>
code-background: <<colour flexoki-bg>>
code-border: <<colour flexoki-tx>>
code-foreground: <<colour flexoki-tx>>
diff-delete-background: <<colour flexoki-re-2>>
diff-delete-foreground: <<colour flexoki-paper>>
diff-equal-background:
diff-equal-foreground: <<colour foreground>>
diff-insert-background: <<colour flexoki-gr-2>>
diff-insert-foreground: <<colour flexoki-paper>>
diff-invisible-background: <<colour flexoki-ye-2>>
diff-invisible-foreground: <<colour flexoki-paper>>
dirty-indicator: <<colour flexoki-red-600>>
download-background: <<colour flexoki-gr>>
download-foreground: <<colour background>>
dragger-background: <<colour foreground>>
dragger-foreground: <<colour background>>
dropdown-background: <<colour background>>
dropdown-border: <<colour muted-foreground>>
dropdown-tab-background-selected: <<colour background>>
dropdown-tab-background: <<colour flexoki-bg-2>>
dropzone-background: <<colour flexoki-gr>>
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: <<colour flexoki-bl>>
external-link-foreground: <<colour flexoki-bl>>
footnote-target-background: <<colour flexoki-bg-2>>
foreground: #100F0F
highlight-background: <<colour flexoki-yellow-100>>
highlight-foreground: inherit
menubar-background: <<colour primary>>
menubar-foreground: <<colour flexoki-paper>>
message-background: <<colour flexoki-bg>>
message-border: <<colour flexoki-black>>
message-foreground: <<colour flexoki-black>>
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: <<colour flexoki-tx-3>>
modal-footer-background: <<colour flexoki-bg>>
modal-footer-border: <<colour flexoki-tx-3>>
modal-header-border: <<colour flexoki-tx-3>>
muted-foreground: <<colour flexoki-500>>
network-activity-foreground: <<colour flexoki-cy-2>>
notification-background: <<colour flexoki-bg>>
notification-border: <<color flexoki-black>>
page-background: <<colour flexoki-bg-2>>
pre-background: <<colour flexoki-bg-2>>
pre-border: <<colour flexoki-ui-2>>
primary: <<colour flexoki-cy-2>>
selection-background: <<colour flexoki-cy-2>>
selection-foreground: <<colour background>>
select-tag-background: <<colour flexoki-bg>>
select-tag-foreground: <<color flexoki-black>>
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: <<colour flexoki-tx>>
sidebar-controls-foreground: <<colour flexoki-tx-3>>
sidebar-foreground-shadow: transparent
sidebar-foreground: <<colour flexoki-300>>
sidebar-muted-foreground-hover: <<colour flexoki-700>>
sidebar-muted-foreground: <<colour flexoki-200>>
sidebar-tab-background-selected: <<colour flexoki-bg-2>>
sidebar-tab-background: <<colour flexoki-ui>>
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: <<colour tab-border>>
sidebar-tab-divider: <<colour flexoki-100>>
sidebar-tab-foreground-selected:
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: <<colour flexoki-500>>
sidebar-tiddler-link-foreground: <<colour flexoki-700>>
site-title-foreground: <<colour tiddler-title-foreground>>
stability-stable: <<colour flexoki-green-600>>
stability-experimental: <<colour flexoki-yellow-600>>
stability-deprecated: <<colour flexoki-red-600>>
stability-legacy: <<colour flexoki-blue-600>>
static-alert-foreground: <<colour flexoki-tx-3>>
tab-background-selected: <<colour background>>
tab-background: <<colour flexoki-bg-2>>
tab-border-selected: <<colour flexoki-ui-3>>
tab-border: <<colour flexoki-ui>>
tab-divider: <<colour flexoki-ui-2>>
tab-foreground-selected: <<colour tab-foreground>>
tab-foreground: <<colour flexoki-tx>>
table-border: <<colour flexoki-ui-2>>
table-footer-background: <<colour flexoki-tx-3>>
table-header-background: <<colour flexoki-bg-2>>
tag-background: #AD8301
tag-foreground: #FFFCF0
testcase-accent-level-1: <<colour flexoki-blue-400>>
testcase-accent-level-2: <<colour flexoki-yellow-400>>
testcase-accent-level-3: <<colour flexoki-green-400>>
tiddler-background: <<colour background>>
tiddler-border: <<colour background>>
tiddler-controls-foreground-hover: <<colour flexoki-tx-3>>
tiddler-controls-foreground-selected: <<colour flexoki-tx-2>>
tiddler-controls-foreground: <<colour flexoki-ui-3>>
tiddler-editor-background: <<colour flexoki-bg-2>>
tiddler-editor-border-image: #ffffff
tiddler-editor-border: <<colour flexoki-ui-2>>
tiddler-editor-fields-even: <<colour flexoki-ui-3>>
tiddler-editor-fields-odd: <<colour flexoki-ui-2>>
tiddler-info-background: <<colour flexoki-bg-2>>
tiddler-info-border: <<colour flexoki-200>>
tiddler-info-tab-background: <<colour flexoki-bg>>
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour primary>>
tiddler-subtitle-foreground: <<colour flexoki-tx-3>>
tiddler-title-foreground: <<colour flexoki-magenta-600>>
toolbar-new-button:
toolbar-options-button:
toolbar-save-button:
toolbar-info-button:
toolbar-edit-button:
toolbar-close-button:
toolbar-delete-button: <<colour flexoki-re-2>>
toolbar-cancel-button:
toolbar-done-button:
untagged-background: <<colour flexoki-tx-3>>
very-muted-foreground: <<colour flexoki-500>>
wikilist-background: <<colour flexoki-ui>>
wikilist-item: <<colour flexoki-paper>>
wikilist-info: <<colour flexoki-black>>
wikilist-title: <<colour flexoki-tx-2>>
wikilist-title-svg: <<colour wikilist-title>>
wikilist-url: <<colour flexoki-tx-3>>
wikilist-button-open: <<colour flexoki-gr-2>>
wikilist-button-open-hover: <<colour flexoki-gr>>
wikilist-button-reveal: <<colour flexoki-cy-2>>
wikilist-button-reveal-hover: <<colour flexoki-cy>>
wikilist-button-remove: <<colour flexoki-re-2>>
wikilist-button-remove-hover: <<colour flexoki-re>>
wikilist-toolbar-background: <<colour flexoki-ui-2>>
wikilist-toolbar-foreground: <<colour flexoki-500>>
wikilist-droplink-dragover: <<colour flexoki-pu>>
wikilist-button-background: <<colour flexoki-tx-3>>
wikilist-button-foreground: <<colour flexoki-black>>

View File

@@ -21,9 +21,9 @@ diff-delete-foreground: <<colour foreground>>
diff-equal-background:
diff-equal-foreground: <<colour foreground>>
diff-insert-background: #b8bb26
diff-insert-foreground: <<colour foreground>>
diff-invisible-background:
diff-invisible-foreground: <<colour muted-foreground>>
diff-insert-foreground: <<colour background>>
diff-invisible-background: #ffff97
diff-invisible-foreground: #444347
dirty-indicator: #fb4934
download-background: #b8bb26
download-foreground: <<colour background>>

View File

@@ -21,8 +21,8 @@ diff-delete-foreground: <<colour foreground>>
diff-equal-background:
diff-equal-foreground: <<colour foreground>>
diff-insert-background: #A3BE8C
diff-insert-foreground: <<colour foreground>>
diff-invisible-background:
diff-insert-foreground: <<colour background>>
diff-invisible-background: #f9f3b5
diff-invisible-foreground: <<colour muted-foreground>>
dirty-indicator: #BF616A
download-background: #A3BE8C

View File

@@ -125,6 +125,14 @@ foreground: #657b83
tiddler-link-foreground: <<colour primary>>
alert-border: #b99e2f
diff-delete-background: <<colour red>>
diff-delete-foreground: <<colour background>>
diff-equal-background: inherit
diff-equal-foreground: inherit
diff-insert-background: <<colour green>>
diff-insert-foreground: <<colour background>>
diff-invisible-background: <<colour yellow>>
diff-invisible-foreground: <<colour background>>
dirty-indicator: #ff0000
dropzone-background: rgba(0,200,0,0.7)
external-link-background-hover: inherit

View File

@@ -18,6 +18,14 @@ button-foreground: #93a1a1
code-background: #073642
code-border: #586e75
code-foreground: #93a1a1
diff-delete-background: #dc322f
diff-delete-foreground: #eee8d5
diff-equal-background: inherit
diff-equal-foreground: inherit
diff-insert-background: #859900
diff-insert-foreground: #073642
diff-invisible-background: #b58900
diff-invisible-foreground: #eee8d5
dirty-indicator: #dc322f
download-background: #859900
download-foreground: #073642

View File

@@ -18,6 +18,14 @@ button-foreground: #586e75
code-background: #eee8d5
code-border: #93a1a1
code-foreground: #586e75
diff-delete-background: #dc322f
diff-delete-foreground: #eee8d5
diff-equal-background: inherit
diff-equal-foreground: inherit
diff-insert-background: #859900
diff-insert-foreground: #eee8d5
diff-invisible-background: #b58900
diff-invisible-foreground: #eee8d5
dirty-indicator: #dc322f
download-background: #859900
download-foreground: #eee8d5

View File

@@ -19,13 +19,13 @@ code-background: rgba(0,0,0,0.03)
code-border: rgba(0,0,0,0.08)
code-foreground: rgb(255, 94, 94)
diff-delete-background: #ffc9c9
diff-delete-foreground: <<colour foreground>>
diff-delete-foreground: <<colour background>>
diff-equal-background:
diff-equal-foreground: <<colour foreground>>
diff-insert-background: #aaefad
diff-insert-foreground: <<colour foreground>>
diff-invisible-background:
diff-invisible-foreground: <<colour muted-foreground>>
diff-insert-foreground: <<colour background>>
diff-invisible-background: #fdfcbd
diff-invisible-foreground: <<colour background>>
dirty-indicator: rgb(255, 94, 94)
download-background: #19a974
download-foreground: rgb(38, 38, 38)

View File

@@ -32,7 +32,7 @@ dragger-background: <<colour foreground>>
dragger-foreground: <<colour background>>
dropdown-background: <<colour background>>
dropdown-border: <<colour muted-foreground>>
dropdown-tab-background-selected: #fff
dropdown-tab-background-selected: #ffffff
dropdown-tab-background: #ececec
dropzone-background: rgba(0,200,0,0.7)
external-link-background-hover: inherit
@@ -54,7 +54,7 @@ modal-border: #999999
modal-footer-background: #f5f5f5
modal-footer-border: #dddddd
modal-header-border: #eeeeee
muted-foreground: #bbb
muted-foreground: #bbbbbb
network-activity-foreground: #448844
notification-background: #ffffdd
notification-border: #999999
@@ -98,7 +98,7 @@ tab-foreground: #666666
table-border: #dddddd
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #ec6
tag-background: #eecc66
tag-foreground: #ffffff
testcase-accent-level-1: #c1eaff
testcase-accent-level-2: #E3B740
@@ -132,11 +132,11 @@ toolbar-done-button:
untagged-background: #999999
very-muted-foreground: #888888
wikilist-background: #e5e5e5
wikilist-item: #fff
wikilist-info: #000
wikilist-title: #666
wikilist-item: #ffffff
wikilist-info: #000000
wikilist-title: #666666
wikilist-title-svg: <<colour wikilist-title>>
wikilist-url: #aaa
wikilist-url: #aaaaaa
wikilist-button-open: #4fb82b
wikilist-button-open-hover: green
wikilist-button-reveal: #5778d8
@@ -144,7 +144,7 @@ wikilist-button-reveal-hover: blue
wikilist-button-remove: #d85778
wikilist-button-remove-hover: red
wikilist-toolbar-background: #d3d3d3
wikilist-toolbar-foreground: #888
wikilist-toolbar-foreground: #888888
wikilist-droplink-dragover: rgba(255,192,192,0.5)
wikilist-button-background: #acacac
wikilist-button-foreground: #000
wikilist-button-foreground: #000000

View File

@@ -1,23 +1,23 @@
title: $:/core/templates/server/static.tiddler.wikitext
\whitespace trim
<div class="tc-tiddler-title">
<div class="tc-tiddler-title tc-clearfix">
<div class="tc-titlebar">
<h2><$text text=<<currentTiddler>>/></h2>
</div>
</div>
<div class="tc-subtitle">
<div class="tc-subtitle tc-clearfix">
<$link to={{!!modifier}}>
<$view field="modifier"/>
</$link> <$view field="modified" format="date" template={{$:/language/Tiddler/DateFormat}}/>
</div>
<div class="tc-tags-wrapper">
<div class="tc-tags-wrapper" tc-clearfix>
<$list filter="[all[current]tags[]sort[title]]">
<a href={{{ [<currentTiddler>encodeuricomponent[]] }}}>
<$macrocall $name="tag-pill" tag=<<currentTiddler>>/>
</a>
</$list>
</div>
<div class="tc-tiddler-body">
<div class="tc-tiddler-body tc-clearfix">
<$transclude mode="block"/>
</div>

View File

@@ -4,7 +4,7 @@ tags: $:/tags/RawMarkupWikified
\procedure meta-plain(name,source,name-attribute:"name")
\whitespace trim
<%if [<source>has[text]] %>
&lt;meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>"&gt;
&lt;meta&#32;<$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>"&gt;
<$text text={{{ [charcode[10]] }}}/>
<%endif%>
\end meta-plain
@@ -13,7 +13,7 @@ tags: $:/tags/RawMarkupWikified
\whitespace trim
<%if [<source>has[text]] %>
<$wikify name="html" text={{{ [<source>get[text]] }}} output="text">
&lt;meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>"&gt;
&lt;meta&#32;<$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>"&gt;
<$text text={{{ [charcode[10]] }}}/>
</$wikify>
<%endif%>

View File

@@ -57,3 +57,4 @@ title: $:/core/templates/tiddlywiki5.html
`{{{ [enlist<saveTiddlerAndShadowsFilter>tag[$:/tags/RawMarkupWikified/BottomBody]] ||$:/core/templates/raw-static-tiddler}}}`
</body>
</html>`
</$set>

View File

@@ -2,10 +2,10 @@ title: $:/core/ui/Actions/new-journal
tags: $:/tags/Actions
description: create a new journal tiddler
\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$
\whitespace trim
<$vars journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>
<$wikify name="journalTitle" text="<$macrocall $name='now' format=<<journalTitleTemplate>>/>">
\function get-tags() [<textFieldTags>] [<tagsFieldTags>] +[join[ ]]
<$let journalTitleTemplate={{$:/config/NewJournal/Title}} textFieldTags={{$:/config/NewJournal/Tags}} tagsFieldTags={{$:/config/NewJournal/Tags!!tags}} journalText={{$:/config/NewJournal/Text}}>
<$wikify name="journalTitle" text="<$transclude $variable='now' format=<<journalTitleTemplate>>/>">
<$reveal type="nomatch" state=<<journalTitle>> text="">
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<get-tags>> text={{{ [<journalTitle>get[]] }}}/>
</$reveal>
@@ -13,4 +13,4 @@ description: create a new journal tiddler
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<get-tags>> text=<<journalText>>/>
</$reveal>
</$wikify>
</$vars>
</$let>

View File

@@ -2,8 +2,8 @@ title: $:/core/ui/Actions/new-tiddler
tags: $:/tags/Actions
description: create a new empty tiddler
\define get-tags() $(textFieldTags)$ $(tagsFieldTags)$
\whitespace trim
<$vars textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>
\function get-tags() [<textFieldTags>] [<tagsFieldTags>] +[join[ ]]
<$let textFieldTags={{$:/config/NewTiddler/Tags}} tagsFieldTags={{$:/config/NewTiddler/Tags!!tags}}>
<$action-sendmessage $message="tm-new-tiddler" tags=<<get-tags>>/>
</$vars>
</$let>

View File

@@ -2,76 +2,101 @@ title: $:/core/ui/AdvancedSearch/Filter
tags: $:/tags/AdvancedSearch
caption: {{$:/language/Search/Filter/Caption}}
\define lingo-base() $:/language/Search/
\define set-next-input-tab(beforeafter:"after")
<$macrocall $name="change-input-tab"
\procedure lingo-base() $:/language/Search/
\procedure set-next-input-tab()
<$transclude $variable="change-input-tab"
stateTitle="$:/state/tab--1498284803"
tag="$:/tags/AdvancedSearch"
beforeafter="$beforeafter$"
beforeafter="after"
defaultState="$:/core/ui/AdvancedSearch/System"
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
/>
\end
\define cancel-search-actions()
\procedure set-previous-input-tab()
<$transclude $variable="change-input-tab"
stateTitle="$:/state/tab--1498284803"
tag="$:/tags/AdvancedSearch"
beforeafter="before"
defaultState="$:/core/ui/AdvancedSearch/System"
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
/>
\end
\procedure cancel-search-actions()
\whitespace trim
<$list
filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]"
emptyMessage="<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />">
<$list filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]">
<$list-empty>
<$action-deletetiddler $filter="[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]"/>
</$list-empty>
<$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/>
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
</$list>
\end
\define input-accept-actions()
\procedure input-accept-actions()
\whitespace trim
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>">
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
<$list-empty>
<$list filter="[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]">
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
</$list>
<$/list-empty>
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
</$list>
\end
\define input-accept-variant-actions()
\procedure input-accept-variant-actions()
\whitespace trim
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>">
<$list filter="[<__tiddler__>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
</$list></$list>
\end
\whitespace trim
<<lingo Filter/Hint>>
<div class="tc-search tc-advanced-search">
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
<$macrocall $name="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
selectionStateTitle="$:/temp/advancedsearch/selected-item"
type="search"
tag="input"
focus={{$:/config/Search/AutoFocus}}
configTiddlerFilter="[[$:/temp/advancedsearch]]"
firstSearchFilterField="text"
inputAcceptActions=<<input-accept-actions>>
inputAcceptVariantActions=<<input-accept-variant-actions>>
inputCancelActions=<<cancel-search-actions>>/>
</$keyboard>
</$keyboard>
&#32;
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]"><$transclude/></$list>
</div>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
<div class="tc-search-results">
<p><<lingo Filter/Matches>></p>
<$list filter={{$:/temp/advancedsearch}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
<$list-empty>
<$list filter="[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]">
<$list filter="[<__tiddler__>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
</$list>
</$list>
</$list-empty>
<$list filter="[<tiddler>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
</$list>
</$list>
\end
\whitespace trim
<<lingo Filter/Hint>>
<div class="tc-search tc-advanced-search">
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>> class="tc-small-gap-right">
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
<$transclude $variable="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
selectionStateTitle="$:/temp/advancedsearch/selected-item"
type="search"
tag="input"
focus={{$:/config/Search/AutoFocus}}
configTiddlerFilter="[[$:/temp/advancedsearch]]"
firstSearchFilterField="text"
inputAcceptActions=<<input-accept-actions>>
inputAcceptVariantActions=<<input-accept-variant-actions>>
inputCancelActions=<<cancel-search-actions>>
/>
</$keyboard>
</$keyboard>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]">
<$transclude/>
</$list>
</div>
</$set>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="" tag="div" class="tc-search-results">
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
<p><<lingo Filter/Matches>></p>
<$list filter={{$:/temp/advancedsearch}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
</$list>
</$set>
</$reveal>

View File

@@ -3,18 +3,27 @@ tags: $:/tags/AdvancedSearch
caption: {{$:/language/Search/Shadows/Caption}}
first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]
\define lingo-base() $:/language/Search/
\procedure lingo-base() $:/language/Search/
\define set-next-input-tab(beforeafter:"after")
<$macrocall $name="change-input-tab"
\procedure set-next-input-tab()
<$transclude $variable="change-input-tab"
stateTitle="$:/state/tab--1498284803"
tag="$:/tags/AdvancedSearch"
beforeafter="$beforeafter$"
beforeafter="after"
defaultState="$:/core/ui/AdvancedSearch/System"
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
\end
\define cancel-search-actions()
\procedure set-previous-input-tab()
<$transclude $variable="change-input-tab"
stateTitle="$:/state/tab--1498284803"
tag="$:/tags/AdvancedSearch"
beforeafter="before"
defaultState="$:/core/ui/AdvancedSearch/System"
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
\end
\procedure cancel-search-actions()
\whitespace trim
<$list
filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]"
@@ -25,22 +34,22 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
\end
\define input-accept-actions()
\procedure input-accept-actions()
\whitespace trim
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>">
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>">
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
</$list>
\end
\define input-accept-variant-actions()
\procedure input-accept-variant-actions()
\whitespace trim
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>">
<$list filter="[<__tiddler__>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<tiddler>get[text]] }}}/></$list></$list>">
<$list filter="[<tiddler>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
</$list></$list>
\end
@@ -50,8 +59,8 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
<div class="tc-search">
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
<$macrocall $name="keyboard-driven-input"
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
<$transclude $variable="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
@@ -79,14 +88,18 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
<$set name="resultCount" value="<$count filter='[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]'/>">
<$set name="resultCount" value={{{ [all[shadows]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :and[count[]]}}}>
<div class="tc-search-results">
<<lingo Shadows/Matches>>
<%if [<resultCount>match[0]] %>
{{$:/language/Search/Matches/NoMatch}}
<%else%>
<<lingo Shadows/Matches>>
<%endif%>
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]">
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]]">
<span class={{{[<currentTiddler>addsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
</$list>

View File

@@ -2,16 +2,20 @@ title: $:/core/ui/AdvancedSearch/Standard
tags: $:/tags/AdvancedSearch
caption: {{$:/language/Search/Standard/Caption}}
\define lingo-base() $:/language/Search/
\define set-next-input-tab(beforeafter:"after") <$macrocall $name="change-input-tab" stateTitle="$:/state/tab--1498284803" tag="$:/tags/AdvancedSearch" beforeafter="$beforeafter$" defaultState="$:/core/ui/AdvancedSearch/System" actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
\procedure lingo-base() $:/language/Search/
\procedure set-next-input-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab--1498284803" tag="$:/tags/AdvancedSearch" beforeafter="after" defaultState="$:/core/ui/AdvancedSearch/System" actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
\define next-search-tab(beforeafter:"after") <$macrocall $name="change-input-tab" stateTitle="$:/state/tab/search-results/advancedsearch" tag="$:/tags/SearchResults" beforeafter="$beforeafter$" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>"/>
\procedure set-previous-input-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab--1498284803" tag="$:/tags/AdvancedSearch" beforeafter="before" defaultState="$:/core/ui/AdvancedSearch/System" actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
\define cancel-search-actions() <$list filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]" emptyMessage="<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />"><$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/></$list><$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
\procedure next-search-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab/search-results/advancedsearch" tag="$:/tags/SearchResults" beforeafter="after" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>"/>
\define input-accept-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>"><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>
\procedure previous-search-tab() <$transclude $variable="change-input-tab" stateTitle="$:/state/tab/search-results/advancedsearch" tag="$:/tags/SearchResults" beforeafter="before" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<nextTab>>/>"/>
\define input-accept-variant-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>"><$list filter="[<__tiddler__>get[text]minlength[1]]"><$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>
\procedure cancel-search-actions() <$list filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]" emptyMessage="<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />"><$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/><$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/></$list><$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
\procedure input-accept-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>"><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>
\procedure input-accept-variant-actions() <$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]" emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<tiddler>get[text]] }}}/></$list></$list>"><$list filter="[<tiddler>get[text]minlength[1]]"><$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/></$list></$list>
\whitespace trim
@@ -19,10 +23,10 @@ caption: {{$:/language/Search/Standard/Caption}}
<div class="tc-search">
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
<$keyboard key="shift-alt-Right" actions=<<next-search-tab>>>
<$keyboard key="shift-alt-Left" actions=<<next-search-tab "before">>>
<$macrocall $name="keyboard-driven-input"
<$keyboard key="shift-alt-Left" actions=<<previous-search-tab>>>
<$transclude $variable="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
@@ -33,7 +37,7 @@ caption: {{$:/language/Search/Standard/Caption}}
inputCancelActions=<<cancel-search-actions>>
inputAcceptActions=<<input-accept-actions>>
inputAcceptVariantActions=<<input-accept-variant-actions>>
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]"
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]"
filterMinLength={{$:/config/Search/MinLength}}/>
</$keyboard>
</$keyboard>
@@ -55,18 +59,18 @@ caption: {{$:/language/Search/Standard/Caption}}
variable="listItem">
<$vars
userInput={{{ [[$:/temp/advancedsearch]get[text]] }}}
configTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}
configTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}
searchListState="$:/temp/advancedsearch/selected-item">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]">
<$macrocall $name="tabs"
<$list-empty>
<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode="block"/></$list>
</$list-empty>
<$transclude $variable="tabs"
tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"
default={{$:/config/SearchResults/Default}}
actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<currentTab>>/>"
explicitState="$:/state/tab/search-results/advancedsearch" />
</$list>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]] :else[[]]">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"><$transclude mode="block"/></$list>
</$list>
</$vars>
</$list>
</$reveal>

View File

@@ -1,19 +1,28 @@
title: $:/core/ui/AdvancedSearch/System
tags: $:/tags/AdvancedSearch
caption: {{$:/language/Search/System/Caption}}
first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]
first-search-filter: [is[system]search<userInput>sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]
\define lingo-base() $:/language/Search/
\define set-next-input-tab(beforeafter:"after",stateTitle,tag,defaultState,currentTabTiddler)
<$macrocall $name="change-input-tab"
\procedure lingo-base() $:/language/Search/
\procedure set-next-input-tab()
<$transclude $variable="change-input-tab"
stateTitle="$:/state/tab--1498284803"
tag="$:/tags/AdvancedSearch"
beforeafter="$beforeafter$"
beforeafter="after"
defaultState="$:/core/ui/AdvancedSearch/System"
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
\end
\define cancel-search-actions()
\procedure set-previous-input-tab()
<$transclude $variable="change-input-tab"
stateTitle="$:/state/tab--1498284803"
tag="$:/tags/AdvancedSearch"
beforeafter="before"
defaultState="$:/core/ui/AdvancedSearch/System"
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
\end
\procedure cancel-search-actions()
\whitespace trim
<$list
filter="[{$:/temp/advancedsearch}!match{$:/temp/advancedsearch/input}]"
@@ -24,22 +33,22 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
\end
\define input-accept-actions()
\procedure input-accept-actions()
\whitespace trim
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>">
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$action-navigate $to={{{ [<tiddler>get[text]] }}}/></$list>">
<$action-navigate $to={{{ [<tiddler>get[text]] }}}/>
</$list>
\end
\define input-accept-variant-actions()
\procedure input-accept-variant-actions()
\whitespace trim
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>">
<$list filter="[<__tiddler__>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
emptyMessage="<$list filter='[<tiddler>get[text]!is[missing]] :else[<tiddler>get[text]is[shadow]]'><$list filter='[<tiddler>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<tiddler>get[text]] }}}/></$list></$list>">
<$list filter="[<tiddler>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<tiddler>get[text]] }}}/>
</$list></$list>
\end
@@ -49,8 +58,8 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
<div class="tc-search">
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
<$macrocall $name="keyboard-driven-input"
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>>>
<$transclude $variable="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
@@ -78,14 +87,18 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
<$set name="resultCount" value="<$count filter='[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]'/>">
<$set name="resultCount" value={{{ [is[system]search{$:/temp/advancedsearch}] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>
<div class="tc-search-results">
<<lingo System/Matches>>
<%if [<resultCount>match[0]] %>
{{$:/language/Search/Matches/NoMatch}}
<%else%>
<<lingo System/Matches>>
<%endif%>
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]">
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] :except[[$:/temp/advancedsearch]] :except[[$:/temp/advancedsearch/input]] :except[[$:/temp/advancedsearch/selected-item]]">
<span class={{{[<currentTiddler>addsuffix[-primaryList]] :except[[$:/temp/advancedsearch/selected-item]get[text]] :and[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
</$list>

View File

@@ -47,13 +47,13 @@ $:/config/Plugins/Disabled/$(currentTiddler)$
<h2>
<div>
<%if [<currentTiddler>get[stability]match[STABILITY_0_DEPRECATED]] %>
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated">DEPRECATED</span>
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated"><<lingo "Stability/Deprecated">></span>
<%elseif [<currentTiddler>get[stability]match[STABILITY_1_EXPERIMENTAL]] %>
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental">EXPERIMENTAL</span>
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental"><<lingo "Stability/Experimental">></span>
<%elseif [<currentTiddler>get[stability]match[STABILITY_2_STABLE]] %>
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable">STABLE</span>
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable"><<lingo "Stability/Stable">></span>
<%elseif [<currentTiddler>get[stability]match[STABILITY_3_LEGACY]] %>
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy">LEGACY</span>
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy"><<lingo "Stability/Legacy">></span>
<%endif%>
<em><$view field="version"/></em></div>
</h2>

View File

@@ -2,22 +2,7 @@ title: $:/core/ui/ControlPanel/Basics
tags: $:/tags/ControlPanel/Info
caption: {{$:/language/ControlPanel/Basics/Caption}}
\define lingo-base() $:/language/ControlPanel/Basics/
\define show-filter-count(filter)
\whitespace trim
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" $value="""$filter$"""/>
<$action-setfield $tiddler="$:/temp/advancedsearch/input" $value="""$filter$"""/>
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
<$action-setfield $tiddler="$:/state/tab--1498284803" $value="$:/core/ui/AdvancedSearch/Filter"/>
<$action-navigate $to="$:/AdvancedSearch"/>
<$action-sendmessage $message="tm-focus-selector" $param=".tc-advanced-search input"/>
''<$count filter="""$filter$"""/>''
&#32;
{{$:/core/images/advanced-search-button}}
</$button>
\end
\procedure lingo-base() $:/language/ControlPanel/Basics/
\whitespace trim
|tc-max-width tc-edit-max-width|k

View File

@@ -75,13 +75,13 @@ $:/state/add-plugin-info/$(connectionTiddler)$/$(assetInfo)$
<h2><$view tiddler=<<assetInfo>> field="original-title"/></h2>
<div>
<%if [<assetInfo>get[stability]match[STABILITY_0_DEPRECATED]] %>
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated">DEPRECATED</span>
<span class="tc-plugin-info-stability tc-plugin-info-stability-deprecated">{{$:/language/ControlPanel/Plugins/Stability/Deprecated}}</span>
<%elseif [<assetInfo>get[stability]match[STABILITY_1_EXPERIMENTAL]] %>
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental">EXPERIMENTAL</span>
<span class="tc-plugin-info-stability tc-plugin-info-stability-experimental">{{$:/language/ControlPanel/Plugins/Stability/Experimental}}</span>
<%elseif [<assetInfo>get[stability]match[STABILITY_2_STABLE]] %>
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable">STABLE</span>
<span class="tc-plugin-info-stability tc-plugin-info-stability-stable">{{$:/language/ControlPanel/Plugins/Stability/Stable}}</span>
<%elseif [<assetInfo>get[stability]match[STABILITY_3_LEGACY]] %>
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy">LEGACY</span>
<span class="tc-plugin-info-stability tc-plugin-info-stability-legacy">{{$:/language/ControlPanel/Plugins/Stability/Legacy}}</span>
<%endif%>
<em><$view tiddler=<<assetInfo>> field="version"/></em></div>
<$list filter="[<assetInfo>get[original-title]get[version]]" variable="installedVersion"><div><em>{{$:/language/ControlPanel/Plugins/AlreadyInstalled/Hint}}</em></div></$list>

View File

@@ -0,0 +1,10 @@
title: $:/core/ui/ControlPanel/Settings/RecentLimit
tags: $:/tags/ControlPanel/Settings
caption: {{$:/language/ControlPanel/Settings/RecentLimit/Caption}}
\whitespace trim
\procedure lingo-base() $:/language/ControlPanel/Settings/RecentLimit/
<<lingo Hint>>
|tc-table-no-border|k
|<$link to="$:/config/RecentLimit"><<lingo Caption>></$link> |<$edit-text tiddler="$:/config/RecentLimit" tag="input" type="number"/> |

View File

@@ -9,7 +9,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
//<small>{{$:/language/Search/Matches/Title}}</small>//
<$list filter="[<userInput>minlength[1]]" variable="ignore">
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
@@ -19,7 +19,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
//<small>{{$:/language/Search/Matches/All}}</small>//
<$list filter="[<userInput>minlength[1]]" variable="ignore">
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}}>
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>

View File

@@ -3,7 +3,7 @@ tags: $:/tags/EditTemplate
\define config-title() $:/config/EditToolbarButtons/Visibility/$(listItem)$
\whitespace trim
<div class="tc-tiddler-title tc-tiddler-edit-title">
<div class="tc-tiddler-title tc-tiddler-edit-title tc-clearfix">
<$view field="title"/>
<span class="tc-tiddler-controls tc-titlebar">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/EditToolbar]!has[draft.of]]" variable="listItem">
@@ -14,5 +14,4 @@ tags: $:/tags/EditTemplate
</$let>
</$list>
</span>
<div style="clear: both;"></div>
</div>

View File

@@ -1,35 +1,32 @@
title: $:/core/ui/EditTemplate/fields
tags: $:/tags/EditTemplate
\define lingo-base() $:/language/EditTemplate/
\define config-title()
$:/config/EditTemplateFields/Visibility/$(currentField)$
\end
\procedure lingo-base() $:/language/EditTemplate/
\function tf.config-title() [[$:/config/EditTemplateFields/Visibility/]addsuffix[$(currentField)$]substitute[]get[text]]
\define config-filter()
[[hide]] -[title{$(config-title)$}]
\end
\function tf.config-filter() [[hide]] :except[title<tf.config-title>]
<!-- Beware this is duplicated from EditTemplate.tid. For details see bug #7054 -->
\define get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]
\define get-field-editor-filter() [<newFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]
\procedure get-field-value-tiddler-filter() [subfilter<get-field-editor-filter>sha256[16]addprefix[/]addprefix<newFieldValueTiddlerPrefix>]
\procedure get-field-editor-filter() [<newFieldNameTiddler>get[text]else[]] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}]
\define current-tiddler-new-field-selector()
[data-tiddler-title="$(currentTiddlerCSSescaped)$"] .tc-edit-field-add-name-wrapper input
\end
\procedure prefix.bracket() [
\procedure suffix.bracket() ]
\define new-field-actions()
\function tf.current-tiddler-new-field-selector() [[data-tiddler-title=]addprefix[$(prefix.bracket)$]substitute[]addsuffix<currentTiddlerCSSescaped>addsuffix[$(suffix.bracket)$]substitute[]] .tc-edit-field-add-name-wrapper input :and[join[ ]]
\procedure new-field-actions()
\whitespace trim
<$action-sendmessage $message="tm-add-field" $name={{{ [<newFieldNameTiddler>get[text]] }}} $value={{{ [<newFieldNameTiddler>get[text]] :map[subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
<$set name="safeNewFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
<$action-deletetiddler $filter="[<newFieldNameTiddler>] [prefix[$:/temp/NewFieldValue]prefix<safeNewFieldValueTiddlerPrefix>] [<storeTitle>] [<searchListState>]"/>
</$set>
<$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/>
<$action-sendmessage $message="tm-focus-selector" $param=<<tf.current-tiddler-new-field-selector>>/>
\end
\define delete-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]"/>
\procedure delete-state-tiddlers() <$action-deletetiddler $filter="[<newFieldNameTiddler>] [<storeTitle>] [<searchListState>]"/>
\define cancel-search-actions-inner()
\procedure cancel-search-actions-inner()
\whitespace trim
<$list
filter="[<storeTitle>has[text]] [<newFieldNameTiddler>has[text]]"
@@ -39,7 +36,7 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
</$list>
\end
\define cancel-search-actions()
\procedure cancel-search-actions()
\whitespace trim
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}>
<$list
@@ -50,7 +47,7 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
</$set>
\end
\define new-field()
\procedure new-field()
\whitespace trim
<$vars name={{{ [<newFieldNameTiddler>get[text]] }}}>
<$reveal type="nomatch" text="" default=<<name>>>
@@ -75,15 +72,15 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
<$set name="newFieldValueTiddlerPrefix" value=<<newFieldValueTiddlerPrefix>> emptyValue=<<qualify "$:/temp/NewFieldValue">> >
<div class="tc-edit-fields">
<table class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] +[count[]!match[0]] +[then[tc-edit-fields]] ~[[tc-edit-fields tc-edit-fields-small]] }}}>
<table class={{{ [all[current]fields[]] :filter[lookup[$:/config/EditTemplateFields/Visibility/]!match[hide]] :and[count[]!match[0]] :and[then[tc-edit-fields]] :else[[tc-edit-fields tc-edit-fields-small]] }}}>
<tbody>
<$list filter="[all[current]fields[]] +[sort[title]]" variable="currentField" storyview="pop">
<$list filter=<<config-filter>> variable="temp">
<$list filter="[all[current]fields[]] :and[sort[title]]" variable="currentField" storyview="pop">
<$list filter=<<tf.config-filter>> variable="temp">
<tr class="tc-edit-field">
<td class="tc-edit-field-name">
<$text text=<<currentField>>/>:</td>
<td class="tc-edit-field-value">
<$keyboard key="((delete-field))" actions="""<$action-deletefield $field=<<currentField>>/><$set name="currentTiddlerCSSescaped" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message="tm-focus-selector" $param=<<current-tiddler-new-field-selector>>/></$set>""">
<$keyboard key="((delete-field))" actions="""<$action-deletefield $field=<<currentField>>/><$set name="currentTiddlerCSSescaped" value={{{ [<currentTiddler>escapecss[]] }}}><$action-sendmessage $message="tm-focus-selector" $param=<<tf.current-tiddler-new-field-selector>>/></$set>""">
<$transclude tiddler={{{ [<currentField>] :cascade[all[shadows+tiddlers]tag[$:/tags/FieldEditorFilter]!is[draft]get[text]] :and[!is[blank]else{$:/core/ui/EditTemplate/fieldEditor/default}] }}} />
</$keyboard>
</td>
@@ -107,10 +104,10 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
</em>
<$vars refreshTitle=<<qualify "$:/temp/fieldname/refresh">> storeTitle=<<newFieldNameInputTiddler>> searchListState=<<newFieldNameSelectionTiddler>>>
<div class="tc-edit-field-add-name-wrapper">
<$macrocall $name="keyboard-driven-input" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>
<$transclude $variable="keyboard-driven-input" tiddler=<<newFieldNameTiddler>> storeTitle=<<storeTitle>> refreshTitle=<<refreshTitle>>
selectionStateTitle=<<searchListState>> tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}}
focusPopup=<<qualify "$:/state/popup/field-dropdown">> class="tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}}
focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] ~[[false]] }}} cancelPopups="yes"
focus={{{ [{$:/config/AutoFocus}match[fields]then[true]] :else[[false]] }}} cancelPopups="yes"
configTiddlerFilter="[[$:/config/EditMode/fieldname-filter]]" inputCancelActions=<<cancel-search-actions>> />
<$button popup=<<qualify "$:/state/popup/field-dropdown">> class="tc-btn-invisible tc-btn-dropdown tc-small-gap" tooltip={{$:/language/EditTemplate/Field/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Field/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button>
<$reveal state=<<qualify "$:/state/popup/field-dropdown">> type="nomatch" text="" default="">
@@ -121,8 +118,8 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
<<lingo Fields/Add/Dropdown/User>>
</div>
<$set name="newFieldName" value={{{ [<storeTitle>get[text]] }}}>
<$list filter="[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] -created -creator -draft.of -draft.title -modified -modifier -tags -text -title -type" variable="currentField">
<$list filter="[<currentField>addsuffix[-primaryList]] -[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
<$list filter="[!is[shadow]!is[system]fields[]search:title<newFieldName>sort[]] :except[[created]] :except[[creator]] :except[[draft.of]] :except[[draft.title]] :except[[modified]] :except[[modifier]] :except[[tags]] :except[[text]] :except[[title]] :except[[type]]" variable="currentField">
<$list filter="[<currentField>addsuffix[-primaryList]] :except[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
<$link to=<<currentField>>>
<$text text=<<currentField>>/>
</$link>
@@ -131,8 +128,8 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
<div class="tc-dropdown-item">
<<lingo Fields/Add/Dropdown/System>>
</div>
<$list filter="[fields[]search:title<newFieldName>sort[]] -[!is[shadow]!is[system]fields[]]" variable="currentField">
<$list filter="[<currentField>addsuffix[-secondaryList]] -[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
<$list filter="[fields[]search:title<newFieldName>sort[]] :except[!is[shadow]!is[system]fields[]]" variable="currentField">
<$list filter="[<currentField>addsuffix[-secondaryList]] :except[<searchListState>get[text]]" emptyMessage="""<$link to=<<currentField>> class="tc-list-item-selected"><$text text=<<currentField>>/></$link>""">
<$link to=<<currentField>>>
<$text text=<<currentField>>/>
</$link>
@@ -151,7 +148,7 @@ $value={{{ [subfilter<get-field-value-tiddler-filter>get[text]] }}}/>
</$keyboard>
</span>
<span class="tc-edit-field-add-button">
<$macrocall $name="new-field"/>
<$transclude $variable="new-field"/>
</span>
</$let>
</$vars>

View File

@@ -2,15 +2,15 @@ title: $:/core/ui/EditTemplate/type
tags: $:/tags/EditTemplate
first-search-filter: [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[description]sort[group-sort]removeprefix[$:/language/Docs/Types/]search<userInput>]
\define lingo-base() $:/language/EditTemplate/
\define input-cancel-actions() <$list filter="[<storeTitle>get[text]] [<currentTiddler>get[type]] +[limit[1]]" emptyMessage="""<<cancel-delete-tiddler-actions "cancel">>"""><$action-sendmessage $message="tm-remove-field" $param="type"/><$action-deletetiddler $filter="[<typeInputTiddler>] [<refreshTitle>] [<typeSelectionTiddler>]"/></$list>
\procedure lingo-base() $:/language/EditTemplate/
\procedure input-cancel-actions() <$list filter="[<storeTitle>get[text]] [<currentTiddler>get[type]] :and[limit[1]]" emptyMessage="""<<cancel-delete-tiddler-actions "cancel">>"""><$action-sendmessage $message="tm-remove-field" $param="type"/><$action-deletetiddler $filter="[<typeInputTiddler>] [<refreshTitle>] [<typeSelectionTiddler>]"/></$list>
\whitespace trim
<$set name="refreshTitle" value=<<qualify "$:/temp/type-search/refresh">>>
<div class="tc-edit-type-selector-wrapper">
<em class="tc-edit tc-small-gap-right"><<lingo Type/Prompt>></em>
<div class="tc-type-selector-dropdown-wrapper">
<div class="tc-type-selector"><$fieldmangler>
<$macrocall $name="keyboard-driven-input" tiddler=<<currentTiddler>> storeTitle=<<typeInputTiddler>> refreshTitle=<<refreshTitle>> selectionStateTitle=<<typeSelectionTiddler>> field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] ~[[false]] }}} cancelPopups="yes" configTiddlerFilter="[[$:/core/ui/EditTemplate/type]]" inputCancelActions=<<input-cancel-actions>>/><$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown tc-small-gap" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}<$action-deletetiddler $filter="[<typeInputTiddler>] [<storeTitle>] [<refreshTitle>] [<selectionStateTitle>]"/></$button>
<$transclude $variable="keyboard-driven-input" tiddler=<<currentTiddler>> storeTitle=<<typeInputTiddler>> refreshTitle=<<refreshTitle>> selectionStateTitle=<<typeSelectionTiddler>> field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor tc-edit-texteditor tc-popup-handle" tabindex={{$:/config/EditTabIndex}} focus={{{ [{$:/config/AutoFocus}match[type]then[true]] :else[[false]] }}} cancelPopups="yes" configTiddlerFilter="[[$:/core/ui/EditTemplate/type]]" inputCancelActions=<<input-cancel-actions>>/><$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown tc-small-gap" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button><$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}<$action-deletetiddler $filter="[<typeInputTiddler>] [<storeTitle>] [<refreshTitle>] [<selectionStateTitle>]"/></$button>
</$fieldmangler></div>
<div class="tc-block-dropdown-wrapper">
@@ -23,7 +23,7 @@ first-search-filter: [all[shadows+tiddlers]prefix[$:/language/Docs/Types/]sort[d
<$text text={{!!group}}/>
</div>
<$set name="userInput" value={{{ [<typeInputTiddler>get[text]] }}}>
<$list filter="[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]] +[removeprefix[$:/language/Docs/Types/]] +[search<userInput>]"><span class={{{ [<currentTiddler>addsuffix[-primaryList]] -[<typeSelectionTiddler>get[text]] +[then[]else[tc-list-item-selected]] }}}><$link to={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field="description"/><$text text=" "/>(<$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field="name"/>)</$link></span>
<$list filter="[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] :and[sort[description]] :and[removeprefix[$:/language/Docs/Types/]] :and[search<userInput>]"><span class={{{ [<currentTiddler>addsuffix[-primaryList]] :except[<typeSelectionTiddler>get[text]] :and[then[]else[tc-list-item-selected]] }}}><$link to={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]get[name]] }}}><$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field="description"/><$text text=" "/>(<$view tiddler={{{ [<currentTiddler>addprefix[$:/language/Docs/Types/]] }}} field="name"/>)</$link></span>
</$list>
</$set>
</$list>

View File

@@ -4,11 +4,15 @@ caption: {{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}}
description: {{$:/language/Buttons/Cancel/Hint}}
\whitespace trim
<$button actions=<<cancel-delete-tiddler-actions "cancel">> tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
{{$:/core/images/cancel-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>
</$list>
<$button actions=<<cancel-delete-tiddler-actions "cancel">>
tooltip={{$:/language/Buttons/Cancel/Hint}}
aria-label={{$:/language/Buttons/Cancel/Hint}}
class=<<tv-config-toolbar-class>>
>
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/cancel-button}}
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>
<%endif%>
</$button>

View File

@@ -4,11 +4,15 @@ caption: {{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}}
description: {{$:/language/Buttons/Delete/Hint}}
\whitespace trim
<$button actions=<<cancel-delete-tiddler-actions "delete">> tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
{{$:/core/images/delete-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>
</$list>
<$button actions=<<cancel-delete-tiddler-actions "delete">>
tooltip={{$:/language/Buttons/Delete/Hint}}
aria-label={{$:/language/Buttons/Delete/Hint}}
class=<<tv-config-toolbar-class>>
>
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/delete-button}}
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Delete/Caption}}/></span>
<%endif%>
</$button>

View File

@@ -4,21 +4,20 @@ caption: {{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}}
description: {{$:/language/Buttons/Save/Hint}}
\whitespace trim
\define save-tiddler-button()
\whitespace trim
\procedure save-tiddler-button()
<$fieldmangler>
<$button
tooltip={{$:/language/Buttons/Save/Hint}}
aria-label={{$:/language/Buttons/Save/Caption}}
aria-label={{$:/language/Buttons/Save/Hint}}
class=<<tv-config-toolbar-class>>
>
<<save-tiddler-actions>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/done-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Save/Caption}}/></span>
</$list>
<%endif%>
</$button>
</$fieldmangler>
\end

View File

@@ -11,4 +11,5 @@ shortcuts: ((bold))
$param="wrap-selection"
prefix="''"
suffix="''"
trimSelection="yes"
/>

View File

@@ -3,7 +3,7 @@ tags: $:/tags/EditorToolbar
icon: $:/core/images/excise
caption: {{$:/language/Buttons/Excise/Caption}}
description: {{$:/language/Buttons/Excise/Hint}}
condition: [<targetTiddler>type[]] [<targetTiddler>get[type]prefix[text/vnd.tiddlywiki]] +[first[]]
condition: [<targetTiddler>type[]] [<targetTiddler>type[text/vnd.tiddlywiki]] [<targetTiddler>type[text/markdown]] [<targetTiddler>type[text/x-markdown]] +[first[]]
shortcuts: ((excise))
dropdown: $:/core/ui/EditorToolbar/excise-dropdown

View File

@@ -1,20 +1,30 @@
title: $:/core/ui/EditorToolbar/file-import
tags: $:/tags/EditorTools
condition: [<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]]
condition: [<targetTiddler>filter{$:/config/Editor/EnableImportFilter}]
\define lingo-base() $:/language/Import/
\procedure lingo-base() $:/language/Import/
\define closePopupActions()
\procedure closePopupActions()
<$action-deletetiddler $filter="[title<importState>] [title<importTitle>]"/>
\end
\end closePopupActions
\define replacement-text-image() [img[$title$]]
\procedure tw5-ImageTemplate() [img[$(currentTiddler)$]]
\procedure tw5-FileTemplate() [[$(currentTiddler)$]]
\define replacement-text-file() [[$title$]]
<!-- The following characters must be escaped in markdown: <>()\ -->
\function escape.title() [search-replace:g:regexp[\(|\)|<|>|\\],[\$&]]
\procedure markdown-ImageTemplate() ![](<#${ [<currentTiddler>escape.title[]] }$>)
\procedure markdown-FileTemplate() [](<#${ [<currentTiddler>escape.title[]] }$>)
\define postImportActions()
\function is.markdown.tiddler() [all[]type[text/x-markdown]] [all[]type[text/markdown]]
\function is.image() [get[type]prefix[image]]
\function get.markdown.link() [is.image[]then<markdown-ImageTemplate>else<markdown-FileTemplate>]
\function get.tw5.link() [is.image[]then<tw5-ImageTemplate>else<tw5-FileTemplate>]
\function get.link.template() [<storyTiddler>is.markdown.tiddler[]then<get.markdown.link>else<get.tw5.link>]
\procedure postImportActions()
\whitespace trim
<$list filter="[<importTitle>links[]] :reduce[get[type]prefix[image]then<replacement-text-image>else<replacement-text-file>search-replace[$title$],<currentTiddler>addprefix<accumulator>]" variable="imageTitle">
<$list filter="[<importTitle>links[]] :reduce[get.link.template[]substitute[]addprefix<accumulator>]" variable="imageTitle">
<$action-sendmessage
$message="tm-edit-text-operation"
$param="insert-text"
@@ -22,14 +32,14 @@ condition: [<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]
/>
</$list>
<<closePopupActions>>
\end
\end postImportActions
\define buttons()
\procedure buttons()
\whitespace trim
<$button class="tc-btn-invisible" actions=<<closePopupActions>> ><<lingo Listing/Cancel/Caption>></$button>
&#32;
<$button class="tc-btn-invisible" message="tm-perform-import" param=<<importTitle>> actions=<<postImportActions>> ><<lingo Listing/Import/Caption>></$button>
\end
\end buttons
\whitespace trim
<$reveal type="popup" state=<<importState>> tag="div" class="tc-editor-importpopup">
@@ -42,4 +52,4 @@ condition: [<targetTiddler>!has[type]] [<targetTiddler>type[text/vnd.tiddlywiki]
</$tiddler>
</$list>
</div>
</$reveal>
</$reveal>

View File

@@ -11,4 +11,5 @@ shortcuts: ((italic))
$param="wrap-selection"
prefix="//"
suffix="//"
trimSelection="yes"
/>

View File

@@ -1,44 +1,44 @@
title: $:/core/ui/EditorToolbar/link-dropdown
\define lingo-base() $:/language/Buttons/Link/
\procedure lingo-base() $:/language/Buttons/Link/
\define add-link-actions()
\procedure add-link-actions()
\whitespace trim
<$action-sendmessage $message="tm-edit-text-operation" $param="make-link" text={{$(linkTiddler)$}} />
<$action-sendmessage $message="tm-edit-text-operation" $param="make-link" text={{{ [<linkTiddler>get[text]] }}} />
<$action-deletetiddler $filter="[<dropdown-state>] [<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]"/>
\end
\define get-focus-selector() [data-tiddler-title="$(cssEscapedTitle)$"] .tc-create-wikitext-link input
\define cancel-search-actions-inner()
<$set name="userInput" value={{{ [<storeTitle>get[text]] }}}><$list filter="[<searchTiddler>get[text]!match<userInput>]" emptyMessage="<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text="yes"/></$list></$set>
\procedure cancel-search-actions-inner()
<$let userInput={{{ [<storeTitle>get[text]] }}}><$list filter="[<searchTiddler>get[text]!match<userInput>]" emptyMessage="<$action-deletetiddler $filter='[<searchTiddler>] [<linkTiddler>] [<storeTitle>] [<searchListState>]'/>"><$action-setfield $tiddler=<<searchTiddler>> text=<<userInput>>/><$action-setfield $tiddler=<<refreshTitle>> text="yes"/></$list></$let>
\end
\define cancel-search-actions() <$list filter="[<storeTitle>!has[text]] +[<searchTiddler>!has[text]]" emptyMessage="<<cancel-search-actions-inner>>"><$action-sendmessage $message="tm-edit-text-operation" $param="focus-editor"/></$list>
\procedure cancel-search-actions() <$list filter="[<storeTitle>!has[text]] :and[<searchTiddler>!has[text]]" emptyMessage="<<cancel-search-actions-inner>>"><$action-sendmessage $message="tm-edit-text-operation" $param="focus-editor"/></$list>
\define external-link()
\procedure external-link()
\whitespace trim
<$button class="tc-btn-invisible tc-btn-mini" style="width: auto; display: inline-block; background-colour: inherit;" actions=<<add-link-actions>>>
{{$:/core/images/chevron-right}}
</$button>
\end
\define set-next-input-tab(beforeafter:"after") <$macrocall $name="change-input-tab" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" beforeafter="$beforeafter$" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>"/>
\procedure set-next-input-tab() <$transclude $variable="change-input-tab-after" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>"/>
\define body(config-title)
\procedure set-previous-input-tab() <$transclude $variable="change-input-tab-before" stateTitle="$:/state/tab/search-results/sidebar" tag="$:/tags/SearchResults" defaultState={{$:/config/SearchResults/Default}} actions="<$action-setfield $tiddler='$:/state/search/currentTab' text=<<nextTab>>/>"/>
\procedure body(config-title)
\whitespace trim
''<<lingo Hint>>''
<$vars searchTiddler="""$config-title$/search""" linkTiddler="""$config-title$/link""" linktext="" searchListState=<<qualify "$:/temp/link-search/selected-item">> refreshTitle=<<qualify "$:/temp/link-search/refresh">> storeTitle=<<qualify "$:/temp/link-search/input">>>
<$let searchTiddler=`$(config-title)$/search` linkTiddler=`$(config-title)$/link` linktext="" searchListState=<<qualify "$:/temp/link-search/selected-item">> refreshTitle=<<qualify "$:/temp/link-search/refresh">> storeTitle=<<qualify "$:/temp/link-search/input">>>
<$vars linkTiddler=<<searchTiddler>>>
<$let linkTiddler=<<searchTiddler>>>
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">> class="tc-create-wikitext-link">
<$macrocall $name="keyboard-driven-input" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>
<$keyboard key="((input-tab-left))" actions=<<set-previous-input-tab>> class="tc-create-wikitext-link">
<$transclude $variable="keyboard-driven-input" tiddler=<<searchTiddler>> storeTitle=<<storeTitle>>
selectionStateTitle=<<searchListState>> refreshTitle=<<refreshTitle>> type="search" filterMinLength="1"
tag="input" focus="true" class="tc-popup-handle" inputCancelActions=<<cancel-search-actions>>
inputAcceptActions=<<add-link-actions>> placeholder={{$:/language/Search/Search}} default=""
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]" />
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}]" />
</$keyboard>
</$keyboard>
&#32;
@@ -46,28 +46,28 @@ title: $:/core/ui/EditorToolbar/link-dropdown
<<external-link>>
&#32;
<$button class="tc-btn-invisible tc-btn-mini" style="width: auto; display: inline-block; background-colour: inherit;">
<<cancel-search-actions>><$set name="cssEscapedTitle" value={{{ [<storyTiddler>escapecss[]] }}}><$action-sendmessage $message="tm-focus-selector" $param=<<get-focus-selector>>/></$set>
<<cancel-search-actions>><$action-sendmessage $message="tm-focus-selector" $param=`[data-tiddler-title=${[<storyTiddler>escapecss[]]}$] .tc-create-wikitext-link input`/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
</$vars>
</$let>
<$reveal tag="div" state=<<storeTitle>> type="nomatch" text="">
<$linkcatcher actions=<<add-link-actions>> to=<<linkTiddler>>>
<$vars userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}>
<$let userInput={{{ [<storeTitle>get[text]] }}} configTiddler={{{ [[$:/state/search/currentTab]!is[missing]get[text]] :else[{$:/config/SearchResults/Default}] }}}>
{{$:/core/ui/SearchResults}}
</$vars>
</$let>
</$linkcatcher>
</$reveal>
</$vars>
</$let>
\end
<$macrocall $name="body" config-title=<<qualify "$:/state/Link/">>/>
<$transclude $variable="body" config-title=<<qualify "$:/state/Link/">>/>

View File

@@ -12,4 +12,5 @@ tags: $:/tags/EditorToolbar
$param="wrap-selection"
prefix="[["
suffix="]]"
trimSelection="yes"
/>

View File

@@ -11,4 +11,5 @@ shortcuts: ((mono-line))
$param="wrap-selection"
prefix="`"
suffix="`"
trimSelection="yes"
/>

View File

@@ -21,7 +21,7 @@ title: $:/core/ui/EditorToolbar/StampDropdown/ItemTemplate
$message="tm-edit-text-operation"
$param="wrap-selection"
prefix={{{ [<currentTiddler>addsuffix[/prefix]get[text]] }}}
suffix={{{ [<currentTiddler>addsuffix[/suffix]get[text]] }}}
suffix={{{ [<currentTiddler>addsuffix[/suffix]get[text]] }}}
/>
</$list>

View File

@@ -11,4 +11,5 @@ shortcuts: ((strikethrough))
$param="wrap-selection"
prefix="~~"
suffix="~~"
trimSelection="yes"
/>

View File

@@ -11,4 +11,5 @@ shortcuts: ((subscript))
$param="wrap-selection"
prefix=",,"
suffix=",,"
trimSelection="yes"
/>

View File

@@ -11,4 +11,5 @@ shortcuts: ((superscript))
$param="wrap-selection"
prefix="^^"
suffix="^^"
trimSelection="yes"
/>

View File

@@ -12,4 +12,5 @@ tags: $:/tags/EditorToolbar
$param="wrap-selection"
prefix="{{"
suffix="}}"
trimSelection="yes"
/>

View File

@@ -11,4 +11,5 @@ shortcuts: ((underline))
$param="wrap-selection"
prefix="__"
suffix="__"
trimSelection="yes"
/>

View File

@@ -4,15 +4,14 @@ caption: {{$:/core/images/advanced-search-button}} {{$:/language/Buttons/Advance
description: {{$:/language/Buttons/AdvancedSearch/Hint}}
\whitespace trim
\define advanced-search-button(class)
\whitespace trim
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
\procedure advanced-search-button(class)
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/advanced-search-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>
</$list>
<%endif%>
</$button>
\end

View File

@@ -5,12 +5,12 @@ description: {{$:/language/Buttons/CloseAll/Hint}}
\whitespace trim
<$button message="tm-close-all-tiddlers" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/close-all-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/CloseAll/Caption}}/>
</span>
</$list>
</$button>
<%endif%>
</$button>

View File

@@ -4,15 +4,14 @@ caption: {{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Ca
description: {{$:/language/Buttons/ControlPanel/Hint}}
\whitespace trim
\define control-panel-button(class)
\whitespace trim
<$button to="$:/ControlPanel" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
\procedure control-panel-button(class)
<$button to="$:/ControlPanel" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/options-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>
</$list>
<%endif%>
</$button>
\end

View File

@@ -6,25 +6,25 @@ description: {{$:/language/Buttons/Encryption/Hint}}
\whitespace trim
<$reveal type="match" state="$:/isEncrypted" text="yes">
<$button message="tm-clear-password" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/locked-padlock}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/Encryption/ClearPassword/Caption}}/>
</span>
</$list>
<%endif%>
</$button>
</$reveal>
<$reveal type="nomatch" state="$:/isEncrypted" text="yes">
<$button message="tm-set-password" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/unlocked-padlock}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/>
</span>
</$list>
<%endif%>
</$button>
</$reveal>

View File

@@ -3,4 +3,4 @@ tags: $:/tags/PageControls
caption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}
description: {{$:/language/Buttons/ExportPage/Hint}}
<$macrocall $name="exportButton" exportFilter="[!is[system]sort[title]]" lingoBase="$:/language/Buttons/ExportPage/"/>
<$transclude $variable="exportButton" exportFilter="[!is[system]sort[title]]" lingoBase="$:/language/Buttons/ExportPage/"/>

View File

@@ -6,12 +6,12 @@ description: {{$:/language/Buttons/FoldAll/Hint}}
\whitespace trim
<$button tooltip={{$:/language/Buttons/FoldAll/Hint}} aria-label={{$:/language/Buttons/FoldAll/Caption}} class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-fold-all-tiddlers" $param=<<currentTiddler>> foldedStatePrefix="$:/state/folded/"/>
<$list filter="[<tv-config-toolbar-icons>match[yes]]" variable="listItem">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/fold-all-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/FoldAll/Caption}}/>
</span>
</$list>
</$button>
<%endif%>
</$button>

View File

@@ -5,12 +5,12 @@ description: {{$:/language/Buttons/FullScreen/Hint}}
\whitespace trim
<$button message="tm-full-screen" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/full-screen-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/FullScreen/Caption}}/>
</span>
</$list>
</$button>
<%endif%>
</$button>

View File

@@ -5,12 +5,12 @@ description: {{$:/language/Buttons/Home/Hint}}
\whitespace trim
<$button message="tm-home" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/home-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/Home/Caption}}/>
</span>
</$list>
</$button>
<%endif%>
</$button>

View File

@@ -6,14 +6,14 @@ description: {{$:/language/Buttons/Import/Hint}}
\whitespace trim
<div class="tc-file-input-wrapper">
<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<<tv-config-toolbar-class>>>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/import-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/Import/Caption}}/>
</span>
</$list>
<%endif%>
</$button>
<$browse tooltip={{$:/language/Buttons/Import/Hint}}/>
</div>
</div>

View File

@@ -4,21 +4,18 @@ caption: {{$:/core/images/globe}} {{$:/language/Buttons/Language/Caption}}
description: {{$:/language/Buttons/Language/Hint}}
\whitespace trim
\define flag-title()
$(languagePluginTitle)$/icon
\end
<span class="tc-popup-keep">
<$button popup=<<qualify "$:/state/popup/language">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<span class="tc-image-button">
<$set name="languagePluginTitle" value={{$:/language}}>
<$image source=<<flag-title>>/>
</$set>
</span>
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
<span class="tc-image-button">
<$set name="languagePluginTitle" value={{$:/language}}>
<$image source=`$(languagePluginTitle)$/icon`/>
</$set>
</span>
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Language/Caption}}/></span>
</$list>
<%endif%>
</$button>
</span>
<$reveal state=<<qualify "$:/state/popup/language">> type="popup" position="below" animate="yes">

View File

@@ -6,10 +6,10 @@ description: {{$:/language/LayoutSwitcher/Description}}
\whitespace trim
<$button tooltip={{$:/language/Buttons/LayoutSwitcher/Hint}} aria-label={{$:/language/Buttons/LayoutSwitcher/Caption}} class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-show-switcher" switch="layout"/>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/layout-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text"><$text text={{$:/language/Buttons/LayoutSwitcher/Caption}}/></span>
</$list>
<%endif%>
</$button>

View File

@@ -4,17 +4,16 @@ caption: {{$:/core/images/list}} {{$:/language/Buttons/Manager/Caption}}
description: {{$:/language/Buttons/Manager/Hint}}
\whitespace trim
\define manager-button(class)
\whitespace trim
<$button to="$:/Manager" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class="""$(tv-config-toolbar-class)$ $class$""">
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
\procedure manager-button(class)
<$button to="$:/Manager" tooltip={{$:/language/Buttons/Manager/Hint}} aria-label={{$:/language/Buttons/Manager/Caption}} class=`$(tv-config-toolbar-class)$ $(class)$`>
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/list}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/Manager/Caption}}/>
</span>
</$list>
<%endif%>
</$button>
\end

View File

@@ -12,33 +12,29 @@ description: {{$:/language/Buttons/More/Hint}}
class=<<tv-config-toolbar-class>>
selectedClass="tc-selected"
>
<$list filter="[<tv-config-toolbar-icons>match[yes]]">
<%if [<tv-config-toolbar-icons>match[yes]] %>
{{$:/core/images/down-arrow}}
</$list>
<$list filter="[<tv-config-toolbar-text>match[yes]]">
<%endif%>
<%if [<tv-config-toolbar-text>match[yes]] %>
<span class="tc-btn-text">
<$text text={{$:/language/Buttons/More/Caption}}/>
</span>
</$list>
<%endif%>
</$button>
<$reveal state=<<qualify "$:/state/popup/more">> type="popup" position="below" animate="yes">
<div class="tc-drop-down">
<$set name="tv-config-toolbar-icons" value="yes">
<$set name="tv-config-toolbar-text" value="yes">
<$set name="tv-config-toolbar-class" value="tc-btn-invisible">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]"
variable="listItem"
<$let tv-config-toolbar-icons="yes" tv-config-toolbar-text="yes" tv-config-toolbar-class="tc-btn-invisible">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]] -[[$:/core/ui/Buttons/more-page-actions]]"
variable="listItem"
>
<$reveal type="match" state=<<config-title>> text="hide">
<$set name="tv-config-toolbar-class"
filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]"
>
<$reveal type="match" state=<<config-title>> text="hide">
<$set name="tv-config-toolbar-class"
filter="[<tv-config-toolbar-class>] [<listItem>encodeuricomponent[]addprefix[tc-btn-]]"
>
<$transclude tiddler=<<listItem>> mode="inline"/>
</$set>
</$reveal>
</$list>
</$set>
</$set>
</$set>
<$transclude tiddler=<<listItem>> mode="inline"/>
</$set>
</$reveal>
</$list>
</$let>
</div>
</$reveal>
</$reveal>

Some files were not shown because too many files have changed in this diff Show More