* Create RootStylesheet.tid
* put stylesheets into single <style> tags
* viewHandler should not be a widget
* format RootStylesheet
* add ROOT_STYLESHEET_TITLE constant
* use let widget in RootStylesheet
* use view widget from #8135 for testing
* reformat RootStylesheet
* update view widget
* update view widget
* update view widget
* update view widget
* update view widget
* update view widget
* trying to fix the date parsing
* refactor view widget with more extensible architecture
* remove performance instrumentation
* hardcode reset and base stylesheets
* adopt ES2017 syntax for view widget
* don't hardcode vanilla/base
* remove unused constructors
* remove unused variable
* make refresh method static
* trying to fix missingThis
* add changenote
* revert change in vanilla/base
* Revert changes to the view widget
* Refactor RootStylesheet.tid
* Use transclude widget instead of view widget
* Remove hardcoded noramlize.css
* Add comment for debugging
* Migrate some templates to use RootStylesheet
* Remove PAGE_STYLESHEET_TITLE
Since it is no longer used in render.js
* Update change note
---------
Co-authored-by: Simon Huber <huber.simon@protonmail.com>
* Initial commit
* Add line ending configuration for consistent tests
* Initial commit
* Correctly consider editcost parameter
* Move diffPartsToChars() to $tw.utils
* Remove superfluous file
* Correct "efficiency" parameter naming in the documentation
The parameter was incorrectly referred to as "efficent" in several places.
* Update diffPartsToChars to ES2017 style
* Consolidate let/const declarations
* Revert the list-tagged-draggable to use title field by default
* Update list.tid
It seems `<$transclude field=<<__field__>> />` when field default value is empty does not work as expected.
This commit uses `field:"title"` instead of `field:""` in the list-tagged-draggable header.
* Update list.tid
The redundant `field` removed. The new `displayField` attribute is used to let user choose the filed they like to display when the list items are rendered as simple links.
* Update list.tid
The proposed field attribute in list-tagged-draggable updated to use the same `displayField` aslist-links-draggable.
* Create #9177
change note for #9177 was created
* Update list.tid
The `list-links-draggable` now is fully backward compatible. It uses caption as default field as before and is compatible with `list-links`.
The `list-tagged-draggable` is fully backward compatible while got a new displayField parameter.
* Update list-tagged-draggable Macro.tid
Update docs to reflect new displayField parameter
* Update list-links-draggable Macro.tid
Update documentation to reflect the new displayField parameter.
* Update list-tagged-draggable Macro.tid
Update docs. Remove formatting error in doc.
* Locale support for sort operator
* Add checkLanguageCode util function
* Update docs & add language code validation
* Replace multiple isDescending with reverse
* Revert "Replace multiple isDescending with reverse"
This reverts commit 793177b8bc.
* Simplify sortTiddler with Intl.Collator
* Add change notes
* Remove comment
* Update makeCompareFunction to support locale
* Update checkLanguageCode
* Add locale support for sortsub
* Add locale support for sort filter run prefix
* Revert "Add locale support for sort filter run prefix"
This reverts commit 9479a156d7.
* Remove checkLanguageCode
Since filters are able to catch errors now
* Update locale example
* Revert " Add locale support for sortsub"
This reverts commit 4a617188fc.
* Revert "Update makeCompareFunction to support locale"
This reverts commit 0ebca08036.
* Update docs
* Update change note
* Bidirectional improvements for core classes
* Fix Control Panel table text direction
* Switch to logical properties
* Add -webkit-margin-* properties
* Improve backward compatibility
* Use supports CSS at-rule for fallback
* Tiddler controls, alert, TOC update.
* tc-tree & testcase update
* .tc-sidebar-scrollable use new syntax
* Snow white use standard value
* Update divider
* Avoid negative logic
* Remove :dir rules at the moment
* Use property procedures
* Add change note
* Update blockquote
* Update unfold banner
* Update tiddlerinfo close button
* Group supports rule
* Update tiddler title icon
* Fix wrong float and margin
* Migrate to diff-match-patch-es & update api
* Update acknowledgements
* Update change notes
* Fix editcost attribute not working
* Make library compatible with ES2017
* Deprecate some utility functions
* Drop IE support
* Update two function
* Update comment
* Further simplify with arrow function
* Fix node error
* Deprecate logTable
* Deprecate class functions
* Attempt to fix error
* Deprecate two functions
* Remove deprecation for getLocationPath
* Deprecate stringifyNumber, domContains, domMatchesSelector
* Deprecate $tw.utils.each
* Revert "Deprecate $tw.utils.each"
This reverts commit 650df1d575.
* Simplify getFullScreenApis
* Replace LLMap with Map
* Revert "Replace LLMap with Map"
This reverts commit 4410ac194a.
* Move some deprecated functions to deprecated.js
* Remove Opera & MS prefix
* Deprecate getLocationPath
* Fix code style
* Revert "Remove Opera & MS prefix"
This reverts commit e5771c00be.
* Revert "Simplify getFullScreenApis"
This reverts commit 894cb479ea.
* Further simplify toggleClass
* Second attempt to simplify $tw.utils.each
* Revert "Second attempt to simplify $tw.utils.each"
This reverts commit 74cb4f766e.
* Third attempt to simplify $tw.utils.each
* Add missing comma
* Update comments
* Deprecate hopArray
Since it is easy to implement it with some method
* Update change notes
* Deprecate tagToCssSelector
Since tc-tagged-* classes are deprecated
* Fix RSOE from decodebase64
* Update change note
* Revert "Fix RSOE from decodebase64"
This reverts commit 4145f08623.
* Use a more general implementation
* Operator error should let whole filter fail
* Introduce let filter run prefix for assigning filter run result to a variable
* Get rid of the special behaviour for all[]
Not needed because the input to the filter run is available
* Fix tests
* Fix tests
* Cleanup
* Support for saving result lists in a variable
Extend let filter run prefix to store list of results, and add varlist operator for accessing variables as a list.
We already had partial support for variables returning a list of values in order for functions to work, now we extend it so that any variable can be used to store a list
We should extend the set widget so that it returns a result list that can be accessed with the varlist operator
* Docs update
* Introduce letlist widget for assigning lists to variables
Terrible name. Annoyingly, we can't overload the existing let or set widgets.
* Docs update
* Update DefaultTiddlers to highlight the new docs
* Fixed varlist crash with empty parameter
* Switch to triple brace syntax for assigning filtered lists
* Docs update
* Test for multivalued functions
* varlist operator: fixed crash accessing non-existent variable
See https://github.com/TiddlyWiki/TiddlyWiki5/pull/8972#issuecomment-2712068743
* Dispense with the letlist widget
What this PR actually does is rename the letlist widget to "let". The result is the same as using the letlist widget, but it is backwards compatible by virtue of the fact that all existing ways to access variables will only see the single value for the variable.
* Refactor the let filter run prefix to assign the input list to the variable named by the filter run
These semantics are much simpler, and allow the variable name to be computed.
* Missed off 211b135265
* Docs update
* Bug fix
* Introduce round brackets for multi-valued filter operands
Allowing us to drop the varlist operator
* Introduce => as a shortcut syntax for the let filter run prefix
Also relax the requirement for a filter run prefix to be followed by an opening square bracket
* Fix bug exposed in "Filter Operators" tiddler
See https://github.com/TiddlyWiki/TiddlyWiki5/pull/8972#issuecomment-2740003414
* Fix bug with missing variable attributes
See https://github.com/TiddlyWiki/TiddlyWiki5/pull/8972#issuecomment-2752792329
* Fix bug with round brackets for 2nd parameter onwards
* Allow functions to take multivalued parameters
* Simplify title operator
* Extend title operator to allow negated form to use multi-valued variables
* Remove duplicate test
* Update action-log widget to log multi-valued attributes
* Docs updates
* Fix typos
* Happy linter happy life
* Fix version numbers of from-version procedures
* Another incorrect version number
* Add change note
* Fix filenames of tests
* Typo
* Update let.js
* Docs updates
* refactor: extract a new $tw.wiki.getParser
* feat: allow $tw.utils.getParseTreeText to render other rules' text
* feat: two example getText handler
* Revert "feat: allow $tw.utils.getParseTreeText to render other rules' text"
This reverts commit 8a12498fa9.
* refactor: keep original getParseTreeText not touched
* refactor: use serialize in rules
* refactor: $tw.utils.extend({},options) -> options || {}
* Update codeinline.js
* Create test-wikitext-serialize.js
* DEBUG: only run my tests for development, remove before PR merge
* lint: if
* feat: add rule: 'parseBlock' metadata
* feat: handle tailing \n that may be missing
* feat: allow recursive
* feat: generate more rule and tests
* feat: generate more rule and tests
* fix: remove pragma:true, otherwise following text will become children of it
* fix: condition manually
Deekseek is silly
* fix: some test
* fix: some test
* feat: $tw.utils.serializeAttribute
* fix: use "" for string param
* feat: list
* refactor: ' -> "
* fix: parsemode don't have node
* fix: render invisible comment and parsemode as data element
* feat: add void: true, in ast node to prevent render
* feat: use void widget, so methods always return a widget
* feat: ast to use new widget type void
* test: add rule: 'parseBlock' and isRuleEnd: true
* lint: quote
* Update widget.js
* fix: void node need to handle its children
* Update test-wikitext-parser.js
* lint: quote
* Update void.js
* Update test-wikitext-parser.js
* fix: macrodef with comment (void node) not working
* lint: ' -> "
* feat: add to styleblock
* feat: styleblock
* feat: styleinline
* Update table.js
* lint: useless comments
* feat: transcludeblock
* refactor: reuse block on inline when possible
* feat: use void node to carry important info for typedblock
* feat: run all tests
* lint: useless ai generated comments
* Update conditional.js to not include space
* Update test-wikitext-serialize.js
* Update conditional.js
* refactor: move tiddlers to /data
* refactor: no need for new $tw.Wiki()
* lint: double quote
* refactor: lowercase the parseblock rule name
* fix: Wiki parser initialize blockRuleClasses only when first new an instance
* feat: restore inline macro def
* fix: macro in widget param
* fix: positional attribute in macro call
* fix: table space and horizrule block new line
* feat: make sure block rule all have \n\n for visiblity
* lint: function param
* fix: empty list item
* feat: add \n\n based on isBlock, if could also be inline
* fix: conditional without elseif
* refactor: use isBlock in macrodef to know inline or block
* fix: link may not have attribute and children
* DEBUG: render result and diff below body only on browser
DEBUG: render result below body only on browser
DEBUG: render result below body
DEBUG: fix build
DEBUG: show render result as ViewTemplate
* fix: remove pad space in />
* test: remove pad space in />
* Revert DEBUG: render result and diff below body only on browser
* refactor: fold commentText variable
* refactor: fold long comment
* fix: double quotes for parameter values
* Update void.js
* refactor: move all exports.serialize = function(tree,serialize) { to plugin
* fix: expost listTypes from core, and require it in plugin
* refactor: move serializeWikitextParseTree to plugin and init it
* refactor: move serializeAttribute util also to the plugin
* fix: Delete unused file
* Update macrodef.js
* Update test-wikitext-parser.js
* lint: fix
* Update plugins/tiddlywiki/wikitext-serialize/rules/filteredtranscludeblock.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update core/modules/widgets/void.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update plugins/tiddlywiki/wikitext-serialize/rules/list.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update plugins/tiddlywiki/wikitext-serialize/rules/list.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update plugins/tiddlywiki/wikitext-serialize/rules/styleblock.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove unused methods from VoidNodeWidget
Deleted render, execute, and refresh methods from VoidNodeWidget as they are no longer needed. The widget now only inherits from the base Widget class and exports the constructor.
* docs: about regex in styleinline.js
* Update parsetree.js
* Update core/modules/widgets/void.js
Co-authored-by: Jeremy Ruston <jeremy@jermolene.com>
* feat: Ensure at least one space after the style/class
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jeremy Ruston <jeremy@jermolene.com>
* wip proposal still contains commented old code - tests are missing
* rename isTagNameSafe to makeTagNameSafe
* remove comments
* remove redundant space
* add htmlCustomPrimitives to the $tw.config object
* remove tag-sanitation from element.js
* WIP - add html-element sanitation to the new makeTagNameSafe function, so it can be used globally
* simplify sanitation logic and fix inline docs
* Move top comment into inline comments
* Muted palette, minor adjustments
* revert download-background
* Change sidebar tiddler link foreground color
Change sidebar tiddler link foreground colour to make the search dropdown text readable. Using: #aaaaaa