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?
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
* 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.
* 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
* 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
* 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.
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.
* 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
* 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
* 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.
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
* 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
* 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.
* 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
* Extend toggle operator to support optional second operand to toggle a value pair
* Added tests for extended toggle filter
* Updated docs for toggle operator
* 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 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
* 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.
* 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"
* 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)
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
* 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
* 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>
* 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
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 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
* 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.
* 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
... 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.
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.
* 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
* 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.
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.
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
* 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
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
* 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>>`
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.
* 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".
* 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
* 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
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)
* 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
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
* 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
* 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
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.
```
* 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
* 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
* 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.
* 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 ;-)
* 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
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.
* 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+
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
`[[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.
* 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
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
* 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.