* allow internal link to be wikitex formatted as bold
* fix typo
* add new classes to all emphasis and inline-code elements
* fix tests for new STRONG classes
* Translator editon update
Update for the translator editon, including:
* Changes to `--render` in `tiddlywiki.info`, and changes the command
for generating `$:/languages/Docs/Types/` to replace strings with `_`
instead of using uri encoding.
* Update docs. The guide for changing `$:/core/readme` tiddler is wrong,
so I removed it.
* Simplify templates and commands
* Add progress bar
* Extend element widget with support for CSS custom properties.
* chore: added tests
* chore: code style
* docs: added documentation for support for CSS custom properties
* docs: added documentation for support for CSS custom properties
Make maxium number of tiddlers under the "Recent" tab configurable in
the `$:/config/RecentLimit` tiddler. UI for configuring this option is
also added under the "Settings" tab.
A small fix which applys code bodies to these tiddlers:
* Tiddlers with prefix `$:/core/config/`
* Tiddlers tagged `$:/EditorTools` and `$:/tags/ToolbarButtonStyle`
This reverts fix for all tables. It should fix#8617.
It also adds fix for overflow in $:/Manager 's content page, testcase
widget output. The fix for overflow $:/TagManager is reverted since it
caused the dropdown not to display properly.
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\HelloThere.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\quickstart\tiddlyhost.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\quickstart\desktop.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\quickstart\diy.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\quickstart\xememex.tid
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\quickstart\Quick Start.tid'
* [ja-JP] Modify 'editions\fr-FR\tiddlers$ _config_ViewTemplateTitleFilters_fr-default.tid' for Japanese
* [ja-JP] Modify 'editions\fr-FR\tiddlers$ _core_ui_ViewTemplate_title_fr-default.tid' for Japanese
* [ja-JP] Modify 'editions\fr-FR\tiddlers-FR_Macros_list.tid' for Japanese
* [ja-JP] Modify 'editions\fr-FR\tiddlers-FR_Macros_timeline-title.tid' for Japanese
* [ja-JP] Modify 'editions\fr-FR\tiddlers-FR_Macros_toc-caption.tid' for Japanese
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\classic.tiddlywiki.com.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\links.tiddlywiki.org.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\marketplace.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\talk.tiddlywiki.org.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.com.dev.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.com.prerelease.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.com.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.com.upgrade.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\_tw_shared\sites\tiddlywiki.org.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\gettingstarted\GettingStarted.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\menubar\gettingstarted.tid
* [ja-JP] Modify 'editions\fr-FR\tiddlers\system.tid' for Japanese
* [ja-JP] Modify 'editions\fr-FR\tiddlers\system.tid' for Japanese
* [ja-JP] Modify 'editions\fr-FR\tiddlers\system.tid' for Japanese
* [ja-JP] Modify 'editions\fr-FR\tiddlers\system.tid' for Japanese
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\system\TableOfContents.tid
* [ja-JP] Japanese translation of plugins\tiddlywiki\menubar\items\contents.tid
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Twenty Years of TiddlyWiki.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Newsletter.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Introduction Video.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Grok TiddlyWiki.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Latest Version.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Funding.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - TiddlyWikiLinks.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Marketplace.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\thumbnails\HelloThumbnail - Intertwingled Innovations.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\testimonials\Testimonials - Joe Armstrong.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\testimonials\Testimonials - Network World.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\testimonials\Testimonials - Product Hunt.tid'
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Community.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Forums.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Forums.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\about\Developers.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\about\Developers.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Latest.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Tutorials.tid
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Community Editions.tid'
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Latest.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Tutorials.tid
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Community Plugins.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Community Palettes.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Community Themes.tid
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\Other Resources.tid'
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Examples.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Articles.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\community\Meetups.tid
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\saving\Saving.tid
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on TiddlyDesktop.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on TidGi.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on Android.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on Browser with the File System Access API.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on Browser with TiddlyStow.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on TiddlyHost.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving via WebDAV.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with the HTML5 saver.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving via minimal Ruby server.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with FireFox.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with Polly.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving to a Git service.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving via a Minimal Web Server.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving on iPad_iPhone.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with TiddlyFox.tid'
* Display the modified date and time of the original tiddler
* Add translation changes to Japanese from commit: 47519b1
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with TiddlyIE.tid'
* Add translation changes to Japanese from commit: 0a8fcfd
* [ja-JP] Japanese translation of editions\tw5.com\tiddlers\hellothere\Welcome.tid
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\Find Out More.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\hellothere\Testimonials and Reviews.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\TiddlyWiki on the Web.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\videos\Getting Started Video.tid'
* [ja-JP] Add translation changes to Japanese from commit: 04185b4
* [ja-JP] Add translation changes to Japanese from commit: 0a8fcfd
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\Twexe_ Single File Tiddlywiki5 executable.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\_file-backups_ Extension Firefox by pmario.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\_Timimi_ Extension and executable by Riz.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Installing TiddlyWiki on Microsoft Internet Information Server.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\TiddlyServer by Arlen Beiler.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\howtos\Windows HTA Hack.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\TiddlyDrive Add-on for Google Drive by Joshua Stubbs.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\nodejs\Installing TiddlyWiki on Node.js.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\TW5-firebase_ TiddlyWiki5 for Google Firebase by Peter Neumark.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\TW5-firebase_ TiddlyWiki5 for Google Firebase by Peter Neumark.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Saving with TiddlyPWA.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\TiddlyBucket - Save to AWS or Google Storage.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\Emergency Tiddler Export.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\editions\_Noteself_ by Danielo Rodriguez.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\saving\TiddlyWiki in the Sky for Dropbox.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\nodejs\Serving TW5 from Android.tid'
* [ja-JP] Japanese translation of 'editions\tw5.com\tiddlers\community\resources\_savetiddlers_ Extension for Chrome and Firefox by buggyj.tid'
* [ja-JP] Corrected the translation of HTML5 saver
A small fix for two problems introduced #8669.
* Two tab should be used to indent instead of four spaces in
`tiddlywiki.info` in full edition.
* Changed description for `en-PH`. Since "PH" isn't a country name like
"US", it should be "Philippines".
* Initial Commit
* Fix default tiddlers for prerelease
* Use parsermode: inline for tiddlers that don't semantically have paragraphs
* Tweak card styles
Cards can now grow slightly to fill the available space
* Rename "Community Links" to "TiddlyWiki on the Web", and excise the items to individual tiddlers
* Revert changes to core styles
* Introductory text for each welcome tiddler
* Colours for welcome tiddlers
* Simplify introduction of GettingStarted
* Update TiddlyFox information
* Move all the card related definitions into their own folder
Perhaps preparatory to making them into a plugin, or putting them into the core
* Add a hover effect for card icons
* Retract changes to GettingStarted and system fonts
We'll come back to that
* Revert properly
* initial en-PH
* English (PH) [en-ph] translation v1
* fix: moved en-PH to the correct file in /editions/full/tiddlywiki.info
* deleted since changes were mainly on styles, like em or en dash instead of regular dash
* upd: 'dependents' not needed in this particular case
* deleted 'empty' files
* upd: removed modifications which were mainly related on style (like em and en dashes);
upd: CamelCase instead of separating camelCase and PascalCase (see https://github.com/TiddlyWiki/TiddlyWiki5/pull/8669#pullrequestreview-2352481385 )
* upd: Simplified Confirm* strings;
upd: natural DateFormat (instead of formal format)
* upd: 'want' instead of 'wish'
* upd: natural DateFormat (instead of ISO format)
* minor: used 'the' instead of 'a' or 'an' as reading of '.html' depends on the reader (ie. a 'dot html' extension vs an 'html' extension)
* Update commands in "Generating Static Sites with TiddlyWiki" to use render command & add deprecated tag to some command
* Remove timestamp in deprecated commands
* chore: update editor file import to use procedures and substitute operator
* feat: refactor editor file-import UI to reuse filter from $:/config/Editor/EnableImportFilter
* feat: support for markdown in editor file import UI
* feat: improve markdown type detection and enable markdown image imports by default
* fix: uri encode tiddler titles for markdown
* escape characters instead of URI encoding
* fix: tweak regexp to simplify code and document escaping rules
Added two messages:
* `tm-delete-browser-storage` for deleting the cookie saved by the
Browser Storage plugin
* `tm-disable-browser-storage` for disabling Browser Storage
This Cascade from
```
[tag[$:/tags/wiki-test-spec]type[text/vnd.tiddlywiki-multiple]then[$:/core/ui/TestCaseTemplate]] [tag[$:/tags/wiki-test-spec-failing]type[text/vnd.tiddlywiki-multiple]then[$:/core/ui/TestCaseTemplate]]
```
Simplified. I also suggest using the same convention for all cascades
* Updates to make Excision more friendly to Markdown users by adding
Markdown as an option in the criteria to use excision and by making the
excise operation reuse the type of the tiddler being excised.
* Updated excise operation to use Markdown syntax for links.
* add trimSelection - both, start, end, no
* add documentation for trimSelection to tm-edit-text-operation tiddler
* add trimSelection both to all buttions where it makes sense
* change "both" to "yes" as a default
* fix trimSelection typo
* fix trimSelection typo
* docs trimSelection add "no" as possible value - it's the default
* remove some redundant variable declarations
* update from-version
* fix comment typos
* fix whitespace
* make local variables more visible
* add alt-text field to image meta data files
* add aria-label to some HelloThere links
* improve flex-card procedure to render alt-text for images and aria-hide the new-badge because it causes problems
* revert HelloThere modified date
* add a search button to the control panel tiddler fields tab
* minor update
* use v5.3.x syntax
* use tf. prefix for the function
* make show-filter-count a global macro
* make table header translatable
* add documentation
* show-filter-count code cleanup
* remove the table-header
* remove erroneous caption field
* Let PageControls buttons use v5.3.2 syntax
* Rewrite buttons and actions
* Omit whitespace & use function to avoid duplicating
* Omit whitespace in conditional syntax
* Define tf.get-tags function to avoid duplicated text substitution
* Rewrite advanced search button
* Add space in join operator
* Rewrite buttons in plugins
* Remove tf prefix in new-journal.tid
* Remove tf prefix in new-tiddler.tid
* Add a settings page for markdown plugin
* Add link to $:/config/markdown/renderWikiText
* Place "Quotes replacement" settings after "Typographer"
* Add link to plugin itself & remove transclusion in config tab
The transclusion to $:/plugins/tiddlywiki/markdown/settings in config
tab is removed to avoid confusion
* Add settings tab in plugin info
* tc-subtitle is not a sibling to tc-body,
So tc-subtitle needs a clearfix to contains float:right
* add clearfix to all tiddler elements that could contain floats
* add clearfix to tc-tiddler-title in ViewTemplate
* add clearfix to plugin/blog/templates
* add clearfix to plugin/tour/templates
* remove test tiddler
* rename draft title class to tc-tiddler-title-draft
* undo title field covering
* move tc-clearfix to tc-float-right in the base CSS file
* rename clearfix CSS class to tc-clearfix
* update documentation tiddlers
* create empty tags only if template or additionalFields contain a tags-field
* fix typos
* add tests for tm-new-tiddler message
* tm-new-tiddler add standard test with tags field
Apologies @valpackett I had not realised that TiddlyPWA was not listed.
I'd welcome any improvements to the listing. I copied the functional description from your website but might be a good opportunity to sell the benefits more.
I'm doing this as part of a review and improvement of the GettingStarted tiddler.
* Convert "import" field of testcase tiddlers into $data widget with $filter attribute
* Add documentation for testcase tiddler import field and fixed typo and grammar
* Update chinese language files
* Add chinese translations of control panel UI for social media cards
* Update chinese language files
* Add chinese translations for Excise/DefaultTitle
* Update chinese language files
* Improve Simplified Chinese translation for SocialCard/Hint
* fix 7142 search outline in chrome like browsers
* use moz-focusring only for FF, outline-initial for Chrome
* moz-focusring remove outline-offset
* remove box-sizing from base, because it's part of reset
* remove redundant box-sizing since it is part of reset
* fix distance between search input and first button to the right
* Fix unwrapped oveflowed code blocks not showing scroll bars
* Inline code should not follow "Wrap long lines in code blocks" option
* Revert "Inline code should not follow "Wrap long lines in code blocks" option"
This reverts commit 4615a04e59.
* Inline code should not obey "Wrap long lines in code blocks" option
Fix problem described in #8549
The control panel name and the name in the template don't match. I
figured the shorter name is better, but let me know if you like the
longer name.
This is a small fix for recently merged PR #8441.
* make testcase default template more modular
* exclude state/popup/export from tabList
* fix state in linkcatcherActions
* use "explicitState" instead of "state" for tabs macro
* clean testcase-tablist code
* remove unwanted tiddler
* remove redundant parameters from export-filter
* Add test for existing table parsing functionality
* Add expected start/end for tr elements in table wikitext test
* Populate start/end properties for tr elements
* Add expected start/end for th/td elements in table wikitext test
* Populate start/end properties for th/td elements
* feat: allow tags have its ViewTemplate tag and cascade
* feat: quick addition of subtitle cascade
* docs: tag subtitle cascade control panel
* Update ControlPanel.multids
* Update text_vnd.tiddlywiki_multiple.tid
This PR addresses the idea in #8465
* Update text_vnd.tiddlywiki_multiple.tid
This addresses the idea in #8465 for de-DE language
* add text/vnd.tiddlywiki-multiple to editor type dropdown
* de-DE add text/vnd.tiddlywiki-multiple to editor type dropdown
* move text/x-tiddlywiki to classictools plugin
* remove image/x-icon from all languages files
* move type text/vnd.tiddlywiki-multiple to Developer
* Update chinese language files
* add chinese translations for OpenControlPanel/Hint in Buttons.multids
* Update chinese language files
* Add chinese translations for procedure and function snippet to "stamp button"
* add $compound-filter parameter to data-widget
* update TestCaseTemplate to use $compound-filter parameter
* update data-widget, TestCaseTiddlers and CompoundTiddlers docs
* add tag-tiddler to tag-pill drag & drop import, add hidden setting for TagPillDragFilter
* update docs to make Be Aware clearer
* exclude the tag tiddler and update hidden docs accordingly
* Reverse latitude and longitude in olc-decode tests to match proper geojson output format
* Reverse latitude and longitude in olc-decode to match proper geojson output format
* Reverse latitude and longitude in geopoint expected results to match proper geojson format
* Reverse latitude and longitude in geolookup expected results to match proper geojson format
* Corrected the Oxford to New York distances
* Oxford is actually 12 miles closer to New York than Winchester
Used calculator at https://www.nhc.noaa.gov/gccalc.shtml to check
Reversed latitude and longitude to correct the geojson
* Reversed the latitude and longitude turf.point arguments in the geopoint function
* Swapped latitude and longitude in geopoint function calls
Deno's node emulation can run TiddlyWiki now that it supports the VM isolates API, but the window global exists in that environment, so both browser and node were being detected, causing the autoboot to trip up on nonexistent argv, as the boot was happening in the constructor right before argv was set.
Ref: https://github.com/denoland/deno/issues/19286
Ref: https://github.com/flexdinesh/browser-or-node
* Allow width, height and maxZoom to be specified
* Add images to city marker tiddlers
* Initial support for custom popups
* Custom popup templates for the US and Canadian example data
* Popups should use the geomap as their parent widget
This lets root widget messages work
* Typo in default popup template
* Clean up the use of popup templates
* Allow GeoJSON features to be hidden via a checkbox
* Popup template for volcano dataset
* Add Natural Earth country data
* Optimise marker SVG
* Use the testcase widget for the $reveal widget examples
* Convert $reveal testcase widget examples into testcase tiddlers
* Add expected results to $reveal test case tiddlers
These examples are intended to be interactive and the expect results
only test the initial rendering. Still that seems like useful verification
AutoSave tiddler's first sentence currently points to SaverModule, which is a missing tiddler. SavingMechanism seems to be the retitled tiddler that wasn't relinked. (Perhaps more changes are warranted, but this minimal change avoids the embarrassment of a dead link at a place newbies might actually be depending on info.)
The intention was to horizontally align the body text with the text within the test case. However, it also caused an overflow when used within vertical tabs (as in the release note)
* Include the ExpectedResults in the displayed tabs
* Lighted testcase background
* Add testcase toolbar with export and import options
* Further styling tweaks
* Fix wikitext-example-table-row so example output table cell is rendered in block mode
* Use transclude with =block instead of empty line to force block mode parsing
* fix: ignore self-referential transclusion
* feat: support old <$transclude tiddler param
* fix: restore old behavior: include itself like backlinks[]
* refactor: use LinkedList in transcludes[] and backtranscludes[]
* fix: only fallback to title when {{!!xxx}}, not when input is empty
* refactor: move transcludes ast extractor to a file
* refactor: move links ast extractor to a file
* Revert "refactor: move links ast extractor to a file"
This reverts commit 5600a00cd8.
* Revert "refactor: move transcludes ast extractor to a file"
This reverts commit 61d5484f09.
* lint: use pushTop and remove space
If a user of a Node.js (aka "client-server") installation of TiddlyWiki5
goes through instructions of "Installing a plugin from the plugin
library" [1], they will encounter a dead end, quote:
The official plugin library is disabled when using the
client-server configuration. Instead, plugins should be
installed via the `tiddlywiki.info` file, as described here.
The word "here" links to the same tiddler [1], sending the user into a
endless loop.
Instead, link to "Installing official plugins on Node.js" [2], which
actually contains the instructions for editing `tiddlywiki.info` file.
[1] https://tiddlywiki.com/#Installing%20a%20plugin%20from%20the%20plugin%20library
[2] https://tiddlywiki.com/#Installing%20official%20plugins%20on%20Node.js
commit 5687d9f44b
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Dec 6 11:33:43 2023 +0800
Fix for html parser
commit df0a1b184e
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Dec 6 02:47:47 2023 +0800
Fix HTML AST node boundary parsing in WikiText
commit ac8dda0a1a
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Sat Dec 2 13:02:52 2023 +0800
update test-wikitext-parser.js, change for-const-of -to .utils.each, add more range attributes
commit e2b9a4ed57
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Nov 29 22:35:39 2023 +0800
Add more start-end range attributes for AST
commit d3e62ec56a
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Nov 29 20:45:00 2023 +0800
Add rule attribute for WikiText AST nodes
commit 4200495055
Author: Gk0Wk <nmg_wk@yeah.net>
Date: Wed Nov 29 15:48:38 2023 +0800
Add start and end properties to AST nodes for list, codeblock, and all other elements
* feat: t macro and docs
* feat: support block mode so you can transclude whole tiddler
* refactor: use lingo and procedure
* refactor: use function instead of set variable
* docs: about mode:"inline"
* Update LingoMacro.tid
* docs: more usage about inline
* refactor: update translate macro to reuse lingo macro
* Delete translateMacro.tid
* refactor: update translation of tiddlyweb
* docs: more tiddlyweb l10n
* feat: add comment, so when use <$text text=<<lingo>> by mistake, it shows
* i18n: add more l10n
* feat: add tree to plugin to reveal l10n structure
* i18n: add menubar translation for example
* i18n: more for menubal
* docs: Headings -> Heading
* refactor: remove the "tree" tid
* Revert "refactor: remove the "tree" tid"
This reverts commit fb70f0b146.
* fix: import lingo macro when render title
* refactor: only import lingo macro for title to save memory
* Revert "refactor: only import lingo macro for title to save memory"
This reverts commit 36bf0848e0.
* fr-FR description of the `stability` core field
* fr-FR translations for testcase-related description strings
* fr-FR translations for testcase-related palette descriptions
* fr-FR translation for emergency download button caption
* Replace operand with parameters in fr-FR description of isfilteroperator
* fr-FR description of the `class` core field
* fr-FR update of a --command example
* better fr-FR description for main types
* Clearer fr-FR description of the `server` command
* Complete the fr-FR translation for the --savewikifolder description
* Add XLSX import spec for demo real estate spreadsheets
* Fix fieldname
* Improve map pin
* RealEstate demo: Set lat, long, price fields to be numeric
* Clean up Flickr demo
* Update geomap widget to refresh properly
* Add Leaflet MasterCluster plugin
* Setup the marker cluster plugin
* Rearrange real estate demo
* Reduce default cluster radius
* Beginnings of real estate demo
* Fix interpretation of HTTP status codes
* Real estate demo: Make columns hideable
* Real estate demo: sortability
* Real estate demo: search and limit
* Fix typo
* Fix lat long transposition
* Fix startup ordering
* Add geolookup operator
* Real Estate Demo: Add support for computed columns
* Real estate demo: Increase result limit
* Remove demo data
* Track map pan and zoom state in a state tiddler
* WIP
* Use geojson extension for geojson file
* Use geojson extensions for another geojson file
* Split demo from the geospatial plugin into its own edition
* Add build targets required by ./bin/site-build.sh...
... when building the geospatial edition as the main edition, making it easier to find on Vercel
* CI Fixes
* Fix default tab
* Rearranging geospatial plugin vs. edition
* More refactoring between demo and plugin
* Start of plugin docs
* Display GeoJSON properties on click
* Fix layer lookup demo
* Restore XLSX Utils plugin and dependencies
* Cleanup docs
* Remove 5.2.8 release note
* Remove 5.2.8 release note
* Docs update
* Fix minor refreshing bug for geomap widget
* Docs updates
* Add jsonset operator
* Add geonearestpoint operator
* jsonset: support for other data types and documentation
* Add logo
* Add link to preview build
* jsonset: add support for assigning JSON strings
* Fix nonstandard initialisation code for fill/parameter/slot widgets
* Introduce testcase widget so that we can reuse testcases as documentation examples
There's still a bit to do: adding tabs to the source panel of the testcase display, and tweaking the CSS.
* Update logo
* Testcasewidget: Add tabs for switching between source tiddlers
* Testcase appearance tweaks
* Switch to fluid-fixed layout
* Docs for the testcase-transclude and testcase-view widgets
* Split docs into separate tabs
* Extend testcase-view to be able to view other fields
* Extend default testcase template to show all fields of payload tiddlers
* Add some geomap examples
* Fix testcase rounded corners
* Add a geomap layer demo
* Add favicon
* Switch from building the geospatial plugin as the main build back to tw5.com
To make it easier to get to the documentation for the new features
* Remove obsolete comment
* Remove geospatial plugin from tw5.com build
* Fix build link
* Add note about core enhancements included in this branch
* Refactor data widget implementation
To avoid code duplication
* Integrate test cases with the docs
* Remove erroneously pasted docs material
* Remove erroneously copied olc-encode tests within old-decode test case
* Refactor compound tiddler handling into data widget
And add some tests for the data widget
* Default test case template tweaks
* Move Flickr macros into geospatial plugin from the demo edition
* FlickrDemo: Simplify UI
* FlickrMacros: Use a template to define photo tiddler fields
* Remove geospatial plugin from prerelease default tiddlers
* Extend Flickr helpers to support photoTiddlerTemplate parameter
* Update modification times of doc tiddlers
So that they are at the top of the recent tab
* Update 5.3.0 release note
* Remove custom CI step for this branch
* Restore standard sitetitle
* Flickr macro docs
* Rename $:/tags/GeoLayer to $:/tags/GeoFeature
And make sure that it works with all GeoJSON features, not just polygons
* More test data (from leaflet.js)
* Captions should be transcluded, not viewed raw
* Make HTTP handler use wiki of widget that sent the message
* Switch testcase widget to use an intrinsic template
Makes things much simpler
* Complete Flickr demos
* Extend geonearestpoint operator to work with feature collections
* Extend realestate demo to show data on nearest volcano
* Flickr macros: fix pagination after first page
Make sure that the widget we create to run the actions also has access to the event handlers attached to the rootwidget.
* Real estate demo: Fix nearest volcano
* Testcase docs update
* Testcase template: put title at the top and remove header row
* Docs correction
* New geonearestpoint test case
* Make test cases editable
* Test case default template: Always put "Output" tab first
* Initial Commit
* HttpClient object shouldn't need to know about events
* Add support for cancelling HTTP requests
* Make the number of outstanding HTTP requests available in a state tiddler
* Add a network activity button
Click it to cancel outstanding requests
* WIP
* Fix typo
Thanks @btheado
Co-authored-by: btheado <brian.theado@gmail.com>
* Data widget: parse carriage returns in compound tiddlers
* Fix crash when cancelling more than one HTTP request
Thanks @saqimtiaz
* Further fixes to cancelling outstanding HTTP requests
* Don't have data widget rendering its own JSON
Making the data widget render its raw JSON (introduced in 683ec33004) was a bad idea as it messes up the innerwiki use of the data widget. Instead we use the testcase widget with a special template to render the raw JSON of the payload of a testcase, thus giving us a way to test the data widget
* Fix missed docs update
* Introduce geolayer widget for specifying layers for geomap
* Fix breaking tests
* Remove docs references to obsolete widgets
* Tests for geounion, geointersect and geodifference
* Support for multiple base layers
* Make the layers control visible which allows the base layer to be chosen, and individual overlay layers to be hidden
* Add tiddlers tagged $:/tags/GeoBaseLayer to define some useful map base layers
* Add geobaselayer widget to define base layers
* Add a satellite base layer and another terrain base layer
* Add a note where to get more base layers
* Docs update
* Geomap widget: fix default base layer rendering
* Add startPosition and layersPanel attributes to geomap widget
* Update geolayer widget docs with missing attributes
* Add interactive demos for geounion, geodifference, geointersection
* Open geofeature and geomarker maps on the bounds of their content
* Move settings from demo into plugin
Because now the Flickr macros are part of the plugin
* Icon for geospatial plugin
* Fix missing body
* Flickr Demo typo
* Docs update
* Add support for draggable markers
* Removed accidentally committed file
* Remove unwanted log
* Add support for tm-request-geolocation message
* Fix typo
* Fix bug when fitting to non-extistent bounds
* Update main wiki greeting
* Use "Flickr helpers" instead of "Flickr macros"
* File renames for 05d3271603
* Fix testcase widget example
Thanks @btheado
* Fix testcase widget refreshing
* Fix failing tests from 03b6413c7a
* Docs: Clarify that template must be in the payload
* Testcase widget: Exclude tab state tiddlers
See https://github.com/Jermolene/TiddlyWiki5/pull/7406#discussion_r1327971965
Thanks @btheado
* Remove obsolete setquerystring operator
Instead we have the query- parameters to the http request message
* Remove obsolete change to --setfield command
* Fix tiddler name typo
* Initial Commit
* Add note to preview build
* Fix whitespace and indenting
Thanks @pmario
* Fix crash with unset $tiddler attribute on <$data> widget
Thanks @CodaCodr
* Remove Stamen baselayers
They have stopped making them available for free - see https://maps.stamen.com/stadia-partnership/
* Disable test that won't run in browser CI
* Disable broken tests
* Update olc-encode.tid (#7885)
Correct spelling
* Don't duplicate "description" field in test cases
* Use different background colours for nested testcase widgets
* Extend the testcase widget to run tests
* Add testcases to control panel
* Add a view template body template to render testcase tiddlers
* Test edition should display testcases
* Whitespace fixes
* Make testcase tiddler tempalte link to itself
* Styling tweaks
* Docs improvements
* Styling tweaks
* Run the new tw5.com testcases in the test edition
* Update data widget to display its content in JSON
* Add testcase convenience procedure
* Clearer testcases for data widget, and docs tweaks
* Don't expect our intentionally failing test to pass
* Extend testcase default template so that the display format can be chosen
It is selected by setting the variable "displayFormat"
* DataWidget docs typo
* Mark Geospatial plugin as experimental
* Update to Leaflet v1.9.4
* Remove unneeded template
Left over from when the testcase widget was first implemented
* Don't hide the volcanoes of the world data set
* Update Flickr demo docs
* Fix subtle typo that was preventing popups from working correctly
* Go back to hiding the volcanoes of the world by default
Too much data for a small device now that the markers are displayed correctly
* Clarify docs for tm-request-location
* Update modified testcase from master
* Prepare for merging
---------
Co-authored-by: btheado <brian.theado@gmail.com>
Co-authored-by: Drevarr <drevarr@gmail.com>
* Add defaultHeaders flag that controls helpful default heders that can sometimes interfere with apis
* Bump version number
* rename parameter to useDefaultHeaders, and catch one location where the default was not being set properly.
* Use a better comparision operator
* remove bad change
* refactor: use files to add prefix
* fix: always use $tw.sjcl
* refactor: move sjcl to lib/sjcl
* fix: require sjcl in lib/
* refactor: move sjcl.js back into /boot
* Introduced preliminary idea for infinite recurse exception
* Better handling of infinite recursion
But it could be better still...
* the TransclusionError is a proper error
Moved the magic number to be on the error's class. Not sure if that's
a great idea.
* Fixed minor minor issue that came up in conflict
The minor fix to the jasmine regexp that escaped a '+' somehow
broke some random test.
* Initial Commit
* Fix plugin library URL
* Need to set plugin library location for prerelease
* Styling tweaks
* Docs
* Add tests that the core plugins all have a valid stability field
* Update chinese language files
* Add chinese translations for the new `<$testcase>` widget
* Update chinese language files
* Add chinese translations for the new <$testcase> widget
* Initial Commit
* Add note to preview build
* Fix whitespace and indenting
Thanks @pmario
* Fix crash with unset $tiddler attribute on <$data> widget
Thanks @CodaCodr
* Don't duplicate "description" field in test cases
* Use different background colours for nested testcase widgets
* Extend the testcase widget to run tests
* Add testcases to control panel
* Add a view template body template to render testcase tiddlers
* Test edition should display testcases
* Whitespace fixes
* Make testcase tiddler tempalte link to itself
* Styling tweaks
* Docs improvements
* Styling tweaks
* Run the new tw5.com testcases in the test edition
* Update data widget to display its content in JSON
* Add testcase convenience procedure
* Clearer testcases for data widget, and docs tweaks
* Don't expect our intentionally failing test to pass
* Extend testcase default template so that the display format can be chosen
It is selected by setting the variable "displayFormat"
* DataWidget docs typo
* Fix data widget not refreshing
* Links in testcase output switch to the tab containing that tiddler
Thanks to @btheado for the suggestion
* Docs update for 648855e8a5
* Wording tweak
* Add support for narrative tiddlers in test cases
* Documentation improvements
* Cleanup comments
* Remove obsolete code comments
* Simplify template
* Docs update
* Rename $:/core/ui/testcases/DefaultTemplate/SourceTabs from $:/core/ui/testcases/DefaultTemplate/Source
* Use the view template body for failing tests
* Don't reference the geospatial plugin
* "Test case" should be two words
* Fix handling of currentTiddler variable
Fixes problem reported by @btheado in https://github.com/Jermolene/TiddlyWiki5/pull/7817#issuecomment-2103704468
* Prepare for merging
* fix parsing error with spaces before reEndString, update docs to clarify block mode inside block quotes.
* additional advanced example
* oops, convert spaces back to tabs.
* reset indentation
* final tabs
* missed some
* wikitext classes are appended to other leading wikitext, no need to skip whitespace here.
* Make month and weekday names lowercase
* Replace AM and PM with Polish words
* Adhere to recommendations wrt short weekday names
https://sjp.pwn.pl/poradnia/haslo/dni-tygodnia-i-inne-roznosci;1788.html
* Fix a typo
* Inflect month names
I assume they're always used as part of the full date,
and in this case months are always inflected in Polish.
* Use roman numerals in place of short month names
I could not find any actual use of short month names in Polish.
The only mentions are from people trying to translate English
conventions into Polish - typically in software.
In https://sjp.pwn.pl/poradnia/haslo/dni-tygodnia-i-inne-roznosci;1788.html
Mr. Bańko answered (translation mine):
Abbreviations of month names are less common, numbers are used instead.
Such abbreviations can be created [...]. However, one must take into account
that the reader will not understand them.
I decided to go with a convention that's in actual use, rather than to
force an English convention which is alien to non-software dev Poles.
APIs especially use 2XX response codes outside of 200, 201, 204 for responding to responses. Treat all "Successful" response codes (i.e. anything between 200-299) as successes, and pass the responseText.
* first pass at fixing bug 7878, needs testing
* clarify default behaviour in comment
* fix property typo, tested and works as intended
* remove debugger
* Start on some tests for <$action-deletefield />
* Only update modified field if we actually delete a field
…in the <$action-deletefield /> widget.
Fixes a bug where <$action-deletefield foo /> would update the modified field
if the "foo" field wasn't present on a tiddler.
* action-deletefield: Test when modified does and doesn't exist
* Add $timestamp argument to action-deletefield
To make it more consistent with other tiddler-manipulating action widgets
* Add docs for action-deletefield $timestamp
* Create a `refresh` keyboard shortcut
This creates a `refresh` keyboard shortcut that refreshes the page.
In TiddlyDesktop <kbd>ctrl-R</kbd> doesn't work
* Update refresh.tid
* Update shortcuts-not-mac.multids
* Update shortcuts-mac.multids
* Update ShortcutInfo.multids
* tag-picker add Examples
* tag-picker - use new v5.3.x wikitext syntax
* tag-picker - more inline docs
* tag-picker - fix add button
* rename local functions: tag, userInput to _tf.getTag and _tf.getUersName to make the code and variable scopes more understandable
* tag-picker - move local variables definitions into one place: tag-picker macro
* tag-picker - replace reveal-widget with conditional IF syntax
* tag-picker - remove logs and test tag-picker - actions parameer -> OK
* tag-picker - add tag-picker Macro docs
* tag-picker docs - change \define -> \procedure
* tag-picker -- fix problem with focus loss if elements selected by mouse click
* tag-picker -- add tf. prefix only to new function definition names for backwards compatibility.
* tag-picker -- update example docs
* re-add tags: $:/tags/Macro
* add tc-tag-missing or tc-tag-exists to tag pills including docs
* changes as requested
* macros not needed anymore - so remove
* fix the tag Macro docs
* add theme font size settings to Open in New Window CSS
* add DOCTYPE html to New Window startup template
* fix merge typo
* fix merge typo one more time
human readable in preparation to add data-title=<<listItem>>
for better UX defining a "read only" theme
Changes to be committed:
modified: core/ui/EditTemplate/controls.tid
modified: core/ui/PageControls.tid
modified: core/ui/PageControls/more-page-actions.tid
modified: core/ui/ViewTemplate/title.tid
modified: core/ui/ViewToolbar/more-tiddler-actions.tid
modified: plugins/tiddlywiki/menubar/items/pagecontrols.tid
* Update draggable.js - rename updateDomNodeClasses to assignDomNodeClasses
If I'm not wrong then the "updateDomNodeClasses" is unused and the "assignDomNodeClasses" is missing
This renames "updateDomNodeClasses" to "assignDomNodeClasses"
* Use "updateDomNodeClasses"
* docs: abount modern frameworks
(cherry picked from commit 783547bac2d1bfaa20def3eeda0dc10b6b465d8d)
* docs: modified time
(cherry picked from commit c8db907fe273a414768f5292f61986800e092dfe)
This avoids breaking existing code that expects to be able to import the core macros with just $:/tags/Macro
@pmario - I suggest that future updates use the same approach
Thanks to @ericshulman for reporting the problem
This PR attempts to modernize the tag-picker macros as procedures, as @Jermolene suggested in [#7548 (comment)](https://github.com/Jermolene/TiddlyWiki5/pull/7548#issuecomment-1825458523).
What I changed:
* rewrote macros as procedures/replaced text substitutions with variables
* replaced nested $set and $var widgets with $let widgets/functions
* minor rewrites to reduce redundant code
* some additional linebreaks for clarity
*This is functionally identical to my initial PR, [#7880](https://github.com/Jermolene/TiddlyWiki5/pull/7880)*, minus the extra file I'd accidentally added. Thank you for bearing with me as I learn to navigate GitHub.
* feat: add transcludes and backtranscludes filter and its relying indexer
* feat: add test about backtranscludes
* docs: add doc about transcludes and backtranscludes Operator
* refactor: merge backlinks and backtranscludes indexer
* fix: test not executed
* fix: latest transclude use $tiddler instead of tiddler
* feat: A tiddler transclude with template will still use the tiddler as result.
* docs: wrong comment
* $:/core/ui/EditTemplate/tags - rewrite to use v5.3.x syntax
* tag-macro -- change tag-styles function to make it more readable
* tags EditTemplate - improve code readability
* tags EditTemplate -- use hardcoded style colours as requested
* Use qualified-preview-state to reuse in preview button
Somehow the editor-body template and the preview button don't qualify the same showeditpreview anymore
* Update preview.tid to use qualified-preview-state
* Update preview.tid
* Update default.tid
* Update preview.tid
This removes `overflow: auto` from the tiddler preview.
I'm not sure anymore why it was added.
It causes some problems in the preview with popups for example, see screenshots
* Improve Filter Syntax documentaion / navigation
* update links and missing diagrams
* rename legacy prefix to shortcut prefix
* Update editions/tw5.com/tiddlers/filters/Filter Operators.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/And Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/Sort Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/Cascade Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* Update editions/tw5.com/tiddlers/filters/syntax/And Filter Run Prefix.tid
Co-authored-by: yaisog <m@rcuswinter.de>
* add most changes a suggested by yaisog
* fix copy / paste from-version
* replace operand with parameter in the docs
* fix typo
* fix typos and improve railroad diagrams consistency
* move "new from version" info for filter run prefixes below the table
* fix typo transclusion and substitution
* Move Filters tiddler to the top level in the TOC
* wip-breadcrumbs
* breadcrumbs & breadcrumbsList macro final
* remove files that do not belong to this PR
* restore release banner
* add simple / story mode to breadcrumbs
* .breadcrumbs macro update comments
* new breadcrumbs CSS, woks with small screens
* make CSS configurable using hidden-settings
* improve CSS fro small screens
* remove the initial: recursiveParentTag macro
* improve location info for breadcrumbs nav. add "alt-text" for Edge ::after element
* breadcrumbs add mode=field
* bc add initial docs
* breadcrumbsField will also respect the story ordering
* add configurable global filterMode setting
* improve arrow CSS for browser zooming
* add bc links use bc-caption if caption field is non-empty
* breadcrumbs improve comments
* breadcrumbs aria-lable uses caption if there is one
* breadcrumbs improve documentation
* breadcrumbs improve docs for sort param
* fix showArrows docs
* remove .bc-link aria-label .. it's not needed if caption is resolved properly
* use subfilter instead of enlist to evaluate the "excluded" variable. Be consistent with toc-macros
* remove breadcrumbs macros - they have their own PR now
* resolve conflict
* add back doc-macros tiddler
* integrate :then filter run prefix
* remove .breadcrumbs macros and their config tiddlers
* fix typos as requested
---------
Co-authored-by: yaisog <m@rcuswinter.de>
* First commit
* Typo
* Add support for delay parameter
* Add confetti widget
* Add tour plugin
* Add element spotlight to dynannotate plugin
Useful for highlighting on screen elements for the user
* More and bigger confetti by default
* Use new element spotlight to provide hints
* Adjust hint selectors for create tiddler tour step
* Include confetti plugin in prerelease
* Clarify wording of confetti demo
* Don't link TiddlyWiki in the tour panel
* Tweaks to tour buttons
* Mark dependents of the tour plugin
* Add full screen section of tour and tour edition
* Remove Anna Freud references from welcome tiddler
* Build the tour edition in the preview
* Fix typo in build script
* Populate tour edition with solar system data
From Simple English Wikipedia
* Missing tag
* Add page control button to start tour
Also make the tour controls visible in full screen mode
* Refactor to use global procedures to control the tour
* Change "startup-actions" field to "enter-actions" to avoid confusion
* Add a tour logo
* Refactor to allow multiple tours to be loaded at once
* Remove wikification from welcome tour step
* Update docs
* Simplify styles for top bar
* Tours should have a $:/tags/Tour tag
* Tour should autostart in the tour edition, but not in the main wiki
* Better labelling for the main preview
* Fix build process
We build a separate tour.html wiki, but can include the tour in other wikis too
* Remove obsolete text
* Add "using tags" as a separate tour
* Remove old debugging code
* Add tour chooser
* Ensure that the current tour isn't listed as an option in the final step
* Use whitespace trim
Note that the setting is inherited by procedure and widget definitions
* Simplify tour step format
* Remove obsolete state tiddler
Not needed because now we initialise it in startup actions
* Fix gap between navigation buttons
* Clean up tiddler titles within the introduction tour
* Finish allowing the name "TiddlyWiki" to be customised
Some of the code was in the previous commit. Next we'll wire up the user interface
* Clarify docs
* Add a settings pane giving a birds eye view of a tour
* Avoid having to embed confetti in the final step
* Update docs
* Tweak styling of tour chooser dropdown
* Add a button to launch tour steps directly, and give them captions
* Expose custom tour settings
* Use the tour step caption as the heading
* Fix initialisation when jumping to a tour step
* Introduce step about tags
* Improve wording
* Improve styling of task call-to-action and nav buttons
* Adopt new conditional shortcut syntax
* Wording and ordering tweaks
* Fix typos
Thanks @pmario
* Simplify styling of tour overlay
* Use custom palette colours
Makes it easier for people to use their own colour scheme for the tour
* More custom colours
* Tour wording tweaks
* Extends the tour plugin with a condition field (#7861)
* feat: support condition field to determine whether a step should be shown
* feat: add support for overriding the hint text using the field 'hint' from the step tiddler
* fix: roll back tour display procedure for now until an override mechanism has been discussed
* fix: renamed advance-criterion field and associated variables to step-success-filter
* fix: renamed hint field to hint-text and selector to hint-selector
* refactor: to create function to get all tour tiddlers filtered by their condition field
* refactor: rename globals tiddlers to variables and avoid making any of the tour procedures global
* fix: also rename globals.tid file to variables.tid
* docs: cover all tour steps tiddler fields
* fix: improve spacing in Tour HUD
* WIP
---------
Co-authored-by: Jeremy Ruston <174761+Jermolene@users.noreply.github.com>
Co-authored-by: Saq Imtiaz <saq.imtiaz@gmail.com>
* Added some passing macro definition parsing tests
* Added two failing tests to illustrate bug #3460
* Allow \end to end an whitespace only/empty macro definition. Fixes#3460
* Added some passing procedure definition tests
* Added two failing procedure tests to illustrate bug #3460
* Allow \end to end a whitespace only/empty procedure/function/widget definition. Fixes#3640
* Fixed wording of comment
* Initial commit
* Put SVG back into a span
Needed in case this is targeted in CSS; DOM structure should not be changed.
* Fix the fix
Do it once, do it right.
* Update ViewWidget.tid to include common varients
The provision of common variates to the view widget provides new an experience user examples of the different variants of the ViewWidget. The copy to clipboad method allows each variant to be quickly accessed and pasted into their wiki.
To facilitate this a new macro wikitext-example-compact has being added to
$:/editions/tw5.com/wikitext-macros
* Update ViewWidget.tid
Two colons added to maintain indenting in new content.
Adding the line
Use the [[ActionDeleteTiddlerWidget]] to delete a named tiddler without getting the "Do you wish to delete the tiddler" prompt.
However If someone knows how to make "WidgetMessage: tm-delete-tiddler" do this please explain.
* Add join attribute to list widget
* Use new join attribute in HTML saving templates
This simplifies the logic involved in saving tiddlers in JSON format
into TW html files, and should also slightly speed up the saving process
depending on how often that list widget gets refreshed.
* Unit tests for list widget's new join attribute
* Add `<$list-join>` widget
Allows specifying complicated join text more easily than an attribute
* Add data attribute support to button widget
* Fix typo
* Refactor ready for making mechanism more generic
* Apply more generic implementation to multiplate widgets
* Refactor to use existing widget.assignAttributes() method
* Fix typo
* Clarify docs
* Update docs
* Update select widget to support style.* attributes
* Remove obsolete comment
* Fixes refresh issues for checkbox and links widgets for data attributes (#7846)
* fix: refresh issues with checkbox and links widgets
* fix: indenting
* Feat: add support for data attributes to Draggable and Droppable widgets (#7845)
* Docs clarification
* docs: add style and data attributes to Draggable and Droppable widget docs (#7850)
* Refactors Select widget to directly create DOM node (#7848)
* fix: refactored SelectWidget to directly create DOM nodes
* fix: refactored SelectWidget to directly create DOM nodes
* fix: improve refresh handling for select widget
* Fixes issues in the PR "Button widget data attributes" (#7852)
* fix: fixed ordered attributes handling and improved tests to catch event attributes
* fix: clean up code from testing
* fix: more tests and refactoring
* fix: use lowercase when checking for event attribute prefix
* fix: use lowercase when checking for event attribute prefix
* fix: changed comment wording
* fix: minor refactoring
* refactor: for brevity
---------
Co-authored-by: Saq Imtiaz <saq.imtiaz@gmail.com>
* Modify SetWidget to include use to set global variables.
* Make sample variables easier to read.
* Change text to indicate use of pragma whitespace trim.
* Make compliant with 5.3.1 (?) release
* Add usemap attribute to image macro
Allow for a usemap attribute on the $image macro call which is passed through to the resulting img tag. This makes the use of HTML image maps [1] possible.
[1]: <https://www.w3schools.com/html/html_images_imagemap.asp>
* Document new usemap attribute in ImageWidget
* Update version docs
---------
Co-authored-by: Jeremy Ruston <jeremy@jermolene.com>
* add archive HTML wikis, add index.html + css
* only build archive for release version
* tested and add more docs
* fix indent
* fix spacing
* add $TW5_BUILD_OUTPUT_ARCHIVE env variable for testing
* use $TW5_BUILD_OUTPUT_ARCHIVE to check if archive should be built
* use TW5_BUILD_ARCHIVE as requested
* Simplify Permalink/Permaview URLs
* Fix lint warnings by removing arrow functions
* Remove commented sample code
* Remove post-ES5 code
* Add many more allowable non-percent-encodedcharacters
* Fix more ES6+ stuff, add end-of-sentence padding character.
* Fix to match standards
* Move the new code from boot to util
* Change from custom map/filter to $tw.utils.each
* Make `each` blocks multi-line
* Move the permalink handling to its own file
* Remove auto-navigation
* Revert "Remove auto-navigation"
This reverts commit ca1e5cf387.
* Add unit tests for negative indexes in json ops
* Allow negative indexes in JSON operators
Negative indexes will be treated as counting from the end, so -1 means
last item of the array, -2 means next-to-last item, and so on.
* Add documentation for negative indexes
When wikiparser parses text looking for a pragma block, it skips
whitespace before looking for the next pragma. If no pragma is found,
we should return the parse position to the original location so that the
skipped whitespace can be parsed as a text node. This allows the
attribute `join=" and "` to parse as " and " rather than "and ".
* Alternate fix for inconsistent list template syntax
First attempt, which fails on the ListWidget/WithMissingTemplate test.
* Make WithMissingTemplate test pass, inefficiently
Unfortunately, this ends up being very inefficient, because the
clone-and-mutate logic is repeated for every list item. Not ideal.
* More efficient way to do it
This also makes the failing test pass, but far more efficiently.
* Improve performance of list template discovery
Since parse tree nodes never change after widget creation (whereas
attribute values *can* change), we can safely search for the explicit
list templtaes only once, at widget creation time. This saves time as
the search doesn't have to be done on each re-render, and also allows us
to safely do a clone-and-mutate step to extract the list widget's body
(if any) without any `$list-empty` or other items. That, in turn, allows
using the list widget's body as the template even if `$list-empty` is
specified inside the widget body.
* Add support for running in-browser tests via playwright in GitHub CLI
* `ci.yml` was updated to store the report so that it can be inspected on failure
* `ci-test.sh` was added as an expansion to `test.sh` which installs and runs playwright
* `playwright.spec.js` does the actual verification of opening the test TW edition in browser, waiting for the tests to finish and then verifying it has indeed passed
* `playwright.config.js` Playwrifht configuration
* Add support for running in-browser tests via playwright in GitHub CLI
* `ci.yml` was updated to store the report so that it can be inspected on failure
* `ci-test.sh` was added as an expansion to `test.sh` which installs and runs playwright
* `playwright.spec.js` does the actual verification of opening the test TW edition in browser, waiting for the tests to finish and then verifying it has indeed passed
* `playwright.config.js` Playwrifht configuration
* Fix file permissions for `ci-test.sh`
* Increased node version for github actions to support playwright
* Add installation of the required @playwright/test library during CI test execution
* Fix encodebase64 and decodebase64 filters
The documentation for encodebase64 says that the input is treated as
binary data, but in fact the input is being treated as text data, with
an extra UTF-8 encoding step being performed first.
Likewise, the decodebase64 documentation says that it outputs binary
data, but in fact it will do a UTF-8 decoding step before producing
output, which will in fact garble binary data.
This commit changes the behavior of encodebase64 and decodebase64 to
match what the documentation says they do. It also adds an optional
`text` suffix to both filters to keep the current behavior.
Finally, an optional `urlsafe` suffix is added to both filters to allow
them to use the "URL-safe" variant of base64 (using `-` instead of `+`
and `_` instead of `/`).
* Try to fix failing test
Turns out a little more than this is going to be needed.
* Fix binary base64 encoding, including unit tests
* Update base64 filter documentation
* Can't use replaceAll, too new
Have to use String.replace with a global regex instead
* Replace uses of window.btoa() in rest of code
Since window.btoa() is not available under Node.js, we'll replace all
uses of it with the $tw.utils.base64encode() function that now works
correctly for binary data.
* Add link to UTF-8 glossary definition at MDN
* make toolbar, editor and preview display: grid
* correct display of bitmap editor
* grid-area: toolbar not only when preview is shown
* use dedicated classes and tc-grid and no brittle CSS selectors
* no need for width: 100%
* cleanup style definitions
* use semantic classnames
* feat: add modifier info
* feat: replace image and attachment with [img[] and [[]]
* feat: import as wikitext tid
* fix: a few resources don't have title
* fix: use hash as random name for images
* fix: Firefox's DOMParser have problem in some cases
* fix: bad char in title, and useless xmlns
* Update sample-enex-with-image.xml.enex
* Update enex-deserializer.js
* Update readme.tid
* fix: some dont have modified
* Passing test
* Failing test
* Fix test
It still fails, but now fails correctly
* Fix refreshing transcluded functions (#7755)
We store the previous result of the filter function and recalculate it
when the transclude widget needs to be refreshed, refreshing the widget
if the result is different.
---------
Co-authored-by: Jeremy Ruston <174761+Jermolene@users.noreply.github.com>
Co-authored-by: Robin Munn <rmunn@pobox.com>
* Initial Commit
* Update docs
* Add support for elseif blocks
* Another test
* WIP
* Change from `{%if%}` to `<%if%>`
See discussion here - https://talk.tiddlywiki.org/t/proposed-if-widget/7882/64
* Don't use the widget body as the template if a list-empty widget is present
See discussion here - https://github.com/Jermolene/TiddlyWiki5/pull/7710#issuecomment-1717193296
* List widget should search recursively for list-template and list-empty
* Allow block mode content within an if/then/else clause
* Update docs
* Add from-version tag to docs
* Change favicon format from ICO to PNG
* Revert renaming `./favicon.ico`
Keep the backwards compatible file name `./favicon.ico` (though they will actually be in PNG format now).
* Add SVG template for creating favicons
Add `favicons.svg`, the template for creating the current PNG favicons, along with some helpful information about it in `favicons.svg.md`.
* Add source Inkscape SVG
Add source Inkscape SVG as an example of image tiddler in tw-com
* Fix offline upgrade download link
In Firefox (92.0.1) `href="#"` does not allow to start downloading of `upgrade.html` (Chrome has no such problem). Making href completely empty fixes the issue.
* Update plugins/tiddlywiki/upgrade/UpgradeWizard.tid
Both flexbox and grid layouts need the container div to be the direct
parent of the children it lays out. To enable that, we need a class that
can select the direct parent of the list widget in PageTemplate.tid so
that that class can have `display: flex` or `display: grid` applied to
it. The `tc-page-container` div is not suitable, because it contains
a `<$dropzone>` inside it, and the dropzone widget creates a div so
tc-page-container is no longer the direct parent of the list. Instead,
a tc-page-container-inner class is added to the dropzone widget in
addition to its existing tc-dropzone class, so that grid or flexbox
layouts can target tc-page-container-inner for setting the appropriate
CSS `display` property.
* Add failing test for list widget with counter-last
The failing test appends a value to a list without changing the rest of
the list, and the counter-last value doesn't get updated correctly when
that happens. Also added another test, which passes, testing removing
the last item of the list, just in case of a regression.
* Improve unit tests for counter-last list widget bug
The unit tests were looking very similar to each other, so I factored
out the common code and made them into simple data-driven tests.
* Fix bug where counter-last fails in list widget
The only scenario that was failing was when counter-last was used, but
the list was strictly appended to with no other changes made. The one
unit test that was failing now passes with this fix.
* Improve bugfix to list widget counter-last
Now we only refresh the last item if it was truly necessary.
The `all` filter operator has shortcuts to optimise common patterns like
`[all[shadows+tiddlers]]` or `[all[tiddlers]]`. In those cases, the
filter operator function returns early and never uses the `result`
linked list that was created, so it's immediately garbage-collected.
Let's delay creating it until we know it's actually going to be used.
If we don't delete the typeInputTiddler with the click on the "delete" button then the dropdown stays filtered - but the text input seems to be empty. This PR corrects this behavior
Currently I'm building these files myself for use on tiddlyhost.com.
I'm thinking it would be nicer if they were built and distributed by
TiddlyWiki's own build automation, so this is a step towards that.
The two new files that are created, "empty-external-core.js" and
"tiddlywikicore-<version>.js" will appear alongside the existing
"empty.html" and "empty.hta" when the TiddlyWiki site is deployed.
I noticed these inconsistencies in the tiddlywiki.info json files
while working on the previous commit and thought I'd fix them for
the sake of neatness and tidiness.
This contains whitespace changes only, so git diff -b should be
empty.
Includes:
- Remove some trailing whitespace in several files
- Fix incorrect indenting in one file
- Add end of file newlines in two files
the tiddler gets transcluded in the stylesheets like so:
```
font-family: {{$:/themes/tiddlywiki/vanilla/settings/fontfamily}};
```
note - the semicolon at the end
So this semicolon is superfluous
* Update _Timimi_ Extension and executable by Riz.tid
Include the line
* The native host requires a component installed on the host computer, outside the browser.
So it is clearer there are two components to be installed and access to the local machine is implied.
* Update _Timimi_ Extension and executable by Riz.tid
Added blank line
* Use 'translink' macro on widget attribute 'subtiddlers' to make it browsable by scrolling
* Avoid the styling of the translink macro by directly transcluding
---------
Co-authored-by: btheado <btheado@mailinator.com>
* Factored out variable invocation tiddlers into separate tiddlers
* Document the variable attribute value behavior more completely
---------
Co-authored-by: btheado <btheado@mailinator.com>
* Update Widgets in WikiText.tid
Added Minimalist link to [[Substituted Attribute Values]] so the new method is also listed.
* Update Widgets in WikiText.tid
removed see also
* Refactor parse mode out of getTransclusionTarget
* Refactor missing transclusion target
* Add a test to avoid regressions on the handling of macros vs procedures
* Refactor condition logic
* Preparing to split getTransclusionTarget into two separate functions
* Split getTransclusionTarget into getTransclusionTargetIncludingParseTreeNodes
* Resolve another inefficiency
The transclusion target was sometimes being parsed twice when transcluding as text/plain
Associated test results are also made more consistent
* Simplify method naming
* Neatening up
* fix drag and drop from chrome-like browsers to FireFox
* test feature matchMedia function
* implement new borwser sniffing functions as utilities
* use $tw.browser structure for isMobileChrome detection
With a demo courtesy of https://random.dog/
@rmunn you recently worked on the base64 utilities. I tried to use $tw.utils.base64Encode instead of window.btoa, but found that it didn't work. It's concerning because we expose that utility method as a filter operation, and it would be frustrating if we were not base64encoding things properly.
1. Update comments
2. Refactor use of parseTreeNodes so that they are not referenced unnecessarily
3. getTransclusionTarget doesn't need to return the parser object
* Added failing test for #7604
* Fix attribute substitution regexp
Use the same regexp in wiki.getSubstitutedText as is used in
Widget.prototype.substituteVariableReferences. Fixes#7604.
* Added a test for a variable name containing spaces
Fixing error in
* [[a transclusion of a macro/variable|Transcluded Attribute Values]]
Which should be;
* [[a transclusion of a macro/variable|Variable Attribute Values]]
Previously, the implicit sort ordering of modules ensured that the "plugins" startup module ran before the "startup" startup module. That no longer holds when experimenting with alternate stores that might use a subtly different collation order (eg $:/core/modules/startup.js vs. $:/core/modules/startup/commands.js), so it's more robust to explicitly specify the dependency
* add option explodeplugins
refactor
Maintain Parameter Compatibility
change let to var
Refactoring the code
add conditional judgment
use === to avoid type-casting errors
refactor use <path> [<name>=<value>]
delete redundant code
backward compatibility support
easier to use
improve code
add documentation
* Update Notes
* Improve the code
* fr-FR translation for network activity button
* fr-FR translation of error strings related to the deserialise operator
* fr-FR translation of the error string related to text nodes in Story View interaction
* fr-FR additions and corrections of core field descriptions
* fr-FR translation of Layout Switcher strings
* fr-FR addition of the --commands help file
* Better fr-FR description of the subtitle and footer core fields
* Initial commit
* Replace previous result only when non-empty
* Add doc tiddler
* Small change in rp-output description
* Update FRP title
lowercase with colon prefix
* Integrate with other doc tiddlers
* Add two doc-styles for reuse
* Add tests
* Add another test
* Correct indentation in stylesheet
* Change title and tags, add example to doc tiddler
* Replace leading spaces with tabs
* Improve docs text and structure
* feat: new text substitution support, first pass
* fix: use the widget method instead of evaluating a filter
* revert to earlier implementation that emulates macro syntax
* fix: capitalize comments
* feat: add support for triple backticks for substituted attributes
* docs: added docs for substitute operator
* chore: more docs tweaks
* docs: substituted attributes, refactored docs for widget attributes
* docs: fixed typo
* docs: more examples for substituted attributes
* docs: updated prior documentation on concatenating text and variables
* docs: documentation corrections
* Update editions/tw5.com/tiddlers/filters/examples/substitute Operator (Examples).tid
Co-authored-by: btheado <brian.theado@gmail.com>
---------
Co-authored-by: btheado <brian.theado@gmail.com>
* Adopt Google Analytics 4 tag code
* Fix typo
* Temporarily add Google Analytics tracking to tw5.com
So that we can test everything is working with the Vercel preview
* Remove test configuration
* Add Polish translations for strings introduced in 2221b8e08a
* Add Polish translations for strings changed in 98e72558d0
* Add Polish translations for strings changed in d1f90f075f
* Add support for \dir pragma
* Add "dir" attribute to reveal, edit, edit-text and edit-codemirror widgets
* Add $:/config/DefaultTextDirection hidden setting
* Revert accidentally commited test data
This reverts some of commit b83c1d160f.
* Remove Codemirror plugin from Prerelease
Makes it easier to test things
* Fix framed text editor directionality in Firefox
* Add direction attribute for edit body template
* Missed closing brace
* Add docs for \dir pragma
* Templates should set text direction from a variable, not a transclusion
* Updates to framed.js in the light of PRs that have been merged since this
* Restore whitespace trim
* Docs dates
* Fix typo
* Clarify docs
* Update ShadowTiddlers.tid
main change is added section about "overriding shadow tids"
* The word "extracted" might be confusing
---------
Co-authored-by: jeremy@jermolene.com <jeremy@jermolene.com>
* Request the browser to never evict the persistent storage
* Store browser storage persisted state in a tiddler
* Factor out some code into helper functions
* Display status of persistence request in the settings page
* toc make exclude a proper macro parameter using subfilter instead of enlist
* add exclude parameter to TOC documentation tiddler
* add exclude parameter to toc-tabbed-xx macros
* add from-version to exclude parameter
* Initial Commit
* HttpClient object shouldn't need to know about events
* Add support for cancelling HTTP requests
* Make the number of outstanding HTTP requests available in a state tiddler
* Add a network activity button
Click it to cancel outstanding requests
* Fix typo
Thanks @btheado
Co-authored-by: btheado <brian.theado@gmail.com>
* Fix crash when cancelling more than one HTTP request
Thanks @saqimtiaz
* Further fixes to cancelling outstanding HTTP requests
* Fix missing body
---------
Co-authored-by: btheado <brian.theado@gmail.com>
* Disable camelcase by default
* New parse rule for ~CamelCase
For backwards compatibility with text that includes ~ to suppress camelcase links
* Enable CamelCase for main documentation wikis
Will take us a bit longer to convert all the links over
* Fix tests
* Release note update
* feat: added deserialize operator, tests and documentation
* fix: correct typo in lingo file
* fix: remove test that fails on node but succeeds in browser due to different availability of DOM deserializer
* fix: CJK in header has to be urlEncoded
* refactor: use $tw.utils.decodeURIComponentSafe
* docs: about chagne in this field
* docs: update
* docs: use less "field"
* Update ParametersWidget and add Examples
This PR updates the ParametersWidget.tid and adds several examples
* Update Procedure and Parameters Pragma
This PR improve documentation for using parameters inside procedures
* Update Pragma_ _procedure.tid
A caution when use parameters inside procedures
* Resolved conversation
All comments by Jeremy were implemented.
* Checkbox widget should not affect date fields
If a date field like `created` or `modified` is passed as the listField
attribute of the checkbox widget, it will be left unchanged and actions
on the checkbox widget will *not* fire.
Includes unit tests to ensure that the "created" and "modified" fields
will not be touched by checkboxes and will continue to be Date objects.
* Replace const with var in checkbox tests
* Improve translink macro
Changes:
- Change styles to adapt colours to the current palette, instead of hard-coded white inside black box with grey borders.
- Simplify the design to a single div (inspired by the Community links on tiddlywiki.com), instead of two nested contrasting divs.
Comments:
- I found pre-border and pre-background to be the most consistently readable across the default palettes (better than relying on e.g. tiddler-border, tiddler-background, page-background, code-border, code-background). Cupertino Dark, Gruvbox Dark, Nord, Solar Flare, Spartan Day, Spartan Night, Spartan Day, and Twilight have same or very similar pre-border and pre-background colours, so if the macro is nested (translinking a tiddler that contains a translink), the inner frames are not distinguishable, but I think it's an acceptable edge case.
- Padding is defined separately for block and inline modes of the macro to make it appear consistent.
* Update translink macro
Change the `<h1>` styling so that it is only applied to the transcluded tiddler's title and not to any potential `<h1>` in its text.
* Update translink macro
Change the class-constructing filter so that the empty message is displayed with consistent padding in block mode.
* Update translink.tid
* Add styles for translink macro to vanilla/base.tid
Split `pre` element styling, to allow part of it be reused with `.tc-pre-border` (used by translink macro).
Add `.tc-big-bold` class under Other utility classes (used by translink macro).
* Update base.tid
Add `.tc-big-bold` class under Other utility classes (used by translink macro).
* Update translink.tid
Update `tc-pre-border` class name to match the one in vanilla/base.tid
* Update translink.tid
Simplify by always wrapping transclusion in `<p>` element (adjusts padding when inline mode or tiddler missing).
* Update translink.tid
Localise missing tiddler message (`$:/language/MissingTiddler/Hint`)
* Update vanilla/base.tid
- Modify class `tc-pre-background`, so that it can be applied to elements other than `pre`. The styling of `pre` remains unchanged, it is only split into two parts, for one part to be reused in the `tc-pre-background` class (used e.g. in translink macro).
- Add `tc-big-v-gap` and `tc-big-bold` in the *Other utility classes* section (used e.g. in translink macro).
* Update translink.tid
Improve styling to depend only on classes specified in vanilla/base.tid
* Update base.tid
Update class `tc-translink` and CSS selectors to make styling the translink macro easier
* Update translink.tid
Change the classes of elements, so that changing the style is possible by modifying the stylesheet only
* Update base.tid
Add selectors to support new inline mode in translink macro
* Update translink.tid
Change behaviour of the inline mode, now the whole macro is inline, not just the transcluded text.
* Update base.tid
Fix padding of tc-translink class to account for multiline inline content.
* Update base.tid
Remove pseudo-element parentheses from inline translink macro
* Update translink.tid
Add parentheses around inline macro
* Update Using Excise.tid
Rephrase the last paragraph (note).
Fix some minor formatting.
* Update WidgetMessage_ tm-edit-text-operation.tid
Add link to `translink Macro`
* Create TranslinkMacro.tid
* Create translink.tid
* First Pass Implementation
* Fix Check
* Fix Style
* Update drag-drop interop example to support copy tiddlers to clipboard
---------
Co-authored-by: jeremy@jermolene.com <jeremy@jermolene.com>
* feat: inform child widget to do some custom cleanup
* fix: type
* refactor: restore old removeChildDomNodes
* refactor: make destroy() a separate method
* refactor: make destroy call removeChildDomNodes
* refactor: call destroy instead of removeChildDomNodes in each core widgets
* fix: refreshSelf does not mean destroy
* refactor: use old var insteadof const
* docs: about subclass
* Run modules in one new context
* Fix polyfill running on require
* Add code to check for global assignments
* Allow globals in separate context
This lets the caller request a separate context which may be polluted.
* Jasmine needs to pollute the global
* Formatting
* Add polyfill and cleanup code
* Convert to ES5
* One bug fix
* Some formatting
* Remove console.log line!
* Cleanup
* revert css-escape-polyfill.js to hopefully remove it from the PR
* Remove JSDOC directives
* Initial commit
* Correct the over-estimation of my abilities
* Add fallback and move code to dom.js
* Use new function for tm-focus-selector
* Replace other uses of querySelector*
* Undo rash replacements of querySelector()
* Initial commit
* Update StoryTiddlerTemplate.tid
* Extend cascades hint to help in case of problems
* Remove note about debugging from docs
I think that this brief note is more confusing than anything else
---------
Co-authored-by: jeremy@jermolene.com <jeremy@jermolene.com>
* Create timestamp.js
Taken verbatim from @ericshulman.
* Add description of the timestamp suffix
* Add an example for timestamp use
I also snuck it a couple of cosmetic corrections, because I was too lazy to open a new PR. 😢
* Correct example 4 to use the right date formats
* Correct description of the default date format
* Add a test for the timestamp suffix
* Add more format:timestamp tests
* Drop invalid input
* Update version tag in docs
---------
Co-authored-by: jeremy@jermolene.com <jeremy@jermolene.com>
If a tiddler is only a shadow tiddler, then do not save it
to local storage. Otherwise when installing a plugin, each
individual tiddler will be expanded and saved individually.
In order to uninstall such a plugin, the plugin tiddler and
each tiddler needs to be deleted.
This can be prevented by including a run like `-[is[shadow]!is[tiddler]]`
in the save filter, but that has the side effect of preventing
overwritten shadow tiddlers from being deleted from local storage.
* Initial Commit
* Change of mind: Do not blank thisTiddler within macros
* Revert previous implementation
* Somewhat simpler implementation
* Add docs
* Add docs version tag
* external-js file naming adjusted. import docs form tw5.com. make external-js more visible
* add comment about doc usage in server-external-js edition
* add changes suggested by cdruan
* change modifed date to start vercel rebuild process
* Add searchModes: literal, some and words
* Add additional search modes
Description of selection tracker config tiddlers was also changed.
* Update simple.tid
* Improve View Template examples
Transcludes a sample tiddler for demonstration instead of the dynannotate view template code.
Adds an example for usage with $genesis to add state tiddler controlled per-tiddler highlights.
* Make search highlights not case sensitive
* Remove created and modified fields
* Add another example text (Searching in Tiddlywiki)
* Add dynannotate for vercel deployment
This should probably not be merged...
* Create LegacySelectionTracker.tid
* Create SelectionTracker.tid
* Revert putting the SelectionTracker config titles in code blocks
* Replace inline styles with CSS class
* Add class for view template examples
Class name is tc-dynannotate-example-frame.
* Remove some <br> line breaks.
* Remove first example transclusion and fix some tab spacing
* Add class to override control panel table layout
* Add class to settings table
* More tab shenanigans
Great Scott!
* Add explanatory comment to example macro
* Change defaults to match widget behavior
* Make previous macro comment more concise
* Change example to transclude CP tiddler
$:/core/ui/ControlPanel/TiddlerFields
* Delete unnecessary example tiddler
* Add 'filepath' source attribute to tiddlywiki.files
Adds a new source attribute to facilitate importing subdirectories with
the `searchSubdirectories` attribute.
The `filepath` atttribute is like `filename` except it includes the full
pathname relative to the directory path. Consequently it only works with
`directories` sections (not `tiddlers`).
* Add `subdirectories` source attribute to tiddlywiki.files
Adds another new source attribute to facilitate importing subdirectories
with the `searchSubdirectories` attribute.
The `subdirectories` source attribute is only usable with `directories`
sections (not `tiddlers`). It resolves to an array containing all the
directories in the file's path relative to the directory path. Eg, if
the directory path is `files`, `{ source: 'subdirectories' }` for a file
in `files/images/photos` would resolve to `['images', 'photos'].
This commit also adds an example to the "tiddlywiki.files Files"
documentation tiddler that demonstrates using the `filepath` and
`subdirectories` source attributes to import and auto-tag image files
as external-image tiddlers.
* 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
* Add new Polish translations
Introduced in commit 54cfda76ee
* add Polish translations for changes from commits d78ad756 to b9ae6607
Co-authored-by: Maurycy Zarzycki <maurycy@evidentlycube.com>
* 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
* 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
* Improve the plugin description field to make the dataflow more obvious
* Add suffix and parameter to trim operator
Fixes#4809
* Unit tests for new trim operator parameters
* Mention trim operator in 5.1.23 release notes
* Address review comments
* Move regex escaping into utils.js trim functions
This way the trimPrefix and trimSuffix functions from utils.js are safe
to call without regex-escaping their parameters, which should make them
easier to use from other parts of the Javascript code.
* Fix 'if' condition syntax in Actions workflow
Strings in expressions need to be in single quotes:
https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#literals
* Delete .travis.yml
We moved to GitHub Actions
* Inline git-related environment variables
* Inline the build number variable
* Rename TRAVIS_BRANCH to TW5_BUILD_BRANCH
Since we don't use Travis anymore
* Update developer documentation regardgin which CI service is used
* Document the decision about setting env vars in the workflow file
This is my first contribution to Tiddlywiki , which contains an Arabic translation of 603 strings out of the porposed 941 strings in the translator edition.
I'll be working soon to finish the translator's edition strings, and I'll create a proper cascading for the arabic tiddlers.
* Parameterize strings that mention Travis
This is so that the script can be shared with
GitHub Actions while we make the transition.
* Add GitHub Actions workflow
More or less a direct translation of .travis.yml
* Rename scripts that mention travis
* Fix typo
* 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
* fix issue #4750 add plugin-priority of 10 to tiddlyweb plugin.
* Initialize draft tiddler with empty text
Otherwise, when the tiddler has a meta file,
$tw.utils.saveTiddlerToFile will call fs.writeFile with the content
to write as `undefined`. Depending on the version of Node, this
results in the string "undefined" getting saved or a TypeError.
* Remove what seems to be a leftover debug log
* 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
* fix#4800 - remove network communication to product hunt
Most astral-plane text is emojis like U+1F4DA BOOKS (📚), but some
languages like Osage have their alphabet entirely in the supplementary
multilingual plane as well. For proper support of languages like Osage,
and newer emojis, the UTF-8 decode and encode functions need to properly
handle codepoints above U+FFFF, which are represented by a surrogate
pair in Javascript strings.
* Fixed Overflow svg fill
When hovered, the svg should be the same colour as the text it comes alongside. This fixes that.
* Fixed the Solarized Palettes as per spec
- Added the Solarized Dark palette
- Remade the Solarized Light palette with the right contrast ratios as per Solarized Spec.
* Sidebar Selected Tab UI Change
Changed the selected tab border and foreground from pink to white(base01) because the pink was too distracting and not very readable.
* Fixed Hover css for plugin info listing
The css was not working so I fixed it.
* Fixed the UI for plugin info tiddler (among others)
* Update NewJournalTags.tid for zh* languages
* Add chinese shortcut descriptions to Misc.multids
* Add chinese translations for `Saving/TiddlySpot/ControlPanel`
From RFC 2616 - "Hypertext Transfer Protocol -- HTTP/1.1", Section 4.2, "Message Headers":
Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive.
Block the raw widget unless consent has been granted. This is helpful because the tw2parser generates <$raw> widgets for content embedded with <html>, and thus this blocks YouTube embeds.
* switch boolean logic in new parameters
Use renameinTags and renameInLists instead of dontRenameInTags and dontRenameInLists respectively. This avoids users having to think through double negatives, as well as corresponds better to the setting in $:/config/RelinkOnRename
* Updated docs for revised parameters for tm-new-tiddler
* Styles and templates for visual changes to Saving methods listing
* Color coding saver methods according to delivery
* Changes to tags and few tiddlers
- The tag InternetExplorer has been changed to [[Internet Explorer]]
- A tag for Edge is added
- Reclassified TiddlyServer as DIY instead of App
The existing criteriion for classification is unclear. Here is my reasoning for the change. An app is something user can simply install and run. Like TiddlyDesktop or Tiddloid. A DIY is something user has to install additional runtimes for. Thus Nodejs is a DIY. In the same vein, TiddlyServer is a DIY
* Adding Twexe
* Reversing accidental changes to StoryList
* Restyling Download button and Card Size
* Removing "Read more" links
Entire card is now clickable
To give visual clues regarding the clickability of card, title will change color to blue on card hover
* Removing margins from elements under link and adding padding instead.
Why this change? Margins are not "clickable". Having margins under <a> tag means there are minute dead areas where the mouse pointer will change shape, is not clickable and degrade user experience. Paddings are "clickable"
* Add fieldmangler to Manager Tags-Sidebar
This makes the tm-add-tag messages in the tag-picker work
* Add actions parameter back to tag-picker macro
* Add div so that tag-dropdown shows below input field
* Add missing tc-btn-dropdown class to dropdown button ...
... for consistency with dropdown buttons in EditTemplate
* Update tag-picker.tid
* Corrected issue with markdowns softbreaks
It wasn't respecting the $:/config/markdown/breaks setting.
It was effectively always "true".
Also, no more errors when encountering hardbreaks.
* Corrected introduced md bug
Made it so after each md type, accumulated text may be flushed.
* Changed convertNodes to use switch statement
It's faster, less text, easier to read, and now debuggers don't play
duck-duck-goose with every if-else block.
* whitespace text is no longer forgotten
* Fixed issue with text after md pattern and \n
* Add pathPrefix to state, and options to request handler
* use ternary operator instead of default empty object
* Fix styling issues
* Update server.js
* Add boot to server and filesystem adapter
* 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
* fix high CPU load
* The `!has[tags]` filter didn't work because "tags" is an array
The negated `has` filter only considered empty strings, but not empty
arrays (such as the `tags` field).
* Add tests for `has` filter operator with array-like fields (tags, list)
Even though we passed the `class` attribute, it did not take it into
account. For example try to render this:
<$droppable class="custom-css-class">
... content ...
</$droppable>
Before applying this patch:
<span class=" tc-droppable">
... content ...
</span>
After applying:
<span class="custom-css-class tc-droppable">
... content ...
</span>
To avoid users being mislead when trying to subscribe by email to one of the
Google Groups, put only the relevant mailto link in each forum section.
Co-authored-by: Jeremy Ruston <jeremy@jermolene.com>
* Corecting URL of LuckySushi shop
* Android-Instructions remained for Andtidwiki
* Updating description and feature set of Timimi
Updating URL of Widdly
Resolving minor camelcase issues in TiddlySpot
* Detailed instructions about termux and adding it to save methods
* Correcting the words "open source" and "Unix"
* Changing link protocols of verified domains to https
This commit fixes the the comment in the route
`recipes/default/tiddlers.json` which was inconsistent with the actually
used regex. Furthermore, the 403 response was adjusted to also agree
with the the new comment and the regex.
Co-authored-by: tobidot <post@tobidot.net>
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* add $template and $overwrite parameter
* documentation for new parameters + 4 new examples
* remove unwanted files
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* extend fields-widget with include/exclude/sort/reverse and fields-filter with include and exclude params plus DOCS
* remove new-line
* remove eslint settings
* restore old eslint settings
* remove typo
* 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
* fix 4532. Links should not add unwanted whitespace, since this causes problems with CSS styling
* remove whitespace from tiddler title and add a little bit of margin-right to the tiddler icon.
* use default parameters for link handling, which results in less code
* introduce tc-viewswitcher class to be able to style icon distance to text
This makes makelibrary.js use environment variables to find paths for plugins, themes and languages instead of just using the paths hardcoded in boot.js
* Add chinese translations for AddPlugins things
* "updates" tab
* prompt for plugins that have subplugins
* Improve chinese wording
* Update chinese translations for AddPlugins
* add Plugins/Downgrade/Caption
* add Plugins/Update/Caption
* update Plugins/Updates/UpdateAll/Caption
* fr-FR translation for strings relative to plugin updates
* Missing fr-FR translation for a string in ControlPanel
* Missing fr-FR translation for Copy to Clipboard caption & hint
* Missing fr-FR translations for the Edit Template
* fr-FR translations for updates/upgrades in plugin chooser
* Enable the internals plugin by default in docs
1. Why hide such a useful thing from the users?
2. When playing around with code examples from the docs they may want to know how the resulting html looks.
* Improve doc
* Typo
Co-authored-by: Jeremy Ruston <jeremy@jermolene.com>
* use dependents in codemirror-autocomplete
* add dependents to codemirror-mode-htmlmixed
* add dependents to sublime keymap
* add dependents to vim keymap
* add dependents to htmlmixed mode
* add dependents to htmlembedded mode
* add dependents to markdown mode
* fix typo in markdown-mode
* fix typo in codemirror-mode-htmlembedded
* fix typo in codemirror-keymap-sublime
* fix typo in codemirror-keymap-vim
* fix typo in codemirror-mode-htmlembedded
* fix typo in codemirror-mode-markdown
* 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 translations
* Adds a name to the core plugin
* Make plugin listings consistently show "name: description"
* Make plugin listings consistently sort by title (thus grouping publishers)
* Add a missing plugin name
See discussion here: https://github.com/Jermolene/TiddlyWiki5/pull/4508#issuecomment-609671970
* fr-FR translated strings for the Gitea saver
* fr-FR translation for the _is_skinny description
* fr-FR translation for the Network Error alert
* fr-FR translation for Menu Bar colors
* fr-FR translation for the hint of the add button in EditTemplate
* fr-FR translation for the default focus field hint
* fr-FR translation for throttle.refresh field description
* fr-FR translation for Icon: None in TagManager
* fr-FR translation for Plugins "Also requires:"
* Add NewJournalTags.tid in fr-FR directory
* fr-FR translations for plugin related strings
* fr-FR translation for Sidebar visibility toggle hint
* fr-FR translation for the sidebar search hint
* fr-FR translation for two Palette Editor hints
As detailed in #4519 the range widget currently does not save its value to the state tiddler on IE 10/11 as they do not support the input event, but rather the change event is fired instead of the input event. This has patch has been tested in IE11 and should work in IE10 as well.
Note that on Chrome and Firefox, the change event will fire only once after the user stops dragging the range slider (In addition the input event). However this does lead to an extra refresh as the handleInputEvent method already checks to see if the current value of the slider is different from the saved value before saving to the store.
Update documentation for modals to include the custom class introduced in #4485, as well as the footer and subtitle fields that don't appear to be documented.
* First commit
* Add throttling of saves
Now we refuse to save a tiddler more often than once per second.
* Wait for a timeout before trying again after an error
* Modest optimisations of isDirty() method
* Synchronise system tiddlers and deletions from the server
Fixes two long-standing issues:
* Changes to system tiddlers are not synchronised from the server to the browser
* Deletions of tiddlers on the server are not propagated to browser clients
* Make sure we update the dirty status even if there isn't a task to perform
* Replace save-wiki button with popup sync menu
* Remove the "Server" control panel tab
We don't need it with the enhanced sync dropdown
* Add indentation to the save-wiki button
* Fix spacing in dropdown menu items
* Switch between cloud icons according to dirty status
* Add a menu item to copy syncer logs to the clipboard
* Improve animated icon
* Remove indentation from save-wiki button
@pmario the annoying thing is that using `\trim whitespace` trims significant whitespace too, so it means we have to use <$text text=" "/> when we need a space that won't be trimmed. For the moment, I've removed the indentation but will keep thinking about it.
* Further icon, UI and copy text tweaks
Move the icons and styles from the core into the TiddlyWeb plugin
* Clean up PR diff
* Tweak animation durations
* Break the actions from the syncer dropdown into separate tiddlers
@pmario I think this makes things a bit easier to follow
* Refactor syncadaptor creation and logging
The goal is for the syncadaptor to be able to log to the same logger as the syncer, so that the "copy syncer logs to clipboard" data is more useful.
* Don't transition the dirty indicator container colour, just the SVG's colour
* Only trigger a sync for changes to tiddlers we're interested in
Otherwise it is triggered by the creation of the alert tiddlers used to display errors.
* Restore deleting local tiddlers removed from the server
(I had commented it out for some testing and accidentally commited it).
* Guard against missing adaptor info
* We still need to trigger a timeout when there was no task to process
* Avoid repeatedly polling for changes
Instead we only trigger a timeout call at if there is a pending task (ie a tiddler that has changed but isn't yet old enough to save).
* Lazy loading: include skinny versions of lazily loaded tiddlers in the index.html
* Introduce _is_skinny field for indicating that a tiddler is subject to lazy loading
* Remove savetrail plugin from prerelease
It doesn't yet work with the new syncer
* Make the savetrail plugin work again
* Clear outstanding alerts when synchronisation is restored
* Logger: only remove alerts from the same component
Missed off 9f5c0de07
* Make the saving throttle interval configurable (#4385)
After switching Bob to use the core syncer the throttle interval makes saving feel very sluggish compared to the message queue setup that I had before.
The editing lock that I use to prevent conflicts with multiple users doesn't go away until the save is completed, and with the 1 second delay it means that if you edit a tiddler and save it than you have to wait one second before you can edit it again.
* Tweaks to appearance of alerts
* Exclude temp tiddlers from offline snapshots
Otherwise alerts will persist
* Tweak appearance of status line in dropdown
* Update release note
* Web server: Don't include full path in error messages
Fixes#3724
* In change event handler check for deletions
* Disable the official plugin library when the tiddlyweb plugin is loaded
* Hide error details from browser for /files/ route
See https://github.com/Jermolene/TiddlyWiki5/issues/3724#issuecomment-565702492 -- thanks @pmario
* Revert all the changes to the relationship between the syncer and the syncadaptor
Previously we had some major rearrangements to make it possible for the syncadaptor to route it's logging to the logger used by the syncer. The motivation is so that the "copy logs to clipboard" button is more useful.
On reflection, changing the interface this drastically is undesirable from a backwards compatibility perspective, so I'm going to investigate other ways to achieve the logger sharing
* Make the tiddlyweb adaptor use the syncer's logger
So that both are availavble when copying the syncer logs to the clipboard
* Update release note
* Support setting port=0 to get an OS assigned port
Quite useful
* Update code comment
* UI: Use "Get latest changes from server" instead of "Refresh"
* Add getUpdatedTiddlers() method to syncadaptor API
See https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-573579495
* Refactor revision handling within the syncer
Thanks @pmario
* Fix typo in tiddlywebadaptor
* Improve presentation of errors
See https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-573695267
* Add docs for getTiddlerRevision()
* Remove unused error animation
* Update comment for GET /recipes/default/tiddlers/tiddlers.json
* Optimise SVG cloud image
* Add optional list of allowed filters for get all tiddlers route
An attempt to address @Arlen22's concern here:
https://github.com/Jermolene/TiddlyWiki5/pull/4373#pullrequestreview-342146190
* Fix network error alert text translatability
* Fix error code and logging for GET /recipes/default/tiddlers/tiddlers.json
Thanks @Arlen22
* Flip GET /recipes/default/tiddlers/tiddlers.json allowed filter handling to be secure by default
* Validate updates received from getUpdatedTiddlers()
* Add syncer method to force loading of a tiddler from the server
* Remove the release note update to remove the merge conflict
* Fix crash when there's no config section in the tiddlywiki.info file
* Use config tiddler title to check filter query (merge into fix-syncer) (#4478)
* Use config tiddler title to check filter query
* Create config-tiddlers-filter.tid
* Add config switch to enable all filters on GET /recipes/default/tiddlers/tiddlers.json
And update docs
* Fix bug when deleting a tiddler with a shadow
Reported by @kookma at https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-604027528
Co-authored-by: jed <inmysocks@fastmail.com>
Co-authored-by: Arlen22 <arlenbee@gmail.com>
* Add tests for backlinks
* Add backlinks indexer
* Use backlinks indexer in getTiddlerBacklinks if available
* Extract link extraction into its own method
This way we can provide an arbitrary parse tree, rather than just a
title, which will allow us to compare lists of outgoing links between
versions of a single tiddler
* Use new extractLinks method in backlinks indexer
...rather than copy-pasting the implementation
* Remove ES6-isms
TiddlyWiki needs to work with browsers that only support ES5
* Fixes issue with #4504 and importvariable copying
ImportVariables widget was using $tw.utils.extend to copy the
variables from temporary set widgets into itself. However,
$tw.utils.extend does NOT behave like Object.assign. It not only
copies all self-owned variables over, but also all variables
in that object's prototype chain. This led to some redundant copying,
and a problem where some variables might show up more than once
(like transclusion).
Fixed now. importvariables widget does its own copying, since it
can't rely on $tw.utils.extend to do the right job, and it can't
count on Object.assign to be there.
* Added test to prevent reversion of #4504
* Slight corrections to new importvariables test
* Add support for a custom class to modal wrapper
As per https://github.com/Jermolene/TiddlyWiki5/issues/4485 add support for a custom class to modal wrapper, by means of a field in the modal tiddler. The class is added to the modal wrapper in addition to the default class, allowing for custom styling via css of any part of the modal.
* Remove redundant check for tiddler.
* Add "Gruvbox Dark" color palette
this adds the "gruvbox dark" color palette (https://github.com/morhetz/gruvbox) which is also available for highlight.js and codemirror
* add "credits" field
* change "credits" field to "license" field
* Update chinese translations
* Imporve chinese translations for UI of basic tab in controlpanel
* Add chinese translations for description of throttle.refresh field
* Add chinese translations for the `none` option of icon dropdown in tag manager
* add a new-line before the log text to increase readability of the test output
* make eslint, jslint happy
* make eslint happy
* add more listops tests
* new listops filter tests
* remove new-line
* make eslint happier.
* revert eslint settings
In some environments (at least on my own machine), TiddlyWiki detects zip files as type `"application/x-zip-compressed"` instead of `"application/zip"`. This commit adds support for zip files with type `"application/x-zip-compressed"` so that they are encoded in `"base64"` like other zip files with type `"application/zip"`.
* add class tc-edit-texteditor to type field, trim ...
... whitespace, make look consistent
* define width 20% for type input field
* add second nbsp; for consistency with type input
* Changed importVariable to store its ownvariables
Before, importVariables was creating a setWidget for every single variable it would find in its tiddlers, and it would create a long-ass call tree. Now, instead, it just accumulates the variables in itself.
* Can't use Object.assign
Learned the hardway while working on tw5-relink that Object.assign
doesn't exist in IE11. Using $tw.utils.extend instead.
* Retaining setWidget transclusion flexibility
* One more test to verify mixing sets and macros
add 3 new tiddlers, add 1 "enlist" test, fix all tests that failed, because 3 new tiddlers where added. stopped ESLint to complain about global vars, fix some mixed-tab-space indent typos.
This change means that the colour for the date on the new journal button icon will change according to the current colour palette, and simplifies things for #4379
* process.exit() only exist in a node.js environment
* updateInterval has been removed from upstream
From upstream commit:
b6eb9a4d5e
* Update Jasmine to 3.4.0
* Reuse the evalInContext helper
* Fix expected parse result to match the actual result
* 'describe' cannot be nested inside 'it' blocks
Jasmine started to explicitly raise an error in these cases since:
https://github.com/jasmine/jasmine/pull/1411
* Be consistent about how to refer to library files
* Update link to Jasmine's official website
* remove   from tag pill in edit mode
PR: fix missing space between edittemplate tags #3585 introduced an unbreakable space ...
The ` ` isn't needed and **causes problems**, if users copy&paste the tag text, because the "new" tag in the text input field now contains an space in front of the tag. This space invalidates the tag, so it doesn't function anymore.
see [comment in GG](https://groups.google.com/d/msg/tiddlywiki/RQEyqPQIZSM/uaU7lgJJAAAJ) .. I also had a problem like this some time ago, which costed me several hours of debugging.
* Update base.tid
* Update tag.tid
... because there is another macrocall inside.
This was introduced by the commit 'Fix sizes of SVG icons in documentation' (SHA: 9395d75671) where this probably slipped through in a regular expression replacement session.
I searched through the codebase and the other replacements of this type are ok.
Previously we'd tried to fix it with word-break: break-word, but that broke other things (see 81f1e6af4e). This overflow: auto approach appears to be best practice.
#4093 and #4100 are bundled in this PR
* qualified state-tiddlers for the tags input and fieldname + fieldvalue inputs
* newTagName, newFieldNameTiddler and newFieldValueTiddler variables defined in EditTemplate (all qualified through `qualify` macro)
* save-tiddler-actions macro in the EditTemplate (reused by the save-tiddler button)
* enter (configurable) in the fieldvalue field adds the field and sets focus to the next fieldname input
Edit:
* storyview="pop" for fields list
* Add chinese translations for default new-tiddler and new-journal tags mechanism
* Add chinese translations for tooltips of add-tag button and add-field button
* make tag-picker add-button compliant with enter-actions
... the `$actions$` way throws a filter syntax error in some cases, the `<<add-tag-actions>>` way is more solid
* Update tags.tid
remove tag-picker-actions
Previously, it was not possible to deselect entries by editing the tiddler $:/generated-list-demo-state used in the final example of the SelectWidget docs
* add whitespace trim to advanced search button
* add whitespace trim to new tiddler
* add whitespace trim to new journal
* add whitespace trim to new image
* add whitespace trim to control panel button
* add whitespace trim to tiddler manager button
* add whitespace trim to language button
* add whitespace trim to palette button
* add whitespace trim to theme button
* add whitespace trim to storyview button
* add whitespace trim to timestamp button
* add whitespace trim to encryption button
* add whitespace trim to tag-manager button
"Sub-plugins" are displayed within the dropdown of their parent plugin.
This is a more elaborate version of #4109. It doesn't address dependent plugins (yet), this is just about grouping addon plugins under their parent.
* First pass at dynamic loading/unloading
* Show warning for changes to plugins containing JS modules
* Use $:/config/RegisterPluginType/* for configuring whether a plugin type is automatically registered
Where "registered" means "the constituent shadows are loaded".
* Fix the info plugin
The previous mechanism re-read all plugin info during startup
* Don't prettify JSON in the plugin library
* Indicate in plugin library whether a plugin requires reloading
* Display the highlighted plugin name in the plugin chooser
And if there's no name field fall back to the part of the title after the final slash.
This fixes the HTTP request sent to gitlab that is meant to see if the
target file already exists. It did not follow the official gitlab v4 api
documentation. That documentation dictates both `path` and `branch` to
be passed via corresponding GET parameters.
I (Flibbles) changed it so that lists generated by stringifyList
would always be compatible with a filter parser, but since lists
are not, and never will be, a subset of filters, there isn't a
point.
More importantly, wrapping negative numbers like "-7" in brackets
would mess up some math stuff.
5d36b484c6 swapped the "emptyValue" and "value" that determine the
HTML-class for toc items, but did not change the default values for
"itemClassFilter" in "toc" and "toc-expandable" to reflect this.
This fixes a bug in #3634, and refines the logic so that the warning is only given if the incoming tiddler exists as a shadow tiddler. (In my case I have several draft core modules inactive in my notes wiki and they were erroneously suppressed from the upgrade).
* Pass pathFilters as an array
Otherwise, when we try to iterate over pathFilters in the filesystem
utils module, we end up iterating over each character in the filter
string, which ends up generating 'Filter error_ Missing [ in filter
expression.tid' as the tiddler's filename
Fixes GH #4173
* Allow for multiple path filters to be specified
...via $:/config/FileSystemPaths, split by newlines
* add "delayed" option to tm-focus-selector message
this delays the focussing for the time of the animation duration if delayed="yes" or delayed="true"
this is useful when navigating the story river up and down with keyboard shortcuts and the shortcuts focus the title input if a navigated tiddler is in edit mode -> navigation doesn't jump but stays smooth
* Update rootwidget.js
* Update WidgetMessage_ tm-focus-selector.tid
* add preventScroll="true" tip
* fix tags not animating in viewtemplate
this PR uses the addprefix removesuffix filters, not a new filter as proposed in #3763
* use new `then` operator
* Transform GitHub saver to work with GitLab as well
You can choose which provider you want to use, the data is given in the
same place.
I tried to avoid code duplication, so service providers' unique
properties are in separate files, the settings of the selected provider
are loaded.
In two fields I am not sure that it fits into the current structure:
* module-type: gitservice
Which module is a `gitservice` type, it will be listed in the
drop-down menu.
* default-api-url: https://gitlab.com/api/v4
The default URL to access the provider's API.
This is just a sketch, not a final version, suggestions for modification
are welcome!
* Rename saver from GitHub to GitService, update docs
* Split GitHub and GitLab to separate savers, apply common lingo
Sadly, it doesn't seem to make much sense to search for common parts in
the code, because there might be a Git service that is very different
from the GitHub API (such as BitBucket). Therefore, I feel that Git
savers are not able to share other than the translations.
I deleted the defaults values from the translations and set it to the
text entry because they should not depend on the translations.
* Add more information about the password field
It is not clear how to create a personal access token, thus added a link
to the help pages. In addition, GitLab only accepts personal access
token, GitHub also accepts the password, so I made this clear.
* Extract commit message to lingo
* Fix indentation
* Use improved base64 encoder
Fix conflict with a06acc4eb8
Fixes#4082
This version removes selective updating of the tag index, instead completely clearing the index on each update. I'm investigating restoring that optimisation.
* Remove the th-renaming-tiddler hook from navigatior.js
The hook is invoked in the renameTiddler function which would cause the same hook to be called twice, and the version in the navigator widget didn't have the correct inputs and return value according to the documentation.
* Make it so that the th-renaming-tiddler hook isn't called twice
by removing it from the navigator.js file
The test rig previously used a simplified implementation of shadow tiddlers which broke with the new indexing engine. There was also a problem that made that even if indexers were disabled they were still initialised.
This PR fixes both problems, in preparation for fixing #4082
See discussion at https://groups.google.com/d/msgid/tiddlywiki/526754d5-8786-49cd-aaa1-c77311670116%40googlegroups.com:
The history here is that in v5.1.14 we added an "actions" attribute to the checkbox widget that specified an action string to be specified whenever the state of the checkbox changed. The same action string is executed regardless of whether the checkbox was checked or unchecked.
Then in v5.1.16 we merged https://github.com/Jermolene/TiddlyWiki5/pull/3182 which added the "uncheckactions" attribute. The difference between the two is that the uncheckactions are only executed if the checkbox is unchecked. The main "actions" attribute is executed before any actions in "uncheckactions", which makes it possible to arrange things so that the "actions" attribute sets things to the checked state while the "uncheckactions" attribute overwrites those changes to set things to the unchecked state.
In retrospect, it would have made more sense to have also added a "checkactions" attribute that was executed only if the checkbox was checked. I'll investigate adding it for v5.1.20.
Make good use of "$:/core/modules/utils/base64-utf8/base64-utf8.module.js"
* Add a new base64Encode()
* Both of base64Encode and base64Decode work for Nodejs and Browsers
This adds options.wiki to the object sent to the generateTiddlerFilePath
The function generateTiddlerFilePath can take a wiki in the options object, but generateTiddlerFileInfo doesn't pass the wiki to it.
* add PaletteManager
* add hint for "external" palette-names
* macro utility, for local \import only
this tiddler is never meant to be tagged $:/tags/Macro
contains only a colour macro which allows to call `<<colour "...">>` within a tiddler and get the parameter-name instead of the resolved color
used in the PaletteManager to reveal the original color below the color that just uses its color with the colour macrocall
example:
```
\define get-real-index(string)
\import $:/core/macros/utils
<$wikify $name="result" text="""$string$"""> <- does the "colour" macrocall, but the one that returns the parameter name
<<result>>
</$wikify>
\end
<$set name="color" value={{{ [{$:/palette}getindex[color-of-interest]] }}}>
-> <<colour primary>>
<$wikify name="real-color-index" text="""<$macrocall $name="get-real-index" string=<<color>>/>""">
<<real-color-index>> -> primary
...
```
* transclude PaletteManager in snippets/paletteeditor
* transclude PaletteManager in core/ui/ControlPanel/Palette
* Update ControlPanel.multids
* add style for color inputs in PaletteManager
* Update PaletteManager.tid
* Update PaletteManager.tid
* add tooltips & aria-labels
* Update ControlPanel.multids
* Update PaletteManager.tid
* Update PaletteManager.tid
* Update PaletteManager.tid
* add escapecss filter
this filter would allow creating valid css classes from titles containing special characters
we assign a class to an element using `encodeuricomponent[]` so that the class name is encoded
in a stylesheet we create the classname by `<title>escapecss[]` which applies the uri encoding and escapes characters that need to be escaped
* Update encodings.js
* refactor tagToCssSelector, add escapeCssSelector
* use escapeCssSelector
* escape using CSS.escape if it's available
* Update encodings.js
* revert factoring out escapeCssSelector
... this makes the animation when inserting tiddlers / navigating to tiddlers in the pop storyview less jumpy
it simply sets `overflow-x` to `hidden` for the time of the insert-animation
Regarding the bulleted tag pills; they should probably also be removed in place of text but I see value in keeping them for the sake of being able to easily peek at what they tag. We should probably have a section under Ctrlpanel>Settings where any startupaction-tiddlers are listed but since we don't yet, then the mentioned tag pills could perhaps remain.... except for the one in the PR.
Include = before each number in the Mathematics Operators examples,
so that people get used to seeing that in math examples where dupes
are likely.
Only the Mathematics Operators tiddler really needed to be changed;
the example tiddlers for individual operators were already using =.
Fixes#3979.
* First pass at modular wiki indexes
An exploratory experiment
* Fix tests
* Faster checking for existence of index methods
We don't really need to check the type
* Use the index for the has operator
* Fix typo
* Move iterator index methods into indexer modules
Now boot.js doesn't know the core indexers
* Fix up the other iterator index functions
* Fix crash with missing index branch
* Limit the field indexer to values less than 128 characters
* Fallback to the old manual scan if the index method returns null
* Sadly, we can no longe re-use the field indexer to accelerate the `has` operator, because the index now omits tiddlers that have field values longer than the limit
Still need to make the index configuration exposed somehow
* Rearrange tests so that we can test with and without indexers
We also need to expose the list of enabled indexers as a config option
* Test the field indexer with different length fields
So that we test the indexed and non-indexed codepaths
It turns out that the `localeCompare` function used by `compareStateText()` is very, very slow. Replacing it with a straightforward equality test makes one of my test rigs be 10x faster...
Note that this PR reverts the behaviour of match/nomatch to that before #3157. That change was not backwards compatible in that the switch to localeCompare meant that é === e, now it doesn't again.
Approximtely 50% speed improvement in tests opening a storyview with 8,000 entries.
(I've deferred the indentation adjustments until the next commit so that the git diffs are clearer)
Fixes#3875
* Use .json files (instead of .tid) for any tiddler whose fields contain values that can't be stored as a .tid file
* Save application/json tiddlers as .json files
* Refactor most of the file handling as re-usable utilities
First part of fix for #3875
The idea is to do a better of job of distinguishing JSON files that contain tiddlers versus those that contain plain blobs of JSON that should be stored as a single application/json tiddler.
Under Node.js, .json files with an accompanying metafile are always treated as a JSON blob. Without a meta file, those that appear to not contain valid tiddlers are returned as a JSON blob, otherwise the tiddlers within the file are imported.
In the browser, we don't have .meta files so we rely on the valid tiddler check.
If the path was not specified, RSOD error occurred when we wanted to
download the wiki:
Uncaught TypeError: Cannot read property 'substring' of undefined
* Update TiddlyWiki5 Squared by Iannis Zannos.tid
Link no longer works. Changed it to the github page.
* Update TiddlyWiki5 Squared by Iannis Zannos.tid
Fixed URL linking to the "ur" field
Changed line
`<<toc-selective-expandable "TableOfContents" "sort{fuzzy}">>`
to
`<<toc-selective-expandable "TableOfContents" "sort{!!fuzzy}">>`
Tested that this is the correct code.
* Add uniquetitle macro
This macro is a wrapper on the $tw.wiki.generateNewTitle function to return a unique name, it has been requested multiple times in the forums.
* Add documentation tiddler for uniquetitle macro
* Add uniquetitle macro examples
* Change name from uniquetitle to unusedtitle for clarity
The title isn't unique, just not currently used in the wiki.
* Update uniquetitle to unusedtitle
* Change uniquetitle to unusedtitle
* Fix a typo
@BurningTreeC I think this might have been a typo in your recent refactorings; if you look back at an old version such as c0c1b557eb/core/modules/widgets/reveal.js then there is no sign of this fallback.
Fixes#3874
* update highlight.js to latest release v9.13.1
* update to v9.13.1 default.css
does the current default.css include adjustments for the different languages?
* Update highlight.pack.js
* Update readme.tid
* update highlight.pack to 9.15.6
* update version number + included languages
* fix draggable lists for firefox (sticky placeholders)
ff doesn't like whitespace and also those entities make problems
placeholder is styled in vanilla base
* tc-droppable-placeholder styles for tagged-draggable ...
and links-draggable lists
* make it beautiful
* Add initial translation for zh-TW depends on zh-Hant
* Add initial translation for zh-CN depends on zh-Hans
* Add initial translation for zh-HK depends on zh-Hant
* Update chinese help texts for load command
* for the new optional "noerror" parameter
https://github.com/arcticicestudio/nord
this palette is very popular, available for highlight.js, codemirror, all kinds of desktop/terminal applications ...
would be great to have it in tiddlywiki, too
this is a draft PR, certain things needs to be improved, but looks very good in tiddlywiki
* add focus capability to edit-shortcut widget
* focus the keyboard-shortcut inputs in the control panel
... there's no other reason why it could have been opened other than just pressing a shorcut ...
... saves the mouseclick
in my tests listening for the dragend event and removing the tc-dragover class in that case removes the `tc-dragover` every time it should ...
without this, firefox often doesn't remove it and the green bar sticks at the top
investigating now if the droppable widget has a similar problem
* fix for "Open" tab placeholders in FireFox
this PR fixes the placeholders in FireFox not being removed on drag-leave from time to time
it consists of 2 mods where apparently both are needed:
- creating a `droppable-item` macro where whitespace is trimmed. that macro contains the droppable and inserts the placeholders
- removing the ` ` entity in favor of an inline style `height:2em;` on the placeholder div, putting it in a macro where whitespace can be trimmed, too
I'm investigating if there's a similar fix for the top page dropzone
* remove unnecessary whitespace trim, add css classes
`.tc-sidebar-tab-open-item { position: relative; }`
`.tc-sidebar-tab-open .tc-droppable-placeholer { line-height:2em; height:2em; } `
* replace times entity with close-button
* add sidebar-open-tab styles
* add smartIndent config to codemirror
* add indentWithTabs config to codemirror
* make default tabSize same value as indentUnit
* make tab and enter do smart indentation
Previously, we were only using the path to disambiguate files on a file:// URI. That meant that all wikis on tiddlywiki.com was sharing the same pool of local storage...
Previously, raw markup tiddlers were being saved even if they weren't included in the saveTiddlerFilter. This meant that, for example, using "save empty" button in GettingStarted would include the splash screen markup tiddler.
* Update chinese translations
* Add field descriptions for toc-link
* Add help texts for gzip parameter of listen command
* Add missing chinese warning message of "Upgrader/System"
There are other ways we could add maths to TW5 (including @EvanBalster's awesome https://github.com/EvanBalster/TiddlyWikiFormula) but the approach here has the merit of simplicity because it reuses the existing filter evaluation mechanism. That means that it's not ordinary "2+2" maths, it's a unique list processing language...
Docs to come
Fixes#254
As per the discussion in #3749, the original purpose of the removed condition is unknown, and so we cannot be certain that removing it is safe, but doing so seems the best way of discovering more...
* fixing 3648 - now non updated references are shown only when non zero
Signed-off-by: Diego Mesa <diego898@gmail.com>
* change to list widget
As per @jermolene comments I changed to the list widget
* Putting back the accidently removed title (will no longer use github interface).
Signed-off-by: Diego Mesa <diego898@gmail.com>
* making sure I dont overwrite currentTiddler
Signed-off-by: Diego Mesa <diego898@gmail.com>
* Update CountWidget.tid
Just a simple example added.
* Update CountWidget.tid
Made a slight addition to conform with the same style used in the Examples section of the $text widget: TextWidget.tid
* Update CountWidget.tid
Modified to use the Documentation display macro:
`<<wikitext-example-without-html>>`
Made this new PR for for the master branch, and closed#3697
This PR is needed for text shown in the update PR #3680 which is for the tiddlywiki-com branch
From the readme:
This plugin enables TiddlyWiki to embed a modified copy of itself (an "innerwiki"). The primary motivation is to be able to produce screenshot illustrations that are automatically up-to-date with the appearance of TiddlyWiki as it changes over time, or to produce the same screenshot in different languages
It turns out that we don't need to disable any scroll anchoring done by the browser as our implementation of scroll anchoring will adapt itself.
Also removing an unneeded paragraph tag from the view template.
* Create howto.tid
Howto explains customising the languages supported by the highlight plugin. This involves:
* Using the highlight.js download page to get a zip archive containing the files for a highlight.js server which supports a set of languages selected by the user
* Replacing the highlight plugin's `highlight.pack.js` file with the `highlight.pack.js` file from the downloaded archive
* Update plugin.info
Add howto.
* Signing the CLA
* Update cla-individual.md
I have edited the file to remove my "name." A real name was required for signing, which I did, and it is now in record. I would prefer the name not be on the TW.com website.
Things are starting to work now...
* Now we extract the version number from package.json to use in making the plugin library
* We start building the whole site (eek, going to be slow)
For "master" we need to rebuild the prerelease; for "tiddlywiki-com" we need to rebuild the main release using the latest release. I want to have as much of the travis specific build logic expressed in travis.yml as possible, hence having to figure out Travis's syntax rather than doing everything in a script that tests the $TRAVIS_BRANCH environment variable...
* Fix search method for search tokens spread across fields
Addresses GH #3636, which reports that if you're searching for "test
body", and "test" only appears in the title field, and "body" only appears
in the text field, 5.1.18's search method won't yield that tiddler as a
result, which appears to be a regression from the 5.1.17 behavior
* Add test for searching for multiple tokens across fields
Verifies GH #3636:
> If I create a tiddler in the empty edition with the title "Test tiddler" and content "Body content", searching the wiki for "test body" yields no results under either "title matches" or "all matches". Searching for either word individually turns up "Test tiddler", and repeating this in an empty wiki I created from the 5.1.17 tag causes "Test tiddler" to show up under "all matches".
* Revert "v5.1.18 banner artwork"
This reverts commit 70500140b9.
* Revert "Revert #3607 and #3608"
This reverts commit 87b3e470c2.
* Revert "Fix default global keyboard shortcuts for Mac"
This reverts commit e466f62e7e.
* Revert "Comment plugin: Improve styles"
This reverts commit e17456e3bc.
* Revert "Style tweaks for framed editor + preview (#3608)"
This reverts commit c058378da0.
* Revert "Change to natural counting in range[N] operator (#3609)"
This reverts commit b9df224f99.
* Revert "Update release note contributors list"
This reverts commit 0f3912ba95.
* Revert "Make editor-preview not hide text-editor shadow (#3607)"
This reverts commit 11f02dc362.
* Revert "Editor needs to stand out a bit more (#3606)"
This reverts commit d711ef25ed.
* Revert "Tweak for keyboard-shortcuts how-to (#3605)"
This reverts commit 419ea9a243.
* Revert "Remove unnecessary border-radius already set on the iframe (#3604)"
This reverts commit 288d25e733.
* Revert "v5.1.18 banner artwork"
This reverts commit 70500140b9.
* Revert "Revert #3607 and #3608"
This reverts commit 87b3e470c2.
* Revert "Fix default global keyboard shortcuts for Mac"
This reverts commit e466f62e7e.
* Revert "Comment plugin: Improve styles"
This reverts commit e17456e3bc.
* Revert "Style tweaks for framed editor + preview (#3608)"
This reverts commit c058378da0.
* Revert "Change to natural counting in range[N] operator (#3609)"
This reverts commit b9df224f99.
* Revert "Update release note contributors list"
This reverts commit 0f3912ba95.
* Revert "Make editor-preview not hide text-editor shadow (#3607)"
This reverts commit 11f02dc362.
* Revert "Editor needs to stand out a bit more (#3606)"
This reverts commit d711ef25ed.
Hi @BurningTreeC apologies I merged these without properly looking at them, but I think we should move them to 5.1.19 because:
* On Chrome, the new version hides the resize handle on textarea, which can be quite useful
* It's visually quite different, and I think might benefit from more discussion
* It's inconsistent with the CodeMirror editor
Would you mind perhaps starting another PR for edit template enhancements?
* remove border: none for iframe from framed.js
... inherits the iframe border 1px solid editor-border in vanilla base
* last style tweaks for editor-preview
same border-radius as framed editor
same additional space at the right as at the left
* Update base.tid
* Update base.tid
* looks actually better with this border
* Promote Gitter Chat in the Readme
I'm not sure if it's ok to use inline styles for a small addition like this... also, feel free to change the colors :-)
* Added link to Gitter in 'Forums' tiddler and transcluded it in the readme as per @Jermolene comments
* Fixed transclusion and built readme
* Modified Readme so the 'forums' section is transclued with lower heading levels
* add link to "How to" keyboard shortcuts + styles
* add "How to create keyboard shortcuts"
* Update How to create keyboard shortcuts.tid
* Update How to create keyboard shortcuts.tid
* Update How to create keyboard shortcuts.tid
this removes additional text-nodes in the dom after each `tc-tag-list-item` caused by the last empty line
we could also just remove that line but I don't know if that's a permanent solution or if some mechanism will re-add that line at some point, so I go with the `whitespace trim` pragma
* Documentation of Using Excise text
Documentation on the Excise text function.
I propose that the Excise text drop down ( the tiddler: $:/language/Buttons/Excise/Caption/Tag) links to this doc. I don't have permission to (or don't know how to) edit that tiddler in github.
I propose the following text for the drop-down tiddler:
Tag new tiddler with the title of this tiddler (If the title is changed you have to [[save and re-edit|Using Excise]] to use the new title as tag).
see the issue:
https://github.com/Jermolene/TiddlyWiki5/issues/2531
* Update Using Excise.tid
changed headings in response to discussion
* Doc for editor toolbar buttons (wikitext)
Documentation for buttons special to the editor toolbar (wikitext)
* Update Using Excise.tid
placed it under the new [[Editor toolbar]]
* Update Using Stamp.tid
placed it under the new [[Editor toolbar]] tiddler
* Update WikiText.tid
added reference to [[Editor toolbar]]
* Update Formatting text in TiddlyWiki.tid
added reference to the [[Editor toolbar]]
* Update WikiText.tid
* Update Editor toolbar.tid
* Update Editor toolbar.tid
* Update Editor toolbar.tid
* Update Editor toolbar.tid
typo
this line inherits the `fill: $(foregroundColor)$` from `<<tag-pill-styles>>` in `$:/core/macros/tags`
deleting the line makes the tag-icons fill with the computed color
Addresses GH #3484
As far as I can tell, the popup level checks in this module are
meant to handle nested popups. It seems to me that the goal is
for at most a single hierarchy of popups to exist at any given time
- bearing that in mind, this change checks any popups currently tracked
by the module, canceling any that don't share an element hierarchy with
the new popup.
* add tv-override-missing-links variable
this lets us set `tv-override-missing-links` true so that we can fix edge cases like the `Filter` dropdown in the `Advanced Search` when `enable missing links` is unchecked in the `Settings` tab of the Control Panel
* add tv-override-missing-links to filter dropdown
* add tv-override-missing-links to type dropdown
* add tv-override-missing-links to fieldname dropd
* add tv-override-missing-links to TagManager(icons)
* undo tv-override-missing-links TagManager
not needed here
* Update link.js
* Update dropdown.tid
* Update fields.tid
* Update type.tid
* Update dropdown.tid
* Update link.js
* simplify all together
* add tv-hide-missing-links to pagetemplate
* do we need to refresh here...
... if the variable gets set on top of the pagetemplate?
uthor: G0erman <goerman.rafi@gmail.com
Date: Fri Nov 23 17:21:43 2018 -0500
Add a line in the end
commit 3cdd78116965f38147f55897adfcef493befe5d0
Author: G0erman <goerman.rafi@gmail.com>
Date: Fri Nov 23 17:15:47 2018 -0500
Recover file accidentally deleted
commit c4536e9182cd90a5d4e6e694ac6fc930ea75ddb5
Author: G0erman <goerman.rafi@gmail.com>
Date: Fri Nov 23 17:12:25 2018 -0500
Translate instructions about install plugin in node server.
commit 0622d03beb
Author: Jeremy Ruston <jeremy@jermolene.com>
Date: Wed Nov 21 12:10:35 2018 +0000
Update release note contributors list
commit 9d0083d8dc
Merge: 8134f8de22541b9b09
Author: Jeremy Ruston <jeremy@jermolene.com>
Date: Wed Nov 21 11:53:43 2018 +0000
Merge branch 'master' of https://Jermolene@github.com/Jermolene/TiddlyWiki5.git
commit 8134f8de28
Author: Jeremy Ruston <jeremy@jermolene.com>
Date: Wed Nov 21 11:53:26 2018 +0000
Update release note
commit 2541b9b090
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Wed Nov 21 12:32:22 2018 +0100
Pagescroller - get scroll pos in src window (#3561)
commit d55a498fca
Author: Bimba Laszlo <bimbalaszlo@gmail.com>
Date: Wed Nov 21 12:26:00 2018 +0100
Docs: Clarify TextWidget with example (#3564)
commit ce7becd64f
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Wed Nov 21 12:24:50 2018 +0100
KeyboardShortcut docs (#3496)
* add SystemTag $:/tags/KeyboardShortcut
* add Keyboard Shortcut Descriptor
* Update KeyboardShortcuts.tid
* Update KeyboardShortcutDescriptor.tid
* Update and rename SystemTag_$__tags_KeyboardShortcut.tid to SystemTag_ $__tags_KeyboardShortcut.tid
* Create KeyboardShortcutTiddler.tid
* Update KeyboardShortcutTiddler.tid
* Update KeyboardShortcutTiddler.tid
* Update KeyboardShortcuts.tid
* Update KeyboardShortcuts.tid
commit 09330968cc
Author: Jeremy Ruston <jeremy@jermolene.com>
Date: Tue Nov 20 13:29:44 2018 +0000
New "else" prefix for filters (#3558)
* Experimental "else" prefix for filters
See #3557
* Docs updates for "else" filter runs
commit 02f26d94a1
Author: Jermolene <jeremy@jermolene.com>
Date: Tue Nov 20 13:29:01 2018 +0000
Releaase note update
commit 7729649f0e
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Tue Nov 20 12:50:12 2018 +0100
Fix bad function declaration in wiki.js (#3559)
fix for #3555 - inner function declaration should be on top of its "host" function
error originally appeared on firefox v38.0.5
commit 430be4ec30
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Tue Nov 20 12:43:15 2018 +0100
Fix list-tagged-draggable for quotes !! and ## (#3442)
* fix list-tagged-draggable for quotes !! and ##
* Update list.tid
* Update list.tid
* Update list.tid
commit b009a60b69
Author: Jermolene <jeremy@jermolene.com>
Date: Tue Nov 20 11:30:06 2018 +0000
Update release note
Not quite up to date, got as far as 31 Oct.
commit 8832409666
Author: Jermolene <jeremy@jermolene.com>
Date: Tue Nov 20 11:29:36 2018 +0000
Docs typo
commit 6d67dc8eb8
Author: Bimba Laszlo <bimbalaszlo@gmail.com>
Date: Tue Nov 20 11:06:12 2018 +0100
Clarify drag-n-drop behaviour again (#3434)
* Clarify drag-n-drop behaviour again
Just found the real reason of drag-n-drop issue mentioned in
b89e8d1635.
* Trying to formulate correctly
commit f4ca295086
Author: Bimba Laszlo <bimbalaszlo@gmail.com>
Date: Mon Nov 19 22:01:56 2018 +0100
Docs: Remove broken `is` operator example (#3556)
In 737e9ae4cb the multiple suboperator
functionality was banned, but an example is remained in the docs.
commit b629b1412d
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Mon Nov 19 21:56:59 2018 +0100
Fix CodeMirror on fake dom (#3547)
* fix for #3547
see https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
because of "strict mode" - the `parentNode` property may not be writable and causes an error in `fakedom.js` (appendChild)
to reproduce: install CodeMirror, install "Tools for exploring internals of TW", open a heavy Tiddler like the Control-Panel in edit-mode, toggle preview on, switch to "parse tree" or "widget tree"
* check for tw fakedom
commit eea034c32d
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Mon Nov 19 18:59:04 2018 +0100
Docs: add state* documentation to button and reveal widgets (#3553)
* docs: add state* attributes to reveal widget
* docs: add state* attributes to button widget
commit f373d8f2bf
Author: Adrian Morosanu <morosanuae@yahoo.com>
Date: Mon Nov 19 12:50:09 2018 +0200
Tree macro - fix for double quotes (and other special characters) (#3552)
* Added fixes for special characters (e.g. double quotes) (including @BurningTreeC and @Jermolene suggestions)
* Removed a lot of redundant code
* Set a default value for "tree" macro prefix parameter ($:/)
commit 4f78d3d81b
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Mon Nov 19 10:35:06 2018 +0100
Fix untagged-pill popup position (#3550)
this corrects the popup-position of the untagged-pill in the tag-manager, showing on top of the Tiddler, not below the pill
commit 72679d2041
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Sun Nov 18 21:58:03 2018 +0100
Fix bad characters in the TagManager (#3549)
now the tag manager needs some fixes for breaking titles, too
- the `<<__variable__>>` syntax needs to be used
- the `tag-pills` don't use the tag-pill macro, but `{{||$:/core/ui/TagTemplate}}` directly
- some already sufficiently qualified states in the `iconEditor` macro are reduced to not use the `qualify` macro
commit 33ba69e852
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Sun Nov 18 21:57:04 2018 +0100
Modals: Display in source-window (#3539)
* Make modals display in source Window
this makes modals display within the window where they got opened, with the parameter `rootwindow` that, if `yes` or `true`, shows the modal always in the root TW window (`<$action-sendmessage $message="tm-modal" $param="mymodal" rootwindow="yes|true"/>`)
* pass the full event to $tw.modal.display
we need the event there to find `srcDocument` and `srcWindow`
* pass event in options object
* update modal.js to use options.event
* add docs for rootwindow tm-modal attribute
commit 3aae643e14
Author: Jermolene <jeremy@jermolene.com>
Date: Sun Nov 18 19:31:53 2018 +0000
Reveal widget with lazily loaded state tiddlers
Fixes#3476
commit e983936c30
Author: Lioric <7177570+Lioric@users.noreply.github.com>
Date: Sun Nov 18 14:19:10 2018 -0500
Signing the CLA (#3477)
commit 849844be12
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Sun Nov 18 20:16:46 2018 +0100
Add stateTitle stateField stateIndex attributes (#3529)
* make triggerPopup optionally set state directly
* update button widget for new state attributes
* update reveal widget for new state attributes
* fix errors in button widget
commit 2b6514ddc2
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Sun Nov 18 11:54:12 2018 +0100
Use new state* attributes for reveal and button widgets (#3531)
* toc macros: use stateTitle and setTitle
* tree macros: use stateTitle and setTitle
* TagManager: use popupTitle, stateTitle setTitle
* body viewtemplate: use stateTitle for folded-state
* import-listings: use stateTitle and setTitle
commit ddc76622f2
Author: BurningTreeC <hypnotizedkangaroo@gmail.com>
Date: Sun Nov 18 11:44:19 2018 +0100
Remove sourceMappingUrl from hammer.js (#3535)
commit 882cad1a0d
Author: Bram Chen <bram.chen@gmail.com>
Date: Sat Nov 17 21:48:31 2018 +0800
Add chinese translations for Title/References (#3545)
* fix for #3547
see https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
because of "strict mode" - the `parentNode` property may not be writable and causes an error in `fakedom.js` (appendChild)
to reproduce: install CodeMirror, install "Tools for exploring internals of TW", open a heavy Tiddler like the Control-Panel in edit-mode, toggle preview on, switch to "parse tree" or "widget tree"
* check for tw fakedom
* Added fixes for special characters (e.g. double quotes) (including @BurningTreeC and @Jermolene suggestions)
* Removed a lot of redundant code
* Set a default value for "tree" macro prefix parameter ($:/)
now the tag manager needs some fixes for breaking titles, too
- the `<<__variable__>>` syntax needs to be used
- the `tag-pills` don't use the tag-pill macro, but `{{||$:/core/ui/TagTemplate}}` directly
- some already sufficiently qualified states in the `iconEditor` macro are reduced to not use the `qualify` macro
* Make modals display in source Window
this makes modals display within the window where they got opened, with the parameter `rootwindow` that, if `yes` or `true`, shows the modal always in the root TW window (`<$action-sendmessage $message="tm-modal" $param="mymodal" rootwindow="yes|true"/>`)
* pass the full event to $tw.modal.display
we need the event there to find `srcDocument` and `srcWindow`
* pass event in options object
* update modal.js to use options.event
* add docs for rootwindow tm-modal attribute
* make triggerPopup optionally set state directly
* update button widget for new state attributes
* update reveal widget for new state attributes
* fix errors in button widget
* toc macros: use stateTitle and setTitle
* tree macros: use stateTitle and setTitle
* TagManager: use popupTitle, stateTitle setTitle
* body viewtemplate: use stateTitle for folded-state
* import-listings: use stateTitle and setTitle
this makes a keyboard widget update its keyInfoArray if its key has the `((descriptor))` format and one of the platform-specific configuration tiddlers with that descriptor-suffix changes
* Minor rewording of prompt text
* Moved the colon into the translation string, reasoning that it may need to be changed for languages that use punctuation differently
* Corrected expand/collapse arrows
* Moved prompt into expand/collapse button, making it easier to hit use
* List backlinks when renaming tiddler
* List references inplace
* TiddlerInfo/References accepting specific tiddler
If `operandTitle` is set, it will show its references instead of current
tiddler's.
It's purpose is to prevent code duplication (the references are listed
when renaming tiddler).
* Don't use variable for References template, use <$tiddler>
Set the `current` to desired title with `<$tiddler>` widget.
* List references in a separate block
* Rename state tiddler
* Use qualified state
this allows using the pagescroller for scrolling elements into view where the rect gets calculated somewhere else
Example: CodeMirror has the `cm.cursorCoords()` function that returns the rect of the textselection (or cursor coordinates)
this scrolls the cursor or text selection into view using tiddlywikis pagescroller:
`$tw.pageScroller.scrollIntoView(undefined, function() { return self.cm.cursorCoords(true,"window"); });`
* use "text" config scheme
* use "text" config scheme
* use "text" config scheme
* use "text" config scheme
* use "text" config scheme
* use "text" config scheme
* use "text" config scheme
* use "text" config scheme
* use "text" config scheme + set type integer
* use "text" config scheme
* set type integer
* set type integer
* [Further TOC fixes] - FollowUp: fix tag macros
this fixes the tag macros when titles are used that contain quotes, especially triple quotes and more
* Update tag.tid
* correct scrolling with tc-adjust-top-of-scroll
not multiplying `offset` with t causes jumps at the first animation steps, where the offset value is bigger than `endY - scrollPosition.y`
* correct scroll offset
* changes for global keyboardshortcuts
* add keyboard.js startup module
* remove not existing "th-opening-window" hook
* correct title
* use utils.addEventListeners
* define platform lookup-names on startup
* use the startup-lookup-names array
* use the platform-specific lookupNames only
* Update keyboard.js
* move initializations to the constructor
* move initializations to the constructor
* rename hasAnyTiddlerChanged
* don't explicitely create new RegExp
* use $tw.utils.hopArray
* match strings, no regex
* remove hopArray, move to boot.js
* add $tw.utils.hopArray to boot.js
* style update
* style updates
* move more to keyboardManager module
this could probably be moved to rootwidget.js
* move more to keyboardManager module
* add event listener for shortcuts in new windows
* prevent error when opening window is blocked
* add keydown listener on document in startup.js
* delete startup/keyboard.js
* add missing this.shortcutTiddlers
* Update keyboard.js
* Update boot.js
* add exports.hopArray to utils.js
* minor codingstyle tweak
* change how lookupnames get pushed to array
* Update windows.js
* re-add shortcuts-listener for new windows
I removed this before which I think was because I misunderstood what exactly should go to a separate PR
AWS imposes a limit of 16MB in my testing for the payload of a lambda. Compressing it enables us to pass x2-3 more data, thanks to the inefficiencies of JSON
* Added flag to $tw.utils.parseStringArray to allow non-unique entries
With this change if you use $tw.utils.parseStringArray(list) you get identical behavior to before and enforces uniqueness in lists, but if you use $tw.utils.parseStringArray(list,true) it allows duplicate values in the list.
Because of how JavaScript handles overloaded functions this shouldn't have any affect on existing code that just passes one argument to the function.
* Update to hopefully remove merge conflicts
The bug here is that incoming tiddlers (ie tiddlers that were updated on the server and synced back to the browser) will retain any fields that are currently present but deleted in the incoming tiddler
To avoid clashing with tiddlers called "login-basic" :)
We also need to revise the rout for /status for the same reason, but there are backward compatibility issues there
* Added better handling for sortByList manual placements
If manual placement specifications show up in an inconvenient order,
sortByList, will go to the trouble of processing them in that order.
* Added tests to confirm solution to (#3296)
...That custom tag ordering will not choke when tiddlers get sorted after their dependencies have been placed around them
* Corrected list-after bug when referencing external titles
* Using more error-proof $tw.utils.hop in sortByList
* minor indentation correction in test-tags.js
By almost entirely eliminating text subsitution, we can avoid the situations where special characters in tags or titles gets the macro confused.
These are quite intricate changes, and so I'd appreciate any help reviewing and testing, many thanks.
Fixes#3427
It's a bit gross that we have to change the filename used to reference the JS file. This is to make it work with the webserver.
At the moment, the webserver exposes system tiddlers as plain text renderings, and ordinary tiddlers as full HTML renderings through a view template. So we have to use a system tiddler title for the JS file.
The workaround I'm thinking of is to remove the blanket exposure of system tiddlers, and instead have a list of system tiddlers that are specifically exposed through a namespace like `127.0.0.1:8080\lib\tiddlywiki.js`. That can't clash with a tiddler title because tiddler titles are URI encoded and so can't contain slashes.
* Explore externalising TiddlyWiki's JS core into a separate file
* Fix missing newline after copyright notice
* Add an error alert if tiddlywiki.js can't be loaded
this reverts #3070 which prevents dragging text from one codemirror instance to another
there are other ways to solve the issue I tried to solve with this, so we should revert this to the standard behavior
Makes things a bit easier to follow when working in multiuser environments.
@inmysocks, @danielo515, @arlen22, @pmario, @drakor does this make sense for your use cases?
* Update Macro Definitions in WikiText.tid
*The table is intended as an overview.
*The "Parameters as Variables" example is more clean cut than previously.
Please note that the text lacks an example of direct `<<variable>>` invocation (because I'm not even sure I categorize or name this properly). Also my changes may contain factual errors or faulty lingo - please check!
* Update Macro Definitions in WikiText.tid
* Clarify the drag-n-drop behaviour
In my case I misunderstood it: I thought that I need to select the text and
drag the selection, because drag-n-drop did not work by default.
* Fix grammar
As proposed in #3378
* Experimental support for comments on the entire wiki (enable in the plugin config panel). Implemented as comments on $:/SiteTitle, with the comments appearing at the top of the story river
* Refactor the "add comment" button actions so that they can be reused
* Refactor the comment toolbar to be extensible via a system tag
* Add an $:/AdvancedSearch canned filter for accessing all comments
A few minor improvements that I propose are merged directly.
But, @pmario , we also need a clarifying example showing how to target a tiddler using *multiple* tags. So, under the examples there ought to be something like this:... BUT I fail to get this to work (syntax?):
```
[data-tags*="[[How to apply custom styles]] example-test"] {
outline: 2px solid green;
}
```
Further, the text states that
`Important: Tiddler tags are not sorted, so the order in the rendered output may be different!`
...but I'm not sure what this means. Does it mean:
```
Important: A tiddlers tags are displayed alphabetically but rendered styles may come out in a different order. As per standard CSS behaviour, styles rendered later override styles rendered earlier.
```
* Add chinese help texts for the new listen command
* Add chinese descriptions of "authenticator" and "route" in Docs/ModuleTypes
* Revised chinese help texts for the server command
* Module-ize server routes and add static file support (#2510)
* Refactor server routes to modules
New module type: serverroute
Caveats: Loading order is not deterministic but this would only matter
if two route modules attempted to use the same path regexp (that would
be silly).
* Add static assets plugin
This plugin allows the node server to fetch static assets in the /assets
directory. I felt that this was a feature that goes above the core
functionality. That is why I added it as a plugin. with the modular
route extensions this was a breeze.
* Add serverroute description to ModuleTypes
* Coding standards tweaks
* Fix filename typo
* Move support for attachments from a plugin into the core
* Missing "else"
* Refactor server handling
* Introduce a new named parameter scheme for commands
* Move the SimpleServer class into it's own module
* Deprecate the --server command because of the unwieldy syntax
* Add a new --listen command using the new syntax
For example:
tiddlywiki mywiki --listen host:0.0.0.0 port:8090
* Add check for unknown parameters
* Add support for multiple basic authentication credentials in a CSV file
Beware: Passwords are stored in plain text. If that's a problem, use an authenticating proxy and the trusted header authentication approach.
* Refactor module locations
* Rename "serverroute" module type to "route"
* Remove support for verifying optional named command parameters
The idea was to be able to flag unknown parameter names, but requiring a command to pre-specify all the parameter names makes it harder for (say) the listen command to be extensible so that plugins can add new optional parameters that they handle. (This is particularly in the context of work in progress to encapsulate authenticators into their own modules).
* Refactor the two authenticators into separate modules and add support for authorization
* Correct mistaken path.join vs. path.resolve
See https://stackoverflow.com/a/39836259
* Docs for the named command parameters
I'd be grateful if anyone with sufficient Windows experience could confirm that the note about double quotes in "NamedCommandParameters" is correct.
* Be consistent about lower case parameter names
* Do the right thing when we have a username but no password
With a username parameter but no password parameter we'll attribute edits to that username, but not require authentication.
* Remove obsolete code
* Add support for requiring authentication without restricting the username
* Refactor authorization checks
* Return read_only status in /status response
* Fix two code typos
* Add basic support for detecting readonly status and avoiding write errors
We now have syncadaptors returning readonly status and avoid attempting to write to the server if it's going to fail
* Add readonly-styles
We hide editing-related buttons in read only mode
I've made this part of the tiddlyweb plugin but I think a case could be made for putting it into the core.
* Add custom request header as CSRF mitigation
By default we require the header X-Requested-With to be set to TiddlyWiki. Can be overriden by setting csrfdisable to "yes"
See https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Protecting_REST_Services:_Use_of_Custom_Request_Headers
* Add support for HTTPS
* First pass at a route for serving rendered tiddlers
cc @Drakor
* Tweaks to the single tiddler static view
Adding a simple sidebar
* Switch to "dash" separated parameter names
* Typo
* Docs: Update ServerCommand and ListenCommand
* First pass at docs for the new web server stuff
Writing the docs is turning out to be quite an undertaking, much harder than writing the code!
* Get rid of extraneous paragraphs in static renderings
* Rejig anonymous user handling
Now we can support wikis that are read-only for anonymous access, but allow a user to login for read/write access.
* More docs
Slowly getting there...
* Static tiddler rendering: Fix HTML content in page title
* Docs updates
* Fix server command parameter names
Missed off 30ce7ea
* Docs: Missing quotes
* Avoid inadvertent dependency on Node.js > v9.6.0
The listenOptions parameter of the plain HTTP version of CreateServer was only introduced in v9.6.0
cc @Drakor @pmario
* Typo
Using contained actions, as we were, meant that the actions (and in this case the wikify widget) were being rendered at render time, but might have been out of date by the time the actions were triggered. Using the action attribute ensures the actions are rendered when they are executed.
Fixes#3326
Fixes problem whereby a repeated "new journal" would replace the text of the existing journal tiddler if the control panel new journal text was set.
Fixes#3028 and #3265
* Refactored the is operator for simplicity and efficiency.
* Improve `is` filter documentation.
* Update is.js
* extracted `subops.length` to `num_of_subops`
* renamed `subop` to `operator` for clarity/differentiation from `subops`
* refactored to avoid using a `Set` object.
* Update is.js
* Fix WebDAV by requesting new ETag conditionally
For me. this was saving only the first time and subsequently failing.
Having revised the requests, I noticed it didn't get a new ETag after saving.
Seems not all WebDAV implementations return a new ETag in PUT requests.
In my WebDAV service (WsgiDAV) - ETag is only served from a HEAD
request.
So if no ETag is found with PUT - we request one with HEAD.
This patch fixes error handling and should also work with servers that
provide ETag directly upon PUT.
* Add tweak from PMario
* Update codemirror.js
* Update xml-fold.js
* Update javascript.js
* Update markdown.js
* Update readme.tid
* add tiddlywiki theme to codemirror demo
* set tiddlywiki theme for codemirror demo
* correct naming of meta to tw-meta
* vim keymap updates were missing - now added
* Adds a range widget
Adds a range widget that supports all the range attributes on a input[type=range] element. These include min max and increment.
* Update range.js
* Fix spaces vs tabs.
* Added documentation.
* Create swipe.js
* add swipe widget
* add popup handling
* velocity mini-tweak
* add press widget
* add tap widget
* remove popup from tap widget - not possible as it seems
* add pan widget + utility css
* correcting field name
* naming and formatting
* add usage
* add pinch widget
* add pinch widget
* various small fixes
* adding absolute coordinates to pan widget
* prevent default dragging for pan widget
* improve pan widget stability
* try adding data-dynaview-unset-tiddler
I obviously lied
* dynaview unset functionality when scrolling out of view
* additional undefined check
* Update docs.tid
* update true and false to "true" and "false"
* add example of unset functionality
* Update reveal-on-scroll.tid
* Modify the is operator to allow multiple types to be specified.
* Fixed indentation.
* Fixed indentation.
* Rewritten to maintain input order when multiple filters provided.
* Updated documentation.
* Update is.tid
* Invoke hook when server starts
Invokes the `th-server-command-start` hook when the server is started, with the server object as the parameter. This allows adding a WebSocket listener to the server.
* Return the HTTP server from the listen function
Returns the node HTTP server created in the listen function to allow extension
* Add node HTTP server to server-command-start hook
* Change hook to post start in case we add a pre-start hook
* Create Hook__th-server-command-post-start.tid
* sets checked ckass for radio widget wrapper
* added tc-radio as standard class for radio widgets
* removed selectedClass again, as suggested
@pmario ;-)
* fr-FR translation for import listing preview
* fr-FR translations for new buttons
* fr-FR translations for new ControlPanel items
* fr-FR translation for 'Diffs/CountMessage'
* Update fr-FR help texts for Server command
* v5.35.1
* codemirror 5.35.1
* v5.35.1
* v5.35.1
* v5.35.1
* v5.35.1
* v5.35.1
* adding search&replace and autocomplete
* update version number
* add jump-to-line.js required for search&replace
* adding show-hint.js required by autocomplete
* adding basic autocomplete for any word
* adding autocomplete css
* adding new files to tiddlywiki.files
* forgot adding search.js
* minify 'em all
* Delete vim.js
* Delete sublime.js
* Delete emacs.js
* Delete anyword-hint.js
* Delete show-hint.css
* Delete show-hint.js
* Update config.tid
* Update tiddlywiki.files
* Update tiddlywiki.files
* Update config.tid
* Update config.tid
* Update config.tid
* Delete dialog.js
* Delete dialog.css
* Delete jump-to-line.js
* Delete search.js
* Delete searchcursor.js
* Update tiddlywiki.files
* Update tiddlywiki.files
* Update tiddlywiki.files
* add search-and-replace cm-addon as plugin
* add autocomplete cm-addon as plugin
* add fullscreen-editing cm-addon as plugin
* add keymaps as plugins + cleanup
* add highlighting modes as plugins
* small update on usage.tid
* moved multiplex.js to htmlembedded mode - the only one using it
* config/CodeMirror update
* how to disable line numbers
* how to change CM theme
* add closebrackets and closetags addons
* packaging a base-addon
* move meta.js from codemirror to base addon
* inputStyle: textarea -> prevents contenteditable on mobile browsers, keeps focus when clicking toolbar buttons, prevents import on paste
* default config no line numbers
* temporary add panel plugin for demo
* put base-plugin back to codemirror editor
* searchcursor to searchnreplace plugin
* bad copypasta mistake
* another typo
* stripped down meta.js + moved matchbrackets to closebrackets plugin
* remove panel
* change module-type to codemirro and make init "require" dynamic.
* make config handling dynamic with sensible defaults
* make cm settings translateable
* delete multids. they will be replaced
* add auto-config tiddlers
* dynamically create config structure for CM
* fix filename
* change typo
* kitchensink config, plus change plugin description for better sorting.
* add matchBrackets config tiddler
* RIP codeblock
* removed install instructions from readme - codemirror usage tiddler still todo
* control panel settings for cm base
* add setting for auto-close tags
* adding fontfamily settings and theme settings
* change tags for settings from $:/tags/ControlPanel/Settings to $:/tags/ControlPanel/Settings/CodeMirror
* more usage info
* more usage info
* update to v5.36.0
* ugly hack enables highlighting and tag-closing for vnd.tiddlywiki and x-tiddlywiki
* disable auto-indent for vnd.tiddlywiki & x-tiddlywiki and add some hidden settings
* remove engine.js hack
* meta.js -> tw-meta.js
* codemirror settings tab
* rename tiddler to tw-meta.js
* make editor font monospace or sans-serif - dropdown select
* make editor font monospace or sans-serif - dropdown select
* now using correct tiddler for editor font setting
* better usage doc
* make markdown-mode require tw-meta
* add more themes info
* add active-line highlighting option
* mini usage change
* add integer type to engine.js config-getter
* blink rate config type string
* correct engine.js
* license for base-plugin, usage link in settings tab
* codemirrordemo hellothere update
* codemirrordemo hellothere update
* Update license.tid
* codemirror demo sidebarlayout, license
* license headers to addon files
* license formatting & forgot what year we have
* license formatting & forgot what year we have & codemirror demo sitetitle sitesubtitle
* more informations 'try-this-style' for codemirrordemo hellothere
* codemirror demo sitetitle & cm fontfamily
* hellothere
* font-family setting must be editor-font-family, not code-font-family
* add basic keyboard shortcuts table
* shortcuts change to not interfere with toolbar shortcuts - needs testing - vim and emacs todo
* formatting
* controlpanel change keymap - default keymap is default
* ctrl-T becomes Alt-T in default keymap
* adjustments for codemirror demo
* demo: hellothere - hint for sidebar keymap cheatsheet
* toolbar focus fix + remove console log
* engine.js cleanup
* formatting
* reverting focus fix
* indenting engine.js
* hoping that indenting gets better
allows to override styles more easily via new class tc-chosen
----
updated all of storyview, theme, palette, language
» both in ControlPanel as well as PageControls
» removed "current ..." form switchers as it's redundant
» streamlined toolbar buttons in ControlPanel, especially less spacing
----
fixed dropdown hover colour override
if I wouldn't then it would go blank owed to default drop-down styles
----
polished styles
» chosen items now more emphasized while curspor not indicating a link
» removed underline when hovering, used highlighted border colours instead
----
use snippets languageswitcher for pagecontrols button, after all
----
wrap all switchers in tc-chooser
----
apply big font only to buttons, not reveals in pagecontrols
----
moved language switcher wrapper class to snippet
improved language switcher image alignment
----
make tiddler and ControlPanel view behave the same. add generic tc-check-list setting. add generic input type checklist, vertical alignment.
now using css rem to address drop-downs for pagecontrols
thanks @pmario
removed css artefacts in vanilla/base from before merging @pmario's PR
with comments being baked-in I don't think we want these in the code
css simplification for .tc-chosen and tc-chooser-item
This icon is a much better clue to what the forum is about. Especially it is superior when someone is actually looking for help which, presumably, is one of the most important use cases with the tw webpage.
* fixed the "0 is not a number bug" in listops and x-listops
* Fixed one comment
* "default" is not a good name for a variable
* Following code styles.
Moving getInt to utils.
* Removing unwanted spaces introduced by me
* Bug in plugin Ordering
Comparing plugin A without a `plugin-priority` field to plugin B with a `plugin-priority= 1` results in the plugins being ordered B, A when it seems like they should be ordered A, B.
* Switch to setting a plugin-priority on the built in themes to allow overriding parts of them.
* The Excise tool only works with tiddlywiki5 format, so only display it on tiddlers that use the tiddlywiki5 parser.
* The Editor Height tool and stamp tool only make sense with text editors, so only display them when the content type starts with text
When occuring in a tiddler named "New Tiddler", the following construct should return ++ instead of +[[New Tiddler]]+
<$set name="myVariable" filter="[all[current]field:title[New Tiddler]]" value="">
+<<myVariable>>+
</$set>
* Doc: How to hide author's name
* Rename tiddler. Add additional fields to hide.
* Small tweaks
* Removed creator field leftover from testing.
* New instructions for hiding author
* New instructions for hiding author #2
* Doc: Saving with TiddlyFox - change wording re latest version
The instructions were recommending the exactly wrong direction.
* List alternate extensions for FF 57+
A mechanism to choose the optimum font size of a passage of text to yield a particular numbr of characters per line.
@BurningTreeC I've made some minor consistency tweaks and cleanups to the viewport stuff, too.
fixes#2970
Also fixes the nesting. If a template is defined for the list item, it should define the link as is done for **list-tagged-draggable**, i.e. the template defines any link widget it contains.
The change brings it into line with the format in TransculdeWidget. I think it's OK to link to the tiddler defining the widget from the tiddler.
The ListWidget tiddler uses a different convention, "The list widget" : for consistancy I think all widgets should contain a WikiLink to themselves in the introduction
* add option to configure new tiddler title
there may be users that don't like to see the word tiddler everywhere
this makes changing titles easier to access
* controlpanel - basics - new tiddler title prompt
* controlpanel-basics- newtiddler title prompt
* controlpanel - basics - new tiddler prompt
* add KaTeX logo
* add katex stamp button
* add katex stamp dropdown
* add a snippet so that the dropdown isn't empty
* correct dropdown title
* change tag
* update snippets tag
* Better fr-FR translation for "rendering"
* Better fr-FR translation for rendering commands
* fr-FR translations for Control Panel items
* fr-FR translations for the Theme Tweaks tab
* New and corrected fr-FR translations for command help
Fixes https://github.com/Jermolene/TiddlyDesktop/issues/124 (the problem over there is that TiddlyWiki running as a wiki folder in TiddlyDesktop reports itself as running both under Node and the browser, and the previous test was wrongly choosing the fakedom)
* tc-body transparent if background attachment
if you go fullscreen with the fullscreen button, the tc-body background color hides the background attachments - so make it transparent if $:/themes/tiddlywiki/vanilla/settings/backgroundimage isn't empty
* if background attachment macro
macro to make tc-body background transparent
`[[Open file|c://users/me/index.html]]` is a wrong syntax for linking in wikitext.
`c://users/me/index.html` is not even a valid URI, although `[ext[Open file|c://users/me/index.html]]` works with Google Chrome and Microsoft Edge on Windows 10.
`[ext[Open file|c:\users\me\index.html]]` works with Chrome, Edge and Firefox on Windows 10.
For clarity, the absolute file syntax needs to be added in the first section before relative links are shown.
All the examples from the top section should be echoed in the extended section.
@bramchen I read a (translated) Chinese article about TiddlyWiki over the holidays that mentioned that the first thing for Chinese users to do was to change the minimum search length. Do you think it's useful to bake the setting into the plugin(s)?
Spending a bit more time with Chrome dev tools, and further to 254e1ca, this optimisation reduces the rendering time for the sample TOC from 1.9s to about 0.9s...
I noticed that the rendering of a TOC with around 200 entries seemed frustratingly slow.
First, I analysed the execution of the code using the Chrome developer tools "timeline" tab: prepare by switching to the "Tools" tab, then start profiling, switch to the "Contents" tab, and then stop profiling once it has displayed. I then used the "bottom-up" view to dectermine that the various Object.keys() calls in the main wiki store were taking around 500ms of the overall time.
Before making any code changes, I also used TW's built in instrumentation to get some baseline timings: I found that the main refresh cycle was taking around 3.0s when rendering the Contents tab.
I then performed the attached simple optimisations of caching the list of tiddler titles and the list of shadow tiddler titles.
The results bring the overall main refresh time down to about 1.9s, a nearly 50% improvement.
The moral of the story is that the first rule of optimisation is measurement...
* In the interests of performance and expressiveness, switched to using a Sax parser instead of a DOM implementation.
* Use extensible declarative rules to control the slicing process
* Added new optional set of rules for slicing by heading, where the paragraphs underneath a heading are packed into the same tiddler as the heading
* Added a modal dialogue for specifying parameters when slicing in the browser
* House style:
** Spaces after the "!" of titles
** Blank line after titles
** Sentence Case for Heading Text
* Make use of wikitext-example-without-html macro for the examples
* Make use of .tip macro for tip
* Some phrasing improvements and clarifications
* enable doc contributions for dev
fixes#2921
* involves changes to boot.js to properly build OriginalTiddlerPaths on
Windows
* added ContributionBanner
* added Sources tab to info panel
* updated tiddlywiki.info for dev
* normalize path separator to posix for windows
* more generically transform to posix
* extend ListWidget to enforce classes
Previously, the undocumented *class* attribute only allowed to specify
additional classes to be set.
Especially for use within a LinkCatcher, you can now apply / enforce
only the custom classes and avoid any of the defaults being applied
depending on the link target.
This will allow to implement #1161 more gracefully.
* use setClass insted of exclamation mark syntax
update docs & fix typo in docs
* Update chinese translations for revises in #2803
* Revise chinese help texts for "save" and "render" command
* Update chinese help texts for "import" and "load" commands
* Revise chinese help texts for "load" command
This plugin provides support for importing tiddlers as external attachments -- it only works on platforms such as TiddlyDesktop that provide the required "path" property with imported files.
Using the plugin means that instead of importing binary files as self-contained tiddlers, they are imported as "skinny" tiddlers that reference the original file via the ''_canonical_uri'' field. This reduces the size of the wiki and thus improves performance. However, it does mean that the wiki is no longer fully self-contained
* fr-FR translation of additional error strings
* include SaveTrail
* Amendments to the warnings upon loading content via _canonical_uri
* Typo: add a missing THE
* Clarification on why the browser might refuse to load external content
Remove URI encoding from PUT saver and let the browser handle it as necessary. This seems to be the normal way of doing things. We have confirmed that several WebDAV servers do not expect the file names to be double-encoded.
* Replacement icon stopwatch on
As discussed in issue #2690
* Replacement icon stopwatch off
As discussed in issue #2690
* Added missing tag "Resources" (Community Resource)
* Tried to make a sentence clearer
CamelCase words are NOT joined with hyphens (copy-paste error?).
Copied "directly" from the line below to make the meaning even clearer.
* Does deleting make the conflict go?
* Recreate deleted file with updated text
* days filter example should show highlights
- show a highlight using a longer timespan (180 days)
- added a second highlight to demo timespan with start AND end in the past
- better readability
* days Operator explanation optimisations
- typo
- readability (explain { positive | negative } first; remove duplication)
* Remove additional blank line
* Remove whitespace after save button
When the save button was not the last edit button (tested by moving to another place via control panel > Appearance > Toolbars > Edit Toolbar by drag-and-drop) then we got additional spacing due to whitespace in the resulting HTML after the button. This is a fix for that, I discovered while developing additional edit buttons.
All the other commands seem to assume that the user is not in the wiki directory, but rather in the parent directory: `tiddlywiki mynewwiki --init server` and `tiddlywiki mynewwiki --server`. This is why `tiddlywiki --build index` fails. A solution to this problem is to add the wiki name to the command.
A first pass at fixing #2973 - comments are welcome. If everybody is
happy, the next step is to deprecate the existing
rendertiddler(s)/savetiddler(s) commands and replace them in all
examples and tiddlywiki.info files with the new equivalents.
This change makes it possible to perform the conversion from target
tiddler title to `href` value as a filter expression (previously a
JavaScript macro was needed to use the tv-get-export-link variable)
Instead of the simple ‘prefix’ and ‘extension’ parameters, we now
accept a filename filter. As well as allowing prefixes and suffixes to
be added via filter operators, we can also transform the title
Tools for working with Amazon Web Services:
* Templates for saving a TiddlyWiki as a single JavaScript file in a
ZIP file that can be executed as an AWS Lambda function. In this form,
TiddlyWiki is a self contained single file containing both code and
data, just like the standalone HTML file configuration
* Commands that can be used to interact with AWS services, under both
the Node.js and Lambda configurations of TiddlyWiki
* Add ability to now macro to return same UTC string used in the modified and created fields.
* Revert "Add ability to now macro to return same UTC string used in the modified and created fields."
This reverts commit 7b6ad7db4a.
* Mods to formatDateString to adjust displayed date to UTC for [UTC]
format. Corresponding doc changes, and optimization for special
case.
document.location gives us an URL encoded version of the original
filename, so we decode it to recover the original filename for saving.
Fixes#2828Fixes#2819
* Trim tiddler titles imported via JSON
Otherwise, it's possible to create a tiddler with a trailing space (or a
leading one, I suppose) in its title. TiddlyWiki, in general, trims
titles before operating on a tiddler, so having a tiddler with a
trailing space ends up making that tiddler, for all intents and
purposes, uneditable.
Fixes GH #2850
* Signing the CLA
* Update Saving on iPad_iPhone.tid
Changing to reference Quine in place of TWEdit
* Update Saving on iPad_iPhone.tid
Fixing errors....! Thanks!!
* Update Saving on iPad_iPhone.tid
Removed whitespaces....
* Create the "tree" global macro file (tree.tid)
* Added styles for the new "tree" global macro
* Update Explorer tab
* Cleaning the macro of unneeded code
I have chosen to keep the slash suffix in the branch node titles to go along with the rest (e.g. root node), so the "clean-chunk" macro isn't needed anymore.
* Minor fix
A couple of fixes:
* Fixed problem with loading saver in a file URI within Beaker
* Fixed problem when saving to a directory-style URI with an implicit
“/index.html”
* Switched to double quotes for strings
The 2nd filter example is broken and yields no results,
probably because it doesn't see shadow tiddlers.
Added 'all' filter to bring in actual palettes.
* Doc: Adding comment to release notes to indicate where archived releases can be found.
* Adding note about node.js to Release tiddler and Installing on Node.js tiddler
It was added as a separate system tiddler, but that means updating a
lot of filters to add and exclude it as appropriate (as we do with
$:/library/sjcl.js itself)
These changes allow drag and drop to work with one issue: <a> links are
not draggable; draggable divs, spans, buttons etc. seem to work fine.
There’s some issue with IE11 that I don’t understand.
For testing, you can force links to become spans by changing line 64 of
$:/core/modules/widgets/link.js to:
var domNode = this.document.createElement("span");
We do this so that we don’t accidentally modify shadow tiddlers when we
drag them to reorder them within their tag parent. Otherwise, moving a
toolbar button like $:/core/ui/Buttons/permaview in the control panel
will override the shadow tiddler.
At the moment, we support JSON files containing an array of tiddlers.
With this change the core will import files containing a single
tiddler. Also adding templates for saving individual tiddlers in JSON
format
The problem was that `this.responseText` crashes for non-text data. We
fix it by letting the client specify which property should be returned.
@ericshulman does this work for you?
* provides a "close plugin library" button
* starting from #1718 by @inmysocks
* possibly fixes all of #1718, #1597, and #2067
* corrected code comment
* add back title
No idea why I overlooked this beforehand.
Next time I will not suggest such changes that have little to do with
the PR, but rather just comment the code.
* ah, sorry, "fixed" wrong spot
now
```
<$action-sendmessage $message="tm-load-plugin-from-library"
url={{!!url}} title={{$(assetInfo)$!!original-title}}/>
```
...should be back at the right spot.
* mhhh... still fixing the mess
load, unload, puh... let's see if I got it now
* added unloadIFrame and minor syntax fixes
We now use highlight.js in raw HTML mode on the server, rather than
trying to use it with the fakedom. This causes problems with fakedoms
inability to get textContent for a node that has been created by
assigning innerHTML. So we extend the fakedom to allow the original
text content to be saved.
See #2778 for discussion.
I used this test:
console.time();for(var t=0; t<200; t++)
{$tw.wiki.filterTiddlers("[all[tiddlers+shadows]sameday[20170210]]");};c
onsole.timeEnd()
Before this patch, I got speeds of approx 190ms, versus 140ms
afterwards.
Note that the ability to add a cache property like this is only
possible because tiddler objects are immutable.
* Replacement icon stopwatch on
As discussed in issue #2690
* Replacement icon stopwatch off
As discussed in issue #2690
* Added missing tag "Resources" (Community Resource)
* Tried to make a sentence clearer
CamelCase words are NOT joined with hyphens (copy-paste error?).
Copied "directly" from the line below to make the meaning even clearer.
* fr-FR translation of additional error strings
* a slightly better fr-FR translation for the Site Subtitle
* fr-FR translation for the "print page" button
* fr-FR translation for Tiddler Info Panel-related strings
* fr-FR translation for Timestamp activation strings
* fr-FR translation for TiddlerManager related strings
* fr-FR translation for an additional string related to system tiddlers
* add group-sort fields to fr-FR Types
* fixes to the fr-FR Tiddler Manager translations
* fixes fr-FR translation for timestamp-related strings
* fr-FR translation of the tiddler renaming strings
* fr-FR translation of what is the StoryList filter
* fr-FR translations for new saver-related settings
* fr-FR translations around the new fetch command
* fr-FR translation for modified rendertiddler command
On my machine, the following test performed on the prerelease improves
from 40ms to 8ms with this patch:
```
var a =
$tw.utils.stringifyList($tw.wiki.allTitles());console.time();$tw.utils.p
arseStringArray(a);console.timeEnd()
```
Like the load command except retrieves the file over HTTP/HTTPS.
Allows experimentation with server-side twederation
This is a cleaned up version of code that I wrote last year at TWEUM
2016 @inmysocks @pmario @twMat @xcazin
* putSaver: detect edit conflicts to prevent clobbering, if possible
if the server supplies an ETag, we send it back when saving, allowing
the server to detect edit conflicts and respond with 412 (cf.
https://www.w3.org/1999/04/Editing/)
caveats:
* this only kicks in after the first save, as we don't have access to
the ETag when first loading the document
* there's no recovery mechanism (e.g. resetting `this.etag` in order to
force clobbering), other than manually reloading the document
* putSaver: retrieve ETag upon initialization for clobbering protection
this addresses one of the caveats from the previous commit
(2d75cb83af) - while theoretically prone
to a race condition, it seems unlikely that saving will be triggered
before the server responds
* putSaver: simplify URI extraction
this simplifies the approach introduced in
f51f6bf774, with the purpose of removing
the fragment identifier
* putSaver: localize error message
* putSaver: switch to built-in HTTP helper
in the process, fixed ETag assignment in `#save` method (was
`this.etag`, now `self.etag`) as well as a syntax error due to a missing
closing brace
* putSaver: consolidate URI handling
The code here had got a bit broken by some PRs that I should have
checked more carefully. I’ve done a major refactoring which will
hopefully make it easier to understand, and fixes a number of problems:
* Problem with eg .md tiddlers not being deleted correctly
* Problem with Windows path separators not being usable within
$:/config/FileSystemPaths on Windows
* Problem with filename clashes not being detected correctly when
saving to a different directory via $:/config/FileSystemPaths
* Enables slashes within tiddler titles to be mapped into folders
* Enables plain text files like .md and .css to be saved with .meta
files instead of as .tid files (see #2558)
* No longer replaces spaces with underscores
As this is such a major update, I’d be grateful if Node.js users could
give it a careful run through — in particular, you’ll need to try
creating new tiddlers of various types and ensure that the expected
files are created.
See the readme:
“This plugin causes TiddlyWiki to continuously save the contents of
each tiddler that is changed as a JSON file. Configured correctly, the
browser will download the files silently in the background, and they
can be used as a backup in case of accidental data loss.”
Inspired by @telmiger’s comment (3) here:
https://github.com/Jermolene/TiddlyWiki5/issues/2741#issuecomment-276128
871
* fr-FR translation of additional error strings
* a slightly better fr-FR translation for the Site Subtitle
* fr-FR translation for the "print page" button
* fr-FR translation for Tiddler Info Panel-related strings
* fr-FR translation for Timestamp activation strings
* fr-FR translation for TiddlerManager related strings
* fr-FR translation for an additional string related to system tiddlers
* add group-sort fields to fr-FR Types
* fixes to the fr-FR Tiddler Manager translations
* fixes fr-FR translation for timestamp-related strings
* fr-FR translation of the tiddler renaming strings
* fr-FR translation of what is the StoryList filter
* fr-FR translations for new saver-related settings
* Update "Open" Tab Sidebar Caption
Fix wrong translation for the "Open" tab in the page sidebar tabs
* Update SideBar.multids
* Wrong date format
Remove suffixes from dates, we don't really use any in Portuguese, and the way they were presented was currently wrong
* Replacement icon stopwatch on
As discussed in issue #2690
* Replacement icon stopwatch off
As discussed in issue #2690
* Added missing tag "Resources" (Community Resource)
* Docs: Community Resources: Noteself,Slides and Stories, TKN
* Doc: Community Resource: Cardo
* Tweaks to community resources
* removing unnecessary new lines
* Removed spacing around question marks.
* Noteself. Removing one more space. Picked a bad day not to wear glasses.
Adding how to deal with transclusions inside the tabs itself. It is not weird that you want use tabs on a set of tiddlers that transclude other tiddlers using their own title. If you don't understand well the consequences of of what the sentence `currentTiddler variable is not affected...` this can be quite frustrating.
* trying to implement new googleanalytics tracker
* trying to put new google tracker. Not working...
* more dev options for testing
still don"t understand wants goes wrong
* New version. Seems to work
* achieved update for new tests
brought back tiddlywiki.com settings value
created a settings tab to make it easier
* adding settings to plugin
add a settings tab to plugin to make it easier to use and see which GA account is in use
* fixes bug with GA_ACCOUNT and GA_DOMAIN tiddlers containing newlines at their end, preventing plugins to work
* soft rebase on jermolene's master
* revert to oldest version of GA_account and GA_domain tiddlers - had been overwritten by ones with a new line at the end
* Integrates some @tobibeer comments
* googleanalytics.js : removed "rebranding", var declaration and console log. Did not manage to get a non-minified version of Google script. But as far as I can see, jermolene's original plugin did same way
* plugin.info : placed "readme" first
* readme : back to previous "legacy" version. No more mention to temporary fork. Added mention and link to google official code.
* signed CLA
* New references for Community resources.
This batch includes Filter Examples by Tobias Beerand and
Gospel Bubbles by David Gifford
* Four more community resources added --
How Does Twederation Work
Ghostwriter Theme
Moments Theme
Lucky Sushi Online SHop
* Two more: Hacks by Thomas Elmiger. Forum on Reddit by Riz
* Document method(s) to format the output of a list in tabular format.
* Added 2nd CSS method for formatting as Table
* Three methods of putting lists into table form.
* Removed "probably" comment
* fr-FR translation of additional error strings
* a slightly better fr-FR translation for the Site Subtitle
* fr-FR translation for the "print page" button
* fr-FR translation for Tiddler Info Panel-related strings
* fr-FR translation for Timestamp activation strings
* fr-FR translation for TiddlerManager related strings
* fr-FR translation for an additional string related to system tiddlers
* add group-sort fields to fr-FR Types
* fixes to the fr-FR Tiddler Manager translations
* fixes fr-FR translation for timestamp-related strings
* fr-FR translation of the tiddler renaming strings
* allows to add a new tagname hitting enter
see: https://groups.google.com/forum/#!topic/tiddlywiki/wqQ8jPYG-X4
* revert changes to vanilla/base
* added "Special Keys" to KeyboardShortcuts
* added info to Creating and editing tiddlers
did not add current version of <<.from-version "5.1.14">> because it
would interrupt the flow. When changed from a noisy "New in 5.1.14" to
"(new in 5.1.14)" we might add the version info here
* revert setText & added inline styles to vanilla base
* remove fieldmangler
* commit initial edittemplate tags to merge master
* ok, now really revert to initial edittemplate tags
* move add tag via enter into tag-picker macro(s)
* add recursion protection first take
* fix problem with selectable expand
* ust path for toc-state variable instead of tag
* reactivate disabled macro call.
The request handler may be used by ExpressJS apps directly and can do most of the heavy lifting without any modification. Note that the self variable must be assignee using `[Function].bind(null,SimpleServer instance)`.
* allow radio widget to set an index in a data tiddler
* updated RadioWidget docs, with same demo macro as for CheckboxWidget
in #2103
* removed docs in widget code (seems the wrong place)
* added from version to docs
* revert doc maros to master
* using wikitext-example-without-html and .tip macro now
* fix quotes
given a list `A B C D` if I run `A B C D +[move:-1 [A]]` I get `B C A D`. However, if I were to do `A B C D +[move:1[D]]` it doesn't wrap around, and I get `A B C D`. This fixes that such that `A B C D +[move:-1 [A]]` gives 'A B C D`
* Create One weird trick to change the sort order of sub-branches in a TOC macro
* Update and rename One weird trick to change the sort order of sub-branches in a TOC macro to How to change the sort order of sub-branches in a TOC macro
* Added .tid to file name
* Delete How to change the sort order of ...
The correct version is the one with the .tid file extension
When renaming an existing tiddler, the edit template now shows a
checkbox that determines whether or not to relink references to the
tiddler in the list or tags fields of other tiddlers.
* Make expand/collapse state be global across all tiddlers
* Remove “Show raw text” option, now that we’ve got the two expandable
areas for raw and wikified text
* Hide raw text by default
* Accentuate currently open tiddler
Add support for skipping an entire tiddler if a particular column is
blank
Add support for reading a row by column, making each of the columns
into a fieldname.
Also significantly refactored the code to break up the main, monolithic
function.
* fr-FR translation of additional error strings
* Better consistancy in fr-FR translations for Buttons.multids
* Fixes to fr-FR translation of Control Panel strings
* Updates to fr-FR strings in EditTemplate.multids
* fixes to fr-FR strings in Fields.multids
* added fr-FR translation of TypedTiddlers in Filters.multids
* fix fr-FR string in GettingStarted.tid
* fix fr-FR string in Import.multids
* fixes to fr-FR strings in Misc.multids
* add fr-FR translated strings in Search.multids
* fixes to fr-FR strings in Sidebars.multids
* fixes in fr-FR translated strings of the Theme Tweaks settings
* fixes fr-FR translated strings of TiddlerInfo
* fixes and additions to fr-FR translations of ModuleTypes.multids strings
* add missing fr-FR translation in PaletteColours.multids
* fixes and additions to the fr-FR-translated Help for commands
* fixes to the fr-FR-translated strings in the Download Modal
* add an fr-FR translation to the Macro Definition snippet
I’m fixing this now to show how the tabs macro can be changed to
accommodate the change, but we may yet decide to reverse out the change
in order to maintain backwards compatibility.
One problem with changes like this is that there’s no easy way to find
out where it impacts the core UI. The tabs macro is now fixed, but
perhaps there’s more obscure things that are still broken in the core.
If we do opt to reverse the change to preserve backwards compatibility,
we could add a way to explicitly trigger the new behaviour. For
example, a new attribute `updateState=“yes”`.
Yet another alternative is to make completely new alternative to the
list widget with revised semantics, that authors can opt-in to. For
example `<$loop>`. (There was another issue we discussed a year or two
ago about adding support for an index variable which may be a candidate
for fixing at the same time).
* Add chinese transaltions of descriptions for missing module types
* Update chinese transaltions of Parsing/Hint
* Add chinese transaltions for Search/TooShort
* Refactored control panel “Plugins” tab to make the elements more
reusable
* Refactored the display of plugin tiddlers to use the same format as
the control panel (as suggested, I think by @danielo515), adding the
shadow tiddler listing as an overridable extension tab
* Added a new tab in the “More” sidebar providing quick access to all
installed plugins
This fixes a problem introduced in
c7b31b0242.
The changes by @tobibeer inadvertently made the regular expression
evaluation significantly more expensive because of lookahead. The is
less elegant but reverts the performance problem.
* return all wikiparserrules w/o operand
* simpler layout & code / updated instruction details
Also wanted to link each rule to the official docs using a dictionary at
`$:/language/Docs/ParserRules/`. However, without #2194 this is not
doable.
Hi @welford I wondered if you could kindly review this commit, since
you authored the original code? Before this commit, I was running into
a crash when running `prerelease-bld.sh` from
`build.jermolene.github.io`, caused by using raw HTML for the
highlighted block. Switching to the fake dom seems to fix things, but
I’d like a second pair of eyes.
Back in 7d12d89a0a we added support for
Node.js global `Buffer` object, explicitly exposing it to the module
loader sandbox. The value `{}` was used in the browser, but is now
causing problems with libraries that perform feature detection.
TiddlyWiki passes the MIME type of the tiddler to highlight.js as the
"language brush", but it turns out that highlight.js doesn't actually
understand MIME types. This commit introduces a configuration mapping
between common MIME types and highlight.js language brushes
Fixes#2535
The old code required a space after the colon separating the title
fragment from the text, and didn’t trim the strings. The new code is
more tolerant, by not requiring the space, and trimming the strings.
This commit permits language plugins to carry the field
“text-direction” with the value “rtl” to trigger right-to-left layout
of the entire page. We also adjust the sidebar layout to work in RTL
mode.
There are still a number of problems to be addressed:
* Brackets and other punctuation incorrectly placed within en-GB UI text
* System tiddler titles are rendered semi-back-to-front (eg
`languages/ca-ES/:$`)
Starting to address #1845 and the discussion in #2523.
We were using `String.prototype.replace()` without addressing the
wrinkle that dollar signs in the replacement string have special
handling. This caused problems in situations where the replacement
string is derived from user input and contains dollar signs.
Fixes#2517
Fixes#2507
The problem stems from a JavaScript quirk: the fact that
`({“undefined":"Me"})[undefined]` returns “Me”. The quirk is that the
value `undefined` is coerced into the string “undefined” when used as
an index.
In this particular case, the code for `wiki.getTiddler()` was returning
the tiddler with the title `”undefined”` when called with the title set
to the value `undefined`. It happens that the pluginswitcher called
`wiki.getTiddler(undefined)`.
Fixes#2503
This bug was introduced in commit c4c7b18 where it would append
additional .tid extensions to a file every time the node server was
restarted.
Here we check the filepath does not have the extension already before
appending it.
The plan had been to switch template depending on the content type, but
we’d only implemented support for saving wikitext tiddlers. That meant
that creating a tiddler with any non-wikitext content type failed to
write the file correctly under Node.js.
Now we just always save in .tid file format.
In the sample example for using ES2016 it used the
`$tw.utils.domMaker()`. I just found out that if this code is executed
by Node.js instead of in the browser that it doesn't work because
`window.document` doesn't exist. The expectation is that widgets pass in
the fake `this.document`.
I updated the example to reflect this.
* Save binary tiddlers with meta file
The filesystemadaptor plugin was a little simplistic in its
understanding of a binary file. It was using the typeInfo dictionary to
choose what tiddler types were binary (and hence needed a meta file when
saving).
I looked as if it was trying to be smart by looking for the hasMetaFile
*OR* had the encoding of base64. Unfortunately the typeInfo only defined
image/jpeg and so any other base64 encoded tiddler was assumed to be of
type text/vnd.tiddlywiki.
The net effect was only JPG images got a meta file and everything else
were saved as .tid files with base64 encoding. It all still worked but
made working with binary data in a Git repo a bit daunting.
There is enough information in the $tw.config.contentTypeInfo to
determine if a tiddler type is encoded with base64 or not. A better list
is available from boot/boot.js who registers all the types thorough the
registerFileType and marks then with base64 were appropriate.
This commit uses the typeInfo dictionary first for any filesystem
specific overrides, then the contentTypeInfo, and finally defaults to
the typeInfo["text/vnd.tiddlywiki"]. It also eliminates the now
unnecessary override for image/jpeg.
I think this might have been the original intent from commit 10b192e7.
From my limited testing all files described in boot/boot.js (lines
1832-1856) with an encoding of base64 now save as the original binary
and a meta file. Meaning that when you start the node server and then
drag-n-drop a binary file (i.e. image/png) it will PUT to the server
and then save it on the filesystem as-is allowing the file to be managed
as a binary file and not a text file. (Binary diffs are better and
GitHub supports them as well).
* Prevent duplicate file extensions
A side effects of using the $tw.config.contentFileInfo in the previous
commit is that it will always append a file extension to the tiddler
title when saving. In most cases this is the correct course of action.
However, sometimes that title is already a proper filename with an
extension (for example importing 'foobar.png' would save a file named
'foobar.png.png') which seemed silly.
This commit simply checks to make sure the title does not already end
with the file extension before appending it to the filename. A little
convenience really.
Since IE apparently doesn't have the String endsWith method I took the
liberty to add a helper method to $tw.utils trying to follow the other
polyfill patterns. I figured this was more generic and readable then
attempting to use a one-off solution inline. I got the polyfill code
from MDN.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith#Polyfill
Is strEndsWith the best method name?
* Add string '.htm' to 'Saving with TiddlyIE'
* Change external links to match locale with wiki language
* Add instructions for use to 'Saving on Android'
* Change string in 'task'
* Change instructions for use in 'Saving on iPad/iPhone'
* Add newline to 'TiddlyDesktop Releases'
* Remove caption from 'Serving TW5 from Android'
* Change link to external in tiddlers which tagged 'Editions'
* Remove string 'index.html' from 'Some of the things you can do with TiddlyWiki'
* Change link 'TiddlyWiki Groups' to 'Forums' in tiddlers which tagged 'Community'
* Remove CamelCase link 'TiddlyWiki' from tiddlers tagged 'Community'
* Change string 'done' to 'Upgrade' in 'UpgradeMechanism'
* Change buttons to images in 'How to export tiddlers'
* Add images about buttons to tiddlers
* Add quotation mark to text 'edit' in 'Signing the Contributor License Agreement'
* Rename 'UsingSVG' to 'Using SVG'
* Change link 'TypedBlockWikiText' to 'Typed Blocks in WikiText' in 'Using SVG'
* Add tiddler 'Using Stamp'
* Add 'rel="noopener noreferrer"' to external links
* Add description about 'rel="noreferrer"' to 'HTML in WikiText'
* Add link of prerelease version about translators edition, and how to translate on Node.js, in 'Translate TiddlyWiki into your language'
* Change string 'dropdown' to 'tab' in 'Installing a plugin from the plugin library'
* Add download button to 'Empty Edition'
Passing the static content through the `$:/core/templates/html-tiddler`
template made it impossible to produce output that wasn’t HTML encoded
(eg stylesheets).
* Add field 'fr-title' to 'TaskManagementExample'
* Change button texts to latest version
* Change language English to French of link for empty edition
* Change language English to French of link for document
* Add download button to 'Empty Edition'
* Remove string 'index.html' from 'Full Edition'
* Change external links to match locale with wiki language
* Change string in 'task'
* Add newline to 'TiddlyDesktop Releases'
* Remove string 'index.html' from 'Some of the things you can do with TiddlyWiki'
* Change instructions for use in 'Saving on iPad/iPhone'
* Add YouTube button to 'HelloThere'
* Add 'rel="noopener noreferrer"' to external links
* Remove CamelCase link 'TiddlyWiki' from tiddlers tagged 'Community'
* Change link 'TiddlyWiki Groups' to 'Forums' in 'Articles'
* Change language English to French of caption in tiddlers tagged 'HelloThumbnail'
* Add image to 'HelpingTiddlyWiki'
* Made the link between "names" and "properties" explicit (I only figured it out by reading the TextReference documentation)
* Documented named property manipulation through ActionWidgets.
* Change button texts to latest version
* Change language English to Spanish of link for empty edition
* Rename 'GettingStarted1' to 'GettingStarted'
* Change language English to Spanish of link for document
* Add download button to 'Empty Edition'
* Change external links to match locale with wiki language
* Change string in 'task'
* Change link to external in tiddlers which tagged 'Editions'
* Remove dot from 'Plugin Editions'
* Remove string 'index.html' from 'Some of the things you can do with TiddlyWiki'
* Add 'rel="noopener noreferrer"' to external links
* Remove CamelCase link 'TiddlyWiki' from 'Examples'
* Change space to dot in 'Tutorials'
* Change language English to Spanish of caption in tiddlers tagged 'HelloThumbnail'
* Change instructions for use in 'Saving on iPad/iPhone'
The attempt to rename the Vanilla themetweaks to make it look like a
core component was mistaken because it requires us to duplicate a
shadow tiddler within an edition, creating a huge problem for the
future where we have to track all the overridden shadows and make sure
that they are updated manually.
* TW5-es-ES-edition
Spanish edition of TW5.
A full localisation of TiddlyWiki into castillian spanish (es-ES).
* Translation ongoing
* Translation ongoing
* Translation ongoing
* Translation ongoing + TiddlySpot upload
* Translation ongoing
* Translation ongoing + macro fixes
* Translation ongoing
* translation ongoing + macro fixes
* Translation ongoing
* Translation ongoing
* Translation ongoing
* Translation ongoing
* Translation ongoing
* translation ongoing
* translation ongoing
* Translation ongoing
* translation ongoing
* translation ongoing
* translation ongoing
* Arreglo plugin
* Arreglo plugin
* Translation ongoing
* Translation ongoing
* Translation ongoing
* translation ongoing
* Add Spanish edition to TW5.com
* Reverting forced language plugin load.
folder es-ES was provisorily added to the tiddlerStore in order to force the load of the updated language plugin. Finished the translation, and with the updated plugin on place, this folder has no use when the new release comes out.
* A third way to use TW5 on Android
small improvements to Android/Node.js doc tiddlers
* fr-FR translation for the link button
* replace _ with space in file name
It turns out that IE11 has a horrible bug whereby setting the
placeholder attribute before setting the text will trigger an input
event:
https://social.msdn.microsoft.com/Forums/ie/en-US/ae4832b0-8eee-4729-b93
3-a9977ea1b583/internet-explorer-input-event-get-fired-when-settingunset
ting-the-placeholder?forum=iewebdevelopment
There have been long standing problems with the buttons not working in
Firefox, and now a [further
problem](https://groups.google.com/d/msg/tiddlywiki/GlsruQyPOag/BAhnI2mt
BgAJ) has come to light, and been similarly hard to resolve.
On balance, I’ve decided to remove the undo/redo buttons from the
toolbar (the ctrl/cmd-Z shortcut is still operational), thus avoiding
the problems, and saving some space in the core.
This is quite a big change: a new way to invoke action widgets.
The advantage is that it solves #2217 and #1564, a long running problem
that prevented us from adding action widgets to widgets that modify the
store.
This commit adds the new technique for the button and keyboard widgets,
but also extends the select widget to trigger action widgets for the
first time
* Change the negation logic to address an edge case
Make it possible to get an interval ending with yesterday or starting with tomorrow.
* "days" filter: adjust documentation
When saving new tiddlers on node.js, allow the user to override the path of the
generated .tid file. This is done by creating a tiddler
$:/config/FileSystemPaths which contains one or more filter expressions, one
per line. These filters are applied in turn to the tiddler to be saved, and
the first output produced is taken as a logical path relative to the wiki's
tiddlers directory. Any occurences of "/" in the logical path are replaced with
the platform's path separator, the extension ".tid" is appended, illegal
characters are replaced by "_" and the path is disambiguated (if necessary) in
order to arrive at the final tiddler file path. If none of the filters matches,
or the configuration tiddler does not exist, fall back to the previous file
naming scheme (i.e. replacing "/" by "_").
This implies we will now, for tiddlers matching the user-specified filters,
create directory trees below the tiddlers directory. In order to avoid
cluttering it with empty directory trees when renaming or removing tiddlers, any
directories that become empty by deleting a tiddler file are removed
(recursively).
Benefits of this configuration option include the ability to organize git
repositories of TiddlyWikis running on node.js, ability to replace characters
that cause trouble with particular operating systems or workflows (e.g. '$' on
unix) and the ability to replicate tiddler "paths" in the filesystem (by
including a filter like "[!has[draft.of]]") without forcing such a (potentially
problematic) change on all users.
* Finally get the word "language" translated in fr
* fr-FR: More verbal consistency between captions and hints
* fr-FR mistranslation of "Tiddler Fields"
* Outdated source of Corner ribbon plugin
No sources provided for [[$:/plugins/tiddlywiki/github-fork-ribbon]].
Edition aims to its current source in the plugin library and updates the plugin name
* CamelCase link override for visual clarity
* typo corrected
There’s currently 249 changed files in the text-editor branch, which
exceeds github.com’s ability to display the diffs. So we’ll put the
images straight into master to get the diffs down by 32 files.
* Fix word wrapping in code blocks
When you create a code block with the three back ticks any thing that
was wider then the pre block would be word wrapped. That causes code
snippets to look odd.
* Make code wrapping a theme tweek option
While JavaScript runtime errors include the line number within the
module tiddler where the error occured, syntax errors do not, leaving
the user guessing where the error is hiding. Attempt to remedy this, as
well as the various platforms permit.
* Copy example from ActionSendMessageWidget to tm-new-tiddler
It is counter-intuitive that the ActionSendMessageWidget documentation has more information on tm-new-tiddler than the more specific one.
* Fix link in reference docs
* Fix some typos
Define for the server edition the same build targets as for the empty
edition, but using the correct template so that the "offline" version
(target "index") works correctly when accessed via HTTP. With this,
`tiddlywiki --build index` is equivalent to the save button.
While the process of setting up TiddlyWiki on Node.js is well documented
and easy enough, the options for publishing such a wiki to an offline
version (scriptably, e.g. for push-to-deploy setups) are decidedly
non-obvious. With the added build steps, the user only needs to know
three simple commands:
tiddlywiki --init server
tiddlywiki --server
tiddlywiki --build index
and optionally
tiddlywiki --build static
* Add icon for view template segment
* Muted background colour for view template segment
* Include links to parent tiddlers in the view template segment
* Fix logic for hiding/showing documents/headings (“open”/“close” were
transposed)
Entities such as `👷` were broken because
`String.fromCharCode()` is not fully Unicode aware. The fix is to use
`String.fromCodePoint()` where available.
Noted by @ericshulman
List fields (such as tags) when evaluated to produce tiddlers result in empty arrays. Using the exact not equals, an empty array is not the same as an empty string. By using equivelent not equals, we state that the field is either != "" or anything that can be coerced to "". Which, based on https://dorey.github.io/JavaScript-Equality-Table/ is `false` `0` `[]` or `[[]]`` neither `false` nor `0` can be set as a tiddler field as both will end up being quoted (`"false"`, `"0"`) so this should work.
Without modified dates, new imports do not appear in recent file list. The equivalent of modified dates in ENEX is the 'updated' tag, with a date format similar to that of TW with the exception that the date format consists of a date stamp, a letter T, and a time stamp followed by Z for UTC presumably. There is no millisecond indicator. Not all ENEX notes have an update tag. The solution here is to apply creation date by default and then apply the update date if it is available. Dates are converted by stripping out Z and T and appending '000'.
@sukima the main issue with the previous code was that it incorrectly
used comma to delimit tags. We actually use spaces, and double square
brackets to delimit tags containing spaces. Better is to leave the tags
field as an array; the core will serialise it correctly as required.
I also made some minor consistency tweaks.
As seen in the first pass of #2247, it was previously inadvertently
possible for callers to modify the tiddler object itself by adding and
replacing properties.
Relates to Issue #2268
I tried to map over the list of tags but NodeLists are not arrays and so
need to be converted. This looks ugly and probably should be abstracted
to a function. Come to think of it should we have a `$tw.utils.map()`
function?
Relates to Issue #2268
Based in the [example XML][1] attachments are listed in the <resources>
node. Since in TiddlyWiki these would be media tiddlers I add then one
by one as separate tiddlers.
There are some things that still need to happen. There should be a mime
type check so we don't attempt to import media tha TiddlyWiki doesn't
support. Also the example suggests the data is base64 encoded so I
blindly use that for the text attribute. Should there be a
`data:mediatyp;base64,…` prefix?
[1]: https://gist.github.com/evernotegists/6116886
Integrating this module allows us to do HTML/XML parsing under Node.js
(there is no built-in support for Node.js; we can already do HTML/XML
parsing in the browser). The implementation chosen is pure JavaScript,
and will work in all configurations of TiddlyWiki.
Fixes#2227
(Note I fixed this by editing the filename in the github.com online editor. It's happened before; I've raised #2261 to address the root cause)
Having the ability to write your plugins with ES2015 syntax is nice but
it is missing a large part of the ES2015 spec. Since not all browsers
support this a polyfill is offered.
So far it is IE10 which holds the need for the polyfill. This tiddler
offers a simple how to on adding the babel-polyfill to your TiddlyWiki.
NOTE: This how to would be obsolete if a proper ES2015 polyfill was part
of the official plugins offered in core. (Want a pull request?)
Fixed a side-effect of 03519c14b0 from
@matabele whereby the current tiddler is overwritten by the
`<$tiddler>` widget, which means that it is not accessible when
rendering the caption of the tab.
This causes a problem with eg the “Add Plugins” modal where it breaks
the count on the tabs.
Can now accept any number of attributes of the form TextReference="value" -- these may be fields "(Tiddler!!field="value") or indices (Tiddler##index="value.)
When using the widget with only short form SetText attributes (field="value) -- the default field (text) of the default tiddler is set to the default value ("") -- thus clearing the text field of the current tiddler. I have inserted a conditional to test for the presence of the `field` attribute.
Whilst I was about this, I have inserted code to enable the setting of any number of TextReferences -- this fixes the issue of only being able to set one index per widget and also allows different tiddlers to be targeted by the same widget.
I emailed a PDF with an actual signature, a moment ago, to
jeremy@jermolene.com. My understanding is that this signature would be valid
not just for me but for other Googlers who contribute to TiddlyWiki in future,
if there are any. So I've omitted my personal name from the signature line -
I think this is probably the way it's supposed to be? If you look at the PDF
you'll see that it's actually one of our lawyers who agreed to it, not me
as an individual. I'll be using my @google.com email address for this and any
future patches, so record-keeping at TiddlyWiki's end shouldn't need a record
of GitHub usernames.
Part of the upcoming AWS integration work is a custom build of
TiddlyWiki that can run as an Amazon Lambda function. These tweaks
enable the new build to control the loading of SJCL, the package info,
and any preloaded tiddlers.
The immediate motivation is the work I’m doing to integrate with Amazon
Web Services.
We should be able to use JSZip to export multiple tiddlers in a single
operation from the browser.
With the html syntax when you go back after following the link knowledges of open tiddlers is lost.
Not sure if there should also be feature request for TiddlerWiki to store knowledge of open tiddlers in browser history.
Instead of showing a sequence of all documents in the preview column,
we just show a single document, with a dropdown to choose which one is
shown.
The change makes it easier to deal with large numbers of documents.
element that has scrollbars. The wrapper element with the
scroll bar does not need to be a direct parent of the text area.
**update:** fixed a bug that came up in the discussion
This is fixed now: https://github.com/Jermolene/TiddlyWiki5/pull/1933#issuecomment-141774881
The problem was the check in getScrollContainer()
Because of the refresh problems with the other widgets triggering action-widgets I am doing this one by itself. I hadn't included it before.
This shouldn't have any more problems than the button widget does, and any problems caused by it should be fixed by any fix we use for the button widget. See #1564 for more background
Attempted a fix for the problem I raised in #2038, by adding an explanation of why a TextReference in a button widget's 'set' attribute will lack the curly braces seen nearly anywhere else a TextReference is used as a widget attribute.
Action widget designed to apply filters to the current list and save the modified list back to the list. The widget is able to manipulate lists in any field or any data index of the target tiddler, and includes an option to manipulate the tags of the target tiddler. The widget is used in conjunction with the extended list operator filters (xlistops.js)
implements #1369
when the suffix is `list`, interprets the field as a list of individual
tiddler titles and returns all titles referenced in the list field of
the source list, existing or not
The present implementation of relative dates doesn’t auto-update, nor
does it work effectively in static renderings. Until that’s fixed, I
think it is better to switch to absolute dates.
Although falling short of the proposal in #1976, this change makes the
sidebar tabs work much better with different colour page backgrounds
and background images.
“-do-not-delete” flag for savetiddlers command was introduced in 5.1.10
without consistency with the already implemented “noclean” flag for the
rendertiddlers command
The dropdown can be summoned by clicking on the search field. It will
only appear if the search field is not empty. When the search field is
not empty the dropdown can be also be summoned by clicking on the arrow
or search result count.
There are still some wrinkles where the dropdown doesn’t appear when
expected; I’d appreciate feedback to help reproduce those cases.
This change should still work with custom search result tabs.
The metadata for each field is in a tiddler tagged
`$:/tags/DocumentMetaData` with the field `caption` being the displayed
caption for the field and `field` being the name of the field.
`field-type` is the type of the field, and can be “string” or “list”.
Adding “Story River” to the “Concepts” category, and doing some
clean-up of other entries in the category by moving some concepts to
become sub-concepts in the TOC
Previously, newly created image files would end up being saved as a
base64-encoded .tid file. Now they are saved as an ordinary binary file
with an accompanying .meta file for the metadata.
to match the one required by the "FieldManglerWidget" tiddler's link to examples, broken for now. (pointing to a non existant tiddler because of the wrong name)
By making the docs available as a plugin we make it easier for people
to fork their own copy of the docs without losing the ability to get
updates in the future (which can be done just be updating the docs
plugin)
Feel free to ignore this pull request if you want to, although it might be a useful addition to this page. I use NZ English normally, which is closer to UK English than to US English, but I still get confused between the two sometimes, having spent so long around the (predominately American) Internet.
Triggered by the text-slicer plugin, but general purpose.
The clunky implementation shows the shortcomings of the view widget. It
was one of the first widgets to be implemented; subsequently, the
implementation of macros gives us a potentially more flexible way of
implementing these kinds of text transformations.
Many reasons:
* to allow subtrees to be grafted more easily
* to keep the tags for an entry clean by removing structural tags and
leaving the semantic tags
* to avoid the duplication of expressing the same relationship through
both the tags and list fields
1. Switch from using the text field of lists for storing the associated
filter to using the field `toc-list-filter` (to make it harder to
accidentally parse the text of an ordinary tiddler as a filter)
2. Fix several bugs
The exclude filter `+[tag[intro]]` will produce a document that only
includes the paragraphs with the tag “intro”. These are derived from
the paragraphs in the original document with the CSS class “intro”.
* Add warning in document tiddler toolbar if tiddler already exists
* Live preview document in new window
* Fix slicer.js bug that was preventing the list field of headings from
being filled in correctly
* Rationalise some class names
Now includes a special document view column on the left. Headings can
be expanded/collapsed, and tiddler titles can be inspected and renamed
via the toolbar. Clicking on an entry opens the associated tiddler. The
default tiddler view template includes a special section for tiddlers
that are part of a document
Now we process the rendered HTML of tiddlers, which allows us to
process HTML generated by MS Word. In fact, the HTML that MS Word
generates is so awful, I’ve instead been using Mammoth to do the
conversion: https://github.com/mwilliamson/mammoth.js
Also some necessary improvements to the fake dom implementation.
One of the changes for introducing folded tiddlers was the extra reveal
widget here, which introduces an extra DIV element, breaking some CSS
rules. To fix it, we re-use the reveal widgets generated DIV as the
tiddler body DIV
Now the sidebar is a fixed overlay. It is scrollable, taking up 50% of
the height of the screen, so that the underlying page can be partially
seen.
There’s more to be done: on narrow screens we probably want the sidebar
to be hidden by default.
1. Introduce template tiddlers for the document, each tiddler, and the
tiddler toolbar
2. Move the text slicer toolbar button to the left of the edit button
3. Add a selectable toolbar, currently just containing the tiddler title
* Ignore parser rule configuration in safe mode
* Made text translatable
* Added new setting for camelcase links
* Added warning on parser rule configuration tab
See #1875
The spelling for résumé should include the accents everywhere but in some tiddler titles.
Newly created resumes now automatically have the default settings for visibility and templates
The first page of the resume wizard now has options for which sections are displayed along with the order and templates to use
The print option no longer puts a black box around the text area out the output
Some temp tiddlers are included to prevent the default 'Enter text for <tiddlername> tiddler' from showing up in some text entry boxes
There are some other minor layout improvements
@inmysocks this may be a bit of pedantry too far, but I found I keep
reading it as “resume” in the sense of “normal services was resumed”.
We definitely shouldn’t try to add accents to the URLs, but I wonder if
it might be worth updating the edition itself, too?
The section creation tool is a semi-automated tool for adding new resume sections.
It still requires knowledge of wikitext but it requires far less knowledge of the inner workings of the resume builder
than just creating a section on your own would.
Notable changes:
Removed the sidbar tabs other than the resume preview
Fixed ordering problems for the sections in the resume wizard
Fixed some minor display problems in some of the input tiddlers
Updated the documentation a little
Astonishingly, it’s much quicker to use `Object.keys()` to get an array
of key names, and then iterate through that. I’m seeing 25% speed
improvements for an empty tiddler iterator.
I switched this optimisation off back in
ed35d91be6, in October 2013, as part of a
big refactoring of the parsing and widget mechanism. I’ve been meaning
to switch it back on for some time.
My rough measurements suggest that this optimisation can reduce
rendering time by 5-10%.
There’s not much to making the toolbar button styles switchable: the
change to the PageTemplate introduces a new configuration tiddler that
controls the button styling. Most of this commit is the user interface
for changing that setting, including the translatable text. I think
this again demonstrates that we need to be very selective about which
configuration options have a UI included in the core. Otherwise, a few
dozen more of these settings will start to become a significant
fraction of the core.
5.1.9 is shaping up to have an unusually large number of contributors.
I can’t thank everyone enough; it’s a source of great pride that
TiddlyWiki is sufficiently good that other people are prepared to help
me work on it.
When the info button in the TagManager was press it revealed the info
table but it was squished in one cell and that pushed the right side of
the table past the width of the tiddler. So using a colspan optimises
the spacing (plus it looks better).
Previously, we just read the target file as a block of UTF-8. With this
update, we deserialise the file, allowing us to use file formats like
.tid within the tiddlywiki.files file.
Title was modified. 2 new tiddlers was created. The last one deleted. I just modified one and created this one (Perhaps, i'ts not the good way)
TableOfContentsMacro Tabbed Example => Example Table of Contents: Tabbed External
Title was modified. 2 new tiddlers was created. Here, the first. Just last one deleted (Perhaps, i'ts not the good way)
TableOfContentsMacro Tabbed Example => Example Table of Contents: Tabbed Internal
Be carefull. Title was modified. A new tiddler was created. The old one deleted. I just modified this one.
TableOfContentsMacro Selective Expandable Example => Example Table of Contents: Selectively Expandable
Title was modified. A new tiddler was created, last tiddler was deleted. I just modified this one (perhaps it's not the good way)
TableOfContentsMacro Sorted Expandable Example => Example Table of Contents: Sorted Expandable
Be carefull, title was modified. A new tiddler was created, the last one deleted. But I just modified this one (perhaps its not the good way)
"TableOfContentsMacro Expandable Example" => "Example Table of Contents: Expandable"
Be carefull, the last title was modified, a new tiddle was created, the last one deleted.
TableOfContentsMacro Simple Example.tid => Example Table of Contents: Simple
So I just modified this one. Perhaps it's not the good way.
a few changes :
- "shadow" (eng) to "ombre" (fr) ,
- "brouillon" (fr) to "ébauche" (fr), because "brouillon" often means "dirty"
- "tagging" (eng) to "étiquetage" (fr).
@felixhayashi sorry I should have realised earlier that it’s worth
doing it this way so that we can have different settings for different
story rivers.
I felt the conversion from the Dropbox share URL to the "secret" URL was
complicated enough to have the tiddler do it for the user. And so I
wrote a widget to do that. The user enters in the shared URL given by
Dropbox and the widget outputs the secret URL that they can copy / paste
with.
See if it is worth having on the TW5.com site.
The former instructions didn't explain how class names with special characters could be used in stylesheets. This adds explanation about escaping the % symbol.
This is my attempt to make the EditTextWidget clearer. I found it was
confusing and sent me down the wrong path prompting me to open
issue #1776.
Fixes#1776
Using `$name` and `$value` attributes allows more flexibility in how
parameter names are specified, allowing parameter names that are not
valid attribute names.
The button deletes the local tiddlers that contain information about the library. This allows you to:
*hide the library contents
*reload the library to see any updates to the plugins it contains. If this isn't done than local information about the available plugins is never updated (this problem may need a separate fix that doesn't require reloading the library).
I have three problems that should be addressed:
*I am not sure that the location and color of the close library button is appropriate
*When you click on the close library button a message asking you if you want to delete the $:/temp/ServerConnection/(url) tiddler appears, if you click 'cancel' than the library is shown as open and empty, the only way to fix this condition is to delete the server connection tiddler manually. I think there is a simple fix to this but I can't think of anything.
*Sometimes if you try to open a library that you have just closed it won't open properly. The tiddlers that contain the plugin information are created, but the server connection tiddler isn't created until you reload the wiki. This behavior is inconsistent and sometimes opening the library again works with no problems. I do not know why. I would be fine with requiring a refresh before a library could be reopened so that the startup module acts, but I am not sure what to do about this inconsistent behaivor. I have not been able to find any cause.
Typically for JavaScript, initialising an object as an array doesn’t
break anything because an array is an object. Anyhow, it should be an
object in this case.
It thereby reduces code complexity that would arise when setting
many variables using "<$set>".
```
\define helloworld() Hello world!
<$vars greeting="Hi" me={{!!title}} sentence=<<helloworld>>>
<<greeting>>! I am <<me>> and I say: <<sentence>>
</$vars>
```
How this Widget differs from the set widget:
* Variables may be created by using the "key=value" notation
that you already know from widgets like action-setfield.
* You cannot specify a fallback ("emptyValue")
* You cannot use a filter to produce a conditional variable assignement
Original discussion that led to the creation of this widget:
https://github.com/Jermolene/TiddlyWiki5/issues/1610
The previous behaviour didn’t allow scrolling of the modal itself
through the scroll bar because the scrollbar was hidden behind the
backdrop.
Fixes#1642
Otherwise, the `sameday` macro will default to `modified`. In case the user set `dateField:"created"` when calling `timeline`, the result will be inconsitent.
Allow widgets to choose not to propagate actions. This is important for
widgets that themselves trigger actions.
Note that this change will cause problems with any existing
5.1.8-prerelease plugins that call `invokeActions()`.
The tabindex attribute was being set to the string “undefined” if the
attribute was not specified. The fix is to only set the tabindex
attribute if the attribute was specified.
Give the toolbar buttons for control panel, advanced search and tag
manager the selected state when the corresponding tiddlers are open in
the story river.
We’d rather present this information as a panel within the tiddler
editor so that we can (for example), allow clicks on a snippet to
insert it automatically into the editor at the current cursor position.
For the moment, we’ll just remove the cheatsheet. Post-5.1.8 we’ll add
it back to the editor
They don’t get automatically decoded when the browser reads the
resulting HTML. So, instead, we’ll solve
1e9e1a1fdc by switching to double quotes
for attribute values.
The trouble with tweaking the ViewBox was that the amount of the
adjustment is expressed in the coordinate system of the image, not the
coordinate system of the bitmap that is being rendered. That means that
the additional space doesn’t necessarily extend to the single physical
pixel needed to resolve the issue.
Corrected an error in the explanation of the `+` prefix.
It actually adds the filter to the list of filters, thus keeping only the tiddlers matching the additional filter.
* Moved “add new plugin” into a modal wizard
* Adopt big friendly buttons
* Add plugin icons and readmes to “add new plugin” modal
* Use tabs for splitting plugins/themes/languages
* Consistent styling between the “add new plugin” modal and the
“installed plugins” control panel tab
* Behind the scenes, moved from addressing the library as
`recipes/defaults/tiddlers/<etc>` to `recipes/library/tiddlers<etc>`
This may cause backwards compatibility problems for people relying on
the block mode parsing, but it’s much better for the rest of us as it
avoids an unsightly paragraph tag
This was introduced to make it possible in the new stacked story view
to click on a tiddler to bring it to the front. By allowing a tiddler
in view mode to be focussed, it also prepared for view mode keyboard
shortcuts. (Eg, a key to edit the current tiddler).
However, there are several minor issues with the unexpected behaviour
of clicking on a tiddler navigating to it, so we’ll leave this out of
5.1.8
I needed a left arrow for a menu, but as the core image library doesn't have one I created one by rotating the svg of the built-in right arrow.
Also changed the corresponding class name.
Stop the logger from creating alert tiddlers on the server. They
propagate to the client but are not deletable from the client because
they are in the `$:/temp` namespace.
cc @loleg
There was a rendering mess in the CodeMirror readme file. This was cause
by attempting to bold the `$:/tags/Stylesheet` text. Also the context of
the sentence implies this should be backticked not bold (it refers to a
tag not a tiddler).
For five minutes I stared at the following code...
if(value != null && typeof value === "object") {
Object.freeze(value);
}
... and at the error message that led me to this code: `Object.freeze called on non-object`
And then I remembered that js treads null as object (http://www.ecma-international.org/ecma-262/5.1/#sec-11.4.3). This means the `typeof === "object"` will not discover null and freeze will throw an error...
So `value != null` will also work when value is undefined.
A hard to find bug ;)
The URL (freedombits.org) is no longer hosting this example. It no
longer provides a good example as there is no TiddlyWiki linked anymore.
With much regret it needs to be removed till the original author can fix
the problem.
For some reason this is causing the focus to be repeatedly set to
the title field when editing a tiddler's text. Let's revert it for
now.
See Issue #1527.
This reverts commit fdc635007b.
The previous fix changed the scrolling behaviour such that it only
scrolled to the top of a tiddler if the tiddler was entirely offscreen.
It wasn’t entirely satisfactory because scrolling was prevented even if
only a few pixels of a tiddler are in view. This commit ensures that
the scroll does occur if less than 50 pixels of the target is in view
With this enhancement, clicking on a tiddler in the story view will
navigate to that tiddler. This is needed for eg the stacked storyview,
where we want to be able to click on tiddlers to bring them to the
front of the stack.
There are some problems though - as things stand, clicking on a tiddler
in classic storyview will scroll to the top of that tiddler.
Layout bugs with position: sticky in Firefox mean that we probably
shouldn’t have sticky titles as the default. Rather than reverting to
putting them in a separate theme, it is proposed to expose the sticky
titles setting in Vanilla theme tweaks.
Previously the shadow was to the bottom right. When tiddlers overlap
(as with the stacked storyview) it makes them “pop” more if the shadow
extends round all sides of the tiddler.
Firefox bugs with position:sticky mean that we probably shouldn’t have
sticky titles turned on by default.
Previously, sticky titles were packaged into a pluggable theme. Now, I
think it may make more sense to make the sticky titles status be a
theme tweak for the Vanilla theme.
By turning the tiddler frame into a link it is now possible to click on
a tiddler to navigate to it. This is needed for the new
stacked-storyview, but it also useful in other storyviews.
Note that there are currently some issues. For example, in classic
storyview, clicking on a tiddler will scroll to the top of it, which
isn’t helpful if you’ve scrolled halfway down a long tiddler.
This is just an idea really.
The help plugin is only included in the tw5.com wiki; the idea is to
also include it in the empty.html wiki, either as a plugin or as part
of the core.
If it stays as a plugin, the idea would be to have different help
plugins for different languages.
tv-get-export-path tells render tiddlers where to export files
tv-get-export-image-link tells images.js where to look for images
tv-get-export-link tells tells link.js where to look for links to other
exported tiddlers
@aelocson here’s an alternative fix for #981, as discussed in
https://github.com/Jermolene/TiddlyWiki5/commit/691e5719a4ff74a04d389bd1
26ba2a69e7651a2a#commitcomment-9848682
It does seem a lot nicer. It avoids the problem you raised, and also
avoids scrolling when a permalink is used.
I suspect that we’d need to make the hard-coded 50 pixels be
configurable.
This reverts commit b2b8006b58, reversing
changes made to e7e16137b2.
@welford my apologies it turns out there are a couple of problems, I’ll
comment more on the pull request
Previous changes since 5.1.7 broke the documented semantics by no
longer returning true when the versions match. It affected the upgrade
process, making it impossible to upgrade to a later pre-release (ie
where the version numbers in the upgrade.html match those in the file
being upgraded).
Also reviewed and updated the calls to checkVersions.
@felixhayashi I think that this effectively reverts the change you
original submitted. Are you OK with it?
Fixes#1415
The problem was that encodeURI() doesn’t encode slashes, which are not
legal in a data URI, although only Safari was failing. We switch to
encodeURIComponent(), which does encode slashes
The main fix is removing the fallback navigation to the first tiddler
in story.js. Also required is the fix to the startup behaviour of
zoomin.js.
Fixes#981
@tobibeer I think that this was originally from you. I think it’s
problematic listing all available tiddlers for performance and
usability reasons.
I’ve instead taken advantage of your work to template the tag links by
splitting the system and non-system tags. What do you think?
fixes#592
Introduces and preserves **_origin** field when using drag-and-drop —
bad idea? discard? different field name?
demo http://592.tiddlyspot.com
Fixes#1450
Provides support for an integrated plugin library that can be used to
install plugins from tiddlywiki.com directly to wikis hosted online or
offline. See the Plugins tab of Control Panel.
Todo:
* Error checking(eg libraryserver.js HTTP GET)
* Translatability
* Documentation
** $:/tags/ServerConnection
** savelibrarytiddlers command
The template description is too ambiguous. I tried to use template tiddlers just to realize that the template should be a string. For example a date format.
as well added ControlPanel settings — reordered ControlPanel basics to
have DefaultTiddlers next to EmptyMessage but not shifting important
stuff too far down
for now, computes path to backup directory, appending the relative path
of UploadBackupDir to the absolute one from the UploadURL
Also added example for store.php to hint
A minor issue - the wrong slashes are used in part of this text for emphasis. This confused me until I realised what was going on (I thought the /'s were part of the template syntax).
Preserves compatibility with existing invokeActions call in button widget by creating a separate 'invokeActionCall' function to carry out the recursion. Triggering all descendants permits use of action widgets inside list widgets or macros. Also makes it possible to add triggering capability to select widget.
when the tiddlers are not listed in the list field, sort them by title
nonetheless, otherwise we get a real poor taglist from
**$:/core/ui/TagTemplate**
Ok, I think I've got it now. The following matches all...
1. starting with a literal `$:`
2. then any number of character not a whitespace, `<` or `|`
3. closing with anything that is, again, not a whitespace, `<` or `|`
Test here...
http://tbdemo.tiddlyspot.com/#Autolink%20System%20Tiddlers
fixes#1333
extracts the tag-link into a component template...
**$:/core/ui/Components/tag-link**
...so as to split the list in two, having two filters that list tiddlers
in the add-tags popup to...
1. firstly, list matching used tags
2. secondly, list mathcing tiddler titles, thus availabe for tagging
Does away with searching content as it is irrelevant if not distracting
for tagging.
Why two lists? Consider wanting to tag a tiddler with "Filters"...
observe how the result would otherwise be way too far down because
existing tiddler titles get in the way.
Component templates are also desireable elsewhere, e.g. #1318
split the latter half of highlight.pack.js into a separate file which
registers all the languages and exports hljs. this is for nodejs
compatibility and mimics the way the highlightjs module works in nodejs.
enhanced extlink parser to cover system tiddler links
of course, only those without spaces in their title
didn't want to open up an extra parser for this as extlink has all the
basics
Provisionally, rather than using any sort of arrow symbol. We need to standardise a notation for referring to hierarchical UI, but that will come with the documentation style guide.
This includes placing commas and full stops outside the quotes, and replacing single quotes with the double quotes that seem to be the standard on tw.com.
Thanks @gernert
I’ve not updated GettingStarted because I plan to do one final
redrafting before 5.1.6.
I’ll put up a prerelease for you to play with in a couple of hours when
I get to better wifi!
@erwanm I ended up making some fairly extensive tweaks.
One issue is that the (excellent) material you’ve provided on
transclusion with templates covers very much the same ground as the
existing TemplateTiddlers tiddler. The existing text was focused on
transclusion with widgets; I think your material using transclusion
notation is much easier to understand.
I’ve also removed the exercises section. We don’t have exercises
elsewhere in the documentation, so I think we need to make a conscious
decision about whether we’re going to try to add them, and then do so
consistently across the material.
I also made some changes to bring the text into house style for
consistency (which I’ve also tried to start documenting).
For consistency with the way that tabs work.
To see this in action, on tiddlywiki.com open the tiddler
`$:/tags/ControlPanel` and edit it to add the tag “TableOfContents”.
You’ll see the control panel appear at the bottom of the table of
contents.
In 5.1.5 we switched to using `<$action-setfield>` instead of
`<$fieldmangler>`. The problem was that in the process we lost the
validation of field names, making it possible to create fields with
illegal names
Fixes#1186
changed dead links with descriptions ...these are still missing:
* $:/language/Docs/ModuleTypes/allfilteroperator
* $:/language/Docs/ModuleTypes/info
* $:/language/Docs/ModuleTypes/library
To avoid text of exporter descriptions overflowing on Firefox.
We need a better solution. On Chrome, nested popups resize to fit their
content, without being constrained by the parent width.
Note: I did NOT test the results as I have yet to figure out how to make
node.js...
* actually run the server without a 403
* build the core tw after me having made changes
* removed trailing whitespaces in button tids
* defined a global left margin for buttons set to 5px
* slightly less than in view-mode before
* slightly more than in edit-mode before
* but visually more appealing to me
* leaves a wee more room for the title to unfold
@giffmex - I’m sorry I should document these things but you’ll see I’ve
made some changes to punctuation and whitespace to match other tw5.com
tiddlers.
I’ve just noticed that the final bullet point ended abruptly with
“Finally, you will want a tiddler”. I’ve removed that line for the
moment.
The section “Add or remove shadow tiddlers from the user interface” is
actually describing a technique that is not recommended. If you remove
a tag from a shadow tiddler then you’ll have made a copy of it, which
means that it won’t be upgraded in future. It’s still worth
documenting, but with some warnings.
I do wonder whether the three sections deserve to be separate tiddlers.
Certainly the instructions for adding a toolbar button should be
directly addressable so that we can link directly to them on
http://tiddlywiki.com.
Cecily and Zoomin story views use a document.body that is smaller than
the document.documentElement. We were just clearing the popups on
clicks on the document.body Clicks on the document element (ie, on the
background of the page) were not being trapped, meaning that you
couldn’t dismiss a popup.
Transcluding information from newly proposed tiddler "How to Add A Menu to the Sidebar". This should help users discover ways in which to use the TOC macro.
I wish I could have added tiddlers to the documentation in order to put the mini-tutorials in tabs but I couldn't.
So it is a bit messy in my opinion, but I think it is a good start.
I have tested every configuration with Tiddlywiki v 5.1.4.
Hopefully this will help resolve issues that @xcazin and @pmario have
been having with using the client-server configuration to prepare
translations of the TW5 docs.
The `EditTextWidget.prototype.fixHeight()` function was defering its
work with `nextTick()`, which led to flickering on all browsers when
typing triggers a resize.
New export button appears as a page control toolbar button, a tiddler
toolbar button, and a button in the advanced search filter tab.
Initially supports exporting as static HTML, CSV, JSON or `.tid` file.
Still to do:
* Made the exporter descriptions translatable
* Hide the export button by default
* User docs
* Cleaning up the existing templates (eg,
`$:/core/templates/alltiddlers.template.html` should work by
transcluding `$:/core/templates/exporters/Static`)
* Docs for the new macros `exportButton`, `csvtiddlers` and
`jsontiddlers`
Issues:
* OS X Numbers refuses to open CSV files that have been generated in
Chrome, because it thinks they’ve been downloaded from the Internet.
Firefox works OK
* The export button won’t work within the tiddler info panel, or from
the *more* popup (this is because we don’t support nested popups)
Now the `tm-download-file` and `tm-save-file` messages use the hashmap
to specify variables to be applied when rendering the tiddler.
We also add a convention that the variable “filename” is used to
specify a filename for the download.
In practice the macros are always invoked in inline mode, meaning that
the triple braces weren’t getting parsed correctly. Now we switch to
inline code
If the target tiddler of the draft is missing (as happens after
clicking “new tiddler”), then we count the draft as modified if the
text is not empty.
Also we count the the draft as modified if the draft title has been
changed
@felixhayashi I’m afraid I haven’t used your pull request as there were
a few details that I wanted to do differently. The main change is that
these changes allow both a param string and hashmap to be specified.
In 5.1.3 we introduced the idea that the `event.param` variable could
optionally be a hashmap, allowing multiple values to be passed with the
message.
This change moves the hashmap to a separate `event.paramObject`
variable, allowing us to pass both a hashmap and a param string.
The “info”, “edit”, “close” troika has been a feature of TW5 since the
very early days. Recent discussion in Hangout #67 has made me question
whether we wouldn’t be better off with the defaults in this commit:
“more”, “edit”, “close”.
The rationale is that the primary purpose of the “info” button has
become gaining access to the tools that haven’t been elevated to being
toolbar buttons. Most of the rest of the content of the info panel is
pretty arcane. So let’s try it for a few days - I’d appreciate any
feedback.
With this commit tag pills will now choose for the foreground colour
either the current palette “foreground” or “background” colours,
according to which has the higher contrast. It’s something @gernert has
expressed an interest in in the past, and I’ve tended to agree that it
is a nice piece of polish. It opens up the possibility of paler colours
for tag pills than are currently possible.
The trouble is that in order to implement it I’ve had to bring in a
third party library for parsing CSS colours. It weighs in just over
9KB, making quite a lot of weight for such a small feature. I don’t see
any other immediate uses for the colour parsing library either.
So, I’m undecided at the moment whether this should stay in the core.
Dragging a tiddler link into a tiddler editor, or outside the browser
into another app, will now add double square brackets around the title
if it includes spaces. Suggested by @tgirod.
I’m not 100% sure about this change. It breaks one habit that I had
developed: typing `[[sometext|]]` and then dragging a title in between
the vertical bar and the first closing square bracket. What do others
think?
Clicking on the advanced search ellipsis when there is a search string
will open the advanced search tiddler, and copy the current search term
to it.
Thanks to @Spangenhelm for the idea.
@access-denied this is for consistency with the other languages.
I acknowledge that there it’s a problem at the moment that languages
can’t expose a localised name; it would make more sense to use the
localised language name in the menu.
The former documentation referenced a plugin but left no easy way to
link to it. Also, the misleading text claiming a title also confused me.
I had to do some creative greping the git files to hunt it down.
Adding a TiddlyWiki link around the plugin links to the actual tiddler
that a reader could easily copy. This also deprecated the need for the
misleading title.
Without sorting the list, we had ordinary tiddlers listed before shadow
tiddlers. That meant that as soon as you started to type in a shadow
tiddler it moved up in the list.
* Added support for translating the core readme
* Fixed problem with `Misc.multids` rendering shadow tiddlers
* Fixed problem with single tiddler files rendering shadow tiddlers
Also added a “description” field for wiki folders.
Right now there’s too many editions listed. I think we should by
default only list editions whose `tiddlywiki.info` file has
`showInListings` set to `true`, and have an `--editions all` command
that lists everything.
@pmario please could you check that the editions in your
`TIDDLYWIKI_EDITION_PATH` are correctly listed?
We’ll keep the docs for the new features in the prerelease edition
until the release of 5.1.5. This means that we can continue to build
the tw5.com edition without including the 5.1.5-specific content.
**Is your PR related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you are proposing**
A clear and concise description of the changes you are proposing. Include images to show visual changes.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
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 "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
if ! curl -s https://raw.githubusercontent.com/Jermolene/TiddlyWiki5/tiddlywiki-com/licenses/cla-individual.md | grep -io "@$USER,"; then
echo "CLA not signed"
gh pr comment "$NUMBER" -b "@$USER It appears that this is your first contribution to the project, welcome.
With apologies for the bureaucracy, please could you prepare a separate PR to the 'tiddlywiki-com' branch with your signature for the Contributor License Agreement (see [contributing.md](https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/contributing.md))."
else
echo "CLA already signed"
gh pr comment "$NUMBER" -b "Confirmed: **$USER** has already signed the Contributor License Agreement (see [contributing.md](https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/contributing.md))"
gh pr comment "$number" -b "**$AUTHOR** has signed the Contributor License Agreement (see [contributing.md](https://github.com/TiddlyWiki/TiddlyWiki5/blob/master/contributing.md))"
<h1class=''>Script Files</h1><p>The <aclass='tc-tiddlylink tc-tiddlylink-resolves' href='http://tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> repository contains several scripts in the <code>bin</code> folder that you can use to automate common tasks, or as a useful starting point for your own scripts. See <aclass='tc-tiddlylink tc-tiddlylink-missing' href='http://tiddlywiki.com/static/Scripts%2520for%2520building%2520tiddlywiki.com.html'>Scripts for building tiddlywiki.com</a> for details of the scripts used to build and release <aclass='tc-tiddlylink-external' href='http://tiddlywiki.com/'target='_blank'>http://tiddlywiki.com/</a>.</p><p>All the scripts expect to be run from the root folder of the repository.</p><h2class=''><code>serve</code>: serves tw5.com</h2><pre><code>./bin/serve.sh -h
<h1class="">Script Files</h1><p>The <aclass="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki5.html">TiddlyWiki5</a> repository contains several scripts in the <code>bin</code> folder that you can use to automate common tasks, or as a useful starting point for your own scripts. See <aclass="tc-tiddlylink tc-tiddlylink-missing" href="https://tiddlywiki.com/static/Scripts%2520for%2520building%2520tiddlywiki.com.html">Scripts for building tiddlywiki.com</a> for details of the scripts used to build and release <aclass="tc-tiddlylink-external" href="https://tiddlywiki.com/"rel="noopener noreferrer"target="_blank">https://tiddlywiki.com/</a>.</p><p>All the scripts expect to be run from the root folder of the repository.</p><h2class=""><code>serve</code>: serves tw5.com</h2><pre><code>./bin/serve.sh -h
./bin/serve.cmd [edition dir] [username] [password] [host] [port]</code></pre><p>This script starts <aclass='tc-tiddlylink tc-tiddlylink-resolves'href='http://tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> running as an HTTP server, defaulting to the content from the <code>tw5.com-server</code> edition. By default, the Node.js serves on port 8080. If the optional <code>username</code> parameter is provided, it is used for signing edits. If the <code>password</code> is provided then HTTP basic authentication is used. Run the script with the <code>-h</code> parameter to see online help.</p><p>To experiment with this configuration, run the script and then visit <code>http://127.0.0.1:8080</code> in a browser.</p><p>Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).</p><h2class=''><code>test</code>: build and run tests</h2><p>This script runs the <code>test</code> edition of <aclass='tc-tiddlylink tc-tiddlylink-resolves'href='http://tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a> on the server to perform the server-side tests and to build <code>test.html</code> for running the tests in the browser.</p><h2class=''><code>lazy</code>: serves tw5.com with lazily loaded images</h2><pre><code>./bin/lazy.sh <username> [<password>]</code></pre><p>Or:</p><pre><code>./bin/lazy.cmd <username> [<password>]</code></pre><p>This script serves the <code>tw5.com-server</code> edition content with <aclass='tc-tiddlylink tc-tiddlylink-resolves'href='http://tiddlywiki.com/static/LazyLoading.html'>LazyLoading</a> applied to images.</p><h2class=''><code>2bld</code>: builds <aclass='tc-tiddlylink tc-tiddlylink-resolves'href='http://tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a> 2.6.5</h2><p>This script builds <aclass='tc-tiddlylink tc-tiddlylink-resolves'href='http://tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a> 2.6.5 from the original source and then displays the differences between them (<code>diff</code> is used for *nix, <code>fc</code> for Windows).</p>
./bin/serve.cmd [edition dir] [username] [password] [host] [port]</code></pre><p>This script starts <aclass="tc-tiddlylink tc-tiddlylink-resolves"href="https://tiddlywiki.com/static/TiddlyWiki5.html">TiddlyWiki5</a> running as an HTTP server, defaulting to the content from the <code>tw5.com-server</code> edition. By default, the Node.js serves on port 8080. If the optional <code>username</code> parameter is provided, it is used for signing edits. If the <code>password</code> is provided then HTTP basic authentication is used. Run the script with the <code>-h</code> parameter to see online help.</p><p>To experiment with this configuration, run the script and then visit <code>http://127.0.0.1:8080</code> in a browser.</p><p>Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).</p><h2class=""><code>test</code>: build and run tests</h2><p>This script runs the <code>test</code> edition of <aclass="tc-tiddlylink tc-tiddlylink-resolves"href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on the server to perform the server-side tests and to build <code>test.html</code> for running the tests in the browser.</p><h2class=""><code>lazy</code>: serves tw5.com with lazily loaded images</h2><pre><code>./bin/lazy.sh <username> [<password>]</code></pre><p>Or:</p><pre><code>./bin/lazy.cmd <username> [<password>]</code></pre><p>This script serves the <code>tw5.com-server</code> edition content with <aclass="tc-tiddlylink tc-tiddlylink-resolves"href="https://tiddlywiki.com/static/LazyLoading.html">LazyLoading</a> applied to images.
sjcl.mode.ccm={name:"ccm",encrypt:function(a,b,c,d,e){varf,g=b.slice(0),h=sjcl.bitArray,i=h.bitLength(c)/8,k=h.bitLength(g)/8;e=e||64;d=d||[];if(i<7)thrownewsjcl.exception.invalid("ccm: iv must be at least 7 bytes");for(f=2;f<4&&k>>>8*f;f++);if(f<15-i)f=15-i;c=h.clamp(c,8*(15-f));b=sjcl.mode.ccm.H(a,b,c,d,e,f);g=sjcl.mode.ccm.J(a,g,c,b,e,f);returnh.concat(g.data,g.tag)},decrypt:function(a,b,c,d,e){e=e||64;d=d||[];varf=sjcl.bitArray,g=f.bitLength(c)/8,h=f.bitLength(b),i=f.clamp(b,h-e),k=f.bitSlice(b,
sjcl.hash.sha256.prototype={blockSize:512,reset:function(){this.F=this.Y.slice(0);this.A=[];this.l=0;returnthis},update:function(a){"string"===typeofa&&(a=sjcl.codec.utf8String.toBits(a));varb,c=this.A=sjcl.bitArray.concat(this.A,a);b=this.l;a=this.l=b+sjcl.bitArray.bitLength(a);if(0x1fffffffffffff<a)thrownewsjcl.exception.invalid("Cannot hash more than 2^53 - 1 bits");if("undefined"!==typeofUint32Array){vard=newUint32Array(c),e=0;for(b=512+b-(512+b&0x1ff);b<=a;b+=512)u(this,d.subarray(16*e,
h-e);h=(h-e)/8;if(g<7)thrownewsjcl.exception.invalid("ccm: iv must be at least 7 bytes");for(b=2;b<4&&h>>>8*b;b++);if(b<15-g)b=15-g;c=f.clamp(c,8*(15-b));i=sjcl.mode.ccm.J(a,i,c,k,e,b);a=sjcl.mode.ccm.H(a,i.data,c,d,e,b);if(!f.equal(i.tag,a))thrownewsjcl.exception.corrupt("ccm: tag doesn't match");returni.data},H:function(a,b,c,d,e,f){varg=[],h=sjcl.bitArray,i=h.k;e/=8;if(e%2||e<4||e>16)thrownewsjcl.exception.invalid("ccm: invalid tag length");if(d.length>0xffffffff||b.length>0xffffffff)thrownewsjcl.exception.bug("ccm: can't deal with 4GiB or more data");
sjcl.mode.ocb2={name:"ocb2",encrypt:function(a,b,c,d,e,f){if(sjcl.bitArray.bitLength(c)!==128)thrownewsjcl.exception.invalid("ocb iv must be 128 bits");varg,h=sjcl.mode.ocb2.B,i=sjcl.bitArray,k=i.k,j=[0,0,0,0];c=h(a.encrypt(c));varl,m=[];d=d||[];e=e||64;for(g=0;g+4<b.length;g+=4){l=b.slice(g,g+4);j=k(j,l);m=m.concat(k(c,a.encrypt(k(c,l))));c=h(c)}l=b.slice(g);b=i.bitLength(l);g=a.encrypt(k(c,[0,0,0,b]));l=i.clamp(k(l.concat([0,0,0]),g),b);j=k(j,k(l.concat([0,0,0]),g));j=a.encrypt(k(j,k(c,h(c))));
f[7]+q|0}
if(d.length)j=k(j,f?d:sjcl.mode.ocb2.pmac(a,d));returnm.concat(i.concat(l,i.clamp(j,e)))},decrypt:function(a,b,c,d,e,f){if(sjcl.bitArray.bitLength(c)!==128)thrownewsjcl.exception.invalid("ocb iv must be 128 bits");e=e||64;varg=sjcl.mode.ocb2.B,h=sjcl.bitArray,i=h.k,k=[0,0,0,0],j=g(a.encrypt(c)),l,m,n=sjcl.bitArray.bitLength(b)-e,o=[];d=d||[];for(c=0;c+4<n/32;c+=4){l=i(j,a.decrypt(i(j,b.slice(c,c+4))));k=i(k,l);o=o.concat(l);j=g(j)}m=n-c*32;l=a.encrypt(i(j,[0,0,0,m]));l=i(l,h.clamp(b.slice(c),
sjcl.mode.ccm={name:"ccm",G:[],listenProgress:function(a){sjcl.mode.ccm.G.push(a)},unListenProgress:function(a){a=sjcl.mode.ccm.G.indexOf(a);-1<a&&sjcl.mode.ccm.G.splice(a,1)},fa:function(a){varb=sjcl.mode.ccm.G.slice(),c;for(c=0;c<b.length;c+=1)b[c](a)},encrypt:function(a,b,c,d,e){varf,g=b.slice(0),h=sjcl.bitArray,k=h.bitLength(c)/8,l=h.bitLength(g)/8;e=e||64;d=d||[];if(7>k)thrownewsjcl.exception.invalid("ccm: iv must be at least 7 bytes");for(f=2;4>f&&l>>>8*f;f++);f<15-k&&(f=15-k);c=h.clamp(c,
m).concat([0,0,0]));k=i(k,l);k=a.encrypt(i(k,i(j,g(j))));if(d.length)k=i(k,f?d:sjcl.mode.ocb2.pmac(a,d));if(!h.equal(h.clamp(k,e),h.bitSlice(b,n)))thrownewsjcl.exception.corrupt("ocb: tag doesn't match");returno.concat(h.clamp(l,m))},pmac:function(a,b){varc,d=sjcl.mode.ocb2.B,e=sjcl.bitArray,f=e.k,g=[0,0,0,0],h=a.encrypt([0,0,0,0]);h=f(h,d(d(h)));for(c=0;c+4<b.length;c+=4){h=d(h);g=f(g,a.encrypt(f(h,b.slice(c,c+4))))}b=b.slice(c);if(e.bitLength(b)<128){h=f(h,d(h));b=e.concat(b,[2147483648|0,0,
8*(15-f));b=sjcl.mode.ccm.V(a,b,c,d,e,f);g=sjcl.mode.ccm.C(a,g,c,b,e,f);returnh.concat(g.data,g.tag)},decrypt:function(a,b,c,d,e){e=e||64;d=d||[];varf=sjcl.bitArray,g=f.bitLength(c)/8,h=f.bitLength(b),k=f.clamp(b,h-e),l=f.bitSlice(b,h-e),h=(h-e)/8;if(7>g)thrownewsjcl.exception.invalid("ccm: iv must be at least 7 bytes");for(b=2;4>b&&h>>>8*b;b++);b<15-g&&(b=15-g);c=f.clamp(c,8*(15-b));k=sjcl.mode.ccm.C(a,k,c,l,e,b);a=sjcl.mode.ccm.V(a,k.data,c,d,e,b);if(!f.equal(k.tag,a))thrownewsjcl.exception.corrupt("ccm: tag doesn't match");
returnk.data},na:function(a,b,c,d,e,f){varg=[],h=sjcl.bitArray,k=h.i;d=[h.partial(8,(b.length?64:0)|d-2<<2|f-1)];d=h.concat(d,c);d[3]|=e;d=a.encrypt(d);if(b.length)for(c=h.bitLength(b)/8,65279>=c?g=[h.partial(16,c)]:0xffffffff>=c&&(g=h.concat([h.partial(16,65534)],[c])),g=h.concat(g,b),b=0;b<g.length;b+=4)d=a.encrypt(k(d,g.slice(b,b+4).concat([0,0,0])));returnd},V:function(a,b,c,d,e,f){varg=sjcl.bitArray,h=g.i;e/=8;if(e%2||4>e||16<e)thrownewsjcl.exception.invalid("ccm: invalid tag length");
if(0xffffffff<d.length||0xffffffff<b.length)thrownewsjcl.exception.bug("ccm: can't deal with 4GiB or more data");c=sjcl.mode.ccm.na(a,d,c,e,g.bitLength(b)/8,f);for(d=0;d<b.length;d+=4)c=a.encrypt(h(c,b.slice(d,d+4).concat([0,0,0])));returng.clamp(c,8*e)},C:function(a,b,c,d,e,f){varg,h=sjcl.bitArray;g=h.i;vark=b.length,l=h.bitLength(b),n=k/50,m=n;c=h.concat([h.partial(8,f-1)],c).concat([0,0,0]).slice(0,4);d=h.bitSlice(g(d,a.encrypt(c)),0,e);if(!k)return{tag:d,data:[]};for(g=0;g<k;g+=4)g>n&&(sjcl.mode.ccm.fa(g/
sjcl.misc.pbkdf2=function(a,b,c,d,e){c=c||1E3;if(d<0||c<0)throwsjcl.exception.invalid("invalid params to pbkdf2");if(typeofa==="string")a=sjcl.codec.utf8String.toBits(a);e=e||sjcl.misc.hmac;a=newe(a);varf,g,h,i,k=[],j=sjcl.bitArray;for(i=1;32*k.length<(d||1);i++){e=f=a.encrypt(j.concat(b,[i]));for(g=1;g<c;g++){f=a.encrypt(f);for(h=0;h<f.length;h++)e[h]^=f[h]}k=k.concat(e)}if(d)k=j.clamp(k,d);returnk};
sjcl.mode.ocb2={name:"ocb2",encrypt:function(a,b,c,d,e,f){if(128!==sjcl.bitArray.bitLength(c))thrownewsjcl.exception.invalid("ocb iv must be 128 bits");varg,h=sjcl.mode.ocb2.S,k=sjcl.bitArray,l=k.i,n=[0,0,0,0];c=h(a.encrypt(c));varm,p=[];d=d||[];e=e||64;for(g=0;g+4<b.length;g+=4)m=b.slice(g,g+4),n=l(n,m),p=p.concat(l(c,a.encrypt(l(c,m)))),c=h(c);m=b.slice(g);b=k.bitLength(m);g=a.encrypt(l(c,[0,0,0,b]));m=k.clamp(l(m.concat([0,0,0]),g),b);n=l(n,l(m.concat([0,0,0]),g));n=a.encrypt(l(n,l(c,h(c))));
d.length&&(n=l(n,f?d:sjcl.mode.ocb2.pmac(a,d)));returnp.concat(k.concat(m,k.clamp(n,e)))},decrypt:function(a,b,c,d,e,f){if(128!==sjcl.bitArray.bitLength(c))thrownewsjcl.exception.invalid("ocb iv must be 128 bits");e=e||64;varg=sjcl.mode.ocb2.S,h=sjcl.bitArray,k=h.i,l=[0,0,0,0],n=g(a.encrypt(c)),m,p,r=sjcl.bitArray.bitLength(b)-e,q=[];d=d||[];for(c=0;c+4<r/32;c+=4)m=k(n,a.decrypt(k(n,b.slice(c,c+4)))),l=k(l,m),q=q.concat(m),n=g(n);p=r-32*c;m=a.encrypt(k(n,[0,0,0,p]));m=k(m,h.clamp(b.slice(c),p).concat([0,
undefined)b=a.length;this.b[g].update([d,this.u++,3,b,f,a.length]);this.b[g].update(a);break;default:i=1}if(i)thrownewsjcl.exception.bug("random: addEntropy only supports number, array of numbers or string");this.j[g]+=b;this.f+=b;if(h===0){this.isReady()!==0&&this.K("seeded",Math.max(this.g,this.f));this.K("progress",this.getProgress())}},isReady:function(a){a=this.C[a!==undefined?a:this.t];returnthis.g&&this.g>=a?this.j[0]>80&&(newDate).valueOf()>this.O?3:1:this.f>=a?2:0},getProgress:function(a){a=
0,0]));l=k(l,m);l=a.encrypt(k(l,k(n,g(n))));d.length&&(l=k(l,f?d:sjcl.mode.ocb2.pmac(a,d)));if(!h.equal(h.clamp(l,e),h.bitSlice(b,r)))thrownewsjcl.exception.corrupt("ocb: tag doesn't match");returnq.concat(h.clamp(m,p))},pmac:function(a,b){varc,d=sjcl.mode.ocb2.S,e=sjcl.bitArray,f=e.i,g=[0,0,0,0],h=a.encrypt([0,0,0,0]),h=f(h,d(d(h)));for(c=0;c+4<b.length;c+=4)h=d(h),g=f(g,a.encrypt(f(h,b.slice(c,c+4))));c=b.slice(c);128>e.bitLength(c)&&(h=f(h,d(h)),c=e.concat(c,[-2147483648,0,0,0]));g=f(g,c);
sjcl.mode.gcm={name:"gcm",encrypt:function(a,b,c,d,e){varf=b.slice(0);b=sjcl.bitArray;d=d||[];a=sjcl.mode.gcm.C(!0,a,f,d,c,e||128);returnb.concat(a.data,a.tag)},decrypt:function(a,b,c,d,e){varf=b.slice(0),g=sjcl.bitArray,h=g.bitLength(f);e=e||128;d=d||[];e<=h?(b=g.bitSlice(f,h-e),f=g.bitSlice(f,0,h-e)):(b=f,f=[]);a=sjcl.mode.gcm.C(!1,a,f,d,c,e);if(!g.equal(a.tag,b))thrownewsjcl.exception.corrupt("gcm: tag doesn't match");returna.data},ka:function(a,b){varc,d,e,f,g,h=sjcl.bitArray.i;e=[0,0,
sjcl.misc.pbkdf2=function(a,b,c,d,e){c=c||1E4;if(0>d||0>c)thrownewsjcl.exception.invalid("invalid params to pbkdf2");"string"===typeofa&&(a=sjcl.codec.utf8String.toBits(a));"string"===typeofb&&(b=sjcl.codec.utf8String.toBits(b));e=e||sjcl.misc.hmac;a=newe(a);varf,g,h,k,l=[],n=sjcl.bitArray;for(k=1;32*l.length<(d||1);k++){e=f=a.encrypt(n.concat(b,[k]));for(g=1;g<c;g++)for(f=a.encrypt(f),h=0;h<f.length;h++)e[h]^=f[h];l=l.concat(e)}d&&(l=n.clamp(l,d));returnl};
sjcl.codec.base64.fromBits(a[b],1)+'"';break;default:thrownewsjcl.exception.bug("json encode: unsupported type");}}returnc+"}"},decode:function(a){a=a.replace(/\s/g,"");if(!a.match(/^\{.*\}$/))thrownewsjcl.exception.invalid("json decode: this isn't json!");a=a.replace(/^\{|\}$/g,"").split(/,/);varb={},c,d;for(c=0;c<a.length;c++){if(!(d=a[c].match(/^(?:(["']?)([a-z][a-z0-9]*)\1):(?:(\d+)|"([a-z0-9+\/%*_.@=\-]*)")$/i)))thrownewsjcl.exception.invalid("json decode: this isn't json!");b[d[2]]=
f);this.P++;this.b=sjcl.hash.sha256.hash(this.b.concat(e));this.L=newsjcl.cipher.aes(this.b);for(d=0;4>d&&(this.h[d]=this.h[d]+1|0,!this.h[d]);d++);}for(d=0;d<a;d+=4)0===(d+1)%this.ca&&y(this),e=z(this),c.push(e[0],e[1],e[2],e[3]);y(this);returnc.slice(0,a)},setDefaultParanoia:function(a,b){if(0===a&&"Setting paranoia=0 will ruin your security; use it only for testing"!==b)thrownewsjcl.exception.invalid("Setting paranoia=0 will ruin your security; use it only for testing");this.M=a},addEntropy:function(a,
(k=1);if(!k){if(void0===b)for(c=b=0;c<a.length;c++)for(e=a[c];0<e;)b++,e=e>>>1;this.c[g].update([d,this.N++,2,b,f,a.length].concat(a))}break;case"string":void0===b&&(b=a.length);this.c[g].update([d,this.N++,3,b,f,a.length]);this.c[g].update(a);break;default:k=1}if(k)thrownewsjcl.exception.bug("random: addEntropy only supports number, array of numbers or string");this.m[g]+=b;this.f+=b;h===this.u&&(this.isReady()!==this.u&&A("seeded",Math.max(this.o,this.f)),A("progress",this.getProgress()))},
elsebreaka;sjcl.random.addEntropy(F,1024,"crypto['getRandomValues']")}}catch(a){"undefined"!==typeofwindow&&window.console&&(console.log("There was an error collecting entropy from the browser:"),console.log(a))}
<p>This community exists because TiddlyWiki is more useful when people share and work together.</p><p>This community is a beautiful but fragile thing: a collection of diverse people from all over the planet, united in their interest in the project, and their commitment to helping one another achieve and learn more.</p><p>We try to make the community as broad and welcoming as possible by remembering some basic principles of culture and behaviour.</p><p>These principles guide technical and non-technical decisions, and help contributors and leaders support our project and community.</p><ul><li>We are optimistic and hopeful</li><li>We aim to foster a learning environment that is collaborative and safe for everyone</li><li>We recognise that the motivation for sharing and helping is usually for appreciation, and not financial gain, and so we take care to acknowledge and <strong>thank the people who enrich the community by sharing what they have created</strong></li><li>While we are united in our interest in TiddlyWiki, we differ in every other conceivable way. We choose to focus on what unites us, and <strong>avoid unnecessarily mixing contentious topics like religion and politics</strong></li><li>We treat each other with respect, and start with the assumption that <strong>others are acting in good faith</strong></li><li>We avoid discriminatory language</li><li>We try to use our strength as a community to help others</li><li>We avoid responding when angry or upset because we try to de-escalate conflict</li><li>We make sure we critique ideas, not people</li><li>When we disagree with others we do so graciously, and treat others with dignity and respoect</li><li>We do not tolerate intolerance towards others</li><li>We seek first to understand others, and then to be understood</li><li>We have fun</li></ul><p>Our discussions are in English. It is not the first language of many people in the community, nor do we all share the same cultural background and reference points. So we take care to use language that is clear and unambigous, and avoid cultural references or jokes that will not be widely understood.</p><p>It is not acceptable to make jokes or other comments that discriminate by race, gender, sexuality, or other protected characteristic.</p><p>As an inclusive community, we are committed to making sure that TiddlyWiki is an accessible tool that understands the needs of people with disabilities.</p>
<svg class="tc-image-delete-button tc-image-button" viewBox="303 155 39 50" width="17pt" height="22pt"><path d="M 333 164.25 L 333 157.25 C 333 156.14543 332.10457 155.25 331 155.25 L 314.75 155.25 C 314.75 155.25 314.75 155.25 314.75 155.25 C 313.64543 155.25 312.75 156.14543 312.75 157.25 L 312.75 164.25 L 303.75 164.25 L 303.75 168.75 L 306 168.75 L 306 201.75 L 306 201.75 L 306 201.75 C 306 203.40685 307.34315 204.75 309 204.75 L 336.75 204.75 C 338.40685 204.75 339.75 203.40685 339.75 201.75 L 339.75 168.75 L 342 168.75 L 342 164.25 Z M 317.25 160.75 L 317.25 160.75 C 317.25 160.19772 317.69772 159.75 318.25 159.75 C 318.25 159.75 318.25 159.75 318.25 159.75 L 327.5 159.75 C 328.05228 159.75 328.5 160.19772 328.5 160.75 L 328.5 164.25 L 317.25 164.25 L 317.25 160.75 Z M 310.5 168.75 L 312.75 168.75 L 312.75 200.25 L 310.5 200.25 Z M 317.25 168.75 L 319.5 168.75 L 319.5 200.25 L 317.25 200.25 Z M 324 168.75 L 326.25 168.75 L 326.25 200.25 L 324 200.25 Z M 330.75 168.75 L 333 168.75 L 333 200.25 L 330.75 200.25 Z"/></svg>
<svg class="tc-image-edit-button tc-image-button" viewBox="244 193 20 22" width="20pt" height="22pt"><path d="M 257.33334 196.80951 L 245.90476 207.2857 L 244 212.0476 L 248.7619 210.14284 L 260.19048 199.66665 Z M 259.2381 194.90475 L 258.28566 195.85716 L 261.14284 198.71428 L 262.09522 197.76187 Z M 261.14286 193 L 260.19042 193.95241 L 263.04762 196.80953 L 264 195.85714 Z M 244 213.72882 C 244 213.72882 247.4281 215.43353 250.8572 213.7288 C 254.28599 212.02405 261.14284 214.86531 261.14284 214.86531 L 261.14284 213.72884 C 261.14284 213.72884 254.28577 210.88755 250.8572 212.5923 C 247.42858 214.29712 244 212.59228 244 212.59228 Z"/></svg>
<svg class="tc-image-home-button tc-image-button" viewBox="81 513 64 54" width="22pt" height="22pt"><g><path d="M 97.04536 522.62083 L 81.364685 531.49067 L 87.85863 531.49067 L 87.85863 566.9699 L 107.49902 566.9699 L 107.49902 552.99265 L 117.95268 552.99265 L 117.95268 566.9699 L 137.59307 566.9699 L 137.59307 531.49067 L 144.086885 531.49067 L 112.72591 513.751 L 107.49902 516.70758 L 107.49902 513.751 L 97.04536 513.751 Z M 94.669443 534.17844 L 103.222493 534.17844 L 103.222493 545.19854 L 94.669443 545.19854 Z M 108.449266 534.17844 L 117.002435 534.17844 L 117.002435 545.19854 L 108.449266 545.19854 Z M 122.387575 534.17844 L 130.9405 534.17844 L 130.9405 545.19854 L 122.387575 545.19854 Z"/></g></svg>
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.