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
* 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
* sets checked ckass for radio widget wrapper
* added tc-radio as standard class for radio widgets
* removed selectedClass again, as suggested
@pmario ;-)
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.
* 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
* 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
* 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.
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)
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.
* 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....
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
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
* 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.
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
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.
* 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.
* 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
* 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)
* 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
* 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