1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-12-27 10:30:28 +00:00
Commit Graph

49 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
Daniel Rodríguez Rivero
715cb1d1bc Docs: Update RenderCommand.tid (#3263)
Adds a link that opens the advanced search with a filter to list all the template tiddlers.
2018-05-09 18:05:58 +01:00
Jermolene
6555fecbf3 Release note updates and other docs tweaks 2017-10-31 17:25:21 +00:00
Bram Chen
687cb226f5 Update ImportCommand.tid (#2944)
Corrected caption
2017-07-20 16:39:46 +01:00
Jermolene
e951047461 Add import command
Unlike load, allows manual control of the deserializer to be used
2017-07-12 17:14:27 +01:00
Jermolene
0d0ece6377 Add new "fetch" command
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
2017-02-18 13:33:41 +00:00
Astrid Elocson
172c7ef7dd Overhaul the filter operator documentation: part 1 2015-01-18 18:39:00 +00:00
Jermolene
7d46afc7b2 Move docs for 5.1.5 release 2014-11-26 11:22:20 +00:00
Jermolene
62f69168b6 Move docs for new commands into prerelease
So that they don’t appear on tiddlywiki.com until the next release
2014-10-29 16:09:46 +00:00
Jermolene
9b587ee203 Docs tiddler for editions command
We duplicate the command help tiddlers so that we can tag them.
2014-10-29 11:44:33 +00:00
Jermolene
17a594a97a Add unpackplugin command
Needed for the translators edition
2014-10-29 11:43:43 +00:00
Jermolene
e40f4ff630 Fix typo
Thanks @pmario
2014-09-19 15:55:18 +01:00
Jermolene
1b0eec143e Refine preliminary list macro
@pmario: I’ve taken your suggestion and made the HTML element type(s)
be macro parameters.
2014-09-17 12:13:24 +01:00
Jermolene
bc985553ed More reference docs mangling 2014-09-11 15:52:47 +01:00
Jermolene
e20ef97c27 More mangling of reference docs 2014-09-11 00:06:19 +01:00
Jermolene
e7358c9b31 Missing docs for makelibrary command 2014-09-03 10:05:00 +01:00
Jermolene
2e2d30bae9 Docs for environment variable support
Fixes #531
2014-06-17 22:26:27 +01:00
Jermolene
d2796d0c9c Introduce setfield command
This new command will let us do the manipulations needed to set up
external image tiddlers
2014-06-11 10:05:35 +01:00
Jermolene
2989c9b133 Typo in 305617b632
Tsk
2014-06-10 23:05:08 +01:00
Jermolene
305617b632 Introduce savetiddlers command
Allows us to save tiddlers in their raw format.
2014-06-09 14:45:41 +01:00
Jermolene
f17dafefcb Docs updates 2014-04-28 09:33:47 +01:00
Jermolene
f7e50e0950 Add --build command
First pass at the build system described in #356.

To test it, move to a new, empty directory and try `tiddlywiki
editions/tw5.com --verbose --build`
2014-04-25 22:41:59 +01:00
Xavier Cazin
2aca526d4e Typo in transclusion. 2014-02-26 15:12:17 +01:00
Jermolene
e5103c32f3 Move command documentation into the core 2014-02-25 14:50:37 +00:00
Jermolene
8ce7c3920c Get rid of the old print command
We’ll be introducing a help command to replace it
2014-02-25 14:47:19 +00:00
Jermolene
042698b508 Some rejigging of the editions folders
Now we’re optimising the editions for use with the —init command.
Documentation coming up.
2014-02-24 13:28:55 +00:00
Jermolene
a1ad735822 Extend the init command to allow editions to be merged
Now we can say “—init tw5.com clientserver” to get the tw5.com content
with the client server plugins.
2014-02-24 10:58:11 +00:00
Jermolene
3f6bf2452a Init command should remove any includeWikis definitions
The includeWikis references will otherwise be broken when the edition
is copied.
2014-02-24 10:14:17 +00:00
Jermolene
f3930ad69c Add init command to initialise a wiki folder
Fixes #362
2014-02-23 22:58:17 +00:00
Mario Pietsch
f58d4fb531 some doc updates. server default IP fix and changed Ton's entry page 2014-01-25 22:02:48 +01:00
Jermolene
d5df78d979 Docs update 2014-01-19 20:16:29 +00:00
Jermolene
bd7db62da0 Added support for specifying hostname for the --server command
Fixes #301
2013-12-29 13:07:06 +00:00
Jermolene
39743b4758 Docs update 2013-12-22 15:07:32 +00:00
Jermolene
1336058336 Docs updates 2013-12-19 16:45:13 +00:00
Jermolene
f3b2788ed1 Add a savetiddler command
It saves tiddlers in their original, unrendered format
2013-12-18 17:26:23 +00:00
Jermolene
7d12d89a0a Added primitive support for basic authentication
Note that the password will be passed over HTTP in plain text.
2013-11-28 14:03:08 +00:00
Jeremy Ruston
1ebe0d39b2 Get rid of the 'docs' tag
It was unnecessary, since everything here is documentation
2013-08-25 21:41:00 +01:00
Jeremy Ruston
a427702628 Allow username to be set for the built-in server 2013-08-21 09:53:45 +01:00
Jeremy Ruston
e27c5005ef File renames for 46b2fde2d9 2013-08-09 22:00:42 +01:00
Jeremy Ruston
a571356f59 Docs updates 2013-08-09 16:51:49 +01:00
Jeremy Ruston
46b2fde2d9 Rename "dump" command to "print" command
Being pan-cultural is hard.
2013-08-09 09:24:58 +01:00
Jeremy Ruston
0ae0f68257 Update filenames to reflect changes in 05ac094d2e 2013-08-04 22:31:09 +01:00
Jeremy Ruston
05ac094d2e Rename the savetiddler/savetiddlers commands to rendertiddler/rendertiddlers
'Render' reflects what the commands actually do, and frees up 'save'
for actually saving the raw content of a tiddler.
2013-08-04 22:26:45 +01:00
Jeremy Ruston
623a3ec8f8 Rename "shadow" tiddlers to "system" tiddlers
What we have at the moment isn't really the same as TiddlyWiki
classic's shadow tiddlers, it's a much simpler system for excluding
tiddlers. We'll use the term "shadow" instead to refer to the way that
tiddlers in plugins behave, which is exactly like TiddlyWiki classic's
shadow tiddlers.
2013-03-15 22:00:19 +00:00
Jeremy Ruston
5bd0c0992f Docs updates 2013-03-12 19:01:14 +00:00
Jeremy Ruston
15a9e04a6a Add support for static site generation
See http://five.tiddlywiki.com/static.html for an example
2013-03-04 18:15:54 +00:00
Jeremy Ruston
0e2a0068e5 Remove obsolete wikitest command 2013-01-16 13:44:27 +00:00
Jeremy Ruston
83b99bc917 Docs updates 2013-01-16 13:44:09 +00:00
Jeremy Ruston
719d89ca04 Move the editions into a subfolder 2012-11-16 21:20:27 +00:00