* mws authentication
* add more tests and permission checkers
* add logic to ensure that only authenticated users' requests are handled
* add custom login page
* Implement user authentication as well as session handling
* work on user operations authorization
* add middleware to route handlers for bags & tiddlers routes
* add feature that only returns the tiddlers and bags which the user has permission to access on index page
* refactor auth routes & added user management page
* fix Ci Test failure issue
* fix users list page, add manage roles page
* add commands and scripts to create new user & assign roles and permissions
* resolved ci-test failure
* add ACL permissions to bags & tiddlers on creation
* fix comments and access control list bug
* fix indentation issues
* working on user profile edit
* remove list users command & added support for database in server options
* implement user profile update and password change feature
* update plugin readme
* implement command which triggers protected mode on the server
* revert server-wide auth flag. Implement selective authorization
* ACL management feature
* Complete Access control list implementation
* Added support to manage users' assigned role by admin
* fix comments
* fix comment
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.
A small fix which applys code bodies to these tiddlers:
* Tiddlers with prefix `$:/core/config/`
* Tiddlers tagged `$:/EditorTools` and `$:/tags/ToolbarButtonStyle`
* 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
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
* 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
* add tag-tiddler to tag-pill drag & drop import, add hidden setting for TagPillDragFilter
* update docs to make Be Aware clearer
* exclude the tag tiddler and update hidden docs accordingly
* Include the ExpectedResults in the displayed tabs
* Lighted testcase background
* Add testcase toolbar with export and import options
* Further styling tweaks
* feat: t macro and docs
* feat: support block mode so you can transclude whole tiddler
* refactor: use lingo and procedure
* refactor: use function instead of set variable
* docs: about mode:"inline"
* Update LingoMacro.tid
* docs: more usage about inline
* refactor: update translate macro to reuse lingo macro
* Delete translateMacro.tid
* refactor: update translation of tiddlyweb
* docs: more tiddlyweb l10n
* feat: add comment, so when use <$text text=<<lingo>> by mistake, it shows
* i18n: add more l10n
* feat: add tree to plugin to reveal l10n structure
* i18n: add menubar translation for example
* i18n: more for menubal
* docs: Headings -> Heading
* refactor: remove the "tree" tid
* Revert "refactor: remove the "tree" tid"
This reverts commit fb70f0b146.
* Initial Commit
* Fix plugin library URL
* Need to set plugin library location for prerelease
* Styling tweaks
* Docs
* Add tests that the core plugins all have a valid stability field
* Initial Commit
* Add note to preview build
* Fix whitespace and indenting
Thanks @pmario
* Fix crash with unset $tiddler attribute on <$data> widget
Thanks @CodaCodr
* Don't duplicate "description" field in test cases
* Use different background colours for nested testcase widgets
* Extend the testcase widget to run tests
* Add testcases to control panel
* Add a view template body template to render testcase tiddlers
* Test edition should display testcases
* Whitespace fixes
* Make testcase tiddler tempalte link to itself
* Styling tweaks
* Docs improvements
* Styling tweaks
* Run the new tw5.com testcases in the test edition
* Update data widget to display its content in JSON
* Add testcase convenience procedure
* Clearer testcases for data widget, and docs tweaks
* Don't expect our intentionally failing test to pass
* Extend testcase default template so that the display format can be chosen
It is selected by setting the variable "displayFormat"
* DataWidget docs typo
* Fix data widget not refreshing
* Links in testcase output switch to the tab containing that tiddler
Thanks to @btheado for the suggestion
* Docs update for 648855e8a5
* Wording tweak
* Add support for narrative tiddlers in test cases
* Documentation improvements
* Cleanup comments
* Remove obsolete code comments
* Simplify template
* Docs update
* Rename $:/core/ui/testcases/DefaultTemplate/SourceTabs from $:/core/ui/testcases/DefaultTemplate/Source
* Use the view template body for failing tests
* Don't reference the geospatial plugin
* "Test case" should be two words
* Fix handling of currentTiddler variable
Fixes problem reported by @btheado in https://github.com/Jermolene/TiddlyWiki5/pull/7817#issuecomment-2103704468
* Prepare for merging
* Create a `refresh` keyboard shortcut
This creates a `refresh` keyboard shortcut that refreshes the page.
In TiddlyDesktop <kbd>ctrl-R</kbd> doesn't work
* Update refresh.tid
* Update shortcuts-not-mac.multids
* Update shortcuts-mac.multids
* Update ShortcutInfo.multids
* tag-picker add Examples
* tag-picker - use new v5.3.x wikitext syntax
* tag-picker - more inline docs
* tag-picker - fix add button
* rename local functions: tag, userInput to _tf.getTag and _tf.getUersName to make the code and variable scopes more understandable
* tag-picker - move local variables definitions into one place: tag-picker macro
* tag-picker - replace reveal-widget with conditional IF syntax
* tag-picker - remove logs and test tag-picker - actions parameer -> OK
* tag-picker - add tag-picker Macro docs
* tag-picker docs - change \define -> \procedure
* tag-picker -- fix problem with focus loss if elements selected by mouse click
* tag-picker -- add tf. prefix only to new function definition names for backwards compatibility.
* tag-picker -- update example docs
* re-add tags: $:/tags/Macro
* add tc-tag-missing or tc-tag-exists to tag pills including docs
* changes as requested
* macros not needed anymore - so remove
* fix the tag Macro docs
This avoids breaking existing code that expects to be able to import the core macros with just $:/tags/Macro
@pmario - I suggest that future updates use the same approach
Thanks to @ericshulman for reporting the problem
This PR attempts to modernize the tag-picker macros as procedures, as @Jermolene suggested in [#7548 (comment)](https://github.com/Jermolene/TiddlyWiki5/pull/7548#issuecomment-1825458523).
What I changed:
* rewrote macros as procedures/replaced text substitutions with variables
* replaced nested $set and $var widgets with $let widgets/functions
* minor rewrites to reduce redundant code
* some additional linebreaks for clarity
*This is functionally identical to my initial PR, [#7880](https://github.com/Jermolene/TiddlyWiki5/pull/7880)*, minus the extra file I'd accidentally added. Thank you for bearing with me as I learn to navigate GitHub.
* Add data attribute support to button widget
* Fix typo
* Refactor ready for making mechanism more generic
* Apply more generic implementation to multiplate widgets
* Refactor to use existing widget.assignAttributes() method
* Fix typo
* Clarify docs
* Update docs
* Update select widget to support style.* attributes
* Remove obsolete comment
* Fixes refresh issues for checkbox and links widgets for data attributes (#7846)
* fix: refresh issues with checkbox and links widgets
* fix: indenting
* Feat: add support for data attributes to Draggable and Droppable widgets (#7845)
* Docs clarification
* docs: add style and data attributes to Draggable and Droppable widget docs (#7850)
* Refactors Select widget to directly create DOM node (#7848)
* fix: refactored SelectWidget to directly create DOM nodes
* fix: refactored SelectWidget to directly create DOM nodes
* fix: improve refresh handling for select widget
* Fixes issues in the PR "Button widget data attributes" (#7852)
* fix: fixed ordered attributes handling and improved tests to catch event attributes
* fix: clean up code from testing
* fix: more tests and refactoring
* fix: use lowercase when checking for event attribute prefix
* fix: use lowercase when checking for event attribute prefix
* fix: changed comment wording
* fix: minor refactoring
* refactor: for brevity
---------
Co-authored-by: Saq Imtiaz <saq.imtiaz@gmail.com>