From 501f57499e9df9813161c2152e37618e5ca83cb9 Mon Sep 17 00:00:00 2001 From: Jeremy Ruston Date: Thu, 14 Mar 2024 12:25:11 +0000 Subject: [PATCH] Update readme --- editions/tw5.com/tiddlers/readme/ReadMe.tid | 6 ++++++ plugins/tiddlywiki/multiwikiserver/docs/docs.tid | 14 ++++++++++++++ plugins/tiddlywiki/multiwikiserver/plugin.info | 2 +- readme.md | 12 ++++++------ 4 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 plugins/tiddlywiki/multiwikiserver/docs/docs.tid diff --git a/editions/tw5.com/tiddlers/readme/ReadMe.tid b/editions/tw5.com/tiddlers/readme/ReadMe.tid index 90e3b6a90..f0394c433 100644 --- a/editions/tw5.com/tiddlers/readme/ReadMe.tid +++ b/editions/tw5.com/tiddlers/readme/ReadMe.tid @@ -14,8 +14,14 @@ UNDER DEVELOPMENT This is a branch of TiddlyWiki that adds the ~MultiWikiServer plugin. +!! Readme + {{$:/plugins/tiddlywiki/multiwikiserver/readme}} +!! Docs + +{{$:/plugins/tiddlywiki/multiwikiserver/docs}} + --- Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation. diff --git a/plugins/tiddlywiki/multiwikiserver/docs/docs.tid b/plugins/tiddlywiki/multiwikiserver/docs/docs.tid new file mode 100644 index 000000000..6761d4b1d --- /dev/null +++ b/plugins/tiddlywiki/multiwikiserver/docs/docs.tid @@ -0,0 +1,14 @@ +title: $:/plugins/tiddlywiki/multiwikiserver/docs + +! HTTP API + +The ~MultiWikiServer HTTP API provides access to resources hosted by the MWS store. It is based on [[the API of TiddlyWeb|https://tank.peermore.com/tanks/tiddlyweb/HTTP%20API]], first developed in 2008 by Chris Dent. + +The design goals of the API are: + +* To follow the principles of REST where practical +* To present resources as nouns, not verbs + +General points about the design: + +* In MWS there are no resources that end with / (except for the root path which is /) diff --git a/plugins/tiddlywiki/multiwikiserver/plugin.info b/plugins/tiddlywiki/multiwikiserver/plugin.info index 73536e90b..470d30f8d 100644 --- a/plugins/tiddlywiki/multiwikiserver/plugin.info +++ b/plugins/tiddlywiki/multiwikiserver/plugin.info @@ -2,6 +2,6 @@ "title": "$:/plugins/tiddlywiki/multiwikiserver", "name": "Multi Wiki Server", "description": "Multiple Wiki Server Extension", - "list": "readme", + "list": "readme docs", "dependents": [] } diff --git a/readme.md b/readme.md index 669bac524..e8078d695 100644 --- a/readme.md +++ b/readme.md @@ -1,8 +1,8 @@ -

TiddlyWiki MultiWikiServer

UNDER DEVELOPMENT

This is a branch of TiddlyWiki that adds the MultiWikiServer plugin.

This plugin extends the TiddlyWiki 5 server running on Node.js to be able to host multiple wikis that can share content or be independent.

Installation

git clone https://github.com/Jermolene/TiddlyWiki5.git --branch multi-wiki-support
+

TiddlyWiki MultiWikiServer

UNDER DEVELOPMENT

This is a branch of TiddlyWiki that adds the MultiWikiServer plugin.

Readme

This plugin extends the TiddlyWiki 5 server running on Node.js to be able to host multiple wikis that can share content or be independent.

Installation

git clone https://github.com/Jermolene/TiddlyWiki5.git --branch multi-wiki-support
 
 cd TiddlyWiki5
 
-npm install

To start the server:

npm start

The npm start command is a shortcut for the following command:

node ./tiddlywiki.js ./editions/multiwikiserver --listen

Then visit the administration interface in a browser:

Note that changes are written to the topmost bag in a recipe.

Note that until syncing is improved it is necessary to use "Get latest changes from the server" to speed up propogation of changes.

To run the tests:

./bin/test.sh

Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.

TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.

Learn more and see it in action at https://tiddlywiki.com/

Developer documentation is in progress at https://tiddlywiki.com/dev/

Join the Community

+npm install

To start the server:

npm start

The npm start command is a shortcut for the following command:

node ./tiddlywiki.js ./editions/multiwikiserver --listen

Then visit the administration interface in a browser:

Note that changes are written to the topmost bag in a recipe.

Note that until syncing is improved it is necessary to use "Get latest changes from the server" to speed up propogation of changes.

To run the tests:

./bin/test.sh

Docs

HTTP API

The MultiWikiServer HTTP API provides access to resources hosted by the MWS store. It is based on the API of TiddlyWeb, first developed in 2008 by Chris Dent.

The design goals of the API are:

General points about the design:


Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.

TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.

Learn more and see it in action at https://tiddlywiki.com/

Developer documentation is in progress at https://tiddlywiki.com/dev/

Join the Community

Official Forums

The new official forum for talking about TiddlyWiki: requests for help, announcements of new releases and plugins, debating new features, or just sharing experiences. You can participate via the associated website, or subscribe via email.

https://talk.tiddlywiki.org/

Note that talk.tiddlywiki.org is a community run service that we host and maintain ourselves. The modest running costs are covered by community contributions.

For the convenience of existing users, we also continue to operate the original TiddlyWiki group (hosted on Google Groups since 2005):

https://groups.google.com/group/TiddlyWiki

Developer Forums

There are several resources for developers to learn more about TiddlyWiki and to discuss and contribute to its development.

Other Forums

Documentation

There is also a discussion group specifically for discussing TiddlyWiki documentation improvement initiatives: https://groups.google.com/group/tiddlywikidocs

Installing TiddlyWiki on Node.js

  1. Install Node.js
    • Linux:
      Debian/Ubuntu:
      apt install nodejs
      May need to be followed up by:
      apt install npm
      Arch Linux
      yay -S tiddlywiki
      (installs node and tiddlywiki)
    • Mac
      brew install node
    • Android
    • Other
  2. Open a command line terminal and type:
    npm install -g tiddlywiki
    If it fails with an error you may need to re-run the command as an administrator:
    sudo npm install -g tiddlywiki (Mac/Linux)
  3. Ensure TiddlyWiki is installed by typing:
    tiddlywiki --version
    • In response, you should see TiddlyWiki report its current version (eg "5.3.4-prerelease". You may also see other debugging information reported.)
  4. Try it out:
    1. tiddlywiki mynewwiki --init server to create a folder for a new wiki that includes server-related components
    2. tiddlywiki mynewwiki --listen to start TiddlyWiki
    3. Visit http://127.0.0.1:8080/ in your browser
    4. Try editing and creating tiddlers
  5. Optionally, make an offline copy:
    • click the @@ -13,10 +13,10 @@ npm install

      To start the server:

      npm start
       
       
      - save changes button in the sidebar, OR
    • tiddlywiki mynewwiki --build index

The -g flag causes TiddlyWiki to be installed globally. Without it, TiddlyWiki will only be available in the directory where you installed it.

If you are using Debian or Debian-based Linux and you are receiving a node: command not found error though node.js package is installed, you may need to create a symbolic link between nodejs and node. Consult your distro's manual and whereis to correctly create a link. See github issue 1434.

Example Debian v8.0: sudo ln -s /usr/bin/nodejs /usr/bin/node


-

You can also install prior versions like this:
npm install -g tiddlywiki@5.1.13
-

Using TiddlyWiki on Node.js

TiddlyWiki5 includes a set of commands for use on the command line to perform an extensive set of operations based on TiddlyWikiFolders, TiddlerFiles.

For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in static HTML:

tiddlywiki --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html

Running tiddlywiki from the command line boots the TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.

Introduced in v5.1.20 First, there can be zero or more plugin references identified by the prefix + for plugin names or ++ for a path to a plugin folder. These plugins are loaded in addition to any specified in the TiddlyWikiFolder.

The next argument is the optional path to the TiddlyWikiFolder to be loaded. If not present, then the current directory is used.

The commands and their individual arguments follow, each command being identified by the prefix --.

tiddlywiki [+<pluginname> | ++<pluginpath>] [<wikipath>] [--<command> [<arg>[,<arg>]]]

For example:

tiddlywiki --version
+ save changes button in the sidebar, OR
  • tiddlywiki mynewwiki --build index
  • The -g flag causes TiddlyWiki to be installed globally. Without it, TiddlyWiki will only be available in the directory where you installed it.

    Warning
    If you are using Debian or Debian-based Linux and you are receiving a node: command not found error though node.js package is installed, you may need to create a symbolic link between nodejs and node. Consult your distro's manual and whereis to correctly create a link. See github issue 1434.

    Example Debian v8.0: sudo ln -s /usr/bin/nodejs /usr/bin/node


    +

    Tip
    You can also install prior versions like this:
    npm install -g tiddlywiki@5.1.13
    +

    Using TiddlyWiki on Node.js

    TiddlyWiki5 includes a set of commands for use on the command line to perform an extensive set of operations based on TiddlyWikiFolders, TiddlerFiles.

    For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in static HTML:

    tiddlywiki --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html

    Running tiddlywiki from the command line boots the TiddlyWiki kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.

    Introduced in v5.1.20 First, there can be zero or more plugin references identified by the prefix + for plugin names or ++ for a path to a plugin folder. These plugins are loaded in addition to any specified in the TiddlyWikiFolder.

    The next argument is the optional path to the TiddlyWikiFolder to be loaded. If not present, then the current directory is used.

    The commands and their individual arguments follow, each command being identified by the prefix --.

    tiddlywiki [+<pluginname> | ++<pluginpath>] [<wikipath>] [--<command> [<arg>[,<arg>]]]

    For example:

    tiddlywiki --version
     tiddlywiki +plugins/tiddlywiki/filesystem +plugins/tiddlywiki/tiddlyweb mywiki --listen
    -tiddlywiki ++./mygreatplugin mywiki --listen

    Introduced in v5.1.18 Commands such as the ListenCommand that support large numbers of parameters can use NamedCommandParameters to make things less unwieldy. For example:

    tiddlywiki wikipath --listen username=jeremy port=8090

    See Commands for a full listing of the available commands. +tiddlywiki ++./mygreatplugin mywiki --listen

    Introduced in v5.1.18 Commands such as the ListenCommand that support large numbers of parameters can use NamedCommandParameters to make things less unwieldy. For example:

    tiddlywiki wikipath --listen username=jeremy port=8090

    See Commands for a full listing of the available commands.

    Upgrading TiddlyWiki on Node.js

    If you've installed TiddlyWiki on Node.js on the usual way, when a new version is released you can upgrade it with this command:

    npm update -g tiddlywiki

    On Mac or Linux you'll need to add sudo like this:

    sudo npm update -g tiddlywiki

    Also see

    This readme file was automatically generated by TiddlyWiki

    \ No newline at end of file