* Initial commit
Everything is draft.
* Fix test execution
* Fix and test missing target handling
* Use the ubertransclude widget for the wikitext transclusion syntax
* Changed transclude widget in binary parser to ubertransclude
* Add a test for custom action widgets
* Don't worry about ordered attributes
The changes in 0bffae2108 mean that we don't need to explicitly maintain the ordered attributes
* Remove need to explicitly clear widget mapping variable when invoking overridden widget
* Use ts- prefix for system slot names
* Add a definition for the value widget just so that it doesn't cause errors
Of course, it doesn't actually need to be a JS widget, it could be a wikitext widget...
* Add support for positional parameters
* Ubertransclusion positional parameters should be based on name, not position
* Add support for shortcut syntax for positional transclusion parameters
* Importvariables should skip parameters widgets
* Refactor transclude widget before uberfying it
* Refactor ubertransclude functionality into transclude widget
* Replace ubertransclude widget with transclude widget
* Add wikitext shortcut for new-style function definitions
* Allow brackets to be omitted for function definitions with no parameters
* Add pragma rule for parameters declarations
* Remove erroneous "tag" property
* Add support for accessing function parameters as name/value pairs
* Be as permissive as possible with parameter names
Previously restricted to upper and lower case, digits and dash and underscore
* Rewrite some tests to use the shortcut syntaxes
* Mustn't allow commas in parameter names
* Fix crash when transcluding an undefined variable
Thanks @pmario
See https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1114692359
* Unquoted parameters should not eat a succeeding comma
Fixes#6672
* Remove extraneous code
* Allow the let widget to create variables starting with $
* Fix addAttributeToParseTreeNode handling of ordered attributes
* Reuse attribute objects when executing custom widgets
* Fix importing of function definitions
* Fix parameter handling
* Introduce genesis widget for dynamically creating widgets
See the "RedefineLet" test for a contrived example of usage
* Change tiddler separator used in wikitext tests
Underscore looked ambiguous; I kept typing dashes by accident
* Cache parse trees when transcluding variables
* Fix bug with empty strings ignored in $tw.utils.stringifyList/parseStringArray
I will pull this out into a separate PR. Fixing it doesn't cause problems for the core but I imagine it might cause issues for 3rd party code.
* Fixes to enable the transclude widget itself to be overridden
There are two big changes here:
Replace the previous "ts-wrapper" mechanism, which we had been using to redefine custom widgets inside their definitions to prevent recursive calls. Now we've got the genesis widget we can instead control recursion through a new "$remappable" attribute that allows the custom widget mechanism to be skipped.
We also extend the slot widget to allow a depth to be specified; it then reaches up by the indicated number of transclusion widgets to find the one from which it should retrieve the slot value.
* Fix genesis widget example
* Use enlist:raw to preserve duplicates
* Don't create variables with value undefined for missing parameters
* Fix variable retrieval bug with test harness
* Improve recursion detection
While retaining backwards compatibility
* Experimental support for custom filter operators
Just as we can define custom widgets we can also define custom parameterised filter operators
* Add visible transclusions component and demo
Very useful to see transclusions explicitly
Makes a good demo of a super-complicated widget override.
* Genesis widget should pass raw attributes onto child widget...
...so that it can more efficiently handle refreshing itself.
* Use consistent parse tree node property for params
* Extend transclude widget to work with old-style macros and use it for the macrocall shortcut syntax
* Clarify that the recent changes allow functions to be invoked with the double bracket syntax
In other words, the transclude widget distinguishes between functions and macros and handles the parameters appropriately
* Make the macrocall widget delegate to the transclude widget
* Switch to using \procedure to define new-style macros, and \function for custom filter operator functions
I now need to update the OP!
* Fix visible transclusion example
* Remove obsolete code
Left over after refactoring
* Better backwards compatibility for legacy recursion marker
Fixes the problem with tag dropdowns @btheado
* Fix stringifying/parsing string arrays containing newlines
A very old bug.
Fixes the ActionListOpsWidget problem @btheado
* Transclude: replace paramNames/paramValues with more robust JSON payload
More details at https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1123719153
* Rename internal "unknown" filter operator so that users cannot invoke it
* Detect recursion by tracking widget tree depth
The old recursion marker approach was very slow, and didn't catch test cases like editions/test/tiddlers/tests/data/transclude/Recursion.tid
* Use \widget for custom widget definitions, and remove need for angle brackets
Need to do some refactoring of all those isFunctionDefinition/isProcedureDefinition/isWidgetDefinition flags into a single property
* Rename <$value> widget to <$fill>
* Require $$ for custom widgets, and that overridden JS widgets must exist
See https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1133637763
* Fix invocation of JS macros
* Experimental update of the parse-tree preview visualisation
An experiment to try out using the new JSON operators for rendering the JSON parse tree that we get back from the wikify widget.
As usual with these experiments, this one is going to require quite a lot more work to finish up:
* The formatting is via direct styles rather than classes
* The formatting for attributes and properties is not yet completed
* The same thing needs to also be done to the widget tree preview
* Procedures and widgets inherit whitespace trim setting from their definition
* Missed off 22e7ec2381
* Require period prefix for custom filter operator functions
To ensure that custom filter operators cannot clash with future core operators.
* Allow custom functions to be invoked as attributes
* WIP
* Remove unneeded test tiddler
* Make is[variable] and variables[] operators resilient to fake widgets
* Fix importvariables to work with setvariables as well as set (they are aliases)
* Add support for $:/tags/Global
* Remove accidental commit 6cc99fcbe3
* Add utility function for parsing macro parameter definitions
* Introduce true global variables
The basic idea is that if we don't find a variable `foo` then we fallback to retrieving the value from the tiddler `$:/global/foo`, if it exists.
This allows us to replace the usual importvariables-based mechanism for global definitions, avoiding cluttering up the variable namespace with every macro.
In order to permit subprocedures to be overridden, we also introduce a mechanism for conditional definitions: preceding the word definition|procedure|function|widget with a + causes the definition only to occur if the specified variable doesn't already exist. In the next commit we'll apply this mechanism to the tabs macro
* Convert the tabs macro into a global
So far it appears to be totally backwards compatible... In practice, I think maybe this and the conversion of the other macros should go into a separate subsequent PR.
* Change to `?` for conditional definitions
* Fix tabs global so it doesn't crash when viewed directly
* Test showing how to un-override a core widget
* Cleaning up after f636349007
* Minor cleanups
* Clean up unknown filter
* Introduce function operator for calling functions
Can invoke any functions, not just those start with a period. And can pass zero parameters (in contrast when invoked as a custom filter operator there's no way to omit the first parameter).
* Use underscores for new system fields for global variable tiddlers
For consistency with `_canonical_uri`; unlike many system fields, the behaviour of these fields is baked into the core JS code.
* Refactor $parameters widget
The objective is to add a $depth attribute so that it is possible to reach up to retrieve the parameters of ancestor transclusions. However, doing so requires changing the encoding of parameter names so that it is not possible for a user parameter to clash with an attribute like $depth. So now we have to double up dollars on any attribute names seen by the parameters widget, just like with the transclude widget itself.
* Fix refreshing of global variables
Global variables access within attributes will automatically trigger a refresh if the attribute text changes, but that wasn't happening for transclusions.
* Remove support for $:/tags/Global
It is not needed now that we have true global variables
* Typo from f513b403fe
* Make slot fill data available to transclusions
Allows transcluded content to dynamically process <$fill> widgets within the calling transclusion
* Mark docs as v5.3.0
* Simplify metaparameters implementation
* Fix typo
* Adjust naming of transclusion metaparameter
* Fix up handling of slot/fill for custom widgets
Previously we were wrapping the body in an implicit `<$fill $name="ts-body">` widget
* Add format:json operator
I've been finding this useful for debugging, and it kind of goes with the JSON operators
* Docs: JSON operators and tweaks to genesis widget
* Docs: format:json
Also tweak to the behaviour of format:json if the input string is not valid JSON
* Fix#6721
* Revert "Fix #6721"
This reverts commit b216579255 which was committed to the wrong branch
* Fix new selection tracker to return relative coordinates
* Make use of type attribute consistent
* Docs: Transclude widget
* Simplify the fill widget
We can rely on the default processing in the base class
* Slot widget: be more defensive about negative depth values
* Parameters widget: Be defensive about negative depths
* Protect against excessively recursive functions
* FIx transcluding of functions
This first implementation concatenates the results of the filter (with no separator) and then wikifies the result.
The test in this commit is quite interesting...
* Tweak semantics of JSON operators to match #6932
This allows us to later bring in the optimisations without breaking backwards compatibility.
* Revert obsolete changes to boot.js
* Fix inadvertent whitespace change
* Remove tests related to obsolete changes to boot.js
Should have been part of 2f494ba152
* Revert changes to parse tree preview
This implementation requires #6666
* Add test to show that global widgets need not use the _parameters field
* Disable overriding core widgets in safe mode
* Coding style tweak
* More comments
* Fix caching of parse variables/macros/procedures
* Transcluded functions should operate on the entire store
* Refactor filter recursion detection to avoid an unneeded wrapper function
* Fix error in 25312b3e32
* WIP
* Revert "WIP"
This reverts commit 8654dfc679.
* When transcluding functions, pass an empty item list to the filter, and just return the first item
* Rejig genesis widget to be easier to use
* Parameters widget: protect against negative $depth
* Docs updates
* Docs updates
* Tweak comments
* Add custom view template body for globals, and a new sidebar tab under "more"
And also a custom view template title that greys out the $:/global/ part of the title
* Update function operator to return the input list if the function is missing
* Remove negation from function operator
This implementation was not useful.
* Tests and docs for function operator
* Docs tweaks
* Improve indentation
See https://github.com/Jermolene/TiddlyWiki5/pull/6666#discussion_r967655251
* Missing tests for parameters widget
* Fix visible transclude
* Docs update
* Docs typo
* Huge Documentation Update
Not quite finished, but definitely on the home stretch
* Slight optimisation to user defined widgets
* Remove implementation of $:/globals/
Performance with this implementation is inherently poor because of the need to perform a wiki lookup for each child widget created.
* Docs clarification
* Docs update
* Some widget.js cleanups
* Remove support for conditional definitions
It was introduced for use cases associated with the global mechanism that was dropped in e3d13696c8
* Docs updates
* Revert change to setwidget docs
* Docs update
* Docs updates
* Clarify/simplify some tests
* More docs updates
* Fix doc file locations
* Docs updates
* Revert modified date of docs that have only had minor tweaks
* Docs typo
https://github.com/Jermolene/TiddlyWiki5/pull/6666#discussion_r990811220
Thanks @btheado
* Transcluding functions: fix missing parameters passed as undefined
Thanks @btheado – see https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1276187372
* Parameter parenthesis should be mandatory in function/procedure/widget definitions
See https://github.com/Jermolene/TiddlyWiki5/pull/6666#issuecomment-1280404387
* Attempt to build this branch with CI
* Add release note etc for 5.3.0
* Temporary new release banner for v5.3.0
* New New Release Banner
* New test for undefined parameters
* Adjust modified times of docs tiddlers to make them easier to find
* Update release note
* Add parenthesis to the visible transclusion definition
Parenthesis were made mandatory in 5194b24108Fixes#6998
* Fix macrocall refresh issue
It turns out that this.transcludeTitle is always truthy, even if we are transcluding a variable
Fixes#7001
* Filter run prefixes should use widget.makeFakeWidgetWithVariables
* Docs typo
Thanks @twMat
* Docs: clarify function operator invocation
See discussion at https://github.com/Jermolene/TiddlyWiki5/issues/6991#issuecomment-1301703599
* Docs: Update \define pragma to cover named ends
* Docs: move tiddlers to correct directory
* Add support for named end markers for procedures, functions and widgets
* Docs note about nested macro definitions
* Rename test
* Fix detection of empty transclusions
See https://talk.tiddlywiki.org/t/exploring-default-tiddler-links-hackability-in-v5-3-0/5745/25?u=jeremyruston
* New test missed off a45349cc99
* Refactor wikified function tests
* Refactor function invocation
* Introduce new widget helper function to evaluate variables.Functions are evaluated as parameterised filter strings, macros as text with textual substitution of parameters and variables, and procedures and widgets as plain text
* Refactor the function operator and unknown operator to use the new helper
* Use the new helper to evaluate variables within filter strings, thus fixing a bug whereby functions called in such a way were being returned as plain text instead of being evaluated
* Refactor the transclude widget to use the new helper
* Update tests
* Fix positional parameters in widget.evaluateVariable()
This should clear up the remaining anomalies in #7009, let me know how you get on @btheado
* Remove 5.2.8 release note
* Fix nonstandard initialisation code for fill/parameter/slot widgets
* 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
* Restructure and optimize `CheckboxWidget` docs
* Minor improvements
* Use new tab macros and some reformatting
* Fix bug in widget-attr-link tooltip
* Minor layout tweaks
* First try at a Widget Documentation Style Guide
* Add new tabs-related macros to overview
* Update CSS, add tm-scroll and rename macros
* Avoid RSoE with tm-scroll, improve CSS for tab-links
* Handle doc-tab-links within tab tiddlers better
* Reflect macro name changes in their docs
* Update Widget Doc Style Guide
The list-links by default show caption of listed tiddlers instead of their title. So in the example here
```
<$macrocall
$name="wikitext-example-without-html"
src="""<$set name="digit-pattern" value="[0-9]{2}">
<<list-links "[regexp:title<digit-pattern>]" field:"title">>
</$set>"""/>
```
you need to use field:"title" to see the correct results visually.
* Initial Commit
* Fix crash with invalid patches
See https://github.com/Jermolene/TiddlyWiki5/pull/7290#issuecomment-1453155311
Thanks @yaisog
* Add words and lines options to makepatches (#7326)
* Prevent infinite loop for single-word texts (#7327)
* Add docs and examples for the new operators (#7328)
* Create makepatches Operator.tid
* Improve wording
* Doc and examples for the new operators
---------
Co-authored-by: yaisog <m@rcuswinter.de>
* Changed headings under Content
Made them H2 and changed the wording a bit.
* Move the list of filters to another tiddler
There is a tiddler for Extended Listops Filters, and the list should go there, so that the Widget tiddler does not get too overcrowded.
* Rework comparison to ActionSetFieldWidget
* Add notes on de-duplication
* Update link to Extended Listops Filters
* Updated link to Extended Listops Filters
* Update link to Extended Listops Filters
Duh. This was the most important one.
* Remove repeated links to widgets within one section
* Re-create original tiddler with a redirect notice
* Excised the examples into a separate tiddler
Also created an "examples" subdirectory under tw5.com/tiddlers/widgets.
* improve Formatting in Wikitext
* formatting add more info about semantic meaning
* back to 1 tiddler Formatting in Wikitext
* single backtics are used for code - fix typo
* feat: allow deleteTiddler to not modify fs
* refactor: add new function that merely delete file in cache, and let old func calls it
* fix: self is undefined
* add alert when zoomin error occurs plus protection to avoid TW getting stuck when it happens
* Reverted additional logging and made the zoomin just silently and safely ignore the issue
* Add description of field date format
* Add description of field date format and improvements
Due to the re-creation of the PR all changes to this file got mushed together.
* Improve 'Formatting in WikiText.tid'
Add highlight formatting example.
Simplify code formatting example to be single line without nested list.
Improve bold, italic, and underscore formatting examples to be consistent with others.
* Improve 'Styles and Classes in WikiText.tid'
Add more examples, including the default highlight styling when no style or class is defined, as introduced in #6877
* Add initial tm-import-tiddler test
* Add failing test for tm-import-tiddlers importTitle #7234
* Add failing test for tm-import-tiddlers autoOpenOnImport #7234
* Use event.paramObject instead of event to access tm-import-tiddlers options. Fixes#7234.
* Added a clarifying comment
* Allow mixing tm-import-tiddler params in both event and event.paramObject
* Added import test using tv-auto-open-on-import variable
* Removed stray punctuation
* Update BrowseWidget.tid
Made sure all references to use of the `<$browse>` widget were changed to `<$browse/>`
Which possibly caused this problem, now closed https://github.com/Jermolene/TiddlyWiki5/issues/7223
If not closed other widgets may work
* To documentation standard
Replaced `The content of the `<$browse>` widget is ignored.`
`The content of the <<.wid BrowseWidget>> widget is ignored.`
To restore documentation standards as per @Jermolene
* correction of the toc and toc-body macro: tiddler without toc-link field can now be overriden + nested the macros
* reverted macro nesting
.. to be able to override the toc-body macro
* reverted tabs to spaces
* Allow boot code to remain as tiddlers
* Sync up with tiddlywiki5.html
* Add \whitespace trim
* Add download-full-wiki button
* Simplify ExportTiddlyWikiCore code
No longer needs the if-boot-code-is-missing part of the code.
* Replace space btw icon and button text with CSS
* Add automatic sync of tiddler changes in browswer-storage on restoration of server connection in tiddlywebadaptor
* Fix issue with new tiddlers not being synced.
* Fix issue with new tiddlers not being synced.
* Added logging
* Modified browser-storage plugin. Refactored into utility class.
* Modified browser-storage plugin. Refactored into utility class.
* Fix: browser storage config tiddler created on load only if not already exists
* Fix: Removed extra indent in util.js
* Rename markdown to markdown-legacy
* Change how default renderWikiTextPragma value is displayed
To prevent out-of-sync, dynamically display the default value of
renderWikiTextPragma from the shadow tiddler instead of hard coding
the text in the "usage.tid".
* Repackage remarkable-based markdown plugin as markdown-legacy
- Rename plugin title to $:/plugins/tiddlywiki/markdown-legacy
- Add support for "text/markdown" MIME type and set that as the default
when creating new markdown tiddlers
* Create new markdown plugin
* add support to text/markdown MIME type
* remove linkify and linkNewWindow config options
- linkify feature should be controlled by "extlink" TW parser rule;
enabling markdown's linkify option will interfere with parsing
- remove the possibility to open external links in the same tab/window
to match TW's behavior
* Ignore latex-parser wikirule in rednerWikiTextPragma
* Prevent camel-case link text from generating a link
* Update editions/markdowndemo
* Produce better parse tree
* Improve markdown/tiddlywiki integration
- widget block should not interrupt paragraph
- ignore tw-syntax links inside markdown-syntax links
- remove repeated renderWikiTextPragma parsing
- more efficient findNextMatch when examining tw rules
* Update user docs
* Replace includes() with indexOf() for legacy browsers
Remove [[Open Collective]] from the tags of itself.
This breaks the heirachy of the TOC and produces an entry that will not open its own list see HelloThere > Open Collective
* Added failing tests for #7155
* Pass getVariable options through to the widget method. Fixes#7155
* Whitespace fix
* Added tests to verify macro parameters work inside filter, reduce, and sortsub operators
* Fixed and enhanced italian translation
* Fixed and enhanced italian translation
* Delete type: text/vnd.tiddlywiki
* Delete type: text/vnd.tiddlywiki
* Update and rename application%2Fjavascript.tid to application_javascript.tid
* Update and rename application%2Fjson.tid to application_json.tid
* Update and rename application%2Fx-tiddler-dictionary.tid to application_x_tiddler_dictionary.tid
* Update and rename image%2Fgif.tid to image_gif.tid
* Update and rename image%2Fjpeg.tid to image_jpeg.tid
* Update and rename image%2Fpng.tid to image_png.tid
* Update and rename image%2Fsvg%2Bxml.tid to image_svg_xml.tid
* Update and rename image%2Fx-icon.tid to image_x-icon.tid
* Update and rename text%2Fcss.tid to text_css.tid
* Update and rename text%2Fhtml.tid to text_html.tid
* Update and rename text%2Fplain.tid to text_plain.tid
* Update and rename text%2Fvnd.tiddlywiki.tid to text_vnd.tiddlywiki.tid
* Update and rename text%2Fx-tiddlywiki.tid to text_x-tiddlywiki.tid
* Fixed and enhanced italian translation
* Fixed and enhanced italian translation
* Changed en-GB to ''en-GB''
* Fixed and enhanced italian translation
* Fixed and enhanced italian translation
* Fixed and enhanced italian translation
* Fixed and enhanced italian translation
* Update NewJournal.multids
* Create NewJournalTags.tid
* Delete Advanced/Matches
* Update SideBar.multids
* Fixed and enhanced italian translation
* Fixed and enhanced italian translation
* convert rendertiddler(s) in sever .info
* Conversion of rendertiddler(s) in tiddlywiki.info for editions/empty
Conversion of rendertiddler(s) in tiddlywiki.info for editions/empty
* Conversion of rendertiddler(s) in tiddlywiki.info for editions\server-external-js
Conversion of rendertiddler(s) in tiddlywiki.info for editions\server-external-js
* Convert Rendertiddler(s) in tiddlywiki.info in tw5.com, tw5.com-doc
Convert Rendertiddler(s) in tiddlywiki.info in tw5.com, tw5.com-doc
* Convert rendertiddler(s) editions\twitter-archivist\tiddlywiki.info
Convert rendertiddler(s) editions\twitter-archivist\tiddlywiki.info
* Convert rendertiddler(s) in editions\katexdemo\tiddlywiki.info
Convert rendertiddler(s) in editions\katexdemo\tiddlywiki.info
* Correct for extra space in editions\katexdemo\tiddlywiki.info
* Convert rendertiddler(s) editions\highlightdemo\tiddlywiki.info
* Convert rendertiddler(s) in editions\tw.org\tiddlywiki.info
Convert rendertiddler(s) in editions\tw.org\tiddlywiki.info
The content is still there since there are links to it from various
places, but let's not have its card appear in the list of savers
shown in the "Saving" tiddler any more.
Removing just the "Saving" tag would have been sufficient, but I
think it makes sense to remove the other tags as well.
* fix table overflow for small screens
* add PRE word-break for Chrome and Safari on mobile
* remove comment, since it looks better for all browsers now
* add 1 space to trigger the new automatic build
* change small screen settings only for tiddler frame
* Fix Bug #7054: Reuse of $:/core/ui/EditTemplate/fields broken
This fixes Bug #7054 by creating a new variable
`safeNewFieldValueTiddlerPrefix` that is always set to a valid,
temporary prefix. This variable is used within `$action-deletetiddler`.
If the passed `newFieldValueTiddlerPrefix` variable is empty a new
prefix will be generated by the same logic that creates the original
`newFieldValueTiddlerPrefix` variable.
To be even more defensive, the prefix-filter was prepended with another
prefix filter that limits matches to `$:/temp/NewFieldValue`. This
prevents a bogus but non empty value in `newFieldValueTiddlerPrefix`
to delete arbitrary tiddlers.
* Add a default for `newFieldValueTiddlerPrefix`
This fixes a problem that was identified while fixing bug #7054. If the
tiddler `$:/core/ui/EditTemplate/fields` is transcluded directly and
`newFieldValueTiddlerPrefix` is not set, it will be generated. This
makes sure that this value is defined. It can not be redefined
unconditionally because if this tiddler is transcluded from
`EditTemplate.tid` these two tiddlers must agree on the same prefix
because the clean-up is duplicated between `EditTemplate.tid` and
`fields.tid`.
This would make `safeNewFieldValueTiddlerPrefix` obsolete, but I leave
it in there to make the macros safe and prevent any problems if the
`newFieldValueTiddlerPrefix` is unset by a later change.
* feat: option to allow click on modalBackdrop to close modal
* feat: allow switcher modals closable
* feat: allow use caption field as modal title
* refactor: make maskClosable a variable
* fix: use "true"
* fix: code style
* docs: add description about maskClosable
* fix: convention is to have double quotes for strings in the TW core
* refactor: using a "mask-closable" field on the modal tiddlers instead of as a message parameter
* docs: move to modal tid
* Update WidgetMessage_ tm-modal.tid
* Add focus attribute to $select widget
This address https://github.com/Jermolene/TiddlyWiki5/issues/7070
* Update SelectWidget.tid
Update the documentation for $select widget to include the new attribute: focus
* Fix popup location for tables
This commit introduces the `popupAbsCoords` option to the $button widget
and implements an absolut coordinate format.
Coordinates for popups are stored in the format `(x,y,w,h)`. These
coordinates are relative to the offset parent of the element that
defines the popup.
This commits adds a second format `@(x,y,w,h)`. Coordinates specified in
this format a relative to the pages root element.
The `popupAbsCoords` option of the $button widget enables the use of
this coordinates.
* Unify the declaration of the RegEx for parsing the popup-position
The regular expression was declared in three locations with the same
content. This commit supplies a new function `parseCoordinates` in
`popup.js`. This function returns the parsed coordinates and understands
the classic/absolute coordinates.
This function is used in `reveal.js` and `action-popup.js` to parse the
coordinates.
* Add documentation for coordinate systems
* Consolidate creating coordinate strings
The Popup object now contains a `buildCoordinates` method that can be
used to build coordinate strings. It takes an "enum" for the coordinate-
system to use. This makes everything easily extensible and prevents the
use of magic values.
* Add tests for `parseCoordinates` and `buildCoordinates`
* Add `tv-popup-abs-coords` to `collectDOMVariables`
This will make the absolute coordinates available for the
`DraggableWidget` and the `EventCatcherWidget`.
* Add documentation for the `tv-popup-abs-coords`
... to the `DraggableWidget` and the `EventCatcherWidget`.
* Fix crash when generating a static version of the TW
The Popup class is not initialized in `startup.js` if `$tw.browser` is
not true. After having consolidated the facilities for parsing
coordinate strings into `popup.js` this breaks because the static build
needs to parse coordinate stings even if no Popup module is initialized.
This commit solves this problem by making `readPopupState`,
`parseCoordinates` and `buildCoordinates` static methods of `popup.js`.
It also adds a comment to these functions to show that these can be called
safely even if the Popup-Class is not initialized.
* make more sidebar tabs configurable vertical or horizontal
* more sidebar tabs orientation German translation
* remove language specific texts for more-horizontal setting
* Add More -> tabs horizontal setting to Hidden Settings
* Added failing linked-list test for #7059
* Fixed linked-list remove bug #7059
* Added failing linked-list test for #7059
* Switched LinkedList to use Map
* Removed this.last from LinkedList
* Removed this.first from LinkedList
* Switching to deleting old LinkedList entries
* LinkedList rewritten to be better
* Using null as LinkList ends to reduce hashing
* Using adhoc map... cause it's better than ECMA6 Map
* compliance with TiddlyWiki coding conventions
* Made link-list tests confirm the prev links
Co-authored-by: btheado <brian.theado@gmail.com>
* pluginlibrary - minimal test server
* changes suggested by Jeremy
* use tmp instead of the files directory
* new tmp-route
* rename edition to test-pluginlibrary
* fix .gitignore
* remove StoryList tiddler
* improve GettingStarted text
* rename edtion test-pluginlibrary back to pluginlibrary
* remove 2 tiddlers that shouldn't be there
* allow $:/core/ui/ControlPanel/Basics to work in the story river + some docs about utility classes
* apply changes suggested by twMat
* fix some typos and change the base padding for tables
* fix a typo and remove whitespace
* remove TODO in base CSS
* allow user defined setting for retain-story-order button in ControlPanel
* improve hidden setting wording
* adjust all languages with new "ControlPanel DefaultTiddlers BottomHint
* fix typos and snippet filename
* Fix popup location for tables
This commit introduces the `popupAbsCoords` option to the $button widget
and implements an absolut coordinate format.
Coordinates for popups are stored in the format `(x,y,w,h)`. These
coordinates are relative to the offset parent of the element that
defines the popup.
This commits adds a second format `@(x,y,w,h)`. Coordinates specified in
this format a relative to the pages root element.
The `popupAbsCoords` option of the $button widget enables the use of
this coordinates.
* Unify the declaration of the RegEx for parsing the popup-position
The regular expression was declared in three locations with the same
content. This commit supplies a new function `parseCoordinates` in
`popup.js`. This function returns the parsed coordinates and understands
the classic/absolute coordinates.
This function is used in `reveal.js` and `action-popup.js` to parse the
coordinates.
* Add documentation for coordinate systems
* Consolidate creating coordinate strings
The Popup object now contains a `buildCoordinates` method that can be
used to build coordinate strings. It takes an "enum" for the coordinate-
system to use. This makes everything easily extensible and prevents the
use of magic values.
* Add tests for `parseCoordinates` and `buildCoordinates`
* Add `tv-popup-abs-coords` to `collectDOMVariables`
This will make the absolute coordinates available for the
`DraggableWidget` and the `EventCatcherWidget`.
* Add documentation for the `tv-popup-abs-coords`
... to the `DraggableWidget` and the `EventCatcherWidget`.
* Add tests for [is[variable]] and "faked" variables
See GH #6303
* Make is[variable] and variables[] operators resilient to fake widgets
Co-authored-by: jeremy@jermolene.com <jeremy@jermolene.com>
This just brings the documentation for these commands more inline with
other deprecations, plus offers a link to the recommended alternative
as well as the explanation for deprecation
* add default settings for styled inline SPANs
* change color names in palettes and vanilla-base
* change parser behaviour if custom class is used
* tc-inline-style will only be set if no other custom setting is appliead
* Add tests for inline-styles
* add one more test
* remove space after if
* allow global keyboard shortcuts to override all other shortcuts by providing a special field
* rework the global shortcuts taking priority
* replace bool option with options object in KeyboardManager's keydown handler
* update keyboard shortcut documentation to add information about the new priority setting
* add support for priority global keyboard shortcuts to code mirror
* update the feature's docs to point out it was/will be introduced in 5.2.4
* rollback unnecessary change
* add polish translations to changes introduced in two commits:
* ca762ab7a6
* a453121e96
* add polish translations to changes introduced in d7b9e6fb02
* add polish translations to changes introduced in 0b1fc8e574
* Fix bug with checkbox widget and `list` field
The `list` field is stored as a list and frozen against modifications,
and getFieldList() returns it directly without creating a copy. So
before we modify it, we need to make a copy so we're not modifying a
frozen list. This bug doesn't manifest with custom fields, which are
stored as strings, only with the built-in `list` field.
* Fix checkboxes referencing non-existent tiddlers
This fixes the "tiddler is undefined" error when a checkbox's listField
property references a tiddler that doesn't (yet) exist.
* Better logic for checkbox listField handling
If the field contains an array, then it's almost certainly referenced
elsewhere and needs a defensive copy made. If it contained a string,
then it's safe to modify without making a defensive copy.
* Update to the fr-FR translation of the render command
* Add a Caption entry to the fr-FR translation of EditTemplate strings
* updates to the fr-FR translation of the default command help
* Add a Caption to the fr-FR translation of SideBar-related strings
* Update to fr-FR translation strings for Control Panel
* Update to Misc fr-FR translations strings
* Updates to the Fields-related fr-FR translation strings
Since https://github.com/nodejs/node/issues/40537 users are more likely to encounter IPv6 connections.
IPv6 URLs require square brackets around raw addresses.
With this change VS Code correctly hyperlinks the message `Serving on http://[::1]:8080`
* Added description and examples comparing :map vs. :map:flat
* Make it clear :flat is just a suffix on the :map filter run
* Reword the description comparing :map and :map:flat
* Swap the :map and :map:flat columns in the examples table
* Removed mention of how to express ':map' in terms of ':map:flat'
Now both the insertafter and insertbefore filter operators have similar
wording in their documentation tiddlers, making it more clear that the
"start" and "end" suffixes are only available in the two-parameter form.
- Add translations for untranslated items
- Unification of terms (translations differed by multiple translators)
- Add signature of `author` (Includes translation assistance for dajya-ranger. I also added his signature)
It's a lot of updates, but I've tested it on my TiddlyWiki.
Help etc. are still lacking.
* Implement insertafter operator (like insertbefore)
Currently, the behavior of insertafter if the target is not found is to
append the inserted tiddler to the end of the list, like insertbefore
does. In the next commit, we'll add a suffix to customize what both
insertafter and insertbefore do when the target is not found.
* Add failing tests for insertafter suffixes
Also includes tests for insertbefore suffixes (start/end), since we'll
be implementing both of those at the same time.
* Add start/end suffixes for insertafter/before
The tests that exercise the start/end suffixes now pass.
* feat: update snippet fields
https://github.com/Jermolene/TiddlyWiki5/discussions/6670
* chore: upgrade files
* docs: update readme
* fix: usage of mhchem
* fix: add back katex.without-font-face.min.css
https://github.com/Jermolene/TiddlyWiki5/pull/6671#issuecomment-1116287404
* style: format json with 4 space
* style: format json with 1 space
* style: restore old format
* feat: update css by using new one and delete font face
* update developer info
* move implementation notes to plugin
* update TW style tiddler
* update katexdemo edition
* chore: delete unused files
* Update developer.tid
* Update developer.tid
Co-authored-by: pmario <pmariojo@gmail.com>
* this commit should fix#6731. It trims field and tag whitespace
* this commit increases tag space visibility as mentioned in 002d47b4d9
* fix a missing HTML end tag
* fix $:/Manager select element max width
* Add `main` and `article` roles to stories and story.
* Support `role` and \aria-checked` in buttons, and integrate with sidebar tabs.
* Add `region` role to sidebar, and set caption as `aria-label`.
* Add accessibility roles and labels to static templates.
* Update test fixtures with new ARIA tab attributes.
These improvements rely on the new JSON operators to be useful. Those improvements were originally in #6522 but now there's an updated version in #6666. Managing things is simpler if I merge these changes now
* feat: expose isMobile to info
* feat: allow access browser info from $tw.browser
* fix: adapt typo
* refactor: only export selected properties
Jermolene 5 hours ago
The trouble is that the properties of bowser.browser are not under our direct control, and so subsequent updates to Bowser might overwrite important properties of our own. I'd rather explicitly import the properties that we choose to support.
* refactor: put things into `is`
* Fix for Bug #6618
This Commit fixes Bug #6618. It is a little bit more complicated than
using one tiddler to store the new value for a field. Because the
following can happen:
* The user types "not-a-date" into the field value of a simple text field.
* The user now selects a field name that uses a HTML5 date editor. The
Editor will show no date because the value cannot be parsed.
* The user saves the tiddler by clicking the checkmark.
Now the date-field contains the value "not-a-date" but the user was not
aware that this will be added. The edit control showed no date (because
the value was invalid) and the user assumed the field was empty and
won't be added to the tiddler.
To prevent this, every kind of field editor gets its own storage tiddler.
Its name is derived from the SHA256-hash of the name of the tiddler that
is returned by the Field Editor Cascade. That way every editor in the
cascade is only seeing its input. As long as the default setup (with one
default editor) is used, everything works like in 5.2.1.
This commit also fixes the bug that the after adding a field the
field-type input box was not focused again.
* Update Documentation for Field Editor Cascade
The fix for bug #6618 makes the handling of the tiddler backing the edit
operation much more complicated. See previous commit "Fix for Bug #6618"
for more details.
* Fix: eventcatcher widget - variables can be undefined
* Fix: selectedNode can be an svg where offsetLeft ... are undefined
* Make check for offsetLeft short
* remove second collectDOMNodeVariables
* Fix lazy all template with user defined macro cause error
Fixes https://github.com/Jermolene/TiddlyWiki5/issues/6637
* fix: exclude the SJCL library when saving
@Jermolene said:
The construction -[type[application/javascript]library[yes]] is used in the core as a rather clumsy way to exclude the SJCL library when saving. The same construction is in the usual $:/core/save/all filter too.
It's possible that we should review unintended side effects of that behaviour, but here we should leave it alone.
A user was wondering how to add a background image to the password screen of an encrypted wiki (https://talk.tiddlywiki.org/t/background-image-on-login-page/3145). It was not obvious that an encrypted wiki is considered as "loading", so I updated this tiddler to hint at this.
I also added a hint to the other system tags $:/tags/RawMarkup.. since they can also be used for the same purpose.
Adding tiddler 'How to update TiddlyWiki to the latest version' which transcludes the existing tiddler 'Upgrading'.
Some people search for term 'update' instead of 'upgrade' .
This batch includes:
- Minor corrections of metadata from my previous translations
- Translation updates for tiddlers tagged WikiText
- New translations for Parser Modes documentation
- Update of outdated core tiddlers translations (ie Open sidebar tab)
* Documentation for indeterminate checkboxes
* Unit tests for indeterminate checkboxes
* Implement indeterminate checkboxes
* Simplify indeterminate checkbox example
* Slightly simplify refresh logic for indeterminate
That five-line if statement can be turned into a simple assignment.
* Use "yes" and "no" for checkbox indeterminate attr
This makes the "indeterminate" attribute of the checkbox widget work the
same way as other boolean attributes of other widgets.
* Fix bug with invertTag attribute
One place in the checkbox widget code was checking invertTag for
Javascript truthiness rather than the value "yes", which could have
produced incorrect results if anyone wrote invertTag="no". Fixed.
* fix: formatDateString with [UTC]xxx didn't use passed date
* test: for formatDateString UTC
* fix: not possible to test internal date without hijack
Expected '20220410073037515' to be '20220410073037516'.
* fix: hour
* Give plugin authors the chance to extend a palette
* Update CSS.tid
* Update ColourMacro.tid
* Update CSS.tid
* Update ColourMacro.tid
* Add whitespace trim to colour macro
* Do not remove localstorage items while looping
While looping over all the browser storage items by index, the items
should not be removed because removing alters the index positions. The
item following the removed one will be skipped by the loop.
Instead, accumulate a list of keys to remove and remove them after the
loop.
* Implement full delete support for browser storage plugin
Before, deletes only worked for tiddlers which are only present in the
localstorage. Now deleted tiddlers are marked in localstorage using an
empty string value.
At startup, the localstorage tiddlers with empty strings will be deleted
from the wiki if they are still present. If they are already gone from
the wiki, then the blank localstorage entry will be deleted.
* Document drawbacks to using '[all[]]' and provide an alternative
* Show server response as error message in put saver
I'd like to use this on Tiddlyhost so users can get more informative
error messages if the put save fails for whatever reason.
This would make the put saver a viable replacement for the legacy
upload saver, which is what Tiddlyhost uses currently.
I'm not sure what standard WebDAV servers do, but I would guess they
don't provide any response body for put requests, and hence this
patch would have no impact for a standard WebDAV server. (That said,
it would be a good idea to test it to make sure there aren't any
unexpected regressions for WebDAV or other put saver compatible
services.)
* Access http response status directly in put saver
There's no need to extract it from the error string created inside
tw.utils.httpRequest if we can get it directly from the xhr object.
* Add 'Save starting' notification for put saver
There are two related changes here:
1. Add a 'Save starting' notification for the put saver, similar to
the upload saver. Not sure if it was intentionally omitted for
the put saver, but it seems reasonable to have the two be
consistent.
2. Send the 'Save starting' notifications in both upload and put
save right before the actual request is sent. While testing I
noticed that the save might have failed before the "Save
starting" notification appeared which doesn't seem useful.
* Docs for CheckboxWidget list and filter modes
This documents the `listField` and `filter` attributes.
* Tests for checkbox widget list mode
* Implement checkbox list mode
* WIP on implementing filter attr for checkboxes
* Improve CheckboxWidget documentation
* Refactor checkbox tests: move function to top
The big findNodeOfType function belongs at the top of the describe
block, so that the checkbox tests are more compact and easy to read.
* Move checkbox widget tests to end of file
The checkbox widget tests are long and involved, so we'll move them to
the end of the file so they aren't a huge block of code you need to read
past to find the next test.
* Improve formatting of CheckboxWidget docs
The \define() calls that are short enough to fit on one line should be
put on one line, for readability. The ones that are quite long have been
kept on multiple lines, for readability.
* Added more passing tests for checkbox widget
* Add some failing tests for checkbox widget
The filter mode where neither checked nor unchecked is specified (in
which case an empty filter result means false and a non-empty result
means true) is not working yet.
* Make failing tests pass
* Uncomment (and improve) test for field mode
We're now ready to start working on making this test pass. (There was
also one small mistake in the test, which this commit corrects).
* All tests now passing
* No indeterminate checkboxes in simple modes
The simple checkbox modes (field and index) should not produce
indeterminate checkboxes. That should be reserved for the advanced modes
(list and filter).
* Minor improvement to unit tests
* Allow indeterminate checkboxes in list and filter modes
This change may require some tweaks to the unit tests to be able to test
it properly.
* Slightly easier to read tests
* Two more tests for list mode
* Greatly simplify unit test code
Turns out there's no need to jump through Object.getPrototypeOf hoops.
* Minor simplification of unit test
* Add tests for indeterminate in list & filter modes
With this, the set of tests is complete.
* More tests to specify list mode behavior
* Unfocus tests so all tests run
* Update docs to say "new in 5.2.3" insetad of 5.2.2
* Move checkbox widget tests into their own file
The test-widget.js file was getting too long with all the checkbox
tests added, so we'll move the checkbox tests into their own file.
* Add checkbox widget tests for index mode
This commit also adds tests for index list mode (with a listIndex
attribute that will parallel the listField attribute) but leaves them
commented out because they don't pass yet: the code that implements the
listIndex attribute hasn't been written yet).
* Add listIndex attribute to checkbox widget
* Remove code that lets checkboxes be indeterminate
This reverts commit 6afcb151be. We will
add this code back in a later PR.
* Remove indeterminate tests for checkbox widget
We're currently not allowing indeterminate checkboxes, so there's no
need for the tests that check for them.
* Document listIndex attribute of CheckboxWidget
* adds class tc-checkbox-checked when checked
* equivalent to #2182 (RadioWidget)
* also applies `tc-checkbox` to checkboxes by default, always
* Move macro definitions inside example text
Since the wikitext-example-without-html macro creates a new parsing
context, it's safe to have macro definitions inside it. That makes these
examples a lot easier to write, and to read.
* Remove all mention of indeterminate checkboxes
Also improve the documentation a little bit: mention what happens in
list mode if neither checked nor unchecked is specified.
* Move filter mode to bottom of checkbox docs
The `filter` attribute should be under both `listField` and `listIndex`
rather than being between them. The documentation for filter mode should
similarly be after the `listIndex` documentation.
* Improve docs for `class` attr of checkbox widget
This brings the wording of the `class` attribute more in line with how
it's worded in the RadioWidget docs.
* Fix bug with list tiddlers
If neither checked nor unchecked was specified, then the behavior should
be "empty = false, non-empty = true". But if *both* are specified yet
neither is found, then the checkbox should be unchecked (false). It had
been falling through to the "non-empty = true" behavior, which was wrong.
* Improve listIndex example of checkbox widgets
* Remove unused function from test-widget.js
Co-authored-by: Tobias Beer <beertobias@gmail.com>
* Make choice selections save to state tiddler
Currently choice selections save to current tiddler (Saving), which marks TW as needing to Save. This fixes that by saving the working list to a state tiddler.
* Change state tiddler to $:/state/gettingstarted
* adding trim: large macros and languageswitcher
* adding trim: KeyboardShortcuts.tid
* Hidden space to force some macros to be inline
This'll be our little secret. This single byte will actually allow
the uglifier to trim over thirty bytes while condensing.
I know I'm not supposed to optimize TW for some 3rd party plugin,
but I'm the one doing the whitespace trim work, so I'll give myself
this.
* More consistent nested quoting
* First batch of \whitespace trim
Along with some quotation improvements to compensate for the new bytes.
* Undid experimental, new-age, gen-Z formatting
* daring to whitespace trim a placeholder macro
* switching to more consistent nesting of quotes
* Fix field edit bug
This fixes the field edit bug mentioned in
https://talk.tiddlywiki.org/t/possible-field-editing-bug-in-5-2-2/2884 .
* Revert "Fix visual regression in #6511"
This reverts commit c920960942.
* Add new class `tc-edit-fieldeditor`
This class must be added to input and select elements that are used as
field editors. This class reduces the line height of the input element
if it is displayed within the `tc-edit-fields` part of the edit
template.
This allows the same input and select elements to be used for editing
and adding fields.
* Add the new class `tc-edit-field` to the docs
The example in `Customizing EditTemplate Field Rendering` now uses the
new CSS classes.
* tabs activate v5.2.2 tests add whitespace trim
* tabs-macro -- add indentation and code preview
* tabs-macro -- replace substitutions with variables
* split tabs-macro macro into different elements
- tabs-button
- tabs-tab
- tabs-tab-list
- tabs-tab-body
- tabs ... main macro
* tabs: add cascade to button and reaveal widgets
This will allow users to create "default tab" configurations similar to the tiddler info tab handling.
* tabs-macro -- add code_body: yes
* adding trim: Last of the macros I think
* adding trim: EditTemplate and ItemSidebarIcon
* adding trim: control panel basics
* Another hidden space to guide the uglifier
* More consistent nested quoting
* Reconciling tests for \whitespace trim
* adding trim: AdvancedSearch Standard
* adding trim: tiddlers that had SOME trim already
* making all existing trim tiddlers consistent
* Forgot to properly indent this widget
* I don't THINK that space was important...
but I'm putting it back in
* Forgot one whitespace trim
* Allow the rendering of fields to be extended
This commit extends the `$:/core/ui/EditTemplate/fields` tiddler to
use a new cascade (Field Editor Cascade) to allow customizing the
rendering of the field editor.
It provides a default element for the cascade that displays the standard
EditTextWidget as a fallback. That way, the implementation is completely
backwards compatible. The `currentTiddler` and `currentField` variables
are available in the transcluded tiddler. This has the additional
benefit, that not only the `EditTextWidget` can be used. The user can
use a dropdown-list or even something completely crazy. As long as it
can be put into a tiddler that updates the field, it will be fine.
* Make `select` Tags in Fields look like the rest
This patch updates the CSS to make `tc-edit-texteditor` usable on
`select`-tags as well.
I'm not sure what `-webkit-appearance: none;` is for, but it hides the
DropDown-arrow in Chrome and makes the select-tag hard to discover. I've
changed the css to only apply it to the input tag. Maybe it can be
removed altogether.
* Add documentation for the Field Editor Cascade
* feat: extend tm-open-window to allow opening the same tiddler in multiple templates, and introduce tm-close-window to close browser windows
* fix: use a windowID parameter to uniquely identify a window and introduce tm-close-all-tiddlers
* fix: whitespace
* fix: update variable
* Move GettingStarted to the right place
Previous batch of translations changed the wrong file
* Revert #6467 for GettingStarted
* Delete $ _editions_tw5.com_doc-macros.tid
Wrong name for the updated tiddler
* Update $__editions_tw5.com_doc-macros.tid
* Translation updates
* Update of 2 tiddlers referenced on HelloThere
* 5 more tiddlers, referenced in WikiText.tid
* Support specifying insertbefore position title as parameter
Closes: #6133
* Update insertbefore calls with new variable parameter syntax
See-also: 96b52606a (Support specifying insertbefore position title as parameter, 2022-02-21)
* feat: extend to support a selector attribute identifying the DOM element to be used as the drag handle
* fix: remove redundant variable declaration
* fix: remove extranneous variable declaration
* corrected [!is[draft]] to be a proper complement
* Ensuring [is[draft]] and [!is[draft]] are complements
* Made [is[draft]] more analogous to .isDraft()
* Support case insensitive matching in prefix/suffix operators
Support `caseinsensitive`/`caseinsensitive` suffixes in the following
filter operators:
* prefix
* suffix
* removeprefix
* removesuffix
The suffixes have the same behaviour as in the match operator.
Closes: #6407
* Do not filter titles if suffix/removesuffix operand is empty
Issue: #6407
* Rename v9 highlight.js plugin to highlight-legacy
* Add ES6 version of highlight.js plugin
* highlightblock.js
- ensure this ES6 plugin will not cause error on legacy browsers
- update the code to use new highlight.js APIs
- change class tagging to match more closely with highlight.js
- allow users to add language definitions as JS "highlight" modules
* styles.tid
- update to match v11
* howto.tid
- add instructions on how to add language definitions as JS modules
* highlight.min.js, default.min.css
- version 11.4.0 common languages only
* Remove extraneous whitespaces
* Update readme.tid
* Update bundled languages
bundled: common + apache + nginx + latex + dockerfile + fortran
* Update highlight-legacy subtiddlers' titles
* Touch up highlight-legacy docs
* Touch up highlight plugin docs
* Fix pre block styling
- add "hljs" class to <pre> so the element can be styled
* Failing test
* Fix underlying problem
* Less naive fix
Now we make sure we maintain the sort order of the titles array when adding a new tiddler
* Fix failing tests
* Refactor filter tests to repeat them with different store orderings
* Revert "Fix failing tests"
This reverts commit ee03ee57f5.
* Refine fix to retain stylesheet ordering
The order of tiddlers in the HTML file uses localeCompare(), and that determines the insertion order. So if we want to be compatible with older versions we have to use localeCompare() to order tiddlers, not a plain sort()
* Don't sort shadow tiddlers
Instead rely on the existing ordering
* Fix failing tests, take 2
I think that all of these changes are explained by the store no longer retaining insertion order, but now using localecompare ordering
* Fix tests from #6327
* Support direct style attributes on the element widget
* Fix tests
Not all parse tree nodes have an "orderedAttributes" member (eg. the error message generated at 5613bcc884/core/modules/widgets/transclude.js (L73-L75))
* Ensure ordering isn't insertion dependent if orderedAttributes is missing
* Add docs
* Delete $__core_ui_ViewTemplate_title.tid
fr-FR modifications to ViewTemplate/title can now be done through cascades mechanism.
* fr-FR New ViewTemplate title cascade
Replacement for old fr-FR ViewTemplate/title shadow tiddler
* fr-FR Better ViewTemplate title cascade
Updated according to @Jermolene review.
* [fr_FR] Add utility macro for translated links
* Update Saving.tid
* Add TiddlyFox Apocalypse translation
* Update TiddlyFox.tid
* Translate Community Links Aggregator.tid
* Update Forums.tid
* Update Developers.tid
* Update HelloThere.tid
* Update GettingStarted.tid
* Update Community.tid
* Update tw5.com edition macros from uplink
Some text in these macros must be translated.
* Various translation updates
* Clean utility fields I had left over
* Clean older files too
* feat: extend tm-open-window to support optional top and left position for new browser window
* fix: whitespace correction
* Update WidgetMessage_ tm-open-window.tid
This reverses an August 2015 change in 68e15c10641e2eda1e64cf29954786a07326a920; the original rationale was wrong: there is nothing related to the navigator widget in the implementation of the tm-rename-tiddler message
* Markdown: Let WikiText parsing handle the creation of LaTeX widgets.
When embedding LaTeX snippets in inline HTML nodes, such as TiddlyRemember
macros or HTML tables, the parsing of latex nodes breaks the WikiText by
splitting it into pieces around the latex node.
This commit fixes the issue by converting the Remarkable katex nodes back to
text, using a newline to indicate a block katex snippet. This is then re-parsed
by the WikiText KaTeX plugin.
TESTED:
Created a test wiki with:
```
$ node tiddlywiki.js test --init markdowndemo
$ node tiddlywiki.js test --listen
```
* Verified markdown + KaTeX support still works as expected.
* Verified that embedding LaTeX snippets in inline HTML works (e.g. `<a
href="https://example.com/">$x^2$</a>`).
* Verified the markdown + KaTeX support works as expected with renderWikiText
set to `false`.
* Style: Remove spaces between if and opening parentheses.
* feat: add support for animationDuration attribute of paramObject for tm-scroll message
* docs: added docs for animationDuration attribute of tm-scroll message
* fix: use .utils.hop instead of Object.hasOwnProperty()
* fix: do not check if object before calling utils.hop()
* fix: syntax
* Added macros for displaying wikitext examples in a table
* Added documentation for WikiText parsing
* Changed recognize to British spelling
* Add links to the new wikitext parser tiddlers
* Add discussion of dynamic links to 'Linking in WikiText'
* Added macro and styles for displaying a 'bad' example
* Use .bad-example macro in 'Linking in WikiText'
* Convert existing warnings to use .bad-example macro
* Link ViewWidget formats to similar filter operators
* Merge the ViewWidget columns and use the tip macro instead
* Reference the format filter operator in ViewWidget
* More accurate language in the ViewWidget docs
The problem was that v5.2.0 trimmed the whitespace from $:/core/templates/store.area.template.html which we'd previously been relying on during the import.
This change still allows v5.2.2 to import encrypted pre-v5.2.0 wikis
Fixes#6330
* fix: handle drag events ourselves in chrome when it adds pseudo file objects to the event
* fix: corrected typo in comment
* fix: coding style
* fix: formatting and remove comments
* Add NavigatorWidget example
* Moved NavigatorWidget example into the 'Creating SubStories' tiddler
* Fixed link: NavigationMechanism => HistoryMechanism
* Add a snippet to visualise faulty stylesheets
As discussed in https://github.com/Jermolene/TiddlyWiki5/issues/6176, a faulty stylesheet can propagate and break several other stylesheets. This can be tricky to debug in a wiki with a lot of custom stylesheets.
This wikitext snippet will display a list of the stylesheets created/modified by the user and will display a red cross next to the one causing a parsing error.
* Improve the css code and add a message
This commit add a short message that provide guidance on how to fix the CSS error(s).
* Added documentation tiddlers for reduce filter run prefix
* Make filter text box wider so long filters fit better
* removed some duplicate words
* Restored the :reduce filter run prefix tip
* Support macro params in filter run prefixes and support substitution for variables set by filter run prefixes
* feat: add support macro parameters and variable substitution for all filter run prefixes
* fix: rename options argument to opts for disambiguation
* feat: add support for macro params to cascade filterrun prefix
* fix: issues with drag and drop (false positives in detection for files being dropped) introduced by Chrome 96
* fix: call dragEventContainsType method more consistently.
* fix: call dragEventContainsType method more consistently.
* tw5.com : Fix typo in ActionListopsWidget.tid
* tw5.com : update modified field of ActionListopsWidget.tid
When editing a tiddler outside TW itself, this doesn't change automatically the modified field.
* tw5.com : Fix typo in contributing.tid
* tw5.com : update modified field of Contributing.tid
When editing a tiddler outside TW itself, this doesn't change automatically the modified field.
* tw5.com : Fix typo in list.tid
* tw5.com : update modified field of list.tid
When editing a tiddler outside TW itself, this doesn't change automatically the modified field.
* Initial Commit
* Set currentTiddler and ..currentTiddler for filter evaulation
* Precompile the filters for performance
* Add explicit test for empty result when no filter passes
* Use the cascade filter run prefix to choose the view template body template
* Use the cascade mechanism to choose between the edit and view templates
* Simplify cascade filter
Thanks @saqimtiaz
* Add control panel UI for inspecting the template cascades
* Refactor import listing and plugin listing as alternate body templates
As suggested by @pmario
* Refer to $:/core/ui/{View|Edit}Template via their associated config tiddlers
* Fix typo in previous commit
* Add demo of custom story tiddler template
* Tweak control panel wording
* Standardise "Story Tiddler Template" nomenclature
* Add a cascade for the editor template body
* Add a cascade for the view template title
* Avoid unwanted whitespace
* Add a cascade for dynamically choosing tiddler icons
* Correct tag names. Add missing tags
* Update _muritest_ by Simon Huber.tid
Auto PR didn't include this.
* Update _TiddlyServer_ by Matt Lauber.tid
Fixing tag
The first parameter of the operator examples macro is used for
constructing unique state tiddler titles. The cycle, log, and
match operators had duplicates, causing examples to share state
with each other.
* $let widget added and tested
* Documentation for $let, doc improvements for $vars
* let properly avoids refreshing when possible
* $let Changes as recommended by others
* Removed superfluous super method call
Also improved $let test
* Extends :map filter run prefix to provide the variables index, revIndex and length to bring it into line with :reduce
* update :maps examples
* docs: fix formatting issue with documentation
* feat: provide actionValue variable to actions fired by EditTextWidget
* also extend CodeMirror engine to set actionValue variable when invoking actions
* fix word used for the sidebar's "Open" tab header
"Otwórz" is a verb (to open), while "Otwarte" is an adjective (the ones which are open)
* fix "shadow tiddler" declension
* fix declension
* fix missing space
* fix declension
* fix invalid plugin version message to read better
Co-authored-by: Maurycy Zarzycki <maurycy@evidentlycube.com>
* Extend HTML tag parser to maintain an ordered array of attribute names
* Add some tests for repeated attributes
* Record entire attribute in orderedAttributes array so that we can work with duplicated attributes
* Add action-setmultiplefields and setmultiplevariables, and extend action-sendmessage
* Add getfield operator
* Remove getfield operator
See discussion at https://github.com/Jermolene/TiddlyWiki5/pull/6130#issuecomment-949911439
* Add docs
* Adjust whitespace
* Add support for assigning multiple indexes to action-setmultiplefields
* Added missing trigonometrics filter operators
This PR adds support to trigonometry operators, allowing to create spider graphs and other geometric shapes with filters.
* Adds the missing trigonometric filter operators
This PR adds support to the missing trigonometric filter operators (cos, sin, tan, acos, asin, atan, atan2), allowing to create spider graphs, [pie charts, donut charts, polar charts](https://ffoodd.github.io/chaarts/pie-charts.html) and other geometric shapes with filters, which was previously not possible without add-ons.
Example :
`[[2]cos[]] = -0.4161468365471424`
See also this radar chart made in wikitext by @saqimtiaz using the new trigonometric operators :
https://saqimtiaz.github.io/sq-tw/temp/radar-chart-demo.html
* Add documentation for the Trigonometric Operators
Accompanies code changes #6127
* Fix formatting of atan2 Operator.tid
Removed two empty lines at the end of the tiddler
* Add examples for the trigonometric operators
Accompanies code changes Jermolene#6127
* Fix version in the doc for trigonometric operators
This PR fix the content of the documentation tiddlers regarding trigonometric operators (#6131).
<<.from-version "5.1.20">> was changed to <<.from-version "5.1.21">>
* Fix formatting of atan2 Operator.tid
Removed two empty lines at the end of the tiddler
* Add missing parameter to atan2 operator
The atan2 operator needs two parameters (Binary Mathematics Operators), this PR adds the second one that was missing.
See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2 for more technical info on the atan2 function.
* Make filter operator examples easily editable
* Add 'Reset' button to filter operator examples
* Only display the reset button when filter has changed
* Introduce '.doc-example input' class rather than re-use tc-advanced-search to make input wider
* Grab focus for the filter text box
* Fix firefox ctrl-z/undo issue by replacing list widget with filter transclusion
* Replace spaced indent with tabs to make it consistent with the other code
* Added missing trigonometrics filter operators
This PR adds support to trigonometry operators, allowing to create spider graphs and other geometric shapes with filters.
* Adds the missing trigonometric filter operators
This PR adds support to the missing trigonometric filter operators (cos, sin, tan, acos, asin, atan, atan2), allowing to create spider graphs, [pie charts, donut charts, polar charts](https://ffoodd.github.io/chaarts/pie-charts.html) and other geometric shapes with filters, which was previously not possible without add-ons.
Example :
`[[2]cos[]] = -0.4161468365471424`
See also this radar chart made in wikitext by @saqimtiaz using the new trigonometric operators :
https://saqimtiaz.github.io/sq-tw/temp/radar-chart-demo.html
* Add documentation for the Trigonometric Operators
Accompanies code changes #6127
* Fix formatting of atan2 Operator.tid
Removed two empty lines at the end of the tiddler
* Add examples for the trigonometric operators
Accompanies code changes Jermolene#6127
* Fix version in the doc for trigonometric operators
This PR fix the content of the documentation tiddlers regarding trigonometric operators (#6131).
<<.from-version "5.1.20">> was changed to <<.from-version "5.1.21">>
* Fix formatting of atan2 Operator.tid
Removed two empty lines at the end of the tiddler
* Added missing trigonometrics filter operators
This PR adds support to trigonometry operators, allowing to create spider graphs and other geometric shapes with filters.
* Adds the missing trigonometric filter operators
This PR adds support to the missing trigonometric filter operators (cos, sin, tan, acos, asin, atan, atan2), allowing to create spider graphs, [pie charts, donut charts, polar charts](https://ffoodd.github.io/chaarts/pie-charts.html) and other geometric shapes with filters, which was previously not possible without add-ons.
Example :
`[[2]cos[]] = -0.4161468365471424`
See also this radar chart made in wikitext by @saqimtiaz using the new trigonometric operators :
https://saqimtiaz.github.io/sq-tw/temp/radar-chart-demo.html
This version of the project is not maintained. I've noted this and added a link to Arlen Beiler's community reference. I suppose it could be deleted entirely, but might be useful for historical purposes?
* add Polish translation
* tweak Polish translations to make certain things moree readable
primarily changed translation of "story river" to keep using the English
phrase, but also some other phraes that were awkward when I used the
translation
* add polish flag icon
* add polish translation notes
* replace 'ukryte tiddlery' with 'tiddlery-cienie'
Co-authored-by: Maurycy Zarzycki <maurycy@evidentlycube.com>
The problem was that the innerwiki template included the tiddler $:/plugins/tiddlywiki/railroad, which was omitted from the wiki. Unexpectedly, missing tiddlers were rendered by the jsontiddler widget as an empty object {}. The fix is to always include the title when the tiddler is missing.
Also cleaned up the template to remove unneeded tiddlers
* Optimise wiki.sortTiddlers()
* Remove local changes to test-filters.js that have now been made on master
Makes the subsequent merge easier
* Fix bug with numeric sorts of textual values
* Make stamp-dropdown reorderable by list-tagged-draggable macro
* Add stamp-dropdown ItemTemplate tiddler
* Make stamp-entries editable by ctrl-click
* Update stamp-dropdown-item-template.tid
* Add `tc-editortoolbar-stamp-button` class to stamp button
* Make stamp-dropdown look like before
* Update base.tid
* Plugins tab in control panel display tabs using filter instead of hard coded list
* Update ControlPanelPlugins.tid
The two entries `[[$:/core/ui/ControlPanel/Plugins/Installed]] [[$:/core/ui/ControlPanel/Plugins/Add]]` were removed from list filed as per @Jermelon confirmation!
* Create SystemTag_ $__tags_ControlPanel_Plugins.tid
Update the SystemTags documentation tiddler
A first attempt to write up the consequences, including the impact on broken JS macros. The problem is that there's not really a simple fix that we can give.
The best I can think of is not good enough: a $:/config/ tiddler that globally controls whether the transclude widget uses the new selective refreshing.
This reverts commit 17b4f53ba2 according to Github Desktop.
git checkout that commit
revert commit in GitHub Desktop
git switch -c revert-sse
uncommit in Github Desktop
switch to master, bringing changes
resolve deletions with command line
* Add support for JSON-formatted tiddler store, and make it the default
The change to `getTiddlersAsJson()` is to allow experimentation
* Move JSON tiddlers into their own store area, and fix support for encrypted tiddlers
Also add a dummy old-style store area for backwards compatibility
The current arrangement is that JSON tiddlers will always override old-style tiddlers.
* Use the deserialiser mechanism to decode the content
* Refactor $:/core/modules/deserializers.js before we start extending it
Cleaning up the helper function names and ordering
* Drop support for the "systemArea" div
It was only used in really old v5.0.x
* Update deserializer to support JSON store format and add some tests
* Life UI restrictions on characters in fieldnames
* Add another test case
* Correct mis-merge
* Remove toLowerCase() methods applied to fieldnames
* Insert line breaks in output of getTiddlersAsJson (#5786)
Rather than have the entire store on one line, insert a line break
after each tiddler.
* Refactor #5786 for backwards compatibility
* Only read .tiddlywiki-tiddler-store blocks from script tags
Prompted by @simonbaird's comment here: https://github.com/Jermolene/TiddlyWiki5/pull/5708#discussion_r648833367
* Clean up escaping of unsafe script characters
It seems that escaping `<` is sufficient
* Add docs from @saqimtiaz
Thanks @saqimtiaz
* Docs tweaks
* Remove excess whitespace
Thanks @simonbaird
* Fix templates for lazy loading
* Remove obsolete item from release note
* Clean up whitespace
* Docs for the jsontiddler widget
* Fix whitespace
Fixes#5840
* Comments
* Fix newlines in JSON store area
* Remove obsolete docs change
Co-authored-by: Simon Baird <simon.baird@gmail.com>
* Fix problems with building single-file wiki using external-js template
* core/templates/external-js/tiddlywiki5-external-js.html.tid,
core/templates/external-js/save-all-external-js.tid,
core/templates/external-js/save-offline-external-js.tid
core/templates/external-js/load-external-js.tid:
Fix#5343. Exclude client-server plugins in tiddler imports and to
specify a working URL for loading tiddlywiki5.js from local disk.
Mirror save/all and save/offline templates in the regular server
edition.
Fix#4717 (tiddlywiki5-external-js.html.tid)
* core/modules/saver-handler.js:
Need the change to make single file autosave work with the external-js
template.
* editions/server-external-js/tiddlywiki.info:
Provide external-js related build targets.
* core/language/en-GB/Snippets/ExtJSReadme.tid:
Temporary doc to supplement TW5.com's external-js section. Demonstrate
that upgrade could be done on single-file wikis with an externalized
TW core.
* core/language/en-GB/Snippets/GetTiddlyWikiJS.tid:
Documentation. Meant to be included in every wiki and to help end
users acquire tiddlywiki5.js.
* Pre-configure save-wiki template for end-users
* Remove the newline character at the end of the file.
* Trim "template" value in saveWiki()
* Safeguard the code from extraneous whitespaces in transcluded result.
* Rename and add versioning to downloaded tiddlywiki core JS
* Rename "tiddlywiki5.js" to "twcore-VERSION.js"
* Preload $:/config/SaveWikiButton/Template tiddler with the required
external-js template value.
* Update external-js user documentation
* Add "download tiddlywiki core JS" menu item to the "cloud" button.
* Update build's target defintions associated with external-js template.
* Move the user doc to the tw5.com edition.
* Coding style update
* Undo template name changes
* Correct text & fill colors on some disabled buttons
* Add new "export tiddlywiki core" button under page control tools
This new button can export tiddlywiki's core JS from user's wiki as
long as the wiki is served with the regular "root" template. The
button will be ineffective, thus disabled, if the core has already been
externalized by the "external-js" template.
With this button, a full standalone html wiki can obtain the matching
core JS without TiddlyWiki on node.js. Once this is done, the html wiki
can be converted to using the "external-js" template.
* Alternate version of "save tiddlywiki core for offline use"
This version will fire up a "Save File" dialogue box when clicked,
instead of directing the user to a helper doc for further instruction.
It achieves this by using the "download" attribute of the <a> html tag.
It works on most modern desktop browsers, but older browsers (e.g. IE)
may display the file instead.
* Adjust font-weight to match other menu items
* Merge two user documentations into one
* Add user-browser-cache=yes to --listen command
* Update "export tiddlywiki core" button hint
* Simpler implementation for switching btw online/offline core URL
Shave off one template by using filtered transclusion to control
online/offline core URL.
* Update user doc
Update the user doc to clarify that build index step is not needed to
initialize a new wiki.
* Rename twcore to tiddlywikicore
* Reformat the user doc
* Rework export-tiddlywikicore button
Popup an error message instead of disabling the button when export
core cannot be performed.
* Revert "Correct text & fill colors on some disabled buttons"
This reverts commit e7dbb7e712.
* markdown: Don't emit paragraph tags when a paragraph is "tight".
Motivation: Since the upgrade to remarkable.js (#3876), lists are rendered as
HTML like this:
```
<ul>
<li><p>One</p></li>
<li><p>Two</p></li>
<li><p>Three</p></li>
</ul>
```
The paragraph nodes insert blocks that break the visual flow of the list and are
unexpected e.g. compared to WikiText markup's rendering of a bulleted list.
Solution: remarkable.js annotates certain paragraph nodes as "tight", and in the
bulleted list case, the paragraph nodes wrapping the text of each list item are
marked tight.
remarkable uses the tight property to [elide paragraph tags in its
renderer](58b6945f20/lib/rules.js (L136-L142)).
This change implements the equivalent logic in TiddlyWiki's markdown rendering:
If a paragraph is marked tight, then we elide the `<p>` tag wrapping its children.
* Use ES5 Array.concat instead of ES6 spread operator.
* Add optional KaTeX support to the tiddlywiki/markdown plugin.
Uses the remarkable-katex plugin 1.1.8 by Brad Howes to enable KaTeX support if
the tiddlywiki/katex plugin is installed. Fixes#2984.
TESTED:
Created a test wiki with:
```
$ node tiddlywiki.js test --init markdowndemo
$ node tiddlywiki.js test --listen
```
* Verified markdown support works without the tiddlywiki/katex plugin enabled.
* Verified markdown support works with the tiddlywiki/katex plugin enabled.
* Verified KaTeX (both inline and blocks) work as expected when the
tiddlywiki/katex plugin is enabled.
* Mention remarkable-katex plugin usage in the readme Tiddler.
* Include the remarkable-katex license as a tiddler.
* Include the Remarkable license.
* Include unminified original source of remarkable-katex 1.1.8.
* Exploratory pass at adding support for macro params in filter operands
* whitspace correction
* rename varInfo to varTree for disambiguation
* Refactored parseMacroInvocation to be re-usable, performance improvements for variables with no params and tests
* Revised regular expression and removed spurious white space changes
* Revised regular expression and removed spurious white space changes
* More whitespace cleanup and added more tests for edge cases
* Added test for macro params with square brackets
* html-comment, that can be used in the pragma area
* add commentpragma test
* fix typo
* fix typo and change comments ab bit
* combine html-comment and pragma-comment and add some docs, how to use it
* Make docs simpler by removing caching info
* change h2 wording
* Make classic storyview work in new windows, too
* Make pop storyview work in new windows, too
* Make zoomin storyview insert and remove animation work in new windows, too
* Transclude widget: only refresh when transcluded text reference has changed, includes tests
* Refactor wiki.parseTextReference so it is re-usable for getting the parser info
* Re-arrange methods in wiki.js to improve diff readability
* fr-FR help for the use-browser-cache param of the listen command
* fr-FR dialog heading for drag&drop image import in editor
* fr-FR translations for PutForbidden & PutUnauthorized errors
* fr-FR translations for TiddlySpot and TiddlyHost saver information
* Update to fr-FR translations for named filters in $:/AdvancedSearch tab
* fr-FR translation update for the render command help
* fr-FR update to ModuleTypes translations
* fr-FR help update for the sse-enabled param of the listen command
* fr-FR update to ControlPanel Basics information
* fr-FR translation improvements to TiddlerInfo captions and hints
* fr-FR translation for the Layout Switcher caption
* fr-FR translation updates for Layout-related information
* fr-FR translation for ConfirmAction
* fr-FR for the captions related to tag input clearing
* Make currentTiddler variable consistent in subfilters and filter run prefixes
* Updated filterun prefix and subfilter operators to use ..currentTiddler instead of outerCurrentTiddler
* Merge
* Clean up
* More clean up
* Ensure image import works when type is not set, clean up post import actions
* Removed spurious new line
* For non image files insert a tiddler link
* Added documentation for new settings and features
* Update releasenotes 5.1.24
This includes changes up to 06-05-2021
* Incorporated feedback into release notes 5.1.24
Incorporated feedback and moved the '[[ActionPopupWidget]] to create floating popups that must be manually cleared' under widget improvements.
* Add :sort filter run prefix, docs and tests. Also extended .utils.makeCompareFunction with a flag for caseSensitivity.
* Documentation updates
* Move case sensitivity handling entirely to utils method so it is reusable
* Make filter run prefixes extensible
* Make filter run prefixes extensible
* Support rich suffixes for filter runs
* merged conflicts
* Pass suffixes to filterrunprefix
* add dynamic toolbar buttons + HowTo
* remove some whitespace.
* move howto and improve shortcut logic
* move howto
* add whitespace so it can be removed in an other PR.
Mention TiddlyHost and link to some documentation on the
configuration options.
Also remove the TiddlySpot control panel and backups links since
they no longer work.
Notes:
* The last three fields are no use for TiddlySpot or TiddlyHost, but
it's possible that someone, somewhere is still using the old
store.php from Bidix's UploadPlugin, and would miss them if they
were removed.
I'd be happy to remove them in a future PR, if it's decided they
can be retired.
(If they were removed, I could delete the last row here:)
https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot
* It's still called "TiddlySpot Saver" which I think is fine for
now. TiddlyHost might use a different saving method in future
so keeping the existing name seems best.
I updated the English text only. Will need some help with the
translations.
Summary:
- Mention that TiddlySpot is deprecated and doesn't allow site
creation any more. Suggest using TiddlyHost instead.
- Remove obsolete intructions about creating TiddlySpot sites.
- Misc editing/rewording/tweaking of existing TiddlySpot info
for tidiness and clarity.
- Add new information about saving on TiddlyHost.
- Add logos because why not..
Note: I usually prefer the non-camel case versions of Tiddlyspot and
Tiddlyhost, but decided to go with the CamelCase WikiWords here to
fit in with the existing conventions.
* Extend dropzone widget with optional actions invoked after tm-import-tiddlers message has been sent. Allows triggering an alternative UX for the import
* Allow restricting a dropzone to specific mimeTypes via mimeTypes and mimeTypesPrefix attributes
* Use a mimeTypesFilter instead of the mimeTypes and mimeTypesPrefix attributes
* Updated refresh handling
* Syntax cleanup
* Replace references to mimeType with content type for consistency with existing documentation. Update documentation for DropZone widget
* double quotes are no longer escaped in html bodies
* changed tiddlyweb's html-div-tiddler; documentation
French version still needs a translation though
* Replace css-escape-polyfill.js with escapecss.js utility module
* Add $tw.utils.escapeCSS() method and invoke that function within the
escapecss operator.
* Add test cases for the "escapecss" filter operator
* Fix $tw.boot.doesTaskMatchPlatform() so it works as expected if
a module's export.platforms contains more than one values
* Add missed files to the last commit
* The "tip" macro isn't designed to be used in a table cell (it generates a blockquote)
* We avoid full stops at the end of table entries or list items
It seems to be incredibly hard to police consistency with documentation but I think it's very important
@pmario we avoid using the details element because it doesn't remember its state across refreshes. It's not something that we should encourage people to use if they don't understand the limitations.
I also simplified the radio widget example because putting all the options on one line with a vertical bar separator is not a common way to display radio buttons.
We can now pass arrays of rule classes to the parser constructor, overriding the rules that would normally be used by the parser.
This allows us to create custom variants of the wikitext parser with their own content type.
It could also provide a basis for a new Markdown parser based on our existing wikitext parser but with new rules.
The default behaviour is unchanged, but if you write "yes" to
$:/UploadWithUrlOnly then it will assume it's possible to upload
with a blank username and password, as long as the host is set.
The motivation is to support a upload plugin compatible upload
service that uses some method to authenticate other than the legacy
upload plugin user/password params.
Without this patch, the user would need to enter something random in
the user and password fields for TW to decide the upload plugin can
be used.
* wikirules now use better macrocall parser
Before, wikirules would use a deficient macrocall parser which couldn't
handle certain types of arguments. Now it uses the same one that the
widget parser uses. Less code!
* style changes and removing weird switch statement
That switch statement made more sense in an earlier iteration.
* comment improvements
* oops, wikirule macrocalls could do ONE thing better
* '=' wasn't allowed for widget macros, but why?
Now they're allowed for both widget macros and macrocall macros.
* Delete TW5-firebase: TiddlyWiki5 for Google Firebase by Peter Neumark.tid
Delete file with illegal character in filename
* replace file without illegal character
* fixed ext
If image lazy loading is used with node.js the favicon is blank. The
line `-[!is[system]is[image]]` excludes only non system images from
begin saved as full tiddlers. But the `[is[image]]` line includes system
images as skinny tiddlers. The created HTML file has all system image
tiddlers (as the favicon) listed twice. And the skinny tiddler seems to
win in this case and breaks the display of the favicon.
This patch fixes this issue by excluding system images from the skinny
tiddlers list.
* Create server-sent-events.js
* Create sse-change-listener.js
* Implement server sent events
* Convert to ES5 and wrap in function
* Use the host string from tiddlyweb
* Improve comments in sse-server.js
* Can't use object reference as key
* Add retry timeout
* Fix a bug
* bug fix
* Fix formatting
* Fix ES5 compat
* capitalize comments
* more fixes
* Refactor tiddlywek/sse-server.js
* Extract helper functions for handling wikis and connections.
* Replace JSDoc comments.
* Fix formatting according to TW core.
* Simplify the logic for adding and removing connections.
* Fix formatting of tiddlyweb/sse-client.js
Fix formatting according to TW core.
* Fix formatting of server-sent-events.js
Fix formatting and comments following TW core guidelines.
* Extract a debounce function in sse-client.js
* Avoid using startsWith in server-sent-events.js
startsWith is part of ES2015, while TiddlyWiki uses the 5.1 dialect.
* New sse-enabled WebServer parameter
* If not set to "yes", disabled SSE request handling.
* Add documentation for the parameter in core/language/en-GB/Help/listen.tid
* Add new tiddler editions/tw5.com/tiddlers/webserver/WebServer Parameter_ sse-enabled.tid
* Disable polling for changes if SSE is enabled
* Add sse_enabled to /status JSON response
* Store syncer polling status in $:/config/SyncDisablePolling
* Handled disabling polling in core/modules/syncer.js
* Simply boolean logic in syncer.js
* Delete trailing whitespaces in syncer.js
Co-authored-by: Arlen22 <arlenbee@gmail.com>
* Cleaned up jasmine test suite output
Also testing for expected log messages, instead of just letting them print
to the console every single time, constantly making you think there's some
warning you need to worry about, and making all those dots not line up nicely.
* switched single quotes to double in collectLogs
* Outlines of the mem efficient linked list
Need to stop for now. Found problem with $tw.utils.pushTop that I need
consultation for.
* Link list throws when given non-string vals
* Think I got rid of the last LinkList infinite loops
* LinkedList push better; fixed coding conventions
* Cleaning up LinkedList code and tests
* Ready to ship new mem efficient Linked List
* Switching to double quotes in LinkedList
* add EventListeners in the render() method instead of the constructor
* scrollable widget: add EventListeners in render() method instead of constructor +
... move logic from constructor to render()
* linkcatcher: add EventListeners in render() instead of constructor
* fieldmangler: add EventListeners in render() instead of constructor
* edit-bitmap: initialise editorOperations in render() instead of constructor
* list-widget: initialise storyviews in render() instead of constructor
* vars widget: execute Widget.call(this) in render() instead of constructor
... not shure what this should do
* Update fieldmangler.js
* Update edit-bitmap.js
* Update linkcatcher.js
* Update navigator.js
* Update scrollable.js
* Update list.js
* Update vars.js
* Update EventCatcherWidget.tid
Changed "JavaScript events" to "DOM-initiated Javascript events".
Removed the quotes from `"event"`.
Tightened up some of the language.
* Update EventCatcherWidget.tid
Edited/reworded as per discussion(s).
* Replaced the 'resources' tab with: Editions, Plugin, Themes, Palettes, Other resources.
* Added tiddlers that lists the new categories to be used in the Community tabs tiddler
* Added three themes for in the Community Themes section of the community page.
* Added three community made edtitions to the Community Editions tabs of the community page.
* Removed David Giffords Obahiah by his request.
* Added two palettes into the Community Palettes tab.
* Changed the link of 'PETTIL - Forth for the Commodore PET' to webarchive as discussed in pull request #5116
* removed four tiddlers because of dead links.
* Changed the dead link in Tiddlydrive add-on by Joshua Stubbs to link to the projects github instead.
* Fixed titltes in the community tabs macro.
* Sorted all entries into their new categories, updates tags accordingly and moved tid files into new folders according to their new category.
* final edit for sorting
The image was received with a transparent background, but I adjusted it to give it a white background to ensure it is readable with all colour schemes.
* Add a hook to allow modifying the the behaviour creating tiddler paths
This is needed for Bob to use the core to generate tiddler fileInfo
I don't know if this is the best way to make the hook, but it works for what I need
* update th-make-tiddler-path arguments
the value is the current path, the parameter passed in is the original unmodified path so it is available to subsequent hooks
* jasmine: specify 'after' only in Node
The commands module is never executed in browsers and the 'after'
constraint caused a regression where tests were never run in the
browser.
* jasmine: give the startup module a name like all others
Fixes#5246. Now the reduce operator and :reduce filter run prefix will
both return empty output when their input is empty, so that both can be
chained together with the else operator or :else prefix.
* Update docs for Set Widget
This updates the docs for Set Widget to add a tip regarding a common source of misunderstanding for users, i.e. using Filtered List Variable Assignment and being confused as to why the value of the variable is in double square brackets.
* Corrected typos
* made private methods limited to module scope
* moved private methods to file bottom
* changed tests to run comperable array functions in parallel
* added comments
Documents the change to macro parsing from #5205
This builds on documentation changes made in the tw.com branch and is therefore based on that branch, but should not be merged before 5.1.23 is live.
* Changed the filterrunprefixes to use LinkedList
* Testing for Linked List
* Finishing touches to LinkedList
* Minor corrections to link-list coding style
* Corrected for sneaky bug in linkedList
Default with no suffix is pre-5.1.23 behavior, escaping all Unicode
characters for maximum compatibility (avoids encoding issues). New
"rawunicode" suffix allows passing through Unicode characters U+0080
and up unchanged, for cases where you know your tools are handling
encoding correctly and you want less verbose escaping.
One tiddler had been renamed since the deprecation warning tiddler was
created, and there were also a couple of minor punctuation and/or
spelling errors.
* Tag trim operator as a string operator
With the new functionality of the trim operator in 5.1.23, it's now a
general-purpose string manipulation tool. So it should be given the
"String operators" tag so that people see it in the same list as
removeprefix and removesuffix, etc.
* Document suffix of trim operator
* Add actions to radio-widget, pass trhough all attributes and user parameters, fix label refresh
* invoke th-radio-hook instead of hardcoded variables
* simplify code and test it with a plugin hook
* remove hook
* Alternative switcher using a parameter via tm-show-switcher
* Add CSS class for centered modals
* Changed keyboardshortcut and removed transition CSS
* Resolved wording issues
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* Don't override browser selection colours by default
Reverts some of #4590
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* Update German Language
* some typos
Co-authored-by: jeremy@jermolene.com <jeremy@jermolene.com>
* Jeremy's original version of the event widget
* Renamed to eventcatcher, added modifier key support and mouse button support as variables
* Allow updating classname without re-rendering entire widget
* Handle tag attribute in refresh handler
* Improve handling for mouse button variable
* Fix typo in refresh handler
* Added variables for position of selected node and position of event relative to selected node and catcher node
* Jeremy's original version of the event widget
* Renamed to eventcatcher, added modifier key support and mouse button support as variables
* Reveal widget: update popup position when state tiddler updates
* First pass at a fix for system tiddler sync issues
* Add new filter syncFromServer
* Undo previous attempt at a fix
* Added a flag to control sync of system tiddlers from server
* Remove 2em of whitespace from EditTemplate when there are no visible fields
* Update base.tid
* Update fields.tid
* Update fields.tid
* Update base.tid
* Correct for new GitHub default branch
This PR corrects the default branch of GitHub from master to main. This is ne GitHub repository configuration from Oct 1st, 2020
* Update Saving to a Git service.tid
GitLab still uses `master` as default branch.
* Add Kookma plugins as resources
Some of Kookma resources including TW-Scripts, Commander, Trashbin, Todolist has been added.
* Revert "Add Kookma plugins as resources"
This reverts commit 199fce3a08.
* Adding Resources by Mohammad
This PR adds resources created by Mohammad mostly in GitHub
* Correct for new GitHub default branch
This PR corrects the default branch of GitHub from master to main. This is ne GitHub repository configuration from Oct 1st, 2020
* Update Saving to a Git service.tid
GitLab still uses `master` as default branch.
* Add Kookma plugins as resources
Some of Kookma resources including TW-Scripts, Commander, Trashbin, Todolist has been added.
* Revert "Add Kookma plugins as resources"
This reverts commit 199fce3a08.
The ButtonWidget documentation refers to a "state" attribute, but this
should probably be "set". The name "state" appears to be an artifact
from when the setTitle, setField, and setIndex attributes were added to
the widget; at one time they were called stateTitle and so on, and then
they were renamed to setTitle instead, but not every instance of "state"
was found and renamed to "set". This is one such instance, now fixed.
* Wrap modal in a navigator widget to allow tm-navigate to work
* Move all story list handling to Modal
* Make sure any values for story list or history list sent as variables have precedence
* Code clean up
* Make tag-picker work with every field
* Make EditTemplate/tags work with every field
* Make NewTiddlerTags and NewJournalTags selectable through tag-picker
* Update tag-picker Macro Docs
* fr-FR translations for Shortcut hints
* fr-FR translations related to renaming tiddlers during Import
* Correction of NewJournal Tags default config in fr-FR
* fr-FR update for the rendertiddlers command
* fr-FR translations for new Filter errors
* fr-FR update for the savetiddlers command
* fr-FR update for the savetiddler command
* fr-FR update for the rendertiddler command
Co-authored-by: Xavier Cazin <xavier.cazin@gmail.com>
* Extend toggle operator to support optional second operand to toggle a value pair
* Added tests for extended toggle filter
* Updated docs for toggle operator
Embarrassingly, the double blank lines at the end of the tiddler are needed to ensure the transclude widget is recognised in block mode, instead of being wrapped in a paragraph tag.
Fixes#5016
* Add support for switching page templates
* Revert "Add support for switching page templates"
This reverts commit dbf7682d47.
* Adopt Jeremy's approach to page template switching instead
* Fix default value of recursion marker
* Fixed issue with conditional check
* Firt pass at adding multiple operands to filter operators
* Optimized parsing of multiple operands and added more tests. Need more flexibility for interpreting multiple operands as variables/text references
* Add support for parsing text references and variables in multiple operands
* Added string-replace filter for testing multiple filter operands
* Added more tests for variables and text references in operands
* Removed string-replace operator and some whitespace corrections
* Removed string-replace operator and some whitespace corrections
* Added test with comma in operand
* Add editor-height button also to application/javascript ...
... application/json and application/x-tiddler-dictionary
* Add stamp button also to application/javascript ...
... application/json and application/x-tiddler-dictionary
* Make tag for menubar-contents dropdown configurable
* Make tag for menubar-contents dropdown configurable
* Make tag for menubar-contents dropdown configurable
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* Don't override browser selection colours by default
Reverts some of #4590
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* list-widget, init new Parser() only if needed.
* fix braces
Co-authored-by: jeremy@jermolene.com <jeremy@jermolene.com>
The bug fixed in this commit had an interesting side effect when the
location hash started with #, e.g. it looked like wiki.html##foo.
In that case, TiddlyWiki's navigation processing is not triggered and
the browser's navigation processing is used instead, which allows
anchors to be used within tiddlers for sub-tiddler navigation. To
preserve this unintended but useful side-effect, we check for a location
hash that starts with # and ignore it if it does.
* Update chinese language files
* add `Error/FilterRunPrefix` in Misc.multids
* add `Shortcuts/Input/AdvancedSearch/Hint` in Misc.multids
* Add chinese translations for Listing/Rename/*
* Make AdvancedSearch/Shadows navigatable by keyboard
* Make AdvancedSearch/System navigatable by keyboard
* Make AdvancedSearch/Standard navigatable by keyboard
* Update search.tid
* First pass at refactoring filter code to support named filter run prefixes
* Remove filter prefix for now
* renamed module type and filter run prefixes
* Moved inline handling for no filter run prefix to 'or' filter run prefix.
* Added error handling for undefined filter run prefixes
* Add eslint plus very tolerant starting config
Addresses GH #1865
This adds eslint as a developer dependency, plus a generated eslint
config that doesn't take a very strong stance on much of anything. The
goal here to get started using automated style checking, add eslint
checking to the testing flow, and gradually introduce stricter checks
over time.
* eslint: Fix ecmaVersion
See
https://github.com/Jermolene/TiddlyWiki5/pull/4421#issuecomment-587002325,
where @Jermolene declared TiddlyWiki targets EcmaScript 5
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* it shouldn't be there
* fremove this file from my PRs
* don't show the span if no icons are active.
* title lineheight 1.3 needed for eg: gggggg
* Rename variables to better convey what they're about
* Refactor comments so that they make more sense
* In Node.js, call the wrapper's execute function
The function sets up callbacks necessary for
exiting the process with the appropriate exit code.
https://github.com/jasmine/jasmine-npm/blob/v3.4.0/lib/jasmine.js#L235
* No need to configure the default reporter manually
The .execute() function does it
* Add note on which path comes from which npm package
* Note that other properties of the process object are referenced too
@@ -20,3 +20,11 @@ A clear and concise description of any alternative solutions or features you've
Add any other context or screenshots about the feature request here.
If you link to discussions elsewhere then please copy and paste the important text, and don't expect readers to scan the entire discussion to find the relevant part.
## Checklist before requesting a review
- [ ] Illustrate any visual changes (however minor) with before/after screenshots
echo ::set-env name=TW5_BUILD_DETAILS::Prerelease built from branch \'$TW5_BUILD_BRANCH\' at commit $(git rev-parse HEAD) of $(git remote get-url origin) at $(date +'%F %T %Z')
echo "TW5_BUILD_DETAILS=Prerelease built from branch '$TW5_BUILD_BRANCH' at commit $(git rev-parse HEAD) of $(git remote get-url origin) at $(date +'%F %T %Z')" >> $GITHUB_ENV
Get the browser location.hash. We don't use location.hash because of the way that Firefox auto-urldecodes it (see http://stackoverflow.com/questions/1703552/encoding-of-window-location-hash)
Return an array of classes created from the modules of a specified type. Each module should export the properties to be added to those of the optional base class
Load all the tiddlers recursively from a directory, including honouring `tiddlywiki.files` files for drawing in external files. Returns an array of {filepath:,type:,tiddlers: [{..fields...}],hasMetaFile:}. Note that no file information is returned for externally loaded tiddlers, just the `tiddlers` property.
@@ -1820,9 +1918,9 @@ filepath: pathname of the directory containing the specification file
@@ -7,7 +7,7 @@ Appearance/Hint: Ways to customise the appearance of your TiddlyWiki.
Basics/AnimDuration/Prompt: Animation duration
Basics/AutoFocus/Prompt: Default focus field for new tiddlers
Basics/Caption: Basics
Basics/DefaultTiddlers/BottomHint: Use [[double square brackets]] for titles with spaces. Or you can choose to <$button set="$:/DefaultTiddlers" setTo="[list[$:/StoryList]]">retainstoryordering</$button>
Basics/DefaultTiddlers/BottomHint: Use [[double square brackets]] for titles with spaces. Or you can choose to {{retain story ordering||$:/snippets/retain-story-ordering-button}}
Basics/DefaultTiddlers/Prompt: Default tiddlers
Basics/DefaultTiddlers/TopHint: Choose which tiddlers are displayed at startup
Basics/Language/Prompt: Hello! Current language:
@@ -17,6 +17,8 @@ Basics/NewJournal/Tags/Prompt: Tags for new journal tiddlers
Basics/NewTiddler/Title/Prompt: Title of new tiddlers
Basics/NewTiddler/Tags/Prompt: Tags for new tiddlers
Basics/OverriddenShadowTiddlers/Prompt: Number of overridden shadow tiddlers
Basics/RemoveTags: Update to current format
Basics/RemoveTags/Hint: Update the tags configuration to the latest format
Basics/ShadowTiddlers/Prompt: Number of shadow tiddlers
Basics/Subtitle/Prompt: Subtitle
Basics/SystemTiddlers/Prompt: Number of system tiddlers
@@ -25,10 +27,17 @@ Basics/Tiddlers/Prompt: Number of tiddlers
Basics/Title/Prompt: Title of this ~TiddlyWiki
Basics/Username/Prompt: Username for signing edits
Basics/Version/Prompt: ~TiddlyWiki version
Cascades/Caption: Cascades
Cascades/Hint: These global rules are used to dynamically choose certain templates. The result of the cascade is the result of the first filter in the sequence that returns a result
EditorTypes/Hint: These tiddlers determine which editor is used to edit specific tiddler types.
EditorTypes/Type/Caption: Type
EditTemplateBody/Caption: Edit Template Body
EditTemplateBody/Hint: This rule cascade is used by the default edit template to dynamically choose the template for editing the body of a tiddler.
FieldEditor/Caption: Field Editor
FieldEditor/Hint: This rules cascade is used to dynamically choose the template for rendering a tiddler field based on its name. It is used within the Edit Template.
Info/Caption: Info
Info/Hint: Information about this TiddlyWiki
KeyboardShortcuts/Add/Prompt: Type shortcut here
@@ -44,6 +53,7 @@ KeyboardShortcuts/Platform/Linux: Linux platform only
KeyboardShortcuts/Platform/NonLinux: Non-Linux platforms only
KeyboardShortcuts/Platform/Windows: Windows platform only
KeyboardShortcuts/Platform/NonWindows: Non-Windows platforms only
LayoutSwitcher/Caption: Layout
LoadedModules/Caption: Loaded Modules
LoadedModules/Hint: These are the currently loaded tiddler modules linked to their source tiddlers. Any italicised modules lack a source tiddler, typically because they were setup during the boot process.
Palette/Caption: Palette
@@ -80,8 +90,8 @@ Plugins/Languages/Caption: Languages
Plugins/Languages/Hint: Language pack plugins
Plugins/NoInfoFound/Hint: No ''"<$text text=<<currentTab>>/>"'' found
Plugins/NotInstalled/Hint: This plugin is not currently installed
Saving/TiddlySpot/ControlPanel: ~TiddlySpot Control Panel
Saving/TiddlySpot/Backups: Backups
Saving/TiddlySpot/Caption: ~TiddlySpot Saver
Saving/TiddlySpot/Description: These settings are only used when saving to http://tiddlyspot.com or a compatible remote server
Saving/TiddlySpot/Description: These settings are only used when saving to [[TiddlySpot|http://tiddlyspot.com]], [[TiddlyHost|https://tiddlyhost.com]], or a compatible remote server. See [[here|https://github.com/simonbaird/tiddlyhost/wiki/TiddlySpot-Saver-configuration-for-Tiddlyhost-and-Tiddlyspot]] for information on ~TiddlySpot and ~TiddlyHost saving configuration.
Saving/TiddlySpot/Filename: Upload Filename
Saving/TiddlySpot/Heading: ~TiddlySpot
Saving/TiddlySpot/Hint: //The server URL defaults to `http://<wikiname>.tiddlyspot.com/store.cgi` and can be changed to use a custom server address, e.g. `http://example.com/store.php`.//
Saving/TiddlySpot/Password: Password
Saving/TiddlySpot/ReadOnly: Note that [[TiddlySpot|http://tiddlyspot.com]] no longer allows the creation of new sites. For new sites, you can use [[TiddlyHost|https://tiddlyhost.com]], a new hosting service that replaces ~TiddlySpot.
Saving/TiddlySpot/ServerURL: Server URL
Saving/TiddlySpot/UploadDir: Upload Directory
Saving/TiddlySpot/UserName: Wiki Name
@@ -187,6 +198,8 @@ Settings/TitleLinks/Yes/Description: Display tiddler titles as links
Settings/MissingLinks/Caption: Wiki Links
Settings/MissingLinks/Hint: Choose whether to link to tiddlers that do not exist yet
Settings/MissingLinks/Description: Enable links to missing tiddlers
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
StoryView/Prompt: Current view:
Stylesheets/Caption: Stylesheets
@@ -197,6 +210,10 @@ Theme/Caption: Theme
Theme/Prompt: Current theme:
TiddlerFields/Caption: Tiddler Fields
TiddlerFields/Hint: This is the full set of TiddlerFields in use in this wiki (including system tiddlers but excluding shadow tiddlers).
TiddlerColour/Caption: Tiddler Colour
TiddlerColour/Hint: This rules cascade is used to dynamically choose the colour for a tiddler (used for the icon and the associated tag pill).
TiddlerIcon/Caption: Tiddler Icon
TiddlerIcon/Hint: This rules cascade is used to dynamically choose the icon for a tiddler.
Toolbars/Caption: Toolbars
Toolbars/EditToolbar/Caption: Edit Toolbar
Toolbars/EditToolbar/Hint: Choose which buttons are displayed for tiddlers in edit mode. Drag and drop to change the ordering
@@ -208,3 +225,7 @@ Toolbars/EditorToolbar/Hint: Choose which buttons are displayed in the editor to
Toolbars/ViewToolbar/Caption: View Toolbar
Toolbars/ViewToolbar/Hint: Choose which buttons are displayed for tiddlers in view mode. Drag and drop to change the ordering
Tools/Download/Full/Caption: Download full wiki
ViewTemplateBody/Caption: View Template Body
ViewTemplateBody/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the body of a tiddler.
ViewTemplateTitle/Caption: View Template Title
ViewTemplateTitle/Hint: This rule cascade is used by the default view template to dynamically choose the template for displaying the title of a tiddler.
Body/External/Hint: This tiddler shows content stored outside of the main TiddlyWiki file. You can edit the tags and fields but cannot directly edit the content itself
Body/Placeholder: Type the text for this tiddler
Body/Preview/Type/Output: output
Body/Preview/Type/DiffShadow: differences from shadow (if any)
Body/Preview/Type/DiffCurrent: differences from current
Field/Remove/Caption: remove field
Field/Remove/Hint: Remove field
Field/Dropdown/Caption: field list
@@ -19,6 +22,8 @@ Shadow/OverriddenWarning: This is a modified shadow tiddler. You can revert to t
Tags/Add/Button: add
Tags/Add/Button/Hint: add tag
Tags/Add/Placeholder: tag name
Tags/ClearInput/Caption: clear input
Tags/ClearInput/Hint: Clear tag input
Tags/Dropdown/Caption: tag list
Tags/Dropdown/Hint: Show tag list
Title/BadCharacterWarning: Warning: avoid using any of the characters <<bad-chars>> in tiddler titles
_canonical_uri: The full URI of an external image tiddler
author: Name of the author of a plugin
bag: The name of the bag from which a tiddler came
caption: The text to be displayed on a tab or button
code-body: The view template will display the tiddler as code if set to ''yes''
color: The CSS color value associated with a tiddler
component: The name of the component responsible for an [[alert tiddler|AlertMechanism]]
core-version: For a plugin, indicates what version of TiddlyWiki with which it is compatible
current-tiddler: Used to cache the top tiddler in a [[history list|HistoryMechanism]]
created: The date a tiddler was created
creator: The name of the person who created a tiddler
@@ -12,27 +15,29 @@ dependents: For a plugin, lists the dependent plugin titles
description: The descriptive text for a plugin, or a modal dialogue
draft.of: For draft tiddlers, contains the title of the tiddler of which this is a draft
draft.title: For draft tiddlers, contains the proposed new title of the tiddler
footer: The footer text for a wizard
hide-body: The view template will hide bodies of tiddlers if set to: ''yes''
footer: The footer text for a modal
hide-body: The view template will hide bodies of tiddlers if set to ''yes''
icon: The title of the tiddler containing the icon associated with a tiddler
library: Indicates that a tiddler should be saved as a JavaScript library if set to: ''yes''
library: Indicates that a tiddler should be saved as a JavaScript library if set to ''yes''
list: An ordered list of tiddler titles associated with a tiddler
list-before: If set, the title of a tiddler before which this tiddler should be added to the ordered list of tiddler titles, or at the start of the list if this field is present but empty
list-after: If set, the title of the tiddler after which this tiddler should be added to the ordered list of tiddler titles, or at the end of the list if this field is present but empty
modified: The date and time at which a tiddler was last modified
modifier: The tiddler title associated with the person who last modified a tiddler
module-type: For javascript tiddlers, specifies what kind of module it is
name: The human readable name associated with a plugin tiddler
parent-plugin: For a plugin, specifies which plugin of which it is a sub-plugin
plugin-priority: A numerical value indicating the priority of a plugin tiddler
plugin-type: The type of plugin in a plugin tiddler
revision: The revision of the tiddler held at the server
released: Date of a TiddlyWiki release
source: The source URL associated with a tiddler
subtitle: The subtitle text for a wizard
subtitle: The subtitle text for a modal
tags: A list of tags associated with a tiddler
text: The body text of a tiddler
throttle.refresh: If present, throttles refreshes of this tiddler
title: The unique name of a tiddler
toc-link: Suppresses the tiddler's link in a Table of Contents tree if set to: ''no''
toc-link: Suppresses the tiddler's link in a Table of Contents tree if set to ''no''
type: The content type of a tiddler
version: Version information for a plugin
_is_skinny: If present, indicates that the tiddler text field must be loaded from the server
* ''tiddler-filter'': A filter identifying the tiddler(s) to be rendered
* ''filename-filter'': Optional filter transforming tiddler titles into pathnames. If omitted, defaults to `[is[tiddler]addsuffix[.html]]`, which uses the unchanged tiddler title as the filename
* ''render-type'': Optional render type: `text/html` (the default) returns the full HTML text and `text/plain` just returns the text content (ie it ignores HTML tags and other unprintable material)
* ''template'': Optional template through which each tiddler is rendered
* ''name'': Name of optional variable
* ''value'': Value of optional variable
* ''name'': Name of optional variables
* ''value'': Value of optional variables
By default, the filename is resolved relative to the `output` subdirectory of the edition directory. The `--output` command can be used to direct output to a different directory.
@@ -24,11 +24,12 @@ Notes:
* The output directory is not cleared of any existing files
* Any missing directories in the path to the filename are automatically created.
* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--render "[[Motovun Jack.jpg]]"`
* When referring to a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--render "[[Motovun Jack.jpg]]"`
* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being rendered, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`
* Multiple ''name''/''value'' pairs can be used to pass more than one variable
* The `--render` command is a more flexible replacement for both the `--rendertiddler` and `--rendertiddlers` commands, which are deprecated
Examples:
* `--render "[!is[system]]" "[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]"` -- renders all non-system tiddlers as files in the subdirectory "tiddlers" with URL-encoded titles and the extension HTML
* `--render '[!is[system]]' '[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]'` -- renders all non-system tiddlers as files in the subdirectory "tiddlers" with URL-encoded titles and the extension HTML
* `--render '.' 'tiddlers.json' 'text/plain' '$:/core/templates/exporters/JsonFile' 'exportFilter' '[tag[HelloThere]]'` -- renders the tiddlers tagged "HelloThere" to a JSON file named "tiddlers.json"
* The output directory is not cleared of any existing files
* Any missing directories in the path to the filename are automatically created.
* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--save "[[Motovun Jack.jpg]]"`
* When saving a tiddler with spaces in its title, take care to use both the quotes required by your shell and also TiddlyWiki's double square brackets: `--save "[[Motovun Jack.jpg]]"`
* The filename filter is evaluated with the selected items being set to the title of the tiddler currently being saved, allowing the title to be used as the basis for computing the filename. For example `[encodeuricomponent[]addprefix[static/]]` applies URI encoding to each title, and then adds the prefix `static/`
* The `--save` command is a more flexible replacement for both the `--savetiddler` and `--savetiddlers` commands, which are deprecated
Editor/Import/Heading: Import images and insert them into the editor.
Imported/Hint: The following tiddlers were imported:
Listing/Cancel/Caption: Cancel
Listing/Cancel/Warning: Do you wish to cancel the import?
Listing/Hint: These tiddlers are ready to import:
Listing/Import/Caption: Import
Listing/Select/Caption: Select
@@ -13,11 +15,20 @@ Listing/Preview/TextRaw: Text (Raw)
Listing/Preview/Fields: Fields
Listing/Preview/Diff: Diff
Listing/Preview/DiffFields: Diff (Fields)
Upgrader/Plugins/Suppressed/Incompatible: Blocked incompatible or obsolete plugin
Upgrader/Plugins/Suppressed/Version: Blocked plugin (due to incoming <<incoming>> being older than existing <<existing>>)
Upgrader/Plugins/Upgraded: Upgraded plugin from <<incoming>> to <<upgraded>>
Upgrader/State/Suppressed: Blocked temporary state tiddler
Upgrader/System/Suppressed: Blocked system tiddler
Upgrader/System/Warning: Core module tiddler
Upgrader/System/Alert: You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable
Upgrader/ThemeTweaks/Created: Migrated theme tweak from <$text text=<<from>>/>
Listing/Rename/Tooltip: Rename tiddler before importing
Listing/Rename/Prompt: Rename to:
Listing/Rename/ConfirmRename: Rename tiddler
Listing/Rename/CancelRename: Cancel
Listing/Rename/OverwriteWarning: A tiddler with this title already exists.
Upgrader/Plugins/Suppressed/Incompatible: Blocked incompatible or obsolete plugin.
Upgrader/Plugins/Suppressed/Version: Blocked plugin (due to incoming <<incoming>> not being newer than existing <<existing>>).
Upgrader/Plugins/Upgraded: Upgraded plugin from <<incoming>> to <<upgraded>>.
Upgrader/State/Suppressed: Blocked temporary state tiddler.
Upgrader/System/Disabled: Disabled system tiddler.
Upgrader/System/Suppressed: Blocked system tiddler.
Upgrader/System/Warning: Core module tiddler.
Upgrader/System/Alert: You are about to import a tiddler that will overwrite a core module tiddler. This is not recommended as it may make the system unstable.
Upgrader/ThemeTweaks/Created: Migrated theme tweak from <$text text=<<from>>/>.
ConfirmCancelTiddler: Do you wish to discard changes to the tiddler "<$text text=<<title>>/>"?
ConfirmDeleteTiddler: Do you wish to delete the tiddler "<$text text=<<title>>/>"?
ConfirmDeleteTiddlers: Are you sure you wish to delete <<resultCount>> tiddler(s)?
ConfirmOverwriteTiddler: Do you wish to overwrite the tiddler "<$text text=<<title>>/>"?
ConfirmEditShadowTiddler: You are about to edit a ShadowTiddler. Any changes will override the default system making future upgrades non-trivial. Are you sure you want to edit "<$text text=<<title>>/>"?
ConfirmAction: Do you wish to proceed?
Count: count
DefaultNewTiddlerTitle: New Tiddler
Diffs/CountMessage: <<diff-count>> differences
DropMessage: Drop here (or use the 'Escape' key to cancel)
DropMessage: Drop now (or use the 'Escape' key to cancel)
Encryption/Cancel: Cancel
Encryption/ConfirmClearPassword: Do you wish to clear the password? This will remove the encryption applied when saving this wiki
Encryption/PromptSetPassword: Set a new password for this TiddlyWiki
Error/NetworkErrorAlert: `<h2>''Network Error''</h2>It looks like the connection to the server has been lost. This may indicate a problem with your network connection. Please attempt to restore network connectivity before continuing.<br><br>''Any unsaved changes will be automatically synchronised when connectivity is restored''.`
Error/PutEditConflict: File changed on server
Error/PutForbidden: Permission denied
Error/PutUnauthorized: Authentication required
Error/RecursiveTransclusion: Recursive transclusion error in transclude widget
Error/RetrievingSkinny: Error retrieving skinny tiddler list
Error/SavingToTWEdit: Error saving to TWEdit
Error/WhileSaving: Error while saving
Error/XMLHttpRequest: XMLHttpRequest error code
Error/ZoominTextNode: Story View Error: It appears you tried to interact with a tiddler that displays in a custom container. This is most likely caused by using `$:/tags/StoryTiddlerTemplateFilter` with a template that contains text or whitespace at the start. Please use the pragma `\whitespace trim` and ensure the whole contents of the tiddler is wrapped in a single HTML element. The text that caused this issue:
InternalJavaScriptError/Hint: Well, this is embarrassing. It is recommended that you restart TiddlyWiki by refreshing your browser
InvalidFieldName: Illegal characters in field name "<$text text=<<fieldName>>/>". Fields can only contain lowercase letters, digits and the characters underscore (`_`), hyphen (`-`) and period (`.`)
LayoutSwitcher/Description: Open the layout switcher
LazyLoadingWarning: <p>Trying to load external content from ''<$text text={{!!_canonical_uri}}/>''</p><p>If this message doesn't disappear, either the tiddler content type doesn't match the type of the external content, or you may be using a browser that doesn't support external content for wikis loaded as standalone files. See https://tiddlywiki.com/#ExternalText</p>
OfficialPluginLibrary: Official ~TiddlyWiki Plugin Library
OfficialPluginLibrary/Hint: The official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.
PageTemplate/Description: the default ~TiddlyWiki layout
PageTemplate/Name: Default ~PageTemplate
PluginReloadWarning: Please save {{$:/core/ui/Buttons/save-wiki}} and reload {{$:/core/ui/Buttons/refresh}} to allow changes to ~JavaScript plugins to take effect
RecentChanges/DateFormat: DDth MMM YYYY
Shortcuts/Input/AdvancedSearch/Hint: Open the ~AdvancedSearch panel from within the sidebar search field
Shortcuts/Input/Accept/Hint: Accept the selected item
Shortcuts/Input/AcceptVariant/Hint: Accept the selected item (variant)
Shortcuts/Input/Cancel/Hint: Clear the input field
Shortcuts/Input/Down/Hint: Select the next item
Shortcuts/Input/Tab-Left/Hint: Select the previous Tab
Shortcuts/Input/Tab-Right/Hint: Select the next Tab
Shortcuts/Input/Up/Hint: Select the previous item
Shortcuts/SidebarLayout/Hint: Change the sidebar layout
Switcher/Subtitle/theme: Switch Theme
Switcher/Subtitle/layout: Switch Layout
Switcher/Subtitle/language: Switch Language
Switcher/Subtitle/palette: Switch Palette
SystemTiddler/Tooltip: This is a system tiddler
SystemTiddlers/Include/Prompt: Include system tiddlers
Your changes to this wiki need to be saved as a ~TiddlyWiki HTML file.
!!! Desktop browsers
# Select ''Save As'' from the ''File'' menu
# Choose a filename and location
#* Some browsers also require you to explicitly specify the file saving format as ''Webpage, HTML only'' or similar
# Close this tab
!!! Smartphone browsers
# Create a bookmark to this page
#* If you've got iCloud or Google Sync set up then the bookmark will automatically sync to your desktop where you can open it and save it as above
# Close this tab
//If you open the bookmark again in Mobile Safari you will see this message again. If you want to go ahead and use the file, just click the ''close'' button below//
// Use the "title" operator if no operator is specified
operatorFunction=filterOperators.title;
}elseif(!filterOperators[operator.operator]){
operatorFunction=filterOperators.field;
// Unknown operators treated as "[unknown]" - at run time we can distinguish between a custom operator and falling back to the default "field" operator
Given a JSON data structure and an array of index strings, return an array of the string representation of the values at the end of the index chain, or "undefined" if any of the index strings are invalid
*/
functiongetDataItemValueAsStrings(data,indexes){
// Get the item
varitem=getDataItem(data,indexes);
// Return the item as a string list
returnconvertDataItemValueToStrings(item);
}
/*
Given a JSON data structure and an array of index strings, return an array of the string representation of the keys of the item at the end of the index chain, or "undefined" if any of the index strings are invalid
*/
functiongetDataItemKeysAsStrings(data,indexes){
// Get the item
varitem=getDataItem(data,indexes);
// Return the item keys as a string
returnconvertDataItemKeysToStrings(item);
}
/*
Return an array of the string representation of the values of a data item, or "undefined" if the item is undefined
Given a JSON data structure and an array of index strings, return the value at the end of the index chain, or "undefined" if any of the index strings are invalid
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.