commit 5687d9f44b
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Dec 6 11:33:43 2023 +0800
Fix for html parser
commit df0a1b184e
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Dec 6 02:47:47 2023 +0800
Fix HTML AST node boundary parsing in WikiText
commit ac8dda0a1a
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Sat Dec 2 13:02:52 2023 +0800
update test-wikitext-parser.js, change for-const-of -to .utils.each, add more range attributes
commit e2b9a4ed57
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Nov 29 22:35:39 2023 +0800
Add more start-end range attributes for AST
commit d3e62ec56a
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Nov 29 20:45:00 2023 +0800
Add rule attribute for WikiText AST nodes
commit 4200495055
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Nov 29 15:48:38 2023 +0800
Add start and end properties to AST nodes for list, codeblock, and all other elements
* 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.
* Add XLSX import spec for demo real estate spreadsheets
* Fix fieldname
* Improve map pin
* RealEstate demo: Set lat, long, price fields to be numeric
* Clean up Flickr demo
* Update geomap widget to refresh properly
* Add Leaflet MasterCluster plugin
* Setup the marker cluster plugin
* Rearrange real estate demo
* Reduce default cluster radius
* Beginnings of real estate demo
* Fix interpretation of HTTP status codes
* Real estate demo: Make columns hideable
* Real estate demo: sortability
* Real estate demo: search and limit
* Fix typo
* Fix lat long transposition
* Fix startup ordering
* Add geolookup operator
* Real Estate Demo: Add support for computed columns
* Real estate demo: Increase result limit
* Remove demo data
* Track map pan and zoom state in a state tiddler
* WIP
* Use geojson extension for geojson file
* Use geojson extensions for another geojson file
* Split demo from the geospatial plugin into its own edition
* Add build targets required by ./bin/site-build.sh...
... when building the geospatial edition as the main edition, making it easier to find on Vercel
* CI Fixes
* Fix default tab
* Rearranging geospatial plugin vs. edition
* More refactoring between demo and plugin
* Start of plugin docs
* Display GeoJSON properties on click
* Fix layer lookup demo
* Restore XLSX Utils plugin and dependencies
* Cleanup docs
* Remove 5.2.8 release note
* Remove 5.2.8 release note
* Docs update
* Fix minor refreshing bug for geomap widget
* Docs updates
* Add jsonset operator
* Add geonearestpoint operator
* jsonset: support for other data types and documentation
* Add logo
* Add link to preview build
* jsonset: add support for assigning JSON strings
* Fix nonstandard initialisation code for fill/parameter/slot widgets
* Introduce testcase widget so that we can reuse testcases as documentation examples
There's still a bit to do: adding tabs to the source panel of the testcase display, and tweaking the CSS.
* Update logo
* Testcasewidget: Add tabs for switching between source tiddlers
* Testcase appearance tweaks
* Switch to fluid-fixed layout
* Docs for the testcase-transclude and testcase-view widgets
* Split docs into separate tabs
* Extend testcase-view to be able to view other fields
* Extend default testcase template to show all fields of payload tiddlers
* Add some geomap examples
* Fix testcase rounded corners
* Add a geomap layer demo
* Add favicon
* Switch from building the geospatial plugin as the main build back to tw5.com
To make it easier to get to the documentation for the new features
* Remove obsolete comment
* Remove geospatial plugin from tw5.com build
* Fix build link
* Add note about core enhancements included in this branch
* Refactor data widget implementation
To avoid code duplication
* Integrate test cases with the docs
* Remove erroneously pasted docs material
* Remove erroneously copied olc-encode tests within old-decode test case
* Refactor compound tiddler handling into data widget
And add some tests for the data widget
* Default test case template tweaks
* Move Flickr macros into geospatial plugin from the demo edition
* FlickrDemo: Simplify UI
* FlickrMacros: Use a template to define photo tiddler fields
* Remove geospatial plugin from prerelease default tiddlers
* Extend Flickr helpers to support photoTiddlerTemplate parameter
* Update modification times of doc tiddlers
So that they are at the top of the recent tab
* Update 5.3.0 release note
* Remove custom CI step for this branch
* Restore standard sitetitle
* Flickr macro docs
* Rename $:/tags/GeoLayer to $:/tags/GeoFeature
And make sure that it works with all GeoJSON features, not just polygons
* More test data (from leaflet.js)
* Captions should be transcluded, not viewed raw
* Make HTTP handler use wiki of widget that sent the message
* Switch testcase widget to use an intrinsic template
Makes things much simpler
* Complete Flickr demos
* Extend geonearestpoint operator to work with feature collections
* Extend realestate demo to show data on nearest volcano
* Flickr macros: fix pagination after first page
Make sure that the widget we create to run the actions also has access to the event handlers attached to the rootwidget.
* Real estate demo: Fix nearest volcano
* Testcase docs update
* Testcase template: put title at the top and remove header row
* Docs correction
* New geonearestpoint test case
* Make test cases editable
* Test case default template: Always put "Output" tab first
* Initial Commit
* HttpClient object shouldn't need to know about events
* Add support for cancelling HTTP requests
* Make the number of outstanding HTTP requests available in a state tiddler
* Add a network activity button
Click it to cancel outstanding requests
* WIP
* Fix typo
Thanks @btheado
Co-authored-by: btheado <brian.theado@gmail.com>
* Data widget: parse carriage returns in compound tiddlers
* Fix crash when cancelling more than one HTTP request
Thanks @saqimtiaz
* Further fixes to cancelling outstanding HTTP requests
* Don't have data widget rendering its own JSON
Making the data widget render its raw JSON (introduced in 683ec33004) was a bad idea as it messes up the innerwiki use of the data widget. Instead we use the testcase widget with a special template to render the raw JSON of the payload of a testcase, thus giving us a way to test the data widget
* Fix missed docs update
* Introduce geolayer widget for specifying layers for geomap
* Fix breaking tests
* Remove docs references to obsolete widgets
* Tests for geounion, geointersect and geodifference
* Support for multiple base layers
* Make the layers control visible which allows the base layer to be chosen, and individual overlay layers to be hidden
* Add tiddlers tagged $:/tags/GeoBaseLayer to define some useful map base layers
* Add geobaselayer widget to define base layers
* Add a satellite base layer and another terrain base layer
* Add a note where to get more base layers
* Docs update
* Geomap widget: fix default base layer rendering
* Add startPosition and layersPanel attributes to geomap widget
* Update geolayer widget docs with missing attributes
* Add interactive demos for geounion, geodifference, geointersection
* Open geofeature and geomarker maps on the bounds of their content
* Move settings from demo into plugin
Because now the Flickr macros are part of the plugin
* Icon for geospatial plugin
* Fix missing body
* Flickr Demo typo
* Docs update
* Add support for draggable markers
* Removed accidentally committed file
* Remove unwanted log
* Add support for tm-request-geolocation message
* Fix typo
* Fix bug when fitting to non-extistent bounds
* Update main wiki greeting
* Use "Flickr helpers" instead of "Flickr macros"
* File renames for 05d3271603
* Fix testcase widget example
Thanks @btheado
* Fix testcase widget refreshing
* Fix failing tests from 03b6413c7a
* Docs: Clarify that template must be in the payload
* Testcase widget: Exclude tab state tiddlers
See https://github.com/Jermolene/TiddlyWiki5/pull/7406#discussion_r1327971965
Thanks @btheado
* Remove obsolete setquerystring operator
Instead we have the query- parameters to the http request message
* Remove obsolete change to --setfield command
* Fix tiddler name typo
* Initial Commit
* Add note to preview build
* Fix whitespace and indenting
Thanks @pmario
* Fix crash with unset $tiddler attribute on <$data> widget
Thanks @CodaCodr
* Remove Stamen baselayers
They have stopped making them available for free - see https://maps.stamen.com/stadia-partnership/
* Disable test that won't run in browser CI
* Disable broken tests
* Update olc-encode.tid (#7885)
Correct spelling
* 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
* Mark Geospatial plugin as experimental
* Update to Leaflet v1.9.4
* Remove unneeded template
Left over from when the testcase widget was first implemented
* Don't hide the volcanoes of the world data set
* Update Flickr demo docs
* Fix subtle typo that was preventing popups from working correctly
* Go back to hiding the volcanoes of the world by default
Too much data for a small device now that the markers are displayed correctly
* Clarify docs for tm-request-location
* Update modified testcase from master
* Prepare for merging
---------
Co-authored-by: btheado <brian.theado@gmail.com>
Co-authored-by: Drevarr <drevarr@gmail.com>
* Add defaultHeaders flag that controls helpful default heders that can sometimes interfere with apis
* Bump version number
* rename parameter to useDefaultHeaders, and catch one location where the default was not being set properly.
* Use a better comparision operator
* remove bad change
* Introduced preliminary idea for infinite recurse exception
* Better handling of infinite recursion
But it could be better still...
* the TransclusionError is a proper error
Moved the magic number to be on the error's class. Not sure if that's
a great idea.
* Fixed minor minor issue that came up in conflict
The minor fix to the jasmine regexp that escaped a '+' somehow
broke some random test.
* 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
* fix parsing error with spaces before reEndString, update docs to clarify block mode inside block quotes.
* additional advanced example
* oops, convert spaces back to tabs.
* reset indentation
* final tabs
* missed some
* wikitext classes are appended to other leading wikitext, no need to skip whitespace here.
* Start on some tests for <$action-deletefield />
* Only update modified field if we actually delete a field
…in the <$action-deletefield /> widget.
Fixes a bug where <$action-deletefield foo /> would update the modified field
if the "foo" field wasn't present on a tiddler.
* action-deletefield: Test when modified does and doesn't exist
* Add $timestamp argument to action-deletefield
To make it more consistent with other tiddler-manipulating action widgets
* Add docs for action-deletefield $timestamp
* 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
* docs: abount modern frameworks
(cherry picked from commit 783547bac2d1bfaa20def3eeda0dc10b6b465d8d)
* docs: modified time
(cherry picked from commit c8db907fe273a414768f5292f61986800e092dfe)
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
* feat: add transcludes and backtranscludes filter and its relying indexer
* feat: add test about backtranscludes
* docs: add doc about transcludes and backtranscludes Operator
* refactor: merge backlinks and backtranscludes indexer
* fix: test not executed
* fix: latest transclude use $tiddler instead of tiddler
* feat: A tiddler transclude with template will still use the tiddler as result.
* docs: wrong comment
* Improve Filter Syntax documentaion / navigation
* update links and missing diagrams
* rename legacy prefix to shortcut prefix
* Update editions/tw5.com/tiddlers/filters/Filter Operators.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/And Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/Cascade Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/And Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* add most changes a suggested by yaisog
* fix copy / paste from-version
* replace operand with parameter in the docs
* fix typo
* fix typos and improve railroad diagrams consistency
* move "new from version" info for filter run prefixes below the table
* fix typo transclusion and substitution
* Move Filters tiddler to the top level in the TOC
* wip-breadcrumbs
* breadcrumbs & breadcrumbsList macro final
* remove files that do not belong to this PR
* restore release banner
* add simple / story mode to breadcrumbs
* .breadcrumbs macro update comments
* new breadcrumbs CSS, woks with small screens
* make CSS configurable using hidden-settings
* improve CSS fro small screens
* remove the initial: recursiveParentTag macro
* improve location info for breadcrumbs nav. add "alt-text" for Edge ::after element
* breadcrumbs add mode=field
* bc add initial docs
* breadcrumbsField will also respect the story ordering
* add configurable global filterMode setting
* improve arrow CSS for browser zooming
* add bc links use bc-caption if caption field is non-empty
* breadcrumbs improve comments
* breadcrumbs aria-lable uses caption if there is one
* breadcrumbs improve documentation
* breadcrumbs improve docs for sort param
* fix showArrows docs
* remove .bc-link aria-label .. it's not needed if caption is resolved properly
* use subfilter instead of enlist to evaluate the "excluded" variable. Be consistent with toc-macros
* remove breadcrumbs macros - they have their own PR now
* resolve conflict
* add back doc-macros tiddler
* integrate :then filter run prefix
* remove .breadcrumbs macros and their config tiddlers
* fix typos as requested
---------
Co-authored-by: yaisog <m@rcuswinter.de>
* First commit
* Typo
* Add support for delay parameter
* Add confetti widget
* Add tour plugin
* Add element spotlight to dynannotate plugin
Useful for highlighting on screen elements for the user
* More and bigger confetti by default
* Use new element spotlight to provide hints
* Adjust hint selectors for create tiddler tour step
* Include confetti plugin in prerelease
* Clarify wording of confetti demo
* Don't link TiddlyWiki in the tour panel
* Tweaks to tour buttons
* Mark dependents of the tour plugin
* Add full screen section of tour and tour edition
* Remove Anna Freud references from welcome tiddler
* Build the tour edition in the preview
* Fix typo in build script
* Populate tour edition with solar system data
From Simple English Wikipedia
* Missing tag
* Add page control button to start tour
Also make the tour controls visible in full screen mode
* Refactor to use global procedures to control the tour
* Change "startup-actions" field to "enter-actions" to avoid confusion
* Add a tour logo
* Refactor to allow multiple tours to be loaded at once
* Remove wikification from welcome tour step
* Update docs
* Simplify styles for top bar
* Tours should have a $:/tags/Tour tag
* Tour should autostart in the tour edition, but not in the main wiki
* Better labelling for the main preview
* Fix build process
We build a separate tour.html wiki, but can include the tour in other wikis too
* Remove obsolete text
* Add "using tags" as a separate tour
* Remove old debugging code
* Add tour chooser
* Ensure that the current tour isn't listed as an option in the final step
* Use whitespace trim
Note that the setting is inherited by procedure and widget definitions
* Simplify tour step format
* Remove obsolete state tiddler
Not needed because now we initialise it in startup actions
* Fix gap between navigation buttons
* Clean up tiddler titles within the introduction tour
* Finish allowing the name "TiddlyWiki" to be customised
Some of the code was in the previous commit. Next we'll wire up the user interface
* Clarify docs
* Add a settings pane giving a birds eye view of a tour
* Avoid having to embed confetti in the final step
* Update docs
* Tweak styling of tour chooser dropdown
* Add a button to launch tour steps directly, and give them captions
* Expose custom tour settings
* Use the tour step caption as the heading
* Fix initialisation when jumping to a tour step
* Introduce step about tags
* Improve wording
* Improve styling of task call-to-action and nav buttons
* Adopt new conditional shortcut syntax
* Wording and ordering tweaks
* Fix typos
Thanks @pmario
* Simplify styling of tour overlay
* Use custom palette colours
Makes it easier for people to use their own colour scheme for the tour
* More custom colours
* Tour wording tweaks
* Extends the tour plugin with a condition field (#7861)
* feat: support condition field to determine whether a step should be shown
* feat: add support for overriding the hint text using the field 'hint' from the step tiddler
* fix: roll back tour display procedure for now until an override mechanism has been discussed
* fix: renamed advance-criterion field and associated variables to step-success-filter
* fix: renamed hint field to hint-text and selector to hint-selector
* refactor: to create function to get all tour tiddlers filtered by their condition field
* refactor: rename globals tiddlers to variables and avoid making any of the tour procedures global
* fix: also rename globals.tid file to variables.tid
* docs: cover all tour steps tiddler fields
* fix: improve spacing in Tour HUD
* WIP
---------
Co-authored-by: Jeremy Ruston <174761+Jermolene@users.noreply.github.com>
Co-authored-by: Saq Imtiaz <saq.imtiaz@gmail.com>
* Added some passing macro definition parsing tests
* Added two failing tests to illustrate bug #3460
* Allow \end to end an whitespace only/empty macro definition. Fixes#3460
* Added some passing procedure definition tests
* Added two failing procedure tests to illustrate bug #3460
* Allow \end to end a whitespace only/empty procedure/function/widget definition. Fixes#3640
* Fixed wording of comment
* Update ViewWidget.tid to include common varients
The provision of common variates to the view widget provides new an experience user examples of the different variants of the ViewWidget. The copy to clipboad method allows each variant to be quickly accessed and pasted into their wiki.
To facilitate this a new macro wikitext-example-compact has being added to
$:/editions/tw5.com/wikitext-macros
* Update ViewWidget.tid
Two colons added to maintain indenting in new content.
Adding the line
Use the [[ActionDeleteTiddlerWidget]] to delete a named tiddler without getting the "Do you wish to delete the tiddler" prompt.
However If someone knows how to make "WidgetMessage: tm-delete-tiddler" do this please explain.
* Add join attribute to list widget
* Use new join attribute in HTML saving templates
This simplifies the logic involved in saving tiddlers in JSON format
into TW html files, and should also slightly speed up the saving process
depending on how often that list widget gets refreshed.
* Unit tests for list widget's new join attribute
* Add `<$list-join>` widget
Allows specifying complicated join text more easily than an attribute
* 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>
* Modify SetWidget to include use to set global variables.
* Make sample variables easier to read.
* Change text to indicate use of pragma whitespace trim.
* Make compliant with 5.3.1 (?) release
* Add usemap attribute to image macro
Allow for a usemap attribute on the $image macro call which is passed through to the resulting img tag. This makes the use of HTML image maps [1] possible.
[1]: <https://www.w3schools.com/html/html_images_imagemap.asp>
* Document new usemap attribute in ImageWidget
* Update version docs
---------
Co-authored-by: Jeremy Ruston <jeremy@jermolene.com>
* add archive HTML wikis, add index.html + css
* only build archive for release version
* tested and add more docs
* fix indent
* fix spacing
* add $TW5_BUILD_OUTPUT_ARCHIVE env variable for testing
* use $TW5_BUILD_OUTPUT_ARCHIVE to check if archive should be built
* use TW5_BUILD_ARCHIVE as requested
* Simplify Permalink/Permaview URLs
* Fix lint warnings by removing arrow functions
* Remove commented sample code
* Remove post-ES5 code
* Add many more allowable non-percent-encodedcharacters
* Fix more ES6+ stuff, add end-of-sentence padding character.
* Fix to match standards
* Move the new code from boot to util
* Change from custom map/filter to $tw.utils.each
* Make `each` blocks multi-line
* Move the permalink handling to its own file
* Remove auto-navigation
* Revert "Remove auto-navigation"
This reverts commit ca1e5cf387.
* Add unit tests for negative indexes in json ops
* Allow negative indexes in JSON operators
Negative indexes will be treated as counting from the end, so -1 means
last item of the array, -2 means next-to-last item, and so on.
* Add documentation for negative indexes
* Add support for running in-browser tests via playwright in GitHub CLI
* `ci.yml` was updated to store the report so that it can be inspected on failure
* `ci-test.sh` was added as an expansion to `test.sh` which installs and runs playwright
* `playwright.spec.js` does the actual verification of opening the test TW edition in browser, waiting for the tests to finish and then verifying it has indeed passed
* `playwright.config.js` Playwrifht configuration
* Add support for running in-browser tests via playwright in GitHub CLI
* `ci.yml` was updated to store the report so that it can be inspected on failure
* `ci-test.sh` was added as an expansion to `test.sh` which installs and runs playwright
* `playwright.spec.js` does the actual verification of opening the test TW edition in browser, waiting for the tests to finish and then verifying it has indeed passed
* `playwright.config.js` Playwrifht configuration
* Fix file permissions for `ci-test.sh`
* Increased node version for github actions to support playwright
* Add installation of the required @playwright/test library during CI test execution
* Fix encodebase64 and decodebase64 filters
The documentation for encodebase64 says that the input is treated as
binary data, but in fact the input is being treated as text data, with
an extra UTF-8 encoding step being performed first.
Likewise, the decodebase64 documentation says that it outputs binary
data, but in fact it will do a UTF-8 decoding step before producing
output, which will in fact garble binary data.
This commit changes the behavior of encodebase64 and decodebase64 to
match what the documentation says they do. It also adds an optional
`text` suffix to both filters to keep the current behavior.
Finally, an optional `urlsafe` suffix is added to both filters to allow
them to use the "URL-safe" variant of base64 (using `-` instead of `+`
and `_` instead of `/`).
* Try to fix failing test
Turns out a little more than this is going to be needed.
* Fix binary base64 encoding, including unit tests
* Update base64 filter documentation
* Can't use replaceAll, too new
Have to use String.replace with a global regex instead
* Replace uses of window.btoa() in rest of code
Since window.btoa() is not available under Node.js, we'll replace all
uses of it with the $tw.utils.base64encode() function that now works
correctly for binary data.
* Add link to UTF-8 glossary definition at MDN
* Passing test
* Failing test
* Fix test
It still fails, but now fails correctly
* Fix refreshing transcluded functions (#7755)
We store the previous result of the filter function and recalculate it
when the transclude widget needs to be refreshed, refreshing the widget
if the result is different.
---------
Co-authored-by: Jeremy Ruston <174761+Jermolene@users.noreply.github.com>
Co-authored-by: Robin Munn <rmunn@pobox.com>
* Initial Commit
* Update docs
* Add support for elseif blocks
* Another test
* WIP
* Change from `{%if%}` to `<%if%>`
See discussion here - https://talk.tiddlywiki.org/t/proposed-if-widget/7882/64
* Don't use the widget body as the template if a list-empty widget is present
See discussion here - https://github.com/Jermolene/TiddlyWiki5/pull/7710#issuecomment-1717193296
* List widget should search recursively for list-template and list-empty
* Allow block mode content within an if/then/else clause
* Update docs
* Add from-version tag to docs
* Change favicon format from ICO to PNG
* Revert renaming `./favicon.ico`
Keep the backwards compatible file name `./favicon.ico` (though they will actually be in PNG format now).
* Add SVG template for creating favicons
Add `favicons.svg`, the template for creating the current PNG favicons, along with some helpful information about it in `favicons.svg.md`.
* Add source Inkscape SVG
Add source Inkscape SVG as an example of image tiddler in tw-com
* Add failing test for list widget with counter-last
The failing test appends a value to a list without changing the rest of
the list, and the counter-last value doesn't get updated correctly when
that happens. Also added another test, which passes, testing removing
the last item of the list, just in case of a regression.
* Improve unit tests for counter-last list widget bug
The unit tests were looking very similar to each other, so I factored
out the common code and made them into simple data-driven tests.
* Fix bug where counter-last fails in list widget
The only scenario that was failing was when counter-last was used, but
the list was strictly appended to with no other changes made. The one
unit test that was failing now passes with this fix.
* Improve bugfix to list widget counter-last
Now we only refresh the last item if it was truly necessary.
Currently I'm building these files myself for use on tiddlyhost.com.
I'm thinking it would be nicer if they were built and distributed by
TiddlyWiki's own build automation, so this is a step towards that.
The two new files that are created, "empty-external-core.js" and
"tiddlywikicore-<version>.js" will appear alongside the existing
"empty.html" and "empty.hta" when the TiddlyWiki site is deployed.
I noticed these inconsistencies in the tiddlywiki.info json files
while working on the previous commit and thought I'd fix them for
the sake of neatness and tidiness.
This contains whitespace changes only, so git diff -b should be
empty.
Includes:
- Remove some trailing whitespace in several files
- Fix incorrect indenting in one file
- Add end of file newlines in two files
* Update _Timimi_ Extension and executable by Riz.tid
Include the line
* The native host requires a component installed on the host computer, outside the browser.
So it is clearer there are two components to be installed and access to the local machine is implied.
* Update _Timimi_ Extension and executable by Riz.tid
Added blank line
* Use 'translink' macro on widget attribute 'subtiddlers' to make it browsable by scrolling
* Avoid the styling of the translink macro by directly transcluding
---------
Co-authored-by: btheado <btheado@mailinator.com>
* Factored out variable invocation tiddlers into separate tiddlers
* Document the variable attribute value behavior more completely
---------
Co-authored-by: btheado <btheado@mailinator.com>
* Update Widgets in WikiText.tid
Added Minimalist link to [[Substituted Attribute Values]] so the new method is also listed.
* Update Widgets in WikiText.tid
removed see also
* Refactor parse mode out of getTransclusionTarget
* Refactor missing transclusion target
* Add a test to avoid regressions on the handling of macros vs procedures
* Refactor condition logic
* Preparing to split getTransclusionTarget into two separate functions
* Split getTransclusionTarget into getTransclusionTargetIncludingParseTreeNodes
* Resolve another inefficiency
The transclusion target was sometimes being parsed twice when transcluding as text/plain
Associated test results are also made more consistent
* Simplify method naming
* Neatening up