1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-07-07 12:34:22 +00:00
Commit Graph

18 Commits

Author SHA1 Message Date
snlhnk
c05c0d3df6 Module-ize server routes, add static file support and other enhancements(#2679)
* 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
2018-07-18 16:54:43 +01:00
Jermolene
bd2ff7a4c9 Docs update: add link to Termux for Android docs 2017-11-15 17:41:47 +00:00
Jermolene
021b5e072b Updated GettingStarted material about saving changes 2017-11-13 14:00:01 +00:00
Mateusz Piotrowski
4e278d0cd7 Add missing wiki directory to command example (#2950)
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.
2017-09-16 15:04:27 +01:00
Marxsal
f2f5afa106 Doc: Adding comment to release notes re archived releases (#2882)
* 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
2017-06-09 15:33:24 +01:00
Myeongjin
80256b4dab Update document in tiddlywiki.com edition
* 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'
2016-07-06 01:10:51 +09:00
Myeongjin
2edaa5fbce Update tiddlywiki.com edition (#2454)
* Change button texts to latest version

* Move tiddler files to appropriate categorys
2016-05-20 07:46:11 -06:00
Xavier Cazin
ea8b81935a Improvements to Android and fr-FR docs (#2418)
* 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
2016-05-02 11:08:27 +01:00
Xavier Cazin
727b7b1ed0 A third way to use TW5 on Android (#2415) 2016-04-30 21:47:09 +01:00
nome
37823f64e9 Add build targets to server edition
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
2016-04-03 20:22:11 +01:00
Roma Hicks
5b7a7268d8 Changed structure to use less space. 2015-04-27 21:40:20 -05:00
Roma Hicks
f9c50d9a6d Added text notifying users of issue #1434 2015-04-27 21:31:18 -05:00
Jermolene
47dc16a179 Docs tweaks 2015-03-25 22:15:51 +00:00
alexhough
225b6ac950 changed to use <<version>> 2015-01-26 22:26:00 +00:00
alexhough
910d59c166 change to current version 2015-01-23 09:16:16 +00:00
Jermolene
cbfc9fcc56 More docs updates 2014-09-16 15:19:52 +01:00
Jermolene
f187122c35 Lots more docs updates 2014-09-12 16:05:37 +01:00
Jermolene
08d588fb08 Adjust some content directories 2014-09-10 19:36:54 +01:00