diff --git a/2bld.cmd b/bin/2bld.cmd similarity index 100% rename from 2bld.cmd rename to bin/2bld.cmd diff --git a/2bld.sh b/bin/2bld.sh similarity index 100% rename from 2bld.sh rename to bin/2bld.sh diff --git a/bld-languages.sh b/bin/bld-languages.sh similarity index 100% rename from bld-languages.sh rename to bin/bld-languages.sh diff --git a/bld.cmd b/bin/bld.cmd similarity index 94% rename from bld.cmd rename to bin/bld.cmd index 0b988676a..ef4be5b80 100644 --- a/bld.cmd +++ b/bin/bld.cmd @@ -40,6 +40,15 @@ node .\tiddlywiki.js ^ --build favicon empty static index ^ || exit 1 +rem dev/: developer material + +node .\tiddlywiki.js ^ + .\editions\dev ^ + --verbose ^ + --output %TW5_BUILD_OUTPUT%\dev ^ + --build index favicon static ^ + || exit 1 + rem upgrade.html: custom edition for handling upgrades node .\tiddlywiki.js ^ @@ -118,4 +127,4 @@ echo tiddlywiki.com > %TW5_BUILD_OUTPUT%\CNAME rem Run the test edition to run the Node.js tests and to generate test.html for tests in the browser -.\test.cmd +.\bin\test.cmd diff --git a/bld.sh b/bin/bld.sh similarity index 94% rename from bld.sh rename to bin/bld.sh index 50ad509b9..5c2db5d1b 100755 --- a/bld.sh +++ b/bin/bld.sh @@ -41,6 +41,15 @@ node ./tiddlywiki.js \ --build favicon empty static index \ || exit 1 +# dev/: developer material + +node ./tiddlywiki.js \ + ./editions/dev \ + --verbose \ + --output $TW5_BUILD_OUTPUT/dev \ + --build index favicon static \ + || exit 1 + # upgrade.html: custom edition for handling upgrades node ./tiddlywiki.js \ @@ -115,4 +124,4 @@ node ./tiddlywiki.js \ # Run the test edition to run the Node.js tests and to generate test.html for tests in the browser -./test.sh +./bin/test.sh diff --git a/deploy.cmd b/bin/deploy.cmd similarity index 100% rename from deploy.cmd rename to bin/deploy.cmd diff --git a/deploy.sh b/bin/deploy.sh similarity index 100% rename from deploy.sh rename to bin/deploy.sh diff --git a/bin/devbld.sh b/bin/devbld.sh new file mode 100755 index 000000000..e3a50de5a --- /dev/null +++ b/bin/devbld.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# Build the dev wiki + +# Set up the build output directory + +if [ -z "$TW5_BUILD_OUTPUT" ]; then + TW5_BUILD_OUTPUT=../jermolene.github.com +fi + +if [ ! -d "$TW5_BUILD_OUTPUT" ]; then + echo 'A valid TW5_BUILD_OUTPUT environment variable must be set' + exit 1 +fi + +echo "Using TW5_BUILD_OUTPUT as [$TW5_BUILD_OUTPUT]" + +# Make the CNAME file that GitHub Pages requires + +echo "tiddlywiki.com" > $TW5_BUILD_OUTPUT/CNAME + +# The tw5.com wiki +# index.html: the main file, including content + +node ./tiddlywiki.js \ + ./editions/dev \ + --verbose \ + --output $TW5_BUILD_OUTPUT/dev \ + --build index favicon \ + || exit 1 diff --git a/ginsu.cmd b/bin/ginsu.cmd similarity index 100% rename from ginsu.cmd rename to bin/ginsu.cmd diff --git a/ginsu.sh b/bin/ginsu.sh similarity index 100% rename from ginsu.sh rename to bin/ginsu.sh diff --git a/lazy.cmd b/bin/lazy.cmd similarity index 100% rename from lazy.cmd rename to bin/lazy.cmd diff --git a/lazy.sh b/bin/lazy.sh similarity index 100% rename from lazy.sh rename to bin/lazy.sh diff --git a/qbld.cmd b/bin/qbld.cmd similarity index 100% rename from qbld.cmd rename to bin/qbld.cmd diff --git a/qbld.sh b/bin/qbld.sh similarity index 100% rename from qbld.sh rename to bin/qbld.sh diff --git a/bin/readme.md b/bin/readme.md new file mode 100644 index 000000000..472670edf --- /dev/null +++ b/bin/readme.md @@ -0,0 +1,5 @@ +

Script Files

The TiddlyWiki5 repository contains several scripts in the bin folder that are used to build and deploy TiddlyWiki (.sh for *nix and .cmd for Windows). They can serve as a useful starting point for your own scripts.

All the scripts expect to be run from the root folder of the repository.

bld: builds tw5.com

This script builds several variants of TiddlyWiki5 for deployment on tiddlywiki.com.

By default, files are output to a folder called jermolene.github.com, sibling to the TiddlyWiki5 repo directory. For example:

/TiddlyWork/ - Directory for working with TiddlyWiki5
+  |
+  +--+-- /TiddlyWiki5/ - Directory containing the TiddlyWiki5 repo from GitHub
+     |
+     +-- /jermolene.github.com/ - Directory for output files

You can override the build output directory by defining the environment variable TW5_BUILD_OUTPUT. The easiest way to do this is to create a personal batch file to invoke TiddlyWiki5 that first sets the environment variable and then invokes bld.

The files output by bld are:

bld also runs the TiddlyWiki5 Node.js-based test suite (see TestingMechanism)

serve: serves tw5.com

./bin/serve.sh <username> [<password>]

Or:

./bin/serve.cmd <username> [<password>]

This script starts TiddlyWiki5 running as an HTTP server with the content from the tw5.com-server edition. By default, the Node.js serves on port 8080. If the optional username parameter is provided, it is used for signing edits. If the password is provided then HTTP basic authentication is used.

To experiment with this configuration, run the script and then visit http://127.0.0.1:8080 in a browser.

Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).

test: build and run tests

This script runs the test edition of TiddlyWiki on the server to perform the server-side tests and to build test.html for running the tests in the browser.

lazy: serves tw5.com with lazily loaded images

./bin/lazy.sh <username> [<password>]

Or:

./bin/lazy.cmd <username> [<password>]

This script serves the tw5.com-server edition content with LazyLoading applied to images.

wbld: builds TiddlyWiki for TiddlyWeb

This script builds and deploys the code for TiddlyWiki in the Sky for TiddlyWeb. If you want to experiment with your own builds of TiddlyWiki5 for TiddlyWeb you could use this batch file as a base.

2bld: builds TiddlyWiki 2.6.5

This script builds TiddlyWiki 2.6.5 from the original source and then displays the differences between them (diff is used for *nix, fc for Windows).

deploy & verbump: deploy TiddlyWiki and bump the TiddlyWiki version number

These scripts are concerned with releasing a new version of TiddlyWiki. See Releasing a new version of TiddlyWiki5.

\ No newline at end of file diff --git a/bin/serve.cmd b/bin/serve.cmd new file mode 100755 index 000000000..898904cdc --- /dev/null +++ b/bin/serve.cmd @@ -0,0 +1,95 @@ +:: This script allows you to serve different TiddlyWiki editions. +:: +:: It respects a TW_SERVE_EDITION_PATH environment variable. +:: If this variable is set it will be used. A command line parameter will overwrite it. +:: +:: Ensure your server tiddlywiki.info configuration contains +:: these plugins, otherwise saving is not possible: +:: - "tiddlywiki/tiddlyweb" +:: - "tiddlywiki/filesystem" + +@echo off +echo. + +:: Help Wanted!! +:: If you know how to improve -help and -version handling let us know + +if "%1" == "--help" call :help +if "%1" == "-h" call :help + +if "%1" == "--version" call :version +if "%1" == "-v" call :version + +if "%1" == "help" ( + call :help +) else ( + call :main %1 %2 %3 %4 %5 +) +exit 0 + +:version +echo TiddlyWiki serve.cmd script version 0.0.2" +echo. +exit 0 +goto:eof + +:help +echo Serve TiddlyWiki over HTTP +echo. +echo Optional parameters +echo - %%1 .. edition directory .. full or relative path to edition directory +echo - %%2 .. username .. for signing edits - can be empty like this: '""' +echo - %%3 .. password .. can be empty like this: '""' +echo - %%4 .. IP address or HOST .. defaults to localhost +echo - %%5 .. PORT .. defaults to 8080 +echo. +echo Example 1 .\serve .\edition\tw5.com-server username +echo Example 2 .\serve .\edition\tw5.com-server '""' '""' localhost 9090 +echo .. Example 2 defines: empty username, empty password +echo. +echo Help information +echo -v, --version .. shows the script version +echo -h, --help, help .. shows this help information +echo. + +exit 0 +goto:eof + +:main +if [%1] NEQ [] ( + :: if there is a editions parameter .. use it. + set TW_SERVE_EDITION_PATH=%1 +) else ( + if [%TW_SERVE_EDITION_PATH%] == [] ( + echo Please provide an edition path as your first parameter or + echo define a valid TW_SERVE_EDITION_PATH environment variable. + echo. + echo Using default edition path 'editions\tw5.com-server' because no environment variable is set + echo. + set TW_SERVE_EDITION_PATH= editions\tw5.com-server + ) +) + +:: The editions path must exist! +if not exist %TW_SERVE_EDITION_PATH%\nul ( + echo The Path: "%TW_SERVE_EDITION_PATH%" does not exist + exit 1 +) + +if [%5] == [] ( + echo Using default port 8080 + set PORT=8080 +) else ( + echo Using port %5 + set PORT=%5 +) + +echo Using edition: %TW_SERVE_EDITION_PATH% +echo. + +node .\tiddlywiki.js ^ + %TW_SERVE_EDITION_PATH% ^ + --verbose ^ + --server %PORT% $:/core/save/all text/plain text/html %2 %3 %4^ + || exit 1 +goto:eof diff --git a/bin/serve.sh b/bin/serve.sh new file mode 100755 index 000000000..3d28d5297 --- /dev/null +++ b/bin/serve.sh @@ -0,0 +1,124 @@ +#!/bin/bash +# +# This script allows you to serve different TiddlyWiki editions. +# +# It respects a TW_SERVE_EDITION_PATH environment variable. +# If this variable is set it will be used. A command line parameter will overwrite it. +# +# Ensure your server tiddlywiki.info configuration contains +# these plugins, otherwise saving is not possible: +# - "tiddlywiki/tiddlyweb" +# - "tiddlywiki/filesystem" + +# Global settings +# set -o nounset #exit if a variable is not set +set -o errexit #exit on error + +# Get command name and path info needed for help text +ARG0=$(basename $0) +#ARG0DIR=$(dirname $0) +#[ $ARG0DIR == "." ] && ARG0DIR=$PWD + +# ---- helper functions ---- +version () { + echo "$ARG0, TiddlyWiki serve script version 0.0.2" + echo +} + +usage() { + version + echo Usage:$'\t'$ARG0 [edition dir] [username] [password] [host] [port] + echo +} + +help() { + usage + + echo Optional parameters + echo + echo $'\t'\$1 .. edition directory .. full or relative path to edition directory + echo $'\t'\$2 .. username for signing edits - can be empty like this: \"\" + echo $'\t'\$3 .. password - can be empty like this: \"\" + echo $'\t'\$4 .. IP address or HOST name .. defaults to: localhost + echo $'\t'\$5 .. PORT .. defaults to: 8080 + echo + echo $'\t'-v .. Version + echo $'\t'-h .. Help + echo + echo Example 1 ./serve ./edition/tw5.com-server username + echo Example 2 ./serve ./edition/tw5.com-server \"\" \"\" localhost 9090 + echo .. Example 2 defines: empty username, empty password + echo +} + +_log () { + echo + echo "---> $1" +} + +# error handling for wrong parameters +error() { + echo "$ARG0: $*" 1>&2 + exit 1 +} + +# start the server +serve () { + #echo 1:$1 2:$2 3:$3 4:$4 5:$5 + + node ./tiddlywiki.js \ + "$1" \ + --verbose \ + --server "$5" $:/core/save/all text/plain text/html "$2" "$3" "$4" \ + || exit 1 +} + +check_edition_directory () { + # The editions directory must exist and should contain a tiddlywiki.info file + if [ ! -d $TW_SERVE_EDITION_PATH ]; then + _log "Edition directory: '$TW_SERVE_EDITION_PATH' does not exist" + exit 1 + fi +} + +# -------------------------------------------------- +# command line parameter handler +while getopts vh flag +do + case "$flag" in + (h) help; exit 0;; + (v) version; exit 0;; + (*) help + error + exit 1;; + esac +done +shift $(expr $OPTIND - 1) + +#---------------------------------------------------- + +# If no edition parameter is provided, use Jeremy's defaults +if [ $# -eq 0 ]; then + # check if the edition path environment variable is set. If yes use it. + [ -z $TW_SERVE_EDITION_PATH ] && TW_SERVE_EDITION_PATH="./editions/tw5.com-server" + + # directory must exist + check_edition_directory + + # serve the default settings. + serve "$TW_SERVE_EDITION_PATH" "" "" localhost 8080 +else + if [ -z "$5" ]; then + PORT=8080 + else + PORT=$5 + fi + + # If the 1st parameter (edition) is set, it has priority. + TW_SERVE_EDITION_PATH=$1 + + # directory must exist + check_edition_directory + + serve "$TW_SERVE_EDITION_PATH" "$2" "$3" "$4" $PORT +fi diff --git a/tankbld.cmd b/bin/tankbld.cmd similarity index 100% rename from tankbld.cmd rename to bin/tankbld.cmd diff --git a/tankbld.sh b/bin/tankbld.sh similarity index 100% rename from tankbld.sh rename to bin/tankbld.sh diff --git a/test.cmd b/bin/test.cmd similarity index 100% rename from test.cmd rename to bin/test.cmd diff --git a/test.sh b/bin/test.sh similarity index 100% rename from test.sh rename to bin/test.sh diff --git a/verbump.cmd b/bin/verbump.cmd similarity index 100% rename from verbump.cmd rename to bin/verbump.cmd diff --git a/verbump.sh b/bin/verbump.sh similarity index 100% rename from verbump.sh rename to bin/verbump.sh diff --git a/wbld.cmd b/bin/wbld.cmd similarity index 100% rename from wbld.cmd rename to bin/wbld.cmd diff --git a/wbld.sh b/bin/wbld.sh similarity index 100% rename from wbld.sh rename to bin/wbld.sh diff --git a/boot/boot.js b/boot/boot.js index 32294c881..e6f1b21c2 100644 --- a/boot/boot.js +++ b/boot/boot.js @@ -1103,7 +1103,7 @@ $tw.Wiki.prototype.processSafeMode = function() { // Assemble a report tiddler var titleReportTiddler = "TiddlyWiki Safe Mode", report = []; - report.push("TiddlyWiki has been started in [[safe mode|http://tiddlywiki.com/static/SafeMode.html]]. Most customisations have been disabled by renaming the following tiddlers:") + report.push("TiddlyWiki has been started in [[safe mode|http://tiddlywiki.com/static/SafeMode.html]]. All plugins are temporarily disabled. Most customisations have been disabled by renaming the following tiddlers:") // Delete the overrides overrides.forEach(function(title) { var tiddler = self.getTiddler(title), @@ -1752,7 +1752,7 @@ $tw.boot.startup = function(options) { } // Unpack plugin tiddlers $tw.wiki.readPluginInfo(); - $tw.wiki.registerPluginTiddlers("plugin"); + $tw.wiki.registerPluginTiddlers("plugin",$tw.safeMode ? ["$:/core"] : undefined); $tw.wiki.unpackPluginTiddlers(); // Process "safe mode" if($tw.safeMode) { diff --git a/contributing.md b/contributing.md index e2b294730..832b9432f 100644 --- a/contributing.md +++ b/contributing.md @@ -1,3 +1,3 @@ -

Contributing to TiddlyWiki5

TiddlyWiki5 welcomes contributions to its code and documentation via GitHub. Please take a moment to read these notes to help make the process as smooth as possible.

Coding Style

Code contributions should follow the TiddlyWiki Coding Style Guidelines.

GitHub Issues

See ReportingBugs for information about how TiddlyWiki handles bug reports.

Contributor License Agreement

Like other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the UnaMesa Association (the legal entity that owns TiddlyWiki on behalf of the community).

This is a first pass at a CLA for TiddlyWiki. Please let us know if we missed something important. If we do have to make essential changes to the CLA, there is a possibility that all contributors will need to sign it again

How to sign the CLA

Create a GitHub pull request to add your name to cla-individual.md or cla-entity.md, with the date in the format (YYYY/MM/DD).

eg: Jeremy Ruston, @Jermolene, 2011/11/22

Thank you!

Attribution

The CLA documents used for this project were created using Harmony Project Templates. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity" +

Contributing to TiddlyWiki5

We welcome contributions to the code and documentation of TiddlyWiki in several ways:

There are other ways to help TiddlyWiki too.

Contributor License Agreement

Like other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the UnaMesa Association (the legal entity that owns TiddlyWiki on behalf of the community).

How to sign the CLA

Create a GitHub pull request to add your name to cla-individual.md or cla-entity.md, with the date in the format (YYYY/MM/DD).

eg: Jeremy Ruston, @Jermolene, 2011/11/22


The CLA documents used for this project were created using Harmony Project Templates. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity".

This file was automatically generated by TiddlyWiki5

\ No newline at end of file diff --git a/core/language/en-GB/Search.multids b/core/language/en-GB/Search.multids index 62d1a914d..987428164 100644 --- a/core/language/en-GB/Search.multids +++ b/core/language/en-GB/Search.multids @@ -1,7 +1,7 @@ title: $:/language/Search/ Filter/Caption: Filter -Filter/Hint: Search via a [[filter expression|http://tiddlywiki.com/static/TiddlerFilters.html]] +Filter/Hint: Search via a [[filter expression|http://tiddlywiki.com/static/Filters.html]] Filter/Matches: //<$count filter={{$:/temp/advancedsearch}}/> matches// Matches: //<$count filter="[!is[system]search{$:/temp/search}]"/> matches// Shadows/Caption: Shadows diff --git a/core/modules/filters.js b/core/modules/filters.js index c9fae0b70..15dde5f75 100644 --- a/core/modules/filters.js +++ b/core/modules/filters.js @@ -70,6 +70,8 @@ function parseFilterOperation(operators,filterString,p) { rexMatch = rex.exec(filterString.substring(p)); if(rexMatch) { operator.regexp = new RegExp(rexMatch[1], rexMatch[2]); +// DEPRECATION WARNING +console.log("WARNING: Filter",operator.operator,"has a deprecated regexp operand",operator.regexp); nextBracketPos = p + rex.lastIndex - 1; } else { diff --git a/core/modules/filters/regexp.js b/core/modules/filters/regexp.js new file mode 100644 index 000000000..d6ab27303 --- /dev/null +++ b/core/modules/filters/regexp.js @@ -0,0 +1,68 @@ +/*\ +title: $:/core/modules/filters/regexp.js +type: application/javascript +module-type: filteroperator + +Filter operator for regexp matching + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +/* +Export our filter function +*/ +exports.regexp = function(source,operator,options) { + var results = [], + fieldname = (operator.suffix || "title").toLowerCase(), + regexpString, regexp, flags = "", match, + getFieldString = function(tiddler,title) { + if(tiddler) { + return tiddler.getFieldString(fieldname); + } else if(fieldname === "title") { + return title; + } else { + return null; + } + }; + // Process flags and construct regexp + regexpString = operator.operand; + match = /^\(\?([gim]+)\)/.exec(regexpString); + if(match) { + flags = match[1]; + regexpString = regexpString.substr(match[0].length); + } else { + match = /\(\?([gim]+)\)$/.exec(regexpString); + if(match) { + flags = match[1]; + regexpString = regexpString.substr(0,regexpString.length - match[0].length); + } + } + regexp = new RegExp(regexpString,flags); + // Process the incoming tiddlers + if(operator.prefix === "!") { + source(function(tiddler,title) { + var text = getFieldString(tiddler,title); + if(text !== null) { + if(!regexp.exec(text)) { + results.push(title); + } + } + }); + } else { + source(function(tiddler,title) { + var text = getFieldString(tiddler,title); + if(text !== null) { + if(!!regexp.exec(text)) { + results.push(title); + } + } + }); + } + return results; +}; + +})(); diff --git a/core/modules/macros/dumpvariables.js b/core/modules/macros/dumpvariables.js new file mode 100644 index 000000000..248beae96 --- /dev/null +++ b/core/modules/macros/dumpvariables.js @@ -0,0 +1,41 @@ +/*\ +title: $:/core/modules/macros/dumpvariables.js +type: application/javascript +module-type: macro + +Macro to dump all active variable values + +\*/ +(function(){ + +/*jslint node: true, browser: true */ +/*global $tw: false */ +"use strict"; + +/* +Information about this macro +*/ + +exports.name = "dumpvariables"; + +exports.params = [ +]; + +/* +Run the macro +*/ +exports.run = function() { + var output = ["|!Variable |!Value |"], + variables = [], variable; + for(variable in this.variables) { + variables.push(variable); + } + variables.sort(); + for(var index=0; index>/> |") + } + return output.join("\n"); +}; + +})(); diff --git a/core/modules/widgets/browse.js b/core/modules/widgets/browse.js index fdf77c02e..64afd634c 100644 --- a/core/modules/widgets/browse.js +++ b/core/modules/widgets/browse.js @@ -36,7 +36,9 @@ BrowseWidget.prototype.render = function(parent,nextSibling) { // Create element var domNode = this.document.createElement("input"); domNode.setAttribute("type","file"); - domNode.setAttribute("multiple","multiple"); + if(this.browseMultiple) { + domNode.setAttribute("multiple","multiple"); + } // Add a click event handler domNode.addEventListener("change",function (event) { self.wiki.readFiles(event.target.files,function(tiddlerFieldsArray) { @@ -54,6 +56,7 @@ BrowseWidget.prototype.render = function(parent,nextSibling) { Compute the internal state of the widget */ BrowseWidget.prototype.execute = function() { + this.browseMultiple = this.getAttribute("multiple"); }; /* diff --git a/core/modules/widgets/button.js b/core/modules/widgets/button.js index 01334d463..fea8403af 100644 --- a/core/modules/widgets/button.js +++ b/core/modules/widgets/button.js @@ -50,8 +50,8 @@ ButtonWidget.prototype.render = function(parent,nextSibling) { if(this.style) { domNode.setAttribute("style",this.style); } - if(this.title) { - domNode.setAttribute("title",this.title); + if(this.tooltip) { + domNode.setAttribute("title",this.tooltip); } if(this["aria-label"]) { domNode.setAttribute("aria-label",this["aria-label"]); @@ -141,7 +141,14 @@ ButtonWidget.prototype.execute = function() { this.hover = this.getAttribute("hover"); this["class"] = this.getAttribute("class",""); this["aria-label"] = this.getAttribute("aria-label"); - this.title = this.getAttribute("title"); + this.tooltip = this.getAttribute("tooltip"); +// DEPRECATION WARNING +var title = this.getAttribute("title"); +if(title) { + console.log("WARNING: attribute 'title' on button widget should be replaced with 'tooltip'"); + this.tooltip = title; +} + this.style = this.getAttribute("style"); this.selectedClass = this.getAttribute("selectedClass"); this.defaultSetValue = this.getAttribute("default"); diff --git a/core/ui/ControlPanel/Plugins.tid b/core/ui/ControlPanel/Plugins.tid index 285031d7f..2ed51058c 100644 --- a/core/ui/ControlPanel/Plugins.tid +++ b/core/ui/ControlPanel/Plugins.tid @@ -64,12 +64,12 @@ $:/config/Plugins/Disabled/$(currentTiddler)$ <$list filter="[all[current]] -[[$:/core]]">
<$reveal type="nomatch" state=<> text="yes"> -<$button set=<> setTo="yes" title={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}> +<$button set=<> setTo="yes" tooltip={{$:/language/ControlPanel/Plugins/Disable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Disable/Caption}}> <> <$reveal type="match" state=<> text="yes"> -<$button set=<> setTo="no" title={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}> +<$button set=<> setTo="no" tooltip={{$:/language/ControlPanel/Plugins/Enable/Hint}} aria-label={{$:/language/ControlPanel/Plugins/Enable/Caption}}> <> diff --git a/core/ui/EditToolbar/cancel.tid b/core/ui/EditToolbar/cancel.tid index 7d578022f..03a533f53 100644 --- a/core/ui/EditToolbar/cancel.tid +++ b/core/ui/EditToolbar/cancel.tid @@ -3,7 +3,7 @@ tags: $:/tags/EditToolbar caption: {{$:/core/images/cancel-button}} {{$:/language/Buttons/Cancel/Caption}} description: {{$:/language/Buttons/Cancel/Hint}} -<$button message="tm-cancel-tiddler" title={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<>> +<$button message="tm-cancel-tiddler" tooltip={{$:/language/Buttons/Cancel/Hint}} aria-label={{$:/language/Buttons/Cancel/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/cancel-button}} diff --git a/core/ui/EditToolbar/delete.tid b/core/ui/EditToolbar/delete.tid index 8896304cc..bab951295 100644 --- a/core/ui/EditToolbar/delete.tid +++ b/core/ui/EditToolbar/delete.tid @@ -3,7 +3,7 @@ tags: $:/tags/EditToolbar caption: {{$:/core/images/delete-button}} {{$:/language/Buttons/Delete/Caption}} description: {{$:/language/Buttons/Delete/Hint}} -<$button message="tm-delete-tiddler" title={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<>> +<$button message="tm-delete-tiddler" tooltip={{$:/language/Buttons/Delete/Hint}} aria-label={{$:/language/Buttons/Delete/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/delete-button}} diff --git a/core/ui/EditToolbar/save.tid b/core/ui/EditToolbar/save.tid index 9380444b1..1d642c08a 100644 --- a/core/ui/EditToolbar/save.tid +++ b/core/ui/EditToolbar/save.tid @@ -3,7 +3,7 @@ tags: $:/tags/EditToolbar caption: {{$:/core/images/done-button}} {{$:/language/Buttons/Save/Caption}} description: {{$:/language/Buttons/Save/Hint}} -<$button message="tm-save-tiddler" title={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<>> +<$button message="tm-save-tiddler" tooltip={{$:/language/Buttons/Save/Hint}} aria-label={{$:/language/Buttons/Save/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/done-button}} diff --git a/core/ui/MoreSideBar/Recent.tid b/core/ui/MoreSideBar/Recent.tid index e1f041fa0..045afe434 100644 --- a/core/ui/MoreSideBar/Recent.tid +++ b/core/ui/MoreSideBar/Recent.tid @@ -2,4 +2,4 @@ title: $:/core/ui/MoreSideBar/Recent tags: $:/tags/MoreSideBar caption: {{$:/language/SideBar/Recent/Caption}} -{{$:/snippets/recentchanges}} +<$macrocall $name="timeline" format={{$:/language/RecentChanges/DateFormat}}/> diff --git a/core/ui/PageControls/closeall.tid b/core/ui/PageControls/closeall.tid index 3a0520820..95bdcb3a6 100644 --- a/core/ui/PageControls/closeall.tid +++ b/core/ui/PageControls/closeall.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/close-all-button}} {{$:/language/Buttons/CloseAll/Caption}} description: {{$:/language/Buttons/CloseAll/Hint}} -<$button message="tm-close-all-tiddlers" title={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<>> +<$button message="tm-close-all-tiddlers" tooltip={{$:/language/Buttons/CloseAll/Hint}} aria-label={{$:/language/Buttons/CloseAll/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/close-all-button}} diff --git a/core/ui/PageControls/controlpanel.tid b/core/ui/PageControls/controlpanel.tid index 4c2a61108..2d4f7d27c 100644 --- a/core/ui/PageControls/controlpanel.tid +++ b/core/ui/PageControls/controlpanel.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/options-button}} {{$:/language/Buttons/ControlPanel/Caption}} description: {{$:/language/Buttons/ControlPanel/Hint}} -<$button to="$:/ControlPanel" title={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=<>> +<$button to="$:/ControlPanel" tooltip={{$:/language/Buttons/ControlPanel/Hint}} aria-label={{$:/language/Buttons/ControlPanel/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/options-button}} diff --git a/core/ui/PageControls/encryption.tid b/core/ui/PageControls/encryption.tid index 0f9400fd2..dffc4efa7 100644 --- a/core/ui/PageControls/encryption.tid +++ b/core/ui/PageControls/encryption.tid @@ -4,7 +4,7 @@ caption: {{$:/core/images/locked-padlock}} {{$:/language/Buttons/Encryption/Capt description: {{$:/language/Buttons/Encryption/Hint}} <$reveal type="match" state="$:/isEncrypted" text="yes"> -<$button message="tm-clear-password" title={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<>> +<$button message="tm-clear-password" tooltip={{$:/language/Buttons/Encryption/ClearPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/ClearPassword/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/locked-padlock}} @@ -14,7 +14,7 @@ description: {{$:/language/Buttons/Encryption/Hint}} <$reveal type="nomatch" state="$:/isEncrypted" text="yes"> -<$button message="tm-set-password" title={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<>> +<$button message="tm-set-password" tooltip={{$:/language/Buttons/Encryption/SetPassword/Hint}} aria-label={{$:/language/Buttons/Encryption/SetPassword/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/unlocked-padlock}} diff --git a/core/ui/PageControls/full-screen.tid b/core/ui/PageControls/full-screen.tid index 38a848f2f..1fb6edf59 100644 --- a/core/ui/PageControls/full-screen.tid +++ b/core/ui/PageControls/full-screen.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/full-screen-button}} {{$:/language/Buttons/FullScreen/Caption}} description: {{$:/language/Buttons/FullScreen/Hint}} -<$button message="tm-full-screen" title={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<>> +<$button message="tm-full-screen" tooltip={{$:/language/Buttons/FullScreen/Hint}} aria-label={{$:/language/Buttons/FullScreen/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/full-screen-button}} diff --git a/core/ui/PageControls/home.tid b/core/ui/PageControls/home.tid index dd4995c78..7b48f2a21 100644 --- a/core/ui/PageControls/home.tid +++ b/core/ui/PageControls/home.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/home-button}} {{$:/language/Buttons/Home/Caption}} description: {{$:/language/Buttons/Home/Hint}} -<$button message="tm-home" title={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<>> +<$button message="tm-home" tooltip={{$:/language/Buttons/Home/Hint}} aria-label={{$:/language/Buttons/Home/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/home-button}} diff --git a/core/ui/PageControls/import.tid b/core/ui/PageControls/import.tid index 6dddec8bf..f7b6350bc 100644 --- a/core/ui/PageControls/import.tid +++ b/core/ui/PageControls/import.tid @@ -4,7 +4,7 @@ caption: {{$:/core/images/import-button}} {{$:/language/Buttons/Import/Caption}} description: {{$:/language/Buttons/Import/Hint}}
-<$button title={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<>> +<$button tooltip={{$:/language/Buttons/Import/Hint}} aria-label={{$:/language/Buttons/Import/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/import-button}} diff --git a/core/ui/PageControls/language.tid b/core/ui/PageControls/language.tid index 29254f4d6..1d07da32c 100644 --- a/core/ui/PageControls/language.tid +++ b/core/ui/PageControls/language.tid @@ -6,7 +6,7 @@ description: {{$:/language/Buttons/Language/Hint}} \define flag-title() $(languagePluginTitle)$/icon \end -<$button popup=<> title={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<> selectedClass="tc-selected"> +<$button popup=<> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<> selectedClass="tc-selected"> <$list filter="[prefix[yes]]"> <$set name="languagePluginTitle" value={{$:/language}}> diff --git a/core/ui/PageControls/more-page-actions.tid b/core/ui/PageControls/more-page-actions.tid index 004123cd6..4fe8e2dbd 100644 --- a/core/ui/PageControls/more-page-actions.tid +++ b/core/ui/PageControls/more-page-actions.tid @@ -6,7 +6,7 @@ description: {{$:/language/Buttons/More/Hint}} \define config-title() $:/config/PageControlButtons/Visibility/$(listItem)$ \end -<$button popup=<> title={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<> selectedClass="tc-selected"> +<$button popup=<> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<> selectedClass="tc-selected"> <$list filter="[prefix[yes]]"> {{$:/core/images/down-arrow}} diff --git a/core/ui/PageControls/newtiddler.tid b/core/ui/PageControls/newtiddler.tid index 96afdc69e..1995e5f00 100644 --- a/core/ui/PageControls/newtiddler.tid +++ b/core/ui/PageControls/newtiddler.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/new-button}} {{$:/language/Buttons/NewTiddler/Caption}} description: {{$:/language/Buttons/NewTiddler/Hint}} -<$button message="tm-new-tiddler" title={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<>> +<$button message="tm-new-tiddler" tooltip={{$:/language/Buttons/NewTiddler/Hint}} aria-label={{$:/language/Buttons/NewTiddler/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/new-button}} diff --git a/core/ui/PageControls/refresh.tid b/core/ui/PageControls/refresh.tid index eea3205e2..dc2c5467d 100644 --- a/core/ui/PageControls/refresh.tid +++ b/core/ui/PageControls/refresh.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/refresh-button}} {{$:/language/Buttons/Refresh/Caption}} description: {{$:/language/Buttons/Refresh/Hint}} -<$button message="tm-browser-refresh" title={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<>> +<$button message="tm-browser-refresh" tooltip={{$:/language/Buttons/Refresh/Hint}} aria-label={{$:/language/Buttons/Refresh/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/refresh-button}} diff --git a/core/ui/PageControls/savewiki.tid b/core/ui/PageControls/savewiki.tid index adee6441d..c196c2ecf 100644 --- a/core/ui/PageControls/savewiki.tid +++ b/core/ui/PageControls/savewiki.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/save-button}} {{$:/language/Buttons/SaveWiki/Caption}} description: {{$:/language/Buttons/SaveWiki/Hint}} -<$button message="tm-save-wiki" param={{$:/config/SaveWikiButton/Template}} title={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<>> +<$button message="tm-save-wiki" param={{$:/config/SaveWikiButton/Template}} tooltip={{$:/language/Buttons/SaveWiki/Hint}} aria-label={{$:/language/Buttons/SaveWiki/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/save-button}} diff --git a/core/ui/PageControls/storyview.tid b/core/ui/PageControls/storyview.tid index fda1dea4e..1d921ec2f 100644 --- a/core/ui/PageControls/storyview.tid +++ b/core/ui/PageControls/storyview.tid @@ -6,7 +6,7 @@ description: {{$:/language/Buttons/StoryView/Hint}} \define icon() $:/core/images/storyview-$(storyview)$ \end -<$button popup=<> title={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<> selectedClass="tc-selected"> +<$button popup=<> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<> selectedClass="tc-selected"> <$list filter="[prefix[yes]]"> <$set name="storyview" value={{$:/view}}> <$transclude tiddler=<>/> diff --git a/core/ui/PageControls/tag-button.tid b/core/ui/PageControls/tag-button.tid index e30e7f4f5..e49e611e5 100644 --- a/core/ui/PageControls/tag-button.tid +++ b/core/ui/PageControls/tag-button.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/tag-button}} {{$:/language/Buttons/TagManager/Caption}} description: {{$:/language/Buttons/TagManager/Hint}} -<$button to="$:/TagManager" title={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=<>> +<$button to="$:/TagManager" tooltip={{$:/language/Buttons/TagManager/Hint}} aria-label={{$:/language/Buttons/TagManager/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/tag-button}} diff --git a/core/ui/PageControls/theme.tid b/core/ui/PageControls/theme.tid index 60d4b4089..3af7510f3 100644 --- a/core/ui/PageControls/theme.tid +++ b/core/ui/PageControls/theme.tid @@ -3,7 +3,7 @@ tags: $:/tags/PageControls caption: {{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}} description: {{$:/language/Buttons/Theme/Hint}} -<$button popup=<> title={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<> selectedClass="tc-selected"> +<$button popup=<> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<> selectedClass="tc-selected"> <$list filter="[prefix[yes]]"> {{$:/core/images/theme-button}} diff --git a/core/ui/PageStylesheet.tid b/core/ui/PageStylesheet.tid index c48afda55..76e036e91 100644 --- a/core/ui/PageStylesheet.tid +++ b/core/ui/PageStylesheet.tid @@ -2,7 +2,11 @@ title: $:/core/ui/PageStylesheet <$importvariables filter="[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]"> -<$list filter="[all[shadows+tiddlers]tag[$:/tags/stylesheet]!has[draft.of]]"> +<$list filter="[all[shadows+tiddlers]tag[$:/tags/stylesheet]!has[draft.of]]"> +<$transclude mode="block"/> + + +<$list filter="[all[shadows+tiddlers]tag[$:/tags/Stylesheet]!has[draft.of]]"> <$transclude mode="block"/> diff --git a/core/ui/PageTemplate/story.tid b/core/ui/PageTemplate/story.tid index 0654ba46f..d2eeb21a3 100644 --- a/core/ui/PageTemplate/story.tid +++ b/core/ui/PageTemplate/story.tid @@ -3,6 +3,12 @@ tags: $:/tags/PageTemplate
+<$list filter="[all[shadows+tiddlers]tag[$:/tags/stylesheet]!has[draft.of]]"> + +WARNING: tag "$:/tags/stylesheet" on <$link><$view field="title"/> should be replaced with "$:/tags/Stylesheet" + + +
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AboveStory]!has[draft.of]]"> diff --git a/core/ui/SideBar/Open.tid b/core/ui/SideBar/Open.tid index 01a088013..8b2d9c46d 100644 --- a/core/ui/SideBar/Open.tid +++ b/core/ui/SideBar/Open.tid @@ -5,7 +5,7 @@ caption: {{$:/language/SideBar/Open/Caption}} \define lingo-base() $:/language/CloseAll/ <$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop"> -<$button message="tm-close-tiddler" title={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="tc-btn-invisible tc-btn-mini">× <$link to={{!!title}}><$view field="title"/> +<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="tc-btn-invisible tc-btn-mini">× <$link to={{!!title}}><$view field="title"/> diff --git a/core/ui/SideBar/Recent.tid b/core/ui/SideBar/Recent.tid index 76b072a7c..19d09945d 100644 --- a/core/ui/SideBar/Recent.tid +++ b/core/ui/SideBar/Recent.tid @@ -2,4 +2,4 @@ title: $:/core/ui/SideBar/Recent tags: $:/tags/SideBar caption: {{$:/language/SideBar/Recent/Caption}} -{{$:/snippets/recentchanges}} +<$macrocall $name="timeline" format={{$:/language/RecentChanges/DateFormat}}/> diff --git a/core/ui/TopRightBar/menu.tid b/core/ui/TopRightBar/menu.tid index 4e3f71146..73929eee0 100644 --- a/core/ui/TopRightBar/menu.tid +++ b/core/ui/TopRightBar/menu.tid @@ -2,8 +2,8 @@ title: $:/core/ui/TopBar/menu tags: $:/tags/TopRightBar <$reveal state="$:/state/sidebar" type="nomatch" text="no"> -<$button set="$:/state/sidebar" setTo="no" title={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class="tc-btn-invisible">{{$:/core/images/chevron-right}} +<$button set="$:/state/sidebar" setTo="no" tooltip={{$:/language/Buttons/HideSideBar/Hint}} aria-label={{$:/language/Buttons/HideSideBar/Caption}} class="tc-btn-invisible">{{$:/core/images/chevron-right}} <$reveal state="$:/state/sidebar" type="match" text="no"> -<$button set="$:/state/sidebar" setTo="yes" title={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class="tc-btn-invisible">{{$:/core/images/chevron-left}} +<$button set="$:/state/sidebar" setTo="yes" tooltip={{$:/language/Buttons/ShowSideBar/Hint}} aria-label={{$:/language/Buttons/ShowSideBar/Caption}} class="tc-btn-invisible">{{$:/core/images/chevron-left}} diff --git a/core/ui/ViewTemplate/body.tid b/core/ui/ViewTemplate/body.tid index c0cd21e50..74aae5d6f 100644 --- a/core/ui/ViewTemplate/body.tid +++ b/core/ui/ViewTemplate/body.tid @@ -3,7 +3,7 @@ tags: $:/tags/ViewTemplate
-<$list filter="[all[current]!has[plugin-type]]"> +<$list filter="[all[current]!has[plugin-type]!field:hide-body[yes]]"> <$transclude> diff --git a/core/ui/ViewToolbar/clone.tid b/core/ui/ViewToolbar/clone.tid index 7d9b4bb8b..9c3f26a9a 100644 --- a/core/ui/ViewToolbar/clone.tid +++ b/core/ui/ViewToolbar/clone.tid @@ -3,7 +3,7 @@ tags: $:/tags/ViewToolbar caption: {{$:/core/images/clone-button}} {{$:/language/Buttons/Clone/Caption}} description: {{$:/language/Buttons/Clone/Hint}} -<$button message="tm-new-tiddler" param=<> title={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<>> +<$button message="tm-new-tiddler" param=<> tooltip={{$:/language/Buttons/Clone/Hint}} aria-label={{$:/language/Buttons/Clone/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/clone-button}} diff --git a/core/ui/ViewToolbar/close-others.tid b/core/ui/ViewToolbar/close-others.tid index b7b769253..2be44940b 100644 --- a/core/ui/ViewToolbar/close-others.tid +++ b/core/ui/ViewToolbar/close-others.tid @@ -3,7 +3,7 @@ tags: $:/tags/ViewToolbar caption: {{$:/core/images/close-others-button}} {{$:/language/Buttons/CloseOthers/Caption}} description: {{$:/language/Buttons/CloseOthers/Hint}} -<$button message="tm-close-other-tiddlers" param=<> title={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<>> +<$button message="tm-close-other-tiddlers" param=<> tooltip={{$:/language/Buttons/CloseOthers/Hint}} aria-label={{$:/language/Buttons/CloseOthers/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/close-others-button}} diff --git a/core/ui/ViewToolbar/close.tid b/core/ui/ViewToolbar/close.tid index 021101201..6a6ae1ff1 100644 --- a/core/ui/ViewToolbar/close.tid +++ b/core/ui/ViewToolbar/close.tid @@ -3,7 +3,7 @@ tags: $:/tags/ViewToolbar caption: {{$:/core/images/close-button}} {{$:/language/Buttons/Close/Caption}} description: {{$:/language/Buttons/Close/Hint}} -<$button message="tm-close-tiddler" title={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<>> +<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/close-button}} diff --git a/core/ui/ViewToolbar/edit.tid b/core/ui/ViewToolbar/edit.tid index 3622bd7d1..16b3bf185 100644 --- a/core/ui/ViewToolbar/edit.tid +++ b/core/ui/ViewToolbar/edit.tid @@ -3,7 +3,7 @@ tags: $:/tags/ViewToolbar caption: {{$:/core/images/edit-button}} {{$:/language/Buttons/Edit/Caption}} description: {{$:/language/Buttons/Edit/Hint}} -<$button message="tm-edit-tiddler" title={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<>> +<$button message="tm-edit-tiddler" tooltip={{$:/language/Buttons/Edit/Hint}} aria-label={{$:/language/Buttons/Edit/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/edit-button}} diff --git a/core/ui/ViewToolbar/info.tid b/core/ui/ViewToolbar/info.tid index 2d6083cf5..0dc861638 100644 --- a/core/ui/ViewToolbar/info.tid +++ b/core/ui/ViewToolbar/info.tid @@ -3,7 +3,7 @@ tags: $:/tags/ViewToolbar caption: {{$:/core/images/info-button}} {{$:/language/Buttons/Info/Caption}} description: {{$:/language/Buttons/Info/Hint}} -<$button popup=<> title={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<> selectedClass="tc-selected"> +<$button popup=<> tooltip={{$:/language/Buttons/Info/Hint}} aria-label={{$:/language/Buttons/Info/Caption}} class=<> selectedClass="tc-selected"> <$list filter="[prefix[yes]]"> {{$:/core/images/info-button}} diff --git a/core/ui/ViewToolbar/more-tiddler-actions.tid b/core/ui/ViewToolbar/more-tiddler-actions.tid index 7d8ef1990..b5c1ebc62 100644 --- a/core/ui/ViewToolbar/more-tiddler-actions.tid +++ b/core/ui/ViewToolbar/more-tiddler-actions.tid @@ -6,7 +6,7 @@ description: {{$:/language/Buttons/More/Hint}} \define config-title() $:/config/ViewToolbarButtons/Visibility/$(listItem)$ \end -<$button popup=<> title={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<> selectedClass="tc-selected"> +<$button popup=<> tooltip={{$:/language/Buttons/More/Hint}} aria-label={{$:/language/Buttons/More/Caption}} class=<> selectedClass="tc-selected"> <$list filter="[prefix[yes]]"> {{$:/core/images/down-arrow}} diff --git a/core/ui/ViewToolbar/permalink.tid b/core/ui/ViewToolbar/permalink.tid index 0a7a74b4f..0d13052f8 100644 --- a/core/ui/ViewToolbar/permalink.tid +++ b/core/ui/ViewToolbar/permalink.tid @@ -3,7 +3,7 @@ tags: $:/tags/ViewToolbar caption: {{$:/core/images/permalink-button}} {{$:/language/Buttons/Permalink/Caption}} description: {{$:/language/Buttons/Permalink/Hint}} -<$button message="tm-permalink" title={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<>> +<$button message="tm-permalink" tooltip={{$:/language/Buttons/Permalink/Hint}} aria-label={{$:/language/Buttons/Permalink/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/permalink-button}} diff --git a/core/ui/ViewToolbar/permaview.tid b/core/ui/ViewToolbar/permaview.tid index 319a9151c..a2b93de4d 100644 --- a/core/ui/ViewToolbar/permaview.tid +++ b/core/ui/ViewToolbar/permaview.tid @@ -3,7 +3,7 @@ tags: $:/tags/ViewToolbar $:/tags/PageControls caption: {{$:/core/images/permaview-button}} {{$:/language/Buttons/Permaview/Caption}} description: {{$:/language/Buttons/Permaview/Hint}} -<$button message="tm-permaview" title={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<>> +<$button message="tm-permaview" tooltip={{$:/language/Buttons/Permaview/Hint}} aria-label={{$:/language/Buttons/Permaview/Caption}} class=<>> <$list filter="[prefix[yes]]"> {{$:/core/images/permaview-button}} diff --git a/core/wiki/config/SaverFilter.tid b/core/wiki/config/SaverFilter.tid index b364b9c5c..a5059b24e 100644 --- a/core/wiki/config/SaverFilter.tid +++ b/core/wiki/config/SaverFilter.tid @@ -1,3 +1,3 @@ title: $:/config/SaverFilter -[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state]] -[prefix[$:/temp]] -[has[draft.of]] \ No newline at end of file +[all[]] -[[$:/HistoryList]] -[[$:/StoryList]] -[[$:/Import]] -[[$:/isEncrypted]] -[[$:/UploadName]] -[prefix[$:/state]] -[prefix[$:/temp]] \ No newline at end of file diff --git a/core/wiki/macros/list.tid b/core/wiki/macros/list.tid new file mode 100644 index 000000000..81835e575 --- /dev/null +++ b/core/wiki/macros/list.tid @@ -0,0 +1,14 @@ +title: $:/core/macros/list +tags: $:/tags/Macro + +\define list-unordered-links(filter) +
    +<$list filter="$filter$"> +
  • +<$link to={{!!title}}> +<$view field="title"/> + +
  • + +
+\end diff --git a/core/wiki/macros/timeline.tid b/core/wiki/macros/timeline.tid new file mode 100644 index 000000000..60481ba7a --- /dev/null +++ b/core/wiki/macros/timeline.tid @@ -0,0 +1,19 @@ +title: $:/core/macros/timeline +tags: $:/tags/Macro + +\define timeline(limit:"100",format:"DDth MMM YYYY") +
+<$list filter="[!is[system]has[modified]!sort[modified]limit[$limit$]eachday[modified]]"> +
+<$view field="modified" format="date" template="$format$"/> +<$list filter="[sameday{!!modified}!is[system]!sort[modified]]"> +
+<$link to={{!!title}}> +<$view field="title"/> + +
+ +
+ +
+\end diff --git a/core/wiki/macros/toc.tid b/core/wiki/macros/toc.tid index 6bfdae950..6d3ef402b 100644 --- a/core/wiki/macros/toc.tid +++ b/core/wiki/macros/toc.tid @@ -81,7 +81,7 @@ tags: $:/tags/Macro <$set name="toc-state" value=<>>
  • <$link> -<$list filter="[all[current]tagging[]limit[1]]" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}"> +<$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}"> <$reveal type="nomatch" state=<> text="open"> <$button set=<> setTo="open" class="tc-btn-invisible"> {{$:/core/images/right-arrow}} @@ -107,7 +107,7 @@ tags: $:/tags/Macro \define toc-unlinked-selective-expandable-body(tag,sort:"") <$set name="toc-state" value=<>>
  • -<$list filter="[all[current]tagging[]limit[1]]" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}"> +<$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}} <$view field='caption'><$view field='title'/>"> <$reveal type="nomatch" state=<> text="open"> <$button set=<> setTo="open" class="tc-btn-invisible"> {{$:/core/images/right-arrow}} @@ -135,7 +135,7 @@ tags: $:/tags/Macro \define toc-selective-expandable(tag,sort:"")
      <$list filter="[tag[$tag$]$sort$]"> -<$list filter="[is[current]toc-link[no]]" emptyMessage="<>"> +<$list filter="[is[current]toc-link[no]]" variable="ignore" emptyMessage="<>"> <> diff --git a/core/wiki/recentchanges.tid b/core/wiki/recentchanges.tid deleted file mode 100644 index a5b407004..000000000 --- a/core/wiki/recentchanges.tid +++ /dev/null @@ -1,14 +0,0 @@ -title: $:/snippets/recentchanges - -<$list filter="[!is[system]has[modified]!sort[modified]limit[100]eachday[modified]]"> -
      -<$view field="modified" format="date" template={{$:/language/RecentChanges/DateFormat}}/> -<$list filter="[sameday{!!modified}!is[system]!sort[modified]]"> -
      -<$link to={{!!title}}> -<$view field="title"/> - -
      - -
      - diff --git a/editions/de-AT-DE-server/tiddlers/system/favicon.ico b/editions/de-AT-DE-server/tiddlers/system/favicon.ico new file mode 100644 index 000000000..3765a9a88 Binary files /dev/null and b/editions/de-AT-DE-server/tiddlers/system/favicon.ico differ diff --git a/editions/de-AT-DE-server/tiddlers/system/favicon.ico.meta b/editions/de-AT-DE-server/tiddlers/system/favicon.ico.meta new file mode 100644 index 000000000..2f3e81713 --- /dev/null +++ b/editions/de-AT-DE-server/tiddlers/system/favicon.ico.meta @@ -0,0 +1,2 @@ +title: $:/favicon.ico +type: image/x-icon diff --git a/editions/de-AT-DE-server/tiddlywiki.info b/editions/de-AT-DE-server/tiddlywiki.info new file mode 100644 index 000000000..b2b432bb8 --- /dev/null +++ b/editions/de-AT-DE-server/tiddlywiki.info @@ -0,0 +1,16 @@ +{ + "plugins": [ + "tiddlywiki/tiddlyweb", + "tiddlywiki/filesystem" + ], + "themes": [ + "tiddlywiki/vanilla", + "tiddlywiki/snowwhite" + ], + "includeWikis": [ + "../de-AT-DE" + ], + "config": { + "default-tiddler-location": "../de-AT-DE/tiddlers" + } +} diff --git a/editions/de-AT-DE/tiddlers/TiddlyWiki Speichern.tid b/editions/de-AT-DE/tiddlers/TiddlyWiki Speichern.tid new file mode 100644 index 000000000..236c1a611 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/TiddlyWiki Speichern.tid @@ -0,0 +1,16 @@ +created: 20140909075632780 +creator: pmario +modified: 20140909081515599 +title: TiddlyWiki Speichern +type: text/vnd.tiddlywiki + +!! Ein leeres Dokument speichern + +|{{$:/editions/de-AT-DE/snippets/download-empty-button}}|Nur TiddlyWiki und die deutschen Sprachdateien für Deutschland und Österreich werden gespeichert. Die Standardeinstellung wird auf "de-DE" für Deuschland gestellt. Die Sprache kann mit dem ''[[Control Panel|$:/ControlPanel]]: Info - Tab'' geändert werden. | + +!! Dieses Dokument speichern +|{{$:/snippets/download-wiki-button}}|Dieses Tiddlywiki und alle enthaltenen Tiddler werden gespeichert. Die selbe Funktion kann über den {{$:/core/images/save-button}} ''speichern'' Button im rechten Menü ausgelöst werden. | + +---- + +Weitere Informationen zum Umgang mit ~TiddlyWiki und unterschiedlichen Browsern finden sie unter: ErsteSchritte diff --git a/editions/de-AT-DE/tiddlers/Willkommen.tid b/editions/de-AT-DE/tiddlers/Willkommen.tid new file mode 100644 index 000000000..949a881e9 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/Willkommen.tid @@ -0,0 +1,36 @@ +created: 20140908125600000 +creator: pmario +modified: 20140909092609228 +modifier: pmario +tags: InhaltsVerzeichnis Intro +title: Willkommen! +type: text/vnd.tiddlywiki + +~TiddlyWiki ist eine Web-Applikation, die sie frei herunterladen können. Sie können sie speichern, wo sie wollen: + +* Auf ihrem Laufwerk, +* USB-Wechselspeicher +* oder ihrem "Cloud Speicher" + +Sie sind der Herr über ihre Daten! + +Sie können ~TiddlyWiki verwenden um Ihre Notizen zu erstellen / organisieren / oder mit Freunden zu teilen, in einer Weise, die kein anderes Textverarbeitungsprogramm vermag. ~TiddlyWiki speichert ihre Texte in einer "nicht-linearen" Form, mit Hilfe von [[Tags]], [[Hyperlinks]] und vielen weiteren Möglichkeiten. So können sie Ihre Notizen strukturieren, in einer +Weise, die mehr dem entspricht, "wie wir denken", nicht in einem vom Entwickler vorgegebenen starren Korsett. + +Sie können TiddlyWiki als eine einzige Datei speichern, die sie mit dem Web-Browser, online oder offline, verwenden können. Für geübte Benutzer kann ~TiddlyWiki als [[Node.js Applikation|Node.js]] verwendet werden, die jeden [[Tiddler]] als einzelne Datei behandelt und dabei als zentrales Archiv fungiert. + +!!! Wie können sie ~TiddlyWiki nun für sich nutzen? + +* Im Anschluss sind einige Links aufgeführt, mit denen sie starten sollten, oder sie können jederzeit das InhaltsVerzeichnis verwenden. + +* Das ~InhaltsVerzeichnis kann auch über den Reiter "Inhalt" auf der rechten Seite aufgerufen werden. + +* ''Starten Sie jetzt mit "ErsteSchritte".'' Viel Spaß! + +!!! Weitere Links + +* ''ErsteSchritte'' +* [[TiddlyWiki Syntax]] +* [[Was kann TiddlyWiki]] +* [[TiddlyWiki Beispiele]] +* [[Was geschah mit dem alten TiddlyWiki?|Was geschah mit dem alten TiddlyWiki]] diff --git a/editions/de-AT-DE/tiddlers/howto/Installation von TiddlyWiki mit Node.js.tid b/editions/de-AT-DE/tiddlers/howto/Installation von TiddlyWiki mit Node.js.tid new file mode 100644 index 000000000..0b2b739a1 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Installation von TiddlyWiki mit Node.js.tid @@ -0,0 +1,9 @@ +created: 20140909115316467 +creator: pmario +modified: 20140910095059058 +modifier: pmario +tags: howto +title: Installation von TiddlyWiki mit Node.js +type: text/vnd.tiddlywiki + +Siehe: [ext[http://tiddlywiki.com/#GettingStarted - Node.js]] \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/howto/Installation.tid b/editions/de-AT-DE/tiddlers/howto/Installation.tid new file mode 100644 index 000000000..bd24ac140 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Installation.tid @@ -0,0 +1,15 @@ +created: 20131119194500000 +creator: pmario +modified: 20140910094919910 +modifier: pmario +tags: howto +title: Installation +type: text/vnd.tiddlywiki + +Herunterladen einer Datei Version: <> von ~TiddlyWiki: + +|{{$:/editions/de-AT-DE/snippets/download-empty-button}}|Get started with an empty wiki | +|{{$:/snippets/download-wiki-button}}|Download a full copy of this site, including all the documentation | + +Weitere Details finden sie unter: [[TiddlyWiki mit node.js]]. + diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern auf TiddlySpot.tid b/editions/de-AT-DE/tiddlers/howto/Speichern auf TiddlySpot.tid new file mode 100644 index 000000000..02ec051fa --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern auf TiddlySpot.tid @@ -0,0 +1,21 @@ +created: 20130825213500000 +creator: pmario +modified: 20140909202145674 +tags: howto +title: Speichern auf TiddlySpot +type: text/vnd.tiddlywiki + +TiddlySpot ist ein freier Hosting Service von Simon und Daniel Baird. Es ist beinahe genau so lange in Betrieb wie es TiddlyWiki gibt. + +~TiddlyWiki5 wird momentan noch nicht als Standard Wiki angeboten, sie können aber folgende Schritte verwenden um ~TiddlyWiki auf ~TiddlySpot zu speichern. + +# Erstellen sie ein Wiki auf http://tiddlyspot.com/ und merken sie sich den Namen und ihr Passwort! +# Öffnen sie http://tiddlywiki.com/empty.html in ihrem Browser. TODO deutsche version +# Wählen sie im [[Control Panel|$:/ControlPanel]], den "Speichern" Tab und trage sie im "~TiddlySpot" Bereich, den Wiki Namen und das Passwort ein. +# Klicken sie den "Speichern" button. Nach einiger Zeit, bekommen sie rechts oben die Mitteilung "Wiki gespeichert". Das Speichern kann je nach Internetverbindung und Wiki Größe einige Sekunden dauern. +#* //Das Erstellen eines neuen Wikis funktioniert nicht mit Firefox, da die Sicherheitseinstellungen diese Vorgehensweise nicht erlauben. Google Chrome kann verwendet werden. Ein späteres editieren von tiddlyspot.com ist auch mit Firefox möglich!// +# Gehen sie nun zu ihrem Wiki: ~http://{wikiname}.tiddlyspot.com/ +# Beim ersten Besuch müssen sie eventuell den Wiki-Namen und das Passwort neu eingeben. +# Sie sollten jetzt eine Kopie ihres Wikis sehen. Sie können nun Änderungen vornehmen und mit "Speichern" direkt in "die Cloud" speichern. +# Die ~TiddlySpot Verwaltungs-Seite ist unter: ~http://{wikiname}.tiddlyspot.com/controlpanel zu finden. + diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern mit Android.tid b/editions/de-AT-DE/tiddlers/howto/Speichern mit Android.tid new file mode 100644 index 000000000..f49760127 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern mit Android.tid @@ -0,0 +1,16 @@ +created: 20130825161400000 +creator: pmario +modified: 20140909112823685 +tags: howto +title: Speichern mit Android +type: text/vnd.tiddlywiki + +!!! Android App +Die ''AndTidWiki'' App für Android macht es möglich, dass ~TiddlyWiki Änderungen direkt, lokal speichern kann. + +[[AndTidWik finden sie hier im google "App-Store"|https://play.google.com/store/apps/details?id=de.mgsimon.android.andtidwiki]]. + +//HINWEIS: AndTidWiki steht in keiner Beziehung zu TiddlyWiki// + +!!! ~TiddlyFox für Android +Siehe: [[Speichern mit TiddlyFox - Android]] \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern mit Chrome.tid b/editions/de-AT-DE/tiddlers/howto/Speichern mit Chrome.tid new file mode 100644 index 000000000..d34ca644c --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern mit Chrome.tid @@ -0,0 +1,24 @@ +created: 20131129092604900 +creator: pmario +modified: 20140909085517511 +tags: howto +title: Speichern mit Chrome +type: text/vnd.tiddlywiki + +Diese Methode ist etwas umständlich, da man Einstellungen immer wieder manuell vornehmen muss. Der Vorteil ist, dass diese Methode jedoch mit fast allen Desktop und vielen mobilen Browsern funktioniert. + +# Speichern sie eine leere Datei der deutschen Version. +#> {{$:/editions/de-AT-DE/snippets/download-empty-button}} +#> Wenn der Button nicht funktioniert, dann klicken sie den link mit der rechten Maustaste und wählen: "Ziel Speichern unter ..." http://tiddlywiki.com/empty.html ... TODO (de-AT-DE-empty.html) +#> Je nach Browser folgen sie den Dialogen! +# Suchen sie die eben geladene Datei im Datei Manager. +#* Geben sie der Datei einen vernünftigen Namen und stellen sie sicher, dass die Endung `.html` oder `.htm` ist. +# Öffnen sie die Datei mit ihrem Browser. +# Erstellen sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. +# Geben sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''. +# Speichern sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü +# Der Browser wird nun eine neue Datei laden, die die Änderungen enthält. +# Suchen sie die eben geladene Datei im Datei Manager. +# Überprüfen sie, ob die Änderungen richtig gespeichert wurden. + +''Tip'': Die meisten Browser haben eine Einstellung, dass der "Datei Speichern" Dialog immer angezeigt wird. Das ermöglicht ihnen, die bestehenden Datei auszuwählen und zu überschreiben. diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern mit Safari.tid b/editions/de-AT-DE/tiddlers/howto/Speichern mit Safari.tid new file mode 100644 index 000000000..4fd5c8a34 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern mit Safari.tid @@ -0,0 +1,25 @@ +created: 20140811171304926 +creator: pmario +modified: 20140909111713240 +tags: howto +title: Speichern mit Safari +type: text/vnd.tiddlywiki + +This method of saving changes is clunky because it requires manual intervention for each save. + +# Speichern sie eine leere Datei der deutschen Version. +#> {{$:/editions/de-AT-DE/snippets/download-empty-button}} +#> Ihr Browser kann eventuell nachfragen, ob die Datei gespeichert werden soll. +# Suchen sie die eben geladene Datei im Datei Manager. +#* Geben sie der Datei einen vernünftigen Namen und stellen sie sicher, dass die Endung `.html` oder `.htm` ist. +# Öffnen sie die Datei mit ihrem Browser. +# Erstellen sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. +# Geben sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''. +# Speichern sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü +# Ein "popup" mit "Änderungen speichern" wird angezeigt. Es enthält einen Link mit der Information //Rechts klicken um zu speichern// +# Klicken sie den Link mit der rechten Maustaste und wählen: "Ziel Speichern unter ..." +# Wählen sie das Verzeichnis, und selektieren sie die existierende Datei. +# Klicken sie den "Speichern" button. +# Klicken sie "Ersetzen" um das Überschreiben zu erlauben. +# Laden sie das Browser Fenster neu. +# Überprüfen sie, ob die Änderungen richtig gespeichert wurden. diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyFox - Android.tid b/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyFox - Android.tid new file mode 100644 index 000000000..1e481580b --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyFox - Android.tid @@ -0,0 +1,26 @@ +created: 20140103134551508 +creator: pmario +modified: 20140909114443891 +tags: howto +title: Speichern mit TiddlyFox - Android +type: text/vnd.tiddlywiki + +Alternativ zu dieser Beschreibung gibt es ein kurzes [[englisches Video |TiddlyWiki mit Firefox für Android Video]]) + +# Stellen sie sicher dass sie eine aktuelle Version von [[Firefox für Android|http://getfirefox.com]] haben. +# Installieren sie die aktuelle Version der TiddlyFox Erweiterung von: +#* https://addons.mozilla.org/en-US/firefox/addon/tiddlyfox/ +# Installieren sie eine zweite Erweiterung, die es erlaubt Links lokal zu speichern: +#* https://addons.mozilla.org/en-US/android/addon/save-link-menus/ +# Laden sie eine leere TiddlyWiki Datei indem sie den folgenden Link "tippen und halten" bis ein Dialog erscheint +#* Tippen sie: "Link Speichern.." +#* http://tiddlywiki.com/empty.html +#> Um den Link zu speichern benötigen sie obige "save-link-menus" Erweiterung! +# Wenn die Datei gespeichert wurde, dann klicken sie sie in der Meldungsübersicht, oder mit dem "Download Manager" +# Wählen sie öffnen mit FireFox anstatt mit dem Standard Android Programm. +# Clicken Sie "OK", wenn sie gefragt werden, ob TiddlyFox das Speichern erlaubt werden soll. +# Erstellen sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. +# Geben sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''. +# Speichern sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü +#* Rechts oben sollte eine gelbe Meldung: "Wiki gespeichert!" angezeigt werden. +# Laden sie die Seite neu und überprüfen sie, ob die Daten richtig gespeichert wurden. diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyFox.tid b/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyFox.tid new file mode 100644 index 000000000..0e0025ae5 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyFox.tid @@ -0,0 +1,26 @@ +created: 20131221085742684 +creator: pmario +modified: 20140909085330922 +modifier: pmario +tags: howto TiddlyFox +title: Speichern mit TiddlyFox +type: text/vnd.tiddlywiki + +Wenn sie "Firefox for Android" verwenden, dann beachten sie: [[Speichern mit TiddlyFox - Android]]. + +# Stellen sie sicher, dass sie die [[aktuelle Version von Firefox|http://getfirefox.com]] verwenden. +# Installieren sie die aktuelle TiddlyFox Erweiterung von: https://addons.mozilla.org/en-US/firefox/addon/tiddlyfox/ +# Firefox neu starten! +# Speichern sie eine leere Datei der deutschen Version. +#> {{$:/editions/de-AT-DE/snippets/download-empty-button}} +# Suchen sie die eben geladene Datei im Datei Manager. +#* Geben sie der Datei einen vernünftigen Namen aber stellen sie sicher, dass die Endung `.html` oder `.htm` ist. +# Öffnen sie die Datei mit Firefox. +# Beim öffnen der Datei erscheint ein Dialog, mit der Frage ob der direkte Dateizugriff für TiddlyFox erlaubt werden soll. +#* ''Klicken sie hier unbedingt "OK" '': +# Erstellen sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. +# Geben sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''. +# Speichern sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü +# Rechts oben sollte ein gelber Nachrichten-Dialog mit "Wiki gespeichert!" auftauchen. +#* Ist dies nicht der Fall, dann überprüfen sie, ob TiddlyFox im Firefox: ~AddOn Menü richtig geladen wurde. +# Laden sie die Seite neu, um zu überprüfen, ob die Datei korrekt gespeichert wurde. diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyIE.tid b/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyIE.tid new file mode 100644 index 000000000..493acedd6 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern mit TiddlyIE.tid @@ -0,0 +1,20 @@ +created: 20131211220000000 +creator: pmario +modified: 20140909090900579 +tags: howto +title: Speichern mit TiddlyIE +type: text/vnd.tiddlywiki + +# Installieren sie TiddlyIE AddOn von: +#* https://github.com/davidjade/TiddlyIE/releases +# Starten sie Internet Explorer neu. IE wird beim Start einen Dialog anzeigen, mit dem sie das AddOn freischalten können. +#> Es ist möglich, dass sie aufgefordert werden das //Microsoft Script Runtime// zu erlauben. Tun sie das! +# Klicken sie den folgenden Link mit der rechten Maustaste und wählen: "Ziel Speichern unter ..." +#> http://tiddlywiki.com/empty.html ... TODO (de-AT-DE-empty.html) +# Suchen sie die eben geladene Datei im Datei Manager. +#* Geben sie der Datei einen vernünftigen Namen und stellen sie sicher, dass die Endung `.html` oder `.htm` ist. +# Öffnen sie die Datei mit dem Internet Explorer +# Erstellen sie einen neuen Tiddler mit dem {{$:/core/images/new-button}} ''plus'' im rechten Menü. +# Geben sie den Text ein und bestätigen die Eingabe mit dem {{$:/core/images/done-button}} ''OK''. +# Speichern sie die Änderungen mit: {{$:/core/images/save-button}} ''speichern'' im rechten Menü. IE wird einen "Speichern Unter.." Dialog öffnen. Folgen sie den Dialogen! +# Laden sie die Seite neu, um sicher zu stellen, dass die Daten richtig gespeichert wurden. diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern mit Verschlusselung.tid b/editions/de-AT-DE/tiddlers/howto/Speichern mit Verschlusselung.tid new file mode 100644 index 000000000..a926c48b6 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern mit Verschlusselung.tid @@ -0,0 +1,21 @@ +created: 20130825160900000 +creator: pmario +modified: 20140909195214299 +tags: howto +title: Speichern mit Verschlüsselung +type: text/vnd.tiddlywiki + +Wenn ~TiddlyWiki als einzelne HTML Datei verwendet wird, dann kann der Inhalt mit der [[Stanford JavaScript Crypto Library]] +verschlüsselt werden. + +''Vorgehensweise'' + +# Im rechten Menü wählen sie den "Tools" Reiter. Dort sehen sie einen Button "aktiviere Password" +# Wenn sie den Button klicken, dann erscheint ein Password Dialog. +# Geben sie ein Passwort ein und klicken sie den Button "Set Password" +# Der Button wechselt nun den Text auf: "Password löschen". +#* Wichtig: Die Verschlüsselung wird erst beim Speichern des Wikis aktiv. +#* ''ACHTUNG'': Wenn sie das Passwort vergessen, dann sind die Daten weg. Es gibt keine Hintertüre. +# Speichern sie das Wiki. +# Sie können zur Kontrolle die gespeicherte Datei mit einem Text Editor öffnen. +# Wenn sie ein Verschlüsseltes Wiki öffnen, dann wird der Password Dialog angezeigt. diff --git a/editions/de-AT-DE/tiddlers/howto/Speichern mit iPad_iPhone.tid b/editions/de-AT-DE/tiddlers/howto/Speichern mit iPad_iPhone.tid new file mode 100644 index 000000000..24d2cf2c6 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Speichern mit iPad_iPhone.tid @@ -0,0 +1,24 @@ +created: 20131129101027725 +creator: pmario +modified: 20140909103924542 +tags: howto +title: Speichern mit iPad/iPhone +type: text/vnd.tiddlywiki + +Für das iPad/iPhone gibt es eine kostengünstige Applikation: ''TWEdit'', die es ermöglicht, mit ~TiddlyWiki "online" und "offline" zu arbeiten. + +Verwendung von TWEdit: + +# [[Holen sie sich TWEdit im Apple Store|https://itunes.apple.com/gb/app/twedit/id409607956?mt=8]]. +# Öffnen sie TWEdit. +# Tippen sie den Titel in der Mitte des "Toolbars". +#* Eine Text Box sollte sich öffnen, in der sie die URL eingeben können. +# Verwenden sie URL `http://tiddlywiki.com/empty.html` TODO german version +# Wenn die leere Version geladen wurde, dann tippen sie "save" (Das zweite "icon" oben rechts) +#* Ein Hinweis Dialog sollte erscheinen, wo sie den lokalen Namen eingeben können. +# Geben sie den neuen Dateinamen ein. Die Endung `.html` nicht vergessen! +# Bearbeitens sie ihr ~TiddlyWiki wie gewohnt. +# Um Änderungen zu speichern, tippen sie wieder den ''save'' button. +#* Eine Bestätigungs Information sollte oben rechts auftauchen. + +//HINWEIS: TWEdit steht in keiner Beziehung zu TiddlyWiki// \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/howto/TiddlyWiki mit Node.js.tid b/editions/de-AT-DE/tiddlers/howto/TiddlyWiki mit Node.js.tid new file mode 100644 index 000000000..02afc0509 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/TiddlyWiki mit Node.js.tid @@ -0,0 +1,9 @@ +created: 20140908144020397 +creator: pmario +modified: 20140910094940277 +modifier: pmario +tags: howto +title: TiddlyWiki mit Node.js +type: text/vnd.tiddlywiki + +siehe: http://tiddlywiki.com/#TiddlyWiki%20on%20Node.js \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/howto/TiddlyWiki und TiddlyDesktop.tid b/editions/de-AT-DE/tiddlers/howto/TiddlyWiki und TiddlyDesktop.tid new file mode 100644 index 000000000..31a631fbd --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/TiddlyWiki und TiddlyDesktop.tid @@ -0,0 +1,19 @@ +created: 20140126125532723 +creator: pmario +modified: 20140909213928451 +tags: howto +title: TiddlyWiki und TiddlyDesktop +type: text/vnd.tiddlywiki + +TiddlyDesktop ist eine Programm für Windows, Mac OS X und Linux, mit der sie TiddlyWiki Dateien bearbeiten können. + +# Installieren sie die aktuelle ~TiddlyDesktop Version von: from https://github.com/Jermolene/TiddlyDesktop/releases +# Starten sie TiddlyDesktop +# Verwenden sie den "browse button" um TiddlyWiki Datein zu öffnen. +# Speicher der Änderungen funktioniert wie gewohnt. + +----- + +Ein kurzes, englisches Einführungs-Video zu TiddlyDesktop: + + diff --git a/editions/de-AT-DE/tiddlers/howto/Windows HTA Hack.tid b/editions/de-AT-DE/tiddlers/howto/Windows HTA Hack.tid new file mode 100644 index 000000000..033c1b8cb --- /dev/null +++ b/editions/de-AT-DE/tiddlers/howto/Windows HTA Hack.tid @@ -0,0 +1,14 @@ +created: 20131212223146250 +creator: pmario +modified: 20140909102435058 +tags: howto +title: Windows HTA Hack +type: text/vnd.tiddlywiki + +Unter Windows ist es möglich ein TiddlyWiki in einen "logische" Applikation zu verwandeln, indem man die Datei Endung von `.html` nach `.hta` ändert. ~TiddlyWiki kann dann direkt gespeichert werden. + +Achtung! +Der Nachteil dieser Änderung ist, dass die Datei im UTF-16 format gespeichert wird, was sie ungefähr doppelt so groß macht. +TW wird standardmäßig im UTF-8 Format gespeichert. Wird die Datei wieder mit einer TW spezifischen Methode gespeichert, dann wird sie wieder kleiner. + +Siehe Wikipedia (englisch): http://en.wikipedia.org/wiki/HTML_Application diff --git a/editions/de-AT-DE/tiddlers/icon/AT-DE-CH-favicon.png b/editions/de-AT-DE/tiddlers/icon/AT-DE-CH-favicon.png new file mode 100644 index 000000000..62d04831f Binary files /dev/null and b/editions/de-AT-DE/tiddlers/icon/AT-DE-CH-favicon.png differ diff --git a/editions/de-AT-DE/tiddlers/icon/AT-DE-CH-favicon.png.meta b/editions/de-AT-DE/tiddlers/icon/AT-DE-CH-favicon.png.meta new file mode 100644 index 000000000..2f3e81713 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/icon/AT-DE-CH-favicon.png.meta @@ -0,0 +1,2 @@ +title: $:/favicon.ico +type: image/x-icon diff --git a/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Android.tid b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Android.tid new file mode 100644 index 000000000..503925a4b --- /dev/null +++ b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Android.tid @@ -0,0 +1,10 @@ +caption: Android +created: 20140811171036268 +creator: pmario +modified: 20140909111916054 +modifier: pmario +tags: Einführung Intro +title: ErsteSchritte - Android +type: text/vnd.tiddlywiki + +{{Speichern mit Android}} diff --git a/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Chrome.tid b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Chrome.tid new file mode 100644 index 000000000..fdb4822a7 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Chrome.tid @@ -0,0 +1,12 @@ +caption: Chrome +created: 20140811165935523 +creator: pmario +modified: 20140909083842841 +modifier: pmario +tags: Einführung Intro +title: ErsteSchritte - Chrome +type: text/vnd.tiddlywiki + +TiddlyWiki mit Google Chrome kann nur über den Browser eigenen "Speichern Dialog" gespeichert werden. + +{{Speichern mit Chrome}} diff --git a/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Firefox.tid b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Firefox.tid new file mode 100644 index 000000000..3cb87c177 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Firefox.tid @@ -0,0 +1,12 @@ +caption: Firefox +created: 20140811170425199 +creator: pmario +modified: 20140909082312134 +modifier: pmario +tags: Einführung Intro +title: ErsteSchritte - Firefox +type: text/vnd.tiddlywiki + +Firefox bietet momentan die beste Unterstützung für ~TiddlyWiki mit der TiddlyFox Browser Erweiterung. + +{{Speichern mit TiddlyFox}} diff --git a/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Internet Explorer.tid b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Internet Explorer.tid new file mode 100644 index 000000000..400c1a0ca --- /dev/null +++ b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Internet Explorer.tid @@ -0,0 +1,12 @@ +caption: Internet Explorer +created: 20140811172058274 +creator: pmario +modified: 20140909085902953 +modifier: pmario +tags: Einführung Intro +title: ErsteSchritte - Internet Explorer +type: text/vnd.tiddlywiki + +{{Speichern mit TiddlyIE}} + +Der [[Windows HTA Hack]] beschreibt eine alternative Methode um TiddlyWiki mit dem IE zu verwenden. \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Node.js.tid b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Node.js.tid new file mode 100644 index 000000000..f56e9d0ff --- /dev/null +++ b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Node.js.tid @@ -0,0 +1,10 @@ +caption: Node.js +created: 20140811172010003 +creator: pmario +modified: 20140909115308505 +modifier: pmario +tags: Einführung Intro +title: ErsteSchritte - Node.js +type: text/vnd.tiddlywiki + +{{Installation von TiddlyWiki mit Node.js}} diff --git a/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Safari.tid b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Safari.tid new file mode 100644 index 000000000..48022c1e0 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - Safari.tid @@ -0,0 +1,13 @@ +caption: Safari +created: 20140811171121022 +creator: pmario +modified: 20140909110810804 +modifier: pmario +tags: Einführung Intro +title: ErsteSchritte - Safari +type: text/vnd.tiddlywiki + +Safari kann ~TiddlyWiki nur mit der HTML5-kompatiblen Methode speichern. + +{{Speichern mit Safari}} + diff --git a/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - iOS.tid b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - iOS.tid new file mode 100644 index 000000000..71c3e8d59 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte - iOS.tid @@ -0,0 +1,10 @@ +caption: iPad/iPhone +created: 20140811170918707 +creator: pmario +modified: 20140909102633587 +modifier: pmario +tags: Einführung Intro +title: ErsteSchritte - iOS +type: text/vnd.tiddlywiki + +{{Speichern mit iPad/iPhone}} diff --git a/editions/de-AT-DE/tiddlers/intro/ErsteSchritte.tid b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte.tid new file mode 100644 index 000000000..d59e5c16d --- /dev/null +++ b/editions/de-AT-DE/tiddlers/intro/ErsteSchritte.tid @@ -0,0 +1,21 @@ +created: 20140908135232028 +creator: pmario +modified: 20140910063214798 +modifier: pmario +tags: Einführung Intro +title: ErsteSchritte +type: text/vnd.tiddlywiki + +\define default-platform() +ErsteSchritte - $(browser-name)$ +\end +<$set name="browser-name" value={{$:/info/browser/name}}> +<$macrocall $name="tabs" state="$:/state/tabs/platform" tabsList="[prefix[ErsteSchritte - ]]" default=<> class="tc-vertical"/> + + +!!! Weitere Links: + +* [[Speichern mit Verschlüsselung]]: ~TiddlyWiki kann verschlüsselt gespeichert werden. Wichtig: Vergessen sie das Passwort nicht! +* [[Speichern auf TiddlySpot]]: TiddlySpot ist ein freier Service, mit dem sie Ihr Wiki online stellen können. +* [[TiddlyWiki und TiddlyDesktop]]: TiddlyDesktop ist eine "echte" Applikation mit der sie mehrere Wikis verwalten und speichern können. +* Running [[TiddlyWiki on node-webkit]], turning a single TiddlyWiki into a native application on your desktop diff --git a/editions/de-AT-DE/tiddlers/lexikon/AddOn.tid b/editions/de-AT-DE/tiddlers/lexikon/AddOn.tid new file mode 100644 index 000000000..54d224783 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/AddOn.tid @@ -0,0 +1,7 @@ +created: 20140909202240050 +modified: 20140909202320316 +tags: Lexikon +title: AddOn +type: text/vnd.tiddlywiki + +Als AddOn wird zB: eine Firefox Erweiterung bezeichnet. Siehe auch TiddlyFox. \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/AndTidWiki.tid b/editions/de-AT-DE/tiddlers/lexikon/AndTidWiki.tid new file mode 100644 index 000000000..4b617dd3e --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/AndTidWiki.tid @@ -0,0 +1,7 @@ +created: 20140909112410178 +modified: 20140909112426943 +tags: Lexikon +title: AndTidWiki +type: text/vnd.tiddlywiki + +Siehe: [[Speichern mit Android]] \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/GitHub.tid b/editions/de-AT-DE/tiddlers/lexikon/GitHub.tid new file mode 100644 index 000000000..a697f1db1 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/GitHub.tid @@ -0,0 +1,8 @@ +created: 20140909202412006 +creator: pmario +modified: 20140909202840571 +tags: Lexikon +title: GitHub +type: text/vnd.tiddlywiki + +GitHub ist eine, für "Open Source" Projekte, kostenlose Plattform, die es erlaubt gemeinsam an einem Projekt zu arbeiten und zu kommunizieren. Siehe http://github.com \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/Hyperlinks.tid b/editions/de-AT-DE/tiddlers/lexikon/Hyperlinks.tid new file mode 100644 index 000000000..0fb0b0027 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/Hyperlinks.tid @@ -0,0 +1,12 @@ +created: 20140908131026578 +creator: pmario +modified: 20140908131245219 +modifier: pmario +tags: Lexikon +title: Hyperlinks +type: text/vnd.tiddlywiki + +Als Hyperlinks werden Verknüpfungen bezeichnet, die zu anderen Tiddlern oder externen Seiten führen, und diese öffnen. + +* Tiddler werden direkt in TiddlyWiki geöffnet. +* Externe Seiten, laden je nach Browser Einstellung einen neuen Tab oder ein neue Seite im selben Tab. diff --git a/editions/de-AT-DE/tiddlers/lexikon/JeremyRuston.tid b/editions/de-AT-DE/tiddlers/lexikon/JeremyRuston.tid new file mode 100644 index 000000000..f4708ea10 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/JeremyRuston.tid @@ -0,0 +1,15 @@ +created: 20140908133508858 +creator: pmario +modified: 20140908133746947 +modifier: pmario +tags: Lexikon +title: JeremyRuston +type: text/vnd.tiddlywiki + +Zitat von [[tiddlywiki.com|http://tiddlywiki.com/#JeremyRuston]] + +<<< +I'm the inventor of ~TiddlyWiki. I am available through my company ''~FederatialLimited'' for consultancy and speaking engagements. +<<< + +Dort können sie mehr erfahren! diff --git a/editions/de-AT-DE/tiddlers/lexikon/Node.js.tid b/editions/de-AT-DE/tiddlers/lexikon/Node.js.tid new file mode 100644 index 000000000..5307d4cc0 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/Node.js.tid @@ -0,0 +1,9 @@ +created: 20140908134245442 +creator: pmario +modified: 20140908134252042 +modifier: pmario +tags: Lexikon +title: Node.js +type: text/vnd.tiddlywiki + +Siehe: http://tiddlywiki.com/#Node.js \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/Stanford JavaScript Crypto Library.tid b/editions/de-AT-DE/tiddlers/lexikon/Stanford JavaScript Crypto Library.tid new file mode 100644 index 000000000..4e3aaa272 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/Stanford JavaScript Crypto Library.tid @@ -0,0 +1,8 @@ +created: 20140909193809827 +creator: pmario +modified: 20140909193913300 +tags: Lexikon +title: Stanford JavaScript Crypto Library +type: text/vnd.tiddlywiki + +Siehe: http://crypto.stanford.edu/sjcl/ \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/Tags.tid b/editions/de-AT-DE/tiddlers/lexikon/Tags.tid new file mode 100644 index 000000000..4def32a5c --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/Tags.tid @@ -0,0 +1,11 @@ +created: 20140908130640417 +creator: pmario +modified: 20140908131007409 +modifier: pmario +tags: Lexikon +title: Tags +type: text/vnd.tiddlywiki + +Als Tags werden Markierungen bezeichnet, die verwendet werden können um einzeln Tiddler zu filtern. + +Zum Beispiel ist dieser Tiddler mit ''Lexikon'' getaggt. \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/Tiddler.tid b/editions/de-AT-DE/tiddlers/lexikon/Tiddler.tid new file mode 100644 index 000000000..9da65a1a6 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/Tiddler.tid @@ -0,0 +1,20 @@ +created: 20140908131438258 +creator: pmario +modified: 20140908132640301 +modifier: pmario +title: Tiddler +type: text/vnd.tiddlywiki + +''Für Benutzer:'' + +In ~TiddlyWiki ist ein Tiddler die ''kleinste Informations Einheit''. + +Andere Systeme verwenden dafür mehr prosaische Namen, wie: Element, Eintrag, Item oder auch Record. + +Die Bezeichnung Tiddler mag etwas verwirrend sein, ist aber verwirrend ''unverkennbar'' :) + +''Für Entwickler:'' + +Intern ist ein tiddler ein Verzeichnis von unveränderbaren "name:value" Paaren, die als "fields" (Felder) bezeichnet werden. Das einzige Feld, das vorhanden sein ''muss'' ist das "text" Feld. + +Weitere Informationen finden sie unter: http://tiddlywiki.com/#TiddlerFields \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/TiddlyDesktop.tid b/editions/de-AT-DE/tiddlers/lexikon/TiddlyDesktop.tid new file mode 100644 index 000000000..01d870c4d --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/TiddlyDesktop.tid @@ -0,0 +1,9 @@ +created: 20140909213219275 +creator: pmario +modified: 20140909213318182 +tags: Lexikon +title: TiddlyDesktop +type: text/vnd.tiddlywiki + +TiddlyDesktop ist eine Applikation für Windows, Mac OS X und Linux, mit der sie TiddlyWiki Dateien bearbeiten können. +Siehe auch: [[TiddlyWiki und TiddlyDesktop]] \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/TiddlyFox.tid b/editions/de-AT-DE/tiddlers/lexikon/TiddlyFox.tid new file mode 100644 index 000000000..c137f2abf --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/TiddlyFox.tid @@ -0,0 +1,24 @@ +created: 20130825161100000 +creator: pmario +modified: 20140909073807763 +modifier: pmario +tags: Lexikon +title: TiddlyFox +type: text/vnd.tiddlywiki + +~TiddlyFox ist eine Firefox Erweiterung, die es ihnen erlaubt, dass TiddlyWiki direkt auf ihr Laufwerk speichern kann. ~TiddlyFox funktioniert mit der Desktop- und Smartphone-version von Firefox. + +~TiddlyFox können sie von der Mozilla AddOn Seite direkt installieren: + +* https://addons.mozilla.org/en-US/firefox/addon/tiddlyfox/ + +Siehe auch: +TODO!! `<>` + + +<<< +Die Entwickler Version von ~TiddlyFox finden sie auf GitHub: + +* https://github.com/TiddlyWiki/TiddlyFox/raw/master/tiddlyfox.xpi + +<<< diff --git a/editions/de-AT-DE/tiddlers/lexikon/TiddlyIE.tid b/editions/de-AT-DE/tiddlers/lexikon/TiddlyIE.tid new file mode 100644 index 000000000..a4f20bc9e --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/TiddlyIE.tid @@ -0,0 +1,10 @@ +created: 20131211220000000 +creator: pmario +modified: 20140909090115984 +tags: Lexikon +title: TiddlyIE +type: text/vnd.tiddlywiki + +TiddlyIE ist eine Internet Explorer Erweiterung, die es wie TiddlyFox erlaubt, ~TiddlyWiki direkt zu speichern. ~TiddlyIE funktioniert mit der Desktop Version von Internet Explorer. + +See [[Speichern mit TiddlyIE]]. \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/TiddlySpot.tid b/editions/de-AT-DE/tiddlers/lexikon/TiddlySpot.tid new file mode 100644 index 000000000..3ca8123eb --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/TiddlySpot.tid @@ -0,0 +1,10 @@ +created: 20140909195907098 +creator: pmario +modified: 20140909195930577 +tags: Lexikon +title: TiddlySpot +type: text/vnd.tiddlywiki + +TiddlySpot ist ein freier Hosting Service von Simon und Daniel Baird. Es ist beinahe genau so lange in Betrieb wie es TiddlyWiki gibt. + +Siehe: http://tiddlyspot.com \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/TiddlyWiki.tid b/editions/de-AT-DE/tiddlers/lexikon/TiddlyWiki.tid new file mode 100644 index 000000000..9afec77a0 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/TiddlyWiki.tid @@ -0,0 +1,13 @@ +created: 20140908132950428 +creator: pmario +modified: 20140908133844484 +modifier: pmario +tags: Lexikon +title: TiddlyWiki +type: text/vnd.tiddlywiki + +~TiddlyWiki ist eine Wiki-Software, die komplett ohne Server auskommt - die gesamte Programmlogik befindet sich als ~JavaScript-Programm in der HTML-Seite (schauen Sie ruhig einmal in den Quelltext dieser Seite). + +~TiddlyWiki wird um ein Team von JeremyRuston entwickelt und gepflegt. Das Team ist organisiert unter der Organisation UnaMesa, einer Non-Profit-Organisation zur Entwicklung und Pflege von elektronischen Lernsystemen. + +Nähere Informationen und auch die jeweils aktuellste Fassung von ~TiddlyWiki finden Sie unter http://www.tiddlywiki.com/. \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/lexikon/UnaMesa.tid b/editions/de-AT-DE/tiddlers/lexikon/UnaMesa.tid new file mode 100644 index 000000000..2f1d92a51 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/lexikon/UnaMesa.tid @@ -0,0 +1,9 @@ +created: 20140908133320734 +creator: pmario +modified: 20140908133356893 +modifier: pmario +tags: Lexikon +title: UnaMesa +type: text/vnd.tiddlywiki + +[[UnaMesa|http://www.unamesa.org/]] ist eine Non-Profit-Organisation zur Entwicklung und Pflege von elektronischen Lernsystemen. \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/system/$__DefaultTiddlers.tid b/editions/de-AT-DE/tiddlers/system/$__DefaultTiddlers.tid new file mode 100644 index 000000000..b20a60b78 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/system/$__DefaultTiddlers.tid @@ -0,0 +1,8 @@ +created: 20140908125056269 +creator: pmario +modified: 20140908125105246 +modifier: pmario +title: $:/DefaultTiddlers +type: text/vnd.tiddlywiki + +Willkommen! diff --git a/editions/de-AT-DE/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_home.tid b/editions/de-AT-DE/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_home.tid new file mode 100644 index 000000000..d489e11f9 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_home.tid @@ -0,0 +1,6 @@ +created: 20140909085347212 +modified: 20140909085346177 +title: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/home +type: text/vnd.tiddlywiki + +show \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_language.tid b/editions/de-AT-DE/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_language.tid new file mode 100644 index 000000000..c81b941f1 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/system/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_language.tid @@ -0,0 +1,7 @@ +created: 20140909193620416 +modified: 20140912115601698 +modifier: pmario +title: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/language +type: text/vnd.tiddlywiki + +show \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/system/$__editions_de-AT-DE_download-empty.tid b/editions/de-AT-DE/tiddlers/system/$__editions_de-AT-DE_download-empty.tid new file mode 100644 index 000000000..789bb4b3a --- /dev/null +++ b/editions/de-AT-DE/tiddlers/system/$__editions_de-AT-DE_download-empty.tid @@ -0,0 +1,12 @@ +created: 20140909074606881 +modified: 20140909075251840 +title: $:/editions/de-AT-DE/download-empty +type: text/vnd.tiddlywiki + +\define saveTiddlerFilter() +[[$:/core]] [[$:/isEncrypted]] [[$:/themes/tiddlywiki/snowwhite]] [[$:/themes/tiddlywiki/vanilla]] [[$:/languages/de-DE]] [[$:/languages/de-AT]] [[$:/language]] -[[$:/boot/boot.css]] -[type[application/javascript]library[yes]] -[[$:/boot/boot.js]] -[[$:/boot/bootprefix.js]] +[sort[title]] +\end +\define savingEmpty() +yes +\end +{{$:/core/templates/tiddlywiki5.html}} \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/system/$__editions_de-AT-DE_snippets_download-empty-button.tid b/editions/de-AT-DE/tiddlers/system/$__editions_de-AT-DE_snippets_download-empty-button.tid new file mode 100644 index 000000000..710a4b0f9 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/system/$__editions_de-AT-DE_snippets_download-empty-button.tid @@ -0,0 +1,6 @@ +created: 20140909074234434 +modified: 20140909075544956 +title: $:/editions/de-AT-DE/snippets/download-empty-button +type: text/vnd.tiddlywiki + +<$button message="tm-download-file" param="$:/editions/de-AT-DE/download-empty" class="tc-btn-big-green">Leeres Dokument Speichern {{$:/core/images/save-button}} \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/system/$__language.tid b/editions/de-AT-DE/tiddlers/system/$__language.tid new file mode 100644 index 000000000..9baa06194 --- /dev/null +++ b/editions/de-AT-DE/tiddlers/system/$__language.tid @@ -0,0 +1,7 @@ +created: 20140908134120325 +modified: 20140912115626745 +modifier: pmario +title: $:/language +type: text/vnd.tiddlywiki + +$:/languages/de-DE \ No newline at end of file diff --git a/editions/de-AT-DE/tiddlers/video/TiddlyWiki mit Firefox fur Android Video.tid b/editions/de-AT-DE/tiddlers/video/TiddlyWiki mit Firefox fur Android Video.tid new file mode 100644 index 000000000..dc31cf4ce --- /dev/null +++ b/editions/de-AT-DE/tiddlers/video/TiddlyWiki mit Firefox fur Android Video.tid @@ -0,0 +1,10 @@ +created: 20140104134947485 +creator: pmario +modified: 20140909113345816 +tags: video +title: TiddlyWiki mit Firefox für Android Video +type: text/vnd.tiddlywiki + +Das Video von Jeremy Ruston, gibt eine kurze Übersicht, wie ~TiddlyWiki mit "Firefox für Android" verwendet werden kann. + + diff --git a/editions/de-AT-DE/tiddlywiki.info b/editions/de-AT-DE/tiddlywiki.info index 491fd43fe..79593b534 100644 --- a/editions/de-AT-DE/tiddlywiki.info +++ b/editions/de-AT-DE/tiddlywiki.info @@ -1,7 +1,7 @@ { "plugins": [ - "tiddlywiki/github-fork-ribbon" - ], + "tiddlywiki/github-fork-ribbon", + "tiddlywiki/browser-sniff"], "themes": [ "tiddlywiki/vanilla", "tiddlywiki/snowwhite", @@ -17,6 +17,8 @@ ], "build": { "index": [ - "--rendertiddler","$:/core/save/all","de-at-demo.html","text/plain"] + "--rendertiddler","$:/core/save/all","de-at-demo.html","text/plain"], + "favicon": [ + "--savetiddler","$:/favicon.ico","favicon.ico"] } } diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Caching.tid b/editions/dev/tiddlers/from Heigele and Jurke/Caching.tid new file mode 100644 index 000000000..3ca4bb27f --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Caching.tid @@ -0,0 +1,22 @@ +chapter.of: Extending the Store +created: 20140710184940308 +modified: 20140717180902471 +sub.num: 2 +tags: doc new +title: Caching + +The core plug-in adds two caches to the wiki store. +A global cache and a cache for each tiddler. +While the global cache is cleared whenever any tiddler changes, the tiddler cache is only cleared when the associated tiddler changes. +The idea of the tiddler cache is, that sometimes we want to calculate information from a tiddler but don't want to recalculate every time we need this information. +Imagine a tiddler which contains links to other tiddlers and at one point we want to have a list of the linked tiddlers (LinksFilter). +With the tiddler cache we can parse the WikiText, extract the linked tiddlers and put this list in the cache. +Until the tiddler is changed, the cache can be used to access this information in the next requests. + +The same idea holds for the global cache. For example when a [[filter|Tags and Filter Mechanism]] string is parsed and a list of matching tiddlers is constructed. +This list can be put in the global cache for later reuse until something changes in the store. + +Like the [[Event Mechanism]], the cache needs hook functions in the microkernel. +The microkernel calls ``clearGlobalCache()`` and ``clearCache(tiddlertitle)`` when a tiddler changes. +The core's cache mechanism overwrites this functions. +The functions providing the cache system are added via the [[wikimethod module type]]. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Conclusion.tid b/editions/dev/tiddlers/from Heigele and Jurke/Conclusion.tid new file mode 100644 index 000000000..906fc0474 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Conclusion.tid @@ -0,0 +1,21 @@ +created: 20140717203330824 +description: A briefly summary about this documentation bringing out the advantages, disadvantages and experiences with TiddlyWiki. +modified: 20140717211803349 +sectionnumber: 5 +tags: section doc +title: Conclusion + +TiddlyWiki consists in its heart only of a basic microkernel providing bare tiddlerstore and module system. +It is written in ~JavaScript and suited to run in a browser or as node.js application. +The core plug-in extends the microkernel with powerful functions from a central event system to a sophisticated widget system transforming WikiText to dynamic HTML. +Because of it's microkernel architecture the application is highly customizable. The plug-in system not only allows to add new modules but also to override existing modules. Most of the components don't refer directly to modules but load them by type, allowing developers to inject additional modules including new saver implementations, widgets or even rules for the WikiText parser. +The user interface of TiddlyWiki is written in WikiText and can be customized with the same language, a user normally uses when just writing wiki entries. + +A drawback of the core plug-in is it's high complexity. While the microkernel provides just the bare some bare functions and structures, the core plug-in adds a whole bunch of components at once. +It can be challenging to decompose the core architecture and understand the connections between the components. This documentation could only cover the most important parts. +This gives a developer the choice of building a whole new application on the microkernel or building the application on the core plug-in, including all modules and UI tiddlers. + +In conclusion, TiddlyWiki is a interesting piece of software. +The focus on tiddlers, the functionality provided in the core and the fact that the core comes with a full blown wiki application puts TiddlyWiki into a personal information management domain, especially when using TiddlyWiki as a single file application storing code and data in a single HTML file. +But the highly customizable nature makes TiddlyWiki perfect for this exact domain. A casual user can organize information with tags and metadata and customize the UI to a grade, that he is able to implement and test his own workflows just by using WikiText. +~JavaScript developers can add whole new features and create completely new single page applications by building on the microkernel or customizing the core plug-in. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Data%20Management%20during%20Runtime.tid b/editions/dev/tiddlers/from Heigele and Jurke/Data%20Management%20during%20Runtime.tid new file mode 100644 index 000000000..80863bc56 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Data%20Management%20during%20Runtime.tid @@ -0,0 +1,9 @@ +created: 20140708085451064 +modified: 20140708085602231 +tags: doc +title: Data Management during Runtime + +During the runtime the data of Tiddlywiki is stored in javascript objects. These objects are synchronized with the DOM-Representation of Tiddlywiki. This means every change of the original data of a Tiddler, fires an event which changes all DOM-Representations of the Tiddler and the javascript object. The barbone Wiki store is created during the boot process and is kept in a object called \$tw.Wiki. This object contains amongst others a hashmap of the different Tiddlers of Tiddlywiki. The Hashmap is used to store the javascript object representation of the different Tiddlers. Furthermore this object is used to manage the tiddlers during runtime, it provides methods for adding tiddlers, search tiddlers by name and delete tiddlers. +As shown in the picture below, every change at the DOM triggers an event which changes the corresponding widget which again changes the store of the tiddlers. The whole image shows how WikiText is parsed by a set of rules into the parse tree and this parse tree is rendered as a tree of widgets. This Rendertree is synchronised to the DOM. Every modification on the Rendertree provokes a start of the rendering-pipeline. As well as every change on the wikiText triggers an event at the RenderTree. This Process uses a selective updating so that only the changed parts are updated. This means only widgets which have to change the DOM in consequence of a changed tiddler are refreshed. + +{{TiddlyWikiArchitecture.svg}} \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Data%20Persistence.tid b/editions/dev/tiddlers/from Heigele and Jurke/Data%20Persistence.tid new file mode 100644 index 000000000..8d2acf18b --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Data%20Persistence.tid @@ -0,0 +1,20 @@ +chapter.of: TiddlyWiki - A quick Overview +created: 20140708082053686 +modified: 20140717195758655 +sub.num: 3 +tags: doc +title: Data Persistence + +The next important part of the application are deserializers. Deserializers are responsible to load tiddlers from various sources. One of the deserializers provided by the microkernel for example can load new tiddlers from the current DOM tree. +The counterpart of deserializers are saver. +A saver is used to save the complete store or the complete TiddlyWiki for that matter at once. After a user made changes to some tiddlers, this method can be used to download the current state of the store as a completely new TiddlyWiki application. + +Another way of persisting data are syncadaptors. +Like deserializer and saver, a syncadaptor can load tiddlers into the store and can persist changed tiddlers. +But in contrast to deserializer and saver it can load and persist single tiddlers. +A syncadaptor can provide a list of loadable tiddlers registers at the store for changes. +Now when a tiddler is changed and these changes are written to the store, the syncadaptor is triggered and persists the new changes, for each tiddler individually. + +<<< +[img width=500 [overview.svg]] +<<< Tiddlers can be persisted from/to harddisk or synced with a remote server. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Data-Storage.tid b/editions/dev/tiddlers/from Heigele and Jurke/Data-Storage.tid new file mode 100644 index 000000000..5daf73499 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Data-Storage.tid @@ -0,0 +1,14 @@ +created: 20140708085814626 +modified: 20140710081051087 +tags: doc +title: Data-Storage + +TW has two approaches to save the user data. These approaches depends on way you use TW. either you use node.js as a server for TW its saves the tiddlers as plain text in different files or you use TW as standalone in a browser it persists the data within the HTML-File in two Div-Areas depending on whether the encryption of the TiddlyWiki is activated or not. If the TiddlyWiki is not encrypted the data is stored in the Div-Area called "~StoreArea". Every created Tiddler is stored in a own Div-area with a few custom values. An example of a saved Tiddler is shown below (\prettyref{lst:data-div}). + +``` +
      +
      testText
      +
      +``` +The Div-Area has the same attributes like the standard tillder fields, listed in (\prettyref{list:TiddlerFields}), all attributes which are not in this list are parsed as a custom field. The only required attribute is the name attribute, all other attributes are optional.\\ +With a activated encryption the data is stored in a special Div-Area called "encryptedStoreArea". TiddlyWiki uses the Standford [[JavaScript Crypto Libary|http://bitwiseshiftleft.github.io/sjcl/]]. The encrypted Tiddlers are saved in a JSON string within this Div-Area. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Datamodel.tid b/editions/dev/tiddlers/from Heigele and Jurke/Datamodel.tid new file mode 100644 index 000000000..4f00fbde2 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Datamodel.tid @@ -0,0 +1,20 @@ +chapter.of: Microkernel Architecture +created: 20140709111543896 +modified: 20140715083802104 +sub.num: 2 +tags: doc new [[Microkernel Architecture]] +title: Datamodel + +The micro-kernel creates a TiddlyWiki specific data-structure called tiddler. Here you have to separate the different definition of tiddlers. In the architectural view a tiddler is a JavaScript object holding some data. In the overall concept a tiddler is similar to a wiki page in a normal wiki application like wikipedia. In this section we describe the architectural view of a tiddler. The listing below shows the JSON representation of a tiddler object. During the runtime of the TiddlyWiki everything is saved an object like this. Without any plug-in the architecture is not able to persist any kind of data. All the data is stored in a store. This store is a JavaScript object. This store is constructed like a Map with a bunch of key value pairs. Every tiddler has its name as the key in the map and the JavaScript-Object as the value. The tiddler concept is the main data-model within TiddlyWiki, everything from data up to plug-ins is stored as a tiddler. + +``` +{"fields":{ + "text":"example Text", + "title":"Infrastruktur", + "tags":["vs"], + "modified":"2014-07-01T16:25:01.230Z", + "myField":"myFieldValue", + "created":"2014-07-01T16:22:10.673Z" + } +} +``` \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Deserializer.tid b/editions/dev/tiddlers/from Heigele and Jurke/Deserializer.tid new file mode 100644 index 000000000..d1cfbe1ce --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Deserializer.tid @@ -0,0 +1,16 @@ +chapter.of: Extended Persistence +created: 20140708084404389 +modified: 20140715184857524 +sub.num: 1 +tags: doc +title: Deserializer + +Modules with ``module-type: tiddlerdeserializer`` can provide functions to create tiddlers out of any textual representation. Each function must be associated with a type like ``application/json`` or ``text/html``. +They get the textual representation of the tiddlers, some default field values and the type of the text block as arguments. They return an array of JavaScript objects representing the resulting tiddlers. + +Deserializers are not managed by the syncer module. Instead the concept of deserializers is in fact part of the microkernel. +This is necessary because the microkernel needs a way of loading tiddlers before it can load the core plug-in and execute it's startup modules. +(Due to the fact that the core plug-in and it's modules are represented as tiddlers.) + +The ``load-modules`` startup module loads additional deserializers and pushes them into the store. +The core plug-in for example contains a few deserializers which can read a whole TiddlyWiki 5 or classic HTML file and load the individual tiddlers into the store. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Event%20Mechanism.tid b/editions/dev/tiddlers/from Heigele and Jurke/Event%20Mechanism.tid new file mode 100644 index 000000000..6cae654ab --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Event%20Mechanism.tid @@ -0,0 +1,14 @@ +chapter.of: Extending the Store +created: 20140710184910226 +modified: 20140717201408167 +sub.num: 1 +tags: doc new +title: Event Mechanism + +Most of the following mechanisms need a way to get notified, when anything in the wiki store changes. +The core -plug-in adds an event system to the bare wiki store. +The event system provides the ability to listen to events. The most important is the "change" event which notifies the listeners when tiddlers have changed, with a list of the changed tiddlers. +The event mechanism is one of the few mechanisms which needs a hook at the microkernel: +The microkernel contains an empty function "enqueueTiddlerEvent(event)" and calls this function when a tiddler is added or deleted. +The event mechanism from the core plug-in overwrites this function with it's own implementation. +The functions providing the event system are added via the [[wikimethod module type]]. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Extended%20Persistence.tid b/editions/dev/tiddlers/from Heigele and Jurke/Extended%20Persistence.tid new file mode 100644 index 000000000..62ffecfb2 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Extended%20Persistence.tid @@ -0,0 +1,30 @@ +chapter.of: TiddlyWiki Core Application +created: 20140715184132652 +modified: 20140717181151719 +sub.num: 3 +tags: doc +title: Extended Persistence + +The microkernel only contains a bare store and some deserializers to load tiddlers from JSON files or from the DOM of the current HTML file. +The core plug-in adds some more deserializers and a new mechanism for persisting and synchronising tiddlers. + +This mechanism is provided as a global module in [[$:/core/modules/syncer.js]]. +The saver module has three responsibilities: + +# Save the whole wiki. +# Provide the ability to download single tiddlers as files. +# Synchronise the local wiki store with a remote wiki store, i.e. running in Node.js + +The syncer module is connected mainly to two other modules. +For one it registers to changes at the wiki store ([[Event Mechanism]]) and if any changes occur they are synced to the remote store. +Then it provides a function ``saveWiki(options)``. This function can be used by other modules. For example the [[RootWidget|RootWidget and Rendering Startup]] uses this function to save the whole wiki or start downloading single tiddlers. + +The syncer itself does not provide a concrete implementation of saving, downloading or syncing the tiddlers. +Instead it loads modules of type ``saver`` and ``syncadaptor`` and manages the saving/syncing process. + +<$list filter="[!has[draft.of]has[chapter.of]chapter.of[Extended Persistence]tag[doc]sort[sub.num]]"> + + +!! <$view field="title"/> +{{!!text}} + \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Extending%20the%20Store.tid b/editions/dev/tiddlers/from Heigele and Jurke/Extending%20the%20Store.tid new file mode 100644 index 000000000..df3d97571 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Extending%20the%20Store.tid @@ -0,0 +1,13 @@ +chapter.of: TiddlyWiki Core Application +created: 20140710185629984 +modified: 20140717175642155 +sub.num: 2 +tags: doc +title: Extending the Store + +<$list filter="[!has[draft.of]has[chapter.of]chapter.of[Extending the Store]tag[doc]sort[sub.num]]"> + + +!! <$view field="title"/> +{{!!text}} + \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Introduction.tid b/editions/dev/tiddlers/from Heigele and Jurke/Introduction.tid new file mode 100644 index 000000000..91dedc044 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Introduction.tid @@ -0,0 +1,13 @@ +created: 20140708090028950 +modified: 20140717212619797 +tags: doc +title: Introduction + +TiddlyWiki is a personal notebook application based on a wiki application. In addition to a static Web-Site, TiddlyWiki is implemented as a single page application. This is a approach to build rich internet applications, it includes the possibility to put application logic into web-pages to make them dynamically. Furthermore this means the whole application is delivered in one HTML file, consisting of source code to dynamically change the view and behaviour of the application as well as the data of the application. During the runtime nothing must be loaded from a server to the TiddlyWiki application. The HTML file contains everything needed to start the application. TiddlyWiki is highly customisable because of a very sophisticated module concept. Except of a micro-kernel written in JavaScript the whole application consist of a own data-structure called tiddlers and a own markup language called wikiText. Even the modules are realised as tiddlers. + +The aim of this documentation is to overview the idea behind the TiddlyWiki application as well as give a overview of the architecture to the reader. This means after reading the documentation the reader is has the knowledge how the overall application works and where the points are where the reader can extend the functionality of the application. + + +''__Section Overview:__'' + +{{Section Overview}} \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Messages.tid b/editions/dev/tiddlers/from Heigele and Jurke/Messages.tid new file mode 100644 index 000000000..bf9bb9b05 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Messages.tid @@ -0,0 +1,22 @@ +chapter.of: Widgets +created: 20140715080302422 +modified: 20140717181635787 +sub.num: 1 +tags: doc +title: Messages + +Messages are events that are triggered by the user. They are generated by widgets for example when the user clicks on a ~ButtonWidget. +Each message has a type property like "tm-delete-tiddler" and a parameter. + +``` +{type: "tm-delete-tiddler", param: "MyOldTiddler"} +``` + +When such a message is created by a widget it sends the message to it's parent widget which sends it to it's own parent widget and so on. +On this way each widget can try to dispatch the message. +This concept is realised in the base widget object. +It provides a function ``dispatchEvent(message)`` which is called by the children to bubble the message up the widget tree. +Another function ``addEventListener(type,listener)`` can be used to bind a function to a specific message type. +If the listener returns false, the message is send to the parent widget. + +The TiddlyWiki core plug-in handles a lot of messages in the [[NavigatorWidget|RootWidget and Rendering Startup]]. diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20Architecture.tid b/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20Architecture.tid new file mode 100644 index 000000000..84d53c348 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20Architecture.tid @@ -0,0 +1,15 @@ +created: 20140714195430737 +description: The heart of TiddlyWiki is it's microkernel. This section will describe what bare mechanisms are included in the microkernel and how additional modules are loaded. +modified: 20140717211633467 +sectionnumber: 2 +tags: section doc +title: Microkernel Architecture + +This section describes the architecture of the ~TiddlyWiki-kernel. ~TiddlyWiki is based on a micro-kernel which provides only a small stack of functions. This design decision was made to introduce a cleaner mechanism for customization of ~TiddlyWiki. This section also describes the data-model of ~TiddlyWiki called tiddler. And it gives a overview to the modul system which developers can use to extend the functionality of the ~TiddlyWiki application. + +<$list filter="[!has[draft.of]has[chapter.of]chapter.of[Microkernel Architecture]tag[doc]sort[sub.num]]"> + + +! <$view field="title"/> +{{!!text}} + diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20Description.tid b/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20Description.tid new file mode 100644 index 000000000..9f627c417 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20Description.tid @@ -0,0 +1,23 @@ +chapter.of: Microkernel Architecture +created: 20140709110225227 +modified: 20140717213309369 +sub.num: 1 +tags: doc new +title: Microkernel Description + +The TiddlyWiki application is based on a microkernel architecture, that means it separate minimal functional core from the extended functionality. The microkernel provides the functionality to load external extensions to extend its core features. The TiddlyWiki microkernel provides a few helper methods but the main task of the TiddlyWiki kernel is to provide a basic functionality for storing data and loading the extension plug-ins. Within the TiddlyWiki architecture everything is stored as a tiddler. How the architecture of TiddlyWiki stores his data during the runtime of the application is shown in [[Datamodel]], but the kernel provides this datamodel. It also prepares the functionality to store and create these tiddlers. In favour it creates a store to manage the tiddlers during the runtime. Without any extensions the microkernel is not able to persist the tiddlers, this means the data is only holded in the RAM. Here are some example interfaces for working with tiddlers in memory which are provided by the kernel: + +*$tw.Tiddler = function(/* [fields,] fields */) +*$tw.Wiki.addTiddler = function(tiddler) +*$tw.Wiki.deleteTiddler = function(title) +*$tw.Wiki.getTiddler = function(title) + +An additional feature of the microkernel is the ability to encrypt and decrypt a block of text. To provide this functionality the microkernel has a built in password-vault to store the current used password. The library used to encrypt and decrypt data is the [[StandfordJavaScript Crypto Libary|http://bitwiseshiftleft.github.io/sjcl/]]. This feature allows the micro-kernel to load encrypted tiddlers from the TiddlyWiki file, but it also allows extension plug-ins to use the encrypt functionality e.g. to persist an encrypted TiddlyWiki. + +In order to load extension plug-ins the kernel prepares a interface to load and execute these plug-ins. Therefore the micro-kernel provides some deserializers to extract different type of tiddlers e.g. from the TiddlyWiki-File. Within the microkernel a bunch of different deserializer are installed. These deserializer are needed because every tiddler can include a different type of data for example tiddlers can contain javaScript-code, text, html-text or ~JSON-data. Even after packaging a TiddlyWiki application every plug-in is stored as a tiddler within the TiddlyWiki-Document. This feature is specified in the [[Module System]] section. Therefore the micro-kernel need the functionality to parse all the different type of tiddlers. To differ between the different type of tiddlers every tiddler has a file type which are generated by the microkernel + +The image below shows the startup process of the TiddlyWiki-kernel. The bootprefix is responsible for preparing the kernel to boot on different engines e.g. browsers and node.js. Afterwards the main boot process which includes the microkernel, with the startup-method, is started. After successfully running these steps the main architecture is loaded. The last step is to run the startup modules. These modules are described later. But in brief this is the point where the TiddlyWiki microkernel can be extended by own functionality. Every module marked as "startup" is started after finishing the boot process of the kernel. + +<<< +{{StartupTimeline.png}} +<<< The microkernel builds up the essential functions and structures and initiates a startup sequence. diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20and%20Datamodel.tid b/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20and%20Datamodel.tid new file mode 100644 index 000000000..3e13539ba --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Microkernel%20and%20Datamodel.tid @@ -0,0 +1,9 @@ +created: 20140708173111709 +modified: 20140709093651688 +tags: redo +title: Microkernel and Datamodel + +The microkernel is responsible for creating a barbone TW environment. +It is running under Node.js or in a HTML5 Browser. The Bootkernel just loads enough functionality to load the modules containing the main logic of the application. This boot-kernel contains a few helper methods, the module mechanism as well as the function to create a tiddler and manage them. The boot-kernel also creates the barbone wiki store, which holds all the information of the wiki during the runtime. After creating the store, the boot-kernel is in charge of decrypting the encrypted tiddlers and extracting all the tiddlers e.g. the core module tiddlers embedded in the DOM structure of the HTML file. Furthermore the boot kernel offers the functionality to load tiddlers from a file, when you run TW with Node.js. + +{{StartupTimeline.png}} \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Microkernel.tid b/editions/dev/tiddlers/from Heigele and Jurke/Microkernel.tid new file mode 100644 index 000000000..3bfdd6c3e --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Microkernel.tid @@ -0,0 +1,21 @@ +chapter.of: TiddlyWiki - A quick Overview +created: 20140708081952235 +modified: 20140717195539035 +sub.num: 2 +tags: doc +title: Microkernel + +In the universe of TiddlyWiki everything is a tiddler. +Even the application logic is stored in tiddlers that are marked as "application/javascript". +These tiddlers, which contain application logic, are called modules and a ~CommonJS compatible module system is responsible for assembling the individual modules into the TiddlyWiki application. +The result is a tree representing the whole TiddlyWiki application containing module tiddlers, data tiddlers and some ~JavaScript functions and objects. + +Only a small part of the TiddlyWiki is not managed as tiddlers, the microkernel. +The microkernel is the first thing to run, when the application is started and it puts some initial objects and functions into the application tree, which are needed to load and manage tiddlers. +After the microkernel built this initial application tree, the remaining parts of the application can be loaded as module tiddlers. +Beside some utility functions the most important object that is contributed by the boot kernel is "$tw.wiki", consisting of ~JavaScript structures and functions that are used to store and manage the loaded tiddlers. +Among other things this store can be used to add new tiddlers, remove tiddlers and retrieve tiddlers by name. + +<<< +{{apptree.svg}} +<<< The microkernel constructs a initial $tw object containing the needed structures and functions. diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Modularization.tid b/editions/dev/tiddlers/from Heigele and Jurke/Modularization.tid new file mode 100644 index 000000000..259f68866 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Modularization.tid @@ -0,0 +1,11 @@ +chapter.of: TiddlyWiki - A quick Overview +created: 20140708082305109 +modified: 20140715083449669 +sub.num: 5 +tags: doc +title: Modularization +type: + +The whole application is basically built from three parts. At first, the microkernel provides the basic functionality to handle tiddlers. The second part are tiddlers representing core functionality. These are for example modules which extend the store by more sophisticated functions, UI tiddlers and widget modules, a WikiText parser, sophisticated deserializers, savers, syncadapters, etc. +These core modules are provided as plug-in to the microkernel. Consequently, a plug-in is a single tiddler which itself contains multiple tiddlers, forming the plug-in. Each of this tiddler might be a module providing new functionality (i.e. a module tiddler marked with "module-type: saver" can extend the application with new methods of saving the current wiki state.). +Tiddlers provided in plug-ins are called shadow tiddlers. They are immutable and can not be edited or deleted but we can create a new tiddler with the same name to override a shadow tiddler. diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Module%20System.tid b/editions/dev/tiddlers/from Heigele and Jurke/Module%20System.tid new file mode 100644 index 000000000..3307296d4 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Module%20System.tid @@ -0,0 +1,22 @@ +chapter.of: Microkernel Architecture +created: 20140708084103508 +modified: 20140715094857594 +sub.num: 3 +tags: doc [[Microkernel Architecture]] +title: Module System + +After the boot kernel provides the functions used to load tiddlers, the rest of the TiddlyWiki application is loaded as modules. +A module is a tiddler which has the type ``application/javascript`` and contains CommonJS compatible JavaScript code. This means a single module provides its public structures and functions in a variable called ``export``. Other modules can obtain these structures and functions by using a global ``require`` function. + +``` +var Widget = require("$:/core/modules/widgets/widget.js").widget; +// ... +ButtonWidget.prototype = new Widget(); +``` + +In most cases these module tiddlers are packed into a plug-in. +Following the "everything is a tiddler" concept, a plug-in is a tiddler, which contains a bunch of other tiddlers. These tiddlers are first converted into a JSON structure which then becomes the body of the plug-in tiddler. +This is not restricted to module tiddlers. A plug-in can contain any tiddlers. This way a developer can put for example simple modules, widgets, UI parts written with WikiText, even new filter operators or extensions to the WikiText parser into a plug-in tiddler. In fact the whole TW core is provided as a single plug-in. Tiddlers provided in a plug-in are called shadow tiddlers and can not be edited. Instead, when trying to edit a shadow tiddler, a new tiddler with the same name is created which then "overrides" the shadow tiddler. + +Instead of requiring a specific module directly, a module developer can specify the type of the module he is developing by setting the field "module-type" of the containing tiddler. +For example, by providing a module-type of "saver", TiddlyWiki knows that this module implements a way of saving the whole wiki and when the user clicks on the save button, TiddlyWiki automaticly considers the provided module to save the current state. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/NEW%20NEW%20TOC.tid b/editions/dev/tiddlers/from Heigele and Jurke/NEW%20NEW%20TOC.tid new file mode 100644 index 000000000..365839452 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/NEW%20NEW%20TOC.tid @@ -0,0 +1,65 @@ +caption: Table of Contents +created: 20140715074724076 +list-before: +modified: 20140717182928525 +tags: $:/tags/SideBar +title: NEW NEW TOC + +\define toc-heading(caption,body) +<$reveal type="nomatch" state=<> text="show"> +<$button set=<> setTo="show" class="tc-btn-invisible">{{$:/core/images/right-arrow}} $caption$ + + +<$reveal type="match" state=<> text="show"> +<$button set=<> setTo="hide" class="tc-btn-invisible">{{$:/core/images/down-arrow}} $caption$ + + +<$reveal type="match" state=<> text="show" retain="yes" animate="yes"> + +$body$ + + +\end +
      + +# [[Introduction]] + +# [[TiddlyWiki - A quick Overview]] +## <> +# [[Microkernel Architecture]] +## <> +# [[TiddlyWiki Core Application]] +## <> +#[[Conclusion]] +
      diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Parser.tid b/editions/dev/tiddlers/from Heigele and Jurke/Parser.tid new file mode 100644 index 000000000..46e124439 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Parser.tid @@ -0,0 +1,39 @@ +chapter.of: UI and Rendering Pipeline +created: 20140717174120958 +modified: 20140717202324456 +sub.num: 2 +tags: doc +title: Parser + +The first stage of WikiText processing is the parser. +A Parser is provided by a module with ``module-type: parser`` and is responsible to transform block of text to a parse-tree. +The parse-tree consists of nested nodes like + +``` +{type: "element", tag: , attributes: {}, children: []} - an HTML element +{type: "text", text: } - a text node +{type: "entity", value: } - an HTML entity like © for a copyright symbol +{type: "raw", html: } - raw HTML +``` + +The core plug-in provides a recursive descent WikiText parser which loads it's individual rules from individual modules. +Thus a developer can provide additional rules by using ``module-type: wikirule``. Each rule can produce a list of parse-tree nodes. +A simple example for a wikirule producing a ``
      `` from ``---`` can be found in [[horizrule.js|$:/core/modules/parsers/wikiparser/rules/horizrule.js]] + +HTML tags can be embedded into WikiText because of the [[html rule|$:/core/modules/parsers/wikiparser/rules/html.js]]. +This rule matches HTML tag syntax and creates ``type: "element"`` nodes. +But the html-rule has another special purpose. By parsing the HTML tag syntax it implicitly parses WikiText widgets. +It the recognises them by the $ character at the beginning of the tag name and instead of producing "element" nodes +it uses the tag name for the type: + +``` +{type: "list", tag: "$list", attributes: {}, children: []} - a list element +``` +The [[Widgets]] part will reveal why this makes sense and how each node is transformed into a widget. +Another special characteristic of the html-rule or the parse nodes in general is the attributes property. +Attributes in the parse-tree are not stored as simple strings but they are nodes of its own to make indirect text references available as attributes as described in [[Widgets]]: + +``` +{type: "string", value: } - literal string +{type: "indirect", textReference: } - indirect through a text reference +``` \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Persist%20data.tid b/editions/dev/tiddlers/from Heigele and Jurke/Persist%20data.tid new file mode 100644 index 000000000..8b724628f --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Persist%20data.tid @@ -0,0 +1,22 @@ +created: 20140708085735260 +modified: 20140708085759751 +tags: doc +title: Persist data + +TiddlyWiki supports a wide range of methods to persist your data. One of this methods is the HTML5 fallback saver. This methods works on almost every browser. With this method a copy of the entire wiki will be downloaded by the browser. This means you get a new file everytime you hit the save button. To avoid this and because every Browser has a different API to allow writing direct to the file system there a some plugins for the different browsers. These plug-ins allow the user to save direct to the current open TiddlyWiki-File. The Listing below shows the HTML5-compliant to save the changes via the HTML5 fallback saver by downloading the TW as a complete HTML-file. + +``` +DownloadSaver.prototype.save = function(text,method,callback) { + ... + var link = document.createElement("a"); + link.setAttribute("target","_blank"); + ... + link.setAttribute("href","data:text/html," + encodeURIComponent(text)); + ... + link.setAttribute("download",filename); + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + return true; +}; +``` \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/RootWidget%20and%20Rendering%20Startup.tid b/editions/dev/tiddlers/from Heigele and Jurke/RootWidget%20and%20Rendering%20Startup.tid new file mode 100644 index 000000000..d6943c559 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/RootWidget%20and%20Rendering%20Startup.tid @@ -0,0 +1,34 @@ +chapter.of: UI and Rendering Pipeline +created: 20140717175203036 +modified: 20140717182314488 +sub.num: 5 +tags: doc +title: RootWidget and Rendering Startup + +The previous parts of this chapter showed how WikiText is transformed to DOM nodes which dynamically react to tiddler changes and a way to compose tiddlers from other tiddlers. +This last part describes how the TiddlyWiki core plug-in starts up a UI build from tiddlers and WikiText. + +After the microkernel has loaded it starts executing [[Startup Modules|Startup Process]]. +The core plug-in contains two startup modules which are responsible to kick off the UI: + +[[rootwidget.js|$:/core/modules/startup/rootwidget.js]] is a startup module and creates an instance of the base widget. +This widget is globally accessible ``$tw.rootWidget``. +The DOM node associated to this widget is the current browser window's DOM (``document``). + +At first, the root widget has no children but provides some basic event handlers ([[Messages]]) like: + +* ''tm-notify:'' Displays the message given in param as a notification. +* ''tm-save-wiki'': Triggered by a save button, the user can click. This handler uses the syncer module described in [[Extended Persistence]] to save the current wiki. +* ''tm-auto-save-wiki'': Similar to tm-save-wiki but not triggered directly by the user but automatically triggered when a wiki page is edited and saved. A [[Saver]] implementation which starts a download of the updated wiki file would not support the auto-save method and would only be used when the tm-save-wiki message is used. +* ''tm-download-file'': This message also uses the syncer module described in [[Extended Persistence]] but explicitly demands to choose a saver with the download-method to start downloading a single tiddler. + +After the root widget is loaded another startup module [[$:/core/modules/startup/render.js]] creates a transclude widget which contains the contents of [[$:/core/ui/PageTemplate]] which is now bound to the browsers DOM document. +The render function of the transclude widget is initially executed +and a listener is registered at the store which executes the refresh function of the transclude widget to trigger the [[Selective Update]] process. + +[[Techniques for including other tiddlers and Templates|Transclusion and TextReference]] are finally used in [[$:/core/ui/PageTemplate]] to build the TiddlyWiki UI only from tiddlers written in WikiText (with widgets implemented in javascript): + +For example to implement the list of open wiki pages the [[$:/core/ui/PageTemplate]] contains a [[navigator widget|$:/core/modules/widgets/navigator.js]] which maintains a list of open tiddlers in a field of [[$:/StoryList]] and handles events like ``tm-navigate`` by adding a tiddler specified as parameter to the top of the list in [[$:/StoryList]]. +The [[story tiddler|$:/core/ui/PageTemplate/story]] transcluded in [[$:/core/ui/PageTemplate]] then uses a ~ListWidget to transclude all tiddlers in [[$:/StoryList]] through a special template [[$:/core/ui/ViewTemplate]]. +A event of the type ``tm-close-tiddler`` would remove a specified tiddler from [[$:/StoryList]]. +The [[Event Mechanism]] would trigger a changed event which triggers a call of the ~ListWidget's refresh function which would remove the tiddler from the list, closing the tiddler. diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Saver.tid b/editions/dev/tiddlers/from Heigele and Jurke/Saver.tid new file mode 100644 index 000000000..7c59c1751 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Saver.tid @@ -0,0 +1,20 @@ +chapter.of: Extended Persistence +created: 20140708084614887 +modified: 20140715184930403 +sub.num: 2 +tags: doc +title: Saver + +Modules with ``module-type: saver`` provide functionality to save the whole wiki. There are three methods a saver can support: + +
      +
      save
      This method is used, when the user requests a save, for example by clicking the save button in the sidebar.
      +
      autosave
      This method is used automatically by TW when tiddlers are changed, created or deleted by the user.
      +
      download
      This message is used when the wiki or a single tiddler should explicitly be downloaded. The control panel for example uses this method to provide a button which saves the wiki as a static HTML file.
      +
      + +A saver module has to export two functions. ``canSave(wiki)`` returning true if this module is capable of working and ``create(wiki}`` returning an instance of a saver object. +This saver object has to provide an ``info`` property containing a name, a priority, an array of methods it supports and a method ``save(text,method,callback)``. This method is called from TW with the actual text which should be saved, the method which is used and a callback function to report errors: ``callback("Error while saving")`` or to notify that saving went well: ``callback("Saving went well :)")``. If the saver method successfully saved the file it has to return true, or false otherwise. +Saves are triggered by messages from the UI. The syncer module uses the saver with the highest priority capable of the requested method to save the file. + +The core plug-in contains a saver capable of saving the current state of the wiki to the local hard drive by using a special Firefox extension called Tiddlyfox. If this extension is not available, the savers ``canSave`` method would return false. A saver with a lower priority would then ask the user to save the current state as a new HTML file. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Section%20Overview.tid b/editions/dev/tiddlers/from Heigele and Jurke/Section%20Overview.tid new file mode 100644 index 000000000..11fb29c33 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Section%20Overview.tid @@ -0,0 +1,12 @@ +created: 20140708141513470 +modified: 20140710084522722 +tags: doc +title: Section Overview + +
      +<$list filter="[!has[draft.of]tag[doc]tag[section]sort[sectionnumber]]"> + +
      <$link to={{!!title}}><$view field="title"/>
      <$view field="description"/>
      + + +
      \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Selective%20Update.tid b/editions/dev/tiddlers/from Heigele and Jurke/Selective%20Update.tid new file mode 100644 index 000000000..1ecfe5c33 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Selective%20Update.tid @@ -0,0 +1,27 @@ +chapter.of: Widgets +created: 20140717174605570 +modified: 20140717181806148 +sub.num: 2 +tags: doc +title: Selective Update + +With [[Messages]] a widget is able to put some kind of events into the TiddlyWiki application which is one part of the dynamic behaviour of widgets. +The other part is selective updating. +Widgets are often dependant on tiddler states. +The ~ListWidget for example can be configured to list all tiddlers which are tagged with "important". +Now, when such a tiddler is changed and it's "important" tag is removed, this change should reflect in the ~ListWidget. +To allow widgets to react on such changes, each widget can provide a function ``refresh(changedTiddlers)``. +The [[RootWidget|RootWidget and Rendering Startup]] is registered to the wiki store, using the [[Event Mechanism]]. When an change event occurs it starts to call the refresh function of its children with a list of the changed tiddlers. +Each widget can then decide if it has to change or re-render its DOM representation and call the refresh function of its own children. +This way every time a tiddler or the wiki store itself changes, each widget can instantly react on these changes or ignore them. + +Another way of updating are text reference attributes (text references explained in [[Transclusion and TextReference]]): + +``` +{type: "indirect", textReference: } +``` +When a widget got a attribute which is a text reference and the refresh function is called, it can check if the text reference references a changed tiddler and update accordingly. + +Nearly every state of the UI is stored in tiddlers. A search mechanism for example would use a ~EditTextWidget which shows an text input field for the search string and a ListWidget to show the results. +The ~EditTextWidget is bound to a tiddler [[$:/temp/search]]. Meaning when editing the text in the input field the tiddlers content is changed to this text. On the other hand when the tiddler changes the [[RootWidget|RootWidget and Rendering Startup]] is notified. It then starts calling its childrens refresh methods. Eventually the refresh method of the ~EditTextWidget is called and it can re-render itself if necessary. +This way TiddlyWiki can re-use an already existing data structure which is not only convenient because we don't need to introduce an additional structure but tiddlers managed in the wiki store are already a pretty powerful data structure, supporting an [[Event Mechanism]] (so we don't need an additional observer pattern), [[Caching]], Metadata by additional tiddler fields and a [[way to obtain specific tiddlers|Tags and Filter Mechanism]]. diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Startup%20Process.tid b/editions/dev/tiddlers/from Heigele and Jurke/Startup%20Process.tid new file mode 100644 index 000000000..e78c683f2 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Startup%20Process.tid @@ -0,0 +1,28 @@ +chapter.of: TiddlyWiki Core Application +created: 20140708084217106 +modified: 20140717180507412 +sub.num: 1 +tags: doc +title: Startup Process + +Modules with ``module-type: startup`` have to export a function named ``startup`` and may export a name property to identify this module. The startup function will be executed by the boot kernel at the end of the boot process. + +``` +// From boot.js: +// Gather up any startup modules +$tw.boot.remainingStartupModules = []; // Array of startup modules +$tw.modules.forEachModuleOfType("startup",function(title,module) { + if(module.startup) { + $tw.boot.remainingStartupModules.push(module); + } +}); +// Keep track of the startup tasks that have been executed +$tw.boot.executedStartupModules = Object.create(null); +$tw.boot.disabledStartupModules = $tw.boot.disabledStartupModules || []; +// Repeatedly execute the next eligible task +$tw.boot.executeNextStartupTask(); +``` + +``executeNextStartupTask()`` will execute the remaining startup modules in ``remainingStartupModules``. A startup module can export the variables ``before`` and/or ``after``, each containing an array of names of other startup modules. ``executeNextStartupTask()`` will use this information to execute the modules in the correct order. + +Startup modules can be marked as synchronous by exporting ``synchronous = true``. If synchronous is set to false, the startup function is executed with an callback function as the first argument. The startup function has to call this function to allow subsequent startup modules to get executed. This is necessary when the startup function itself uses asynchronous calls. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/StartupTimeline.png.tid b/editions/dev/tiddlers/from Heigele and Jurke/StartupTimeline.png.tid new file mode 100644 index 000000000..b1f6e38ae --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/StartupTimeline.png.tid @@ -0,0 +1,6 @@ +created: 20140710083449025 +modified: 20140710083449025 +title: StartupTimeline.png +type: image/png + +iVBORw0KGgoAAAANSUhEUgAAAiIAAAGNCAYAAAAsFhqMAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAAd0SU1FB94HCggiBw64abAAACAASURBVHja7L1PbBtJnu/5sWSrrZZL1eryWE0xhyxxpLJnyt4aiBCpZT347YMLM93oAa0WhhiggAQe9kbAB2IPuvC0B1540kEArw9IoPYgQKMiBpiZRnneoh+GbVGgt6utri63BcpkZzKLann0SmU+uSTL2gP/iKRI/bfEpH4fwICVzIiMiIyI/MYv/vwu7ezs7CAIwqmwsbHB+vq6FITQlOvXr9PZ2WmJtK6urrK9vS0vTWhId3c3vb29J47nshSlIJwOm5ubxONx6biFfenr6+NnP/tZy6fzyy+/5He/+528MGFf7t69i6IoJ4qjQ4pREE6HtbU1ESHCoeqJFVhdXZWXJZxJfT6URSSfz59I/Xd1dcnbEi4UH374IT/5yU+kIIQKv//978nlcpZLd3d3Nz6fT16gUOHVq1f8+7//+6nFd6AQyWQyPH78+FjzQBsbG/T39zM6OipvTrhQvPPOO/T390tBCBWWl5ctme6Ojg6py0INhULhVOM7UIhsb29js9kYGxs7cuTpdJqVlRV5a4IgCIIgNBa7UgSCIAiCIIgQEQRBEARBhIggCIIgCIIIEUEQBEEQRIgIgiAIgiCIEBGEtiJFTFVRS//CcVOKRLAoJvFwqS6H45xbTTbjhFUVNZaquxxGVcMcuomZccLHzodJPHyEZwkiRAThXHEEiGoamhZCmZkjdaxOL3aMcIJwmt//aea9UTRNQ5swmEsdp26eUl12OHAkklXxmCzMg8MhbamVEV8zgtBipGIqU4nSH74QWtDd5NokM1lATeAIRIn4bVJ4wpljsytkp+ZI+YO43UGCUFs3fT5IJMhSW38x44TnDJREgnLVrtTl0QXC0/Ag4scGpGJhDI+X+WTV/Y4A0dLvu3iZCMyTTIHbDaTmmFG8BPT5GgvJ5Ey2eVvy+QCdaXWmmOZyepu0zdrrDhwO8Eq1ECEiCJYgO8OkOlPp1ILFHo0pPUBUK3fAKrGYj0T9tZRGMBgloM9hjwRxS2kK54U7iBaKoapqRRy46+tmMFhleZgjhbt4PQEeTSNYul65v9nURuX+YjuYS/kJ1lX+gVEv+lxRiaSSOoHxcZieL6sQpo0JNK0sIMLETTf+6vSaccKTOt6oRsRmEg9PF+/JNWibKY0gMaYIleJMEVNnpU6IEBEEi1A1okvFVMLxKA/QcXjHK6O8AbuDxExxlFh9TTdMRH0ILSVGtCBmPMx0fJSIv/pHk3i4ZHEoqm5ClTZgZ+BIbWb3/t12UGcJtI3i1aeJm2DoXsZtsFD+LWeQTcygJnZv93mAemOiw8uoDcCGXQEDMI29bVM3TEx0HPbx8lXsDqkOR0XWiAhCCzBQ6r1sdoWssesYLWdk8fl8e64p9nJ3qGPIwjjhHClaFRr9UqqbqbndNSRalEDTD3Wzumxi6Huv1raDGiXCqBdmJqfQvaN7NAa+UCktxX+7FpX921KjtqnYbXXXcxhZqRNiEREEq1A9NeMIEI3YgCChpIqqVnWaQTeeWN01d3m0lmVqUmVe1ogI52UMGfcyO6kyU7Z2aMV6uFs3AygzkxSrugOHQ2GigXiorct+JhS11D6q1l3UTWdqTayCtlEvjhmFCb+Nmnked137wkEgGsFvq3q+zwfYG1p99rRNN8A4gdnJ0nUf4qj46Fza2dnZ2e+GsuO6kzi9O05YQbAa+Xyehw8fAjA2NobL5ZJCESo8evSIdDoNwKefftry6X348CH5fJ6enh7u379//gky4zULWIXzo1Ao8PnnnwNw584d7ty5c6L4ZGpGEARBEIRzQ6ZmBEEQhNbH5icSkWJoR8QiIgiCIAiCCBFBEARBEESICIIgCIIgiBARBEEQBKH9kcWqgtAiFAoFnj9/zps3b6QwLERvby9Op1MKoo5MJsP6+roUhIXo6Ojg/fffp6enR4SIIFw0Njc3+ad/+ie2t7elMCzIixcvGBkZkYIo8fXXX/P48WMpCAuyuLiI3++nu7v77ASQFLsgnD9ra2siQiz+/oRdDMOQQrAo29vbZ27JEouIILQYLpeLwcFBKQgLUD5JV2jOvXv3pBAswPLycuXk37NGhIggtBg9PT309/dLQQhtgdRla7CysnJuz5apGUEQBEEQRIgIgiAIgiBCRBAEQRAEQYSIIAiCIAgiRARBaGXMOGFVRVVVVDVG6swenCIWjmPuJoR4OEzcbHBfJV3V/69LfyxVl60wqtoovn3KoSY9hy7AJukWzrdah1Gbvs9m72zv9VRMpbpqpWIq4aobzHiYWKqqXppxwjV1sUGdJUWs0ubKdfeAet6o/VTHoapHq+8iRARBaA1SxCbn8UY1NE1Di9qZjZ1EipjEw6chZqrjcRPUgrj3u93hwJFIVj3XZGEeHI6zSKvQgjKEhXkFnzLD3AlfsNvjI5FMVdpLMgFZI1dTz+wD+9XRJr85AkS1UrsLug9Xz/fEq6FpIXz4CGkamhbBb7uYb1y27wqCZXVIkoRvAq3cedn8RIKlUd2cgZJIkPCFiNpnmZzJFu/xhYodpxknPDlDthyXL0SIKWaygJrAEYjygOm94Q6TrNhkVTwBlBkDz76dtJeJwDzJFLjdQGqOGcVLQJ+vGblWp6U+rZFRgHmm1VKeSulNxVSmEuzJw+51Bw4HeEkRU6co3uogEL24H4Xzr9dzzHvHidhBTaYIupu9M/a9XlIi+KaSpIJu3KYBgRCB+SQp3LjJYeBl3JYipibr6qhJPDzJvPcw9bds4Ujuua++3h7UhlIxlaRHI+gut2M7kXFjtz2XRVDEDw3jtmY9FiEiCFYdNxo6Dvt44x8T4NE0gmac8NwEmlbuzMPETTd+m5+I5q/qdOcgEiWgz2GPBHE3DXeIsV6wKh5SxGYOPmVzYNSLPldUIqmkTmB8HKbny70500ZtWozx6mcAJpAFb1QjYjOJh6eJx5PM6AGimh8bZTO9RpAYU4RK8aWIqbOwkEQPRNFEfbSAvtbxjtvANk5gdq4oGlIN3lmxMjS+XmV58PhmMUwYWJgHewS7MkUyFcRNEt07jo1cQzFtTGhE3E3qb3aGSXWmZByJEvE3aqB76+1Bbcjt8TFVEl+puRkUjwYYu+25VI/n4qA3ijtnzXosQkQQLIrNrpBN5oAGnY7DzgBAziCbmEFN7P7k8wC24ohvZtckQqg6fNNwbyszo3j1aeImGLqXcRssHJAW+548exm1AdiwK5A0dBze8UqSB+wOdMPEpFrADWB3AKNBHiyEUdXskaw/wqnLEJKJLImEykz5XaeCDBgN3tkeMb57vUbk2mF2wcRuKHj84MbHrGGSMkqCp16IJKaYwkcouE8yS1aJ3eawV8wcqw1VLDiQTPjwBEsiu9yey/V4fp5sNrs3bneQB4b16rEIEUGwKm4PvqlZ4uPlUVaKWAyC9UaSRh1Sao55bxQtYtu1iACgY5gUrQz7dmQD2JliLuUvmZEXmM8qTFQ62VI8hxYuNka9MDk5hSMQ3dtX70mLSXx2/2fY7QoJY1eo5YwsiseGjWoBl8PIFkWNzR9B8xfN6eH4ABGxjpyHOaR2RG/GCc+lsHmavDN74+u1GtcLc3MkdTvjpXajzM6RRMHT6BX7QmieJGo4TjRiP1l+jiwG3IwHZpmLQcLnoZEWyhlZFMVHVploGLcV67EIEUGwrhIhGDUIT5ZHj8U5YagyJbuDhJIqqloZyhXnjd0elKlJitZlBw6HwgQ27EqWqUmV+UCUEJN7w9l2hYP/QYDwpIpa9bubskWiHE8A5dBGES+OGYUJv600DNw/D9VpLa4RqWM0SMioCucLUbRkjxOYLefNh88HxlwYNZHdtQ5pIkLOR4eUrRTlSmFHScwSH39AQK99Z8W6sfddNra2zTDvLQvcAewkmFFCNDV6uINEjTCTMQXfsZtnk7ZnO7gd6DPzBKJVqauaCiqLG09sb9yjC1XrRixUjy/t7Ozs7HdDOp1mZWWFsbGxI0d+krCCYDXy+XzFCdrY2Bgul+tYYe/cucOdO3ekQC3AZ599BhT9qRzk3O3Ro0cVp2Kffvppy+ft4cOH5PN5enp6uH///rHCWiWvLYUZJzwND8pTP/V/vyWePHnCkydPgKKjwv18BBUKBT7//PNT669k+64gCIIgtIoOWZgH7ygXySYnUzOCIAiC0CLY/BEitReIRNo7z2IREQRBEARBhIggCIIgCCJEBEEQBEEQRIgIgiAIgtD+yGJVQWgxytveBaEdKG9LF1qbly9fihARhItMd3d35f+FQoFCoWC5PFy6dIkDjiVq3hFdvszr168t+/46OzulEldx9erVyv/L54lYaoR+gvp4knZwUeuzCBFBaAF6e3sZHh5mfX3dkunf3Nyko6ODv/3bvz1y2Hw+z69//Wvee+89y76/27dvSyWu4s6dO7x69cqy6f/uu+/4z//5P+97qFcz/vVf/5U3b97Q1dVl2b7o+vXrIkQE4SIyOjpq2bTn83kWFxePHf6dd9458GRSwVofMyu/z5NMJ12+fJnbt28fS8RcVGSxqiAIgiAIIkQEQRAEQRAhIgiCIAiCIEJEEARBEAQRIoIgCIIgCCJEBEEQBEEQISIIgiAIgiBCRBAEQRAEESKCIAiCIAjHRk5WFQThUOTz+abO+E7qG+fly5c8efKk8Wipo4Nbt26JPxfh1Nje3ubrr7/mzZs3TevjSVheXm7aVm7cuCGnrooQEQThOLx69YqlpSU2Nja4fv06Nput8ltPTw+Dg4PHivf69esMDQ3VfBS2trbIZDJsbGwwMDDA8PCwCBHhVIXIixcv0HWdrq4unE5njaO+oaGhY/tbuX379h4R8uLFC3K5HN3d3fT09MgLECEiCMJxcDqdOJ1OMpkMy8vLZDIZbt68idPpPJGDr87OTj788EMA1tbWePr0KaZp4nQ6uXnzpnTcwqnT1dXF3bt3KRQKLC0t8fz5c/r7+08kQMr09/fT39/P9vY2mUyGr776iq6uLj7++GOcTqcUvggRQRBOS5Csr6/z9OlTvvrqKwYGBrh58ya9vb3HijOdTrO0tMT29jY3b95kdHRULCDCW6enp4ePPvqI27dvk8lkePz4caUOOp3OY9XBQqHA06dPyWQy2Gw27t69e+x2IUJEEARhH3p7exkdHWVzc5NMJsOvfvUruru7GRoaOtTIrzwaTafT2Gw2RkZGztz9uCBA0SrncrlwuVwVq9yXX355JKucrussLS3x7bffcvPmTX7+85+fyFIoQkQQBOGQdHV1MTw8zPDwMPl8nqWlJR4/fswHH3yAy+Wiu7u75v5cLsfy8jKrq6sMDQ3x05/+dM89gnBe9PX1MTY2xubmJul0mi+++IJ3332XoaEhFEWpuXdzc5Nnz56xtLREX18fH3zwAQMDA1KIIkQEwZo8evSIdDrdFnnZ2dlhcXGR3/3udwwMDOByuSgUCvz2t79lZ2eHzc1NAL788ku+/PJLS+e1p6cHt9u95yN1kcnn8zx69OjEu6lahZcvX/KnP/2Jjo4OPvjgA9577z3S6TS5XI6dnR22t7cpFAroum75vCqKwt27d0WICMJFY3V1tW1ECMClS5fY3t4GIJvN8s033/DmzRtev37ddu+uPMUkQmSX3//+920jQsr1eWtrC4CvvvqKzs7OiphuN3RdZ3V19UynSUWICEILUP5ol0fY165dO/2HfPtbPv/Hx6wB4OK//Ne7nMka/vJzXf+F/3rXWXX5c/7xMYz84j7/27uHiojffv7/wv/R7P4Mv/pvGZxnla/SyL/+/Qm15SFnZliDly9fVsTjWddnESKC0GK4XC7u3LlzyrGmiKmrfBLV8NsAM0547kf8n0H3MeMziYfnsEeCHBiDWeDfUqu8k/6eH/3f90r3m8T/7d9wOOAv/vd73LMd7pmFf0tB0/tT/OG/fc9H9+7hPqN39dlnn0mFPYB79+5JIViAJ0+eND1UUISIIAinoEOSJHwTaOUPuM1PJFgWJAZKIkHCFyJqn2VyJlu8xxdCC7qL90zOkC3H5QsRYoqZLKAmcASiPGB6b7gavEwE5kmmwO0GUnPMKF4C+vxuEmMqUwn2xLF73YHDAd5cnPA0PIj4sQGpWBhjPFIUWGXJEg8fkB5BEFoFESKCcAEwDR2HfbzxjwnwaBpBM054bgJNKwuAMHHTjd/mJ6L5aywhRKIE9JJFpGm42scMjHrR54pKJJXUCYyPw/R8WYUwpQeIamVxoRJLaQSJMUWoFHeKmDp7iMzGmTYOTo8gCCJEBEE4I2x2hWwyBzT4GjvsDADkDLKJGdTE7k8+D2AziYcnmdk1iRCqDt80XH0iRvHq08RNMHQv4zZYqBZK3vFKkAG7A90wMakWUAPYHYfI7GHTIwiCCBFBEM4Itwff1Czx8bJlIEUsBsF6I0mjaYzUHPPeKFrEtmsRAUDHMCmuxzjU9IeNUS9MTk7hCERrdEG9UMoZWRSPDRvV13MYWbDXmj8wGu2YlOkYQRAhIghCSykRglGD8KTKTNEMQiAaAYyqW4KEkiqqWjGVEIhG8Ls9KFOTqDPFaw6HwgQ27EqWqUmV+UCUEJN7wzWwQNhGvThmFCaKK2abP9sXojizMk5gthy3D58PGPAzoahMqjNU1o3UZLVJPsQiIggtyaWdnZ2d/W5Ip9OsrKwwNjZ25MhPElYQrEY+n+fhw4cAjI2N4XK5jhX2zp07b2HXjPA2KO+a6e/vP3B3SPWBdZ9++mnL5+3hw4fk83l6enq4f//+scKeSl5rFkv7CGnBM9kVlYqpJD0aZcNaKqYya48SKSlaMx5mzj4BU0k8WnmtlJ1IjSUuRUwt/b6bod2pTkeAaGnR9XlTvWvm3r17+267LhQKfP7556fWX3VIVyIIgiC0Jilik/N4oxqapqFF7czGUidRNcTDMQ4Tg9vjI5FMVdKRTEDWyFXiWZgH+4Cb4L7CaO/vZny6ONWpaWgTBnOpw6epXZGpGUEQBKFFdcg5bjt3e/BNJUkF3bhNAwIhAvNJUrhxk8PAy7itucVj3hsl4s/t+d1mV8hOzZHyB3G7g3hiKlNVaYr4bY23sh8mzyJEBEEQBOH0ON9t5248vlkMEwYW5sEewa5MkUwFcZNE945jI7dXO8UmMSY0Im6gwe+4g2ihGKqqlqZmqtJUjKDxVvaBw+RZhIggCIIgnBrnve18wA6zCyZ2Q8HjBzc+Zg2TlKHjHbftFRqJKabwEQoekDF3EE0LYsbDTMftNYutm21lZ+AweRYhIgiCIAinxzlvO7eNemFujqRuZ7yUHmV2jiQKnkYffV8IzZNEDcebLkJtdBJwJU225lvZGz6rTbaoixARBGF3Pr2ucyselc7Rtr+atUewH51G8+7CBVUi57vt3DaKV59h3ls+92YAOwlmlBDBfawdUSPMZMyO1uAm97iX2Up+fIQ0NxhTlTRF/E22spscnGeLWkRk+64gnBKW3r5rxglPz0NWYaIiAEzi4WnmAe+DsxQi1kG27+4f1ip5Fc53+65YRARBKHGwY7pGzuSqV/j7QqVFdcwzrZZ2LPhCaOPGnh0Me3YCVK5TZRFJEVOnir/hIBDyMp+svj9AQJ9puTMZBEEQISIIwjHY1zFdI2dy8SQzFad0ZbUCZMEb1YjYilaVOJE9OxiK2yCBhI49qqGV7zUnduNKJdEDUbSyOcaMM1/eOVASKUZIQ3MXwy6YfjlBVRBEiAiCYFn2cUzXaKW+wwEOb4PtlQ4vozYAG3YFDPbZwbDn3ircQR4YYVQ1W7KsAD5PaepoALvDh93dJKwgCCJEBEGwnBJp6piuqB/qVuqnYqjNtldWs9BsB8MhUuSPoPmL00LhOYV6t3eCIIgQEQShnaTIYR3TlVbqh9i9trtGpI5RD8pk/Q6Gg6lZk4KPUNTO7Jy8I0FoJ2TXjCCcEqe1a6a/v58bN25IgVqA8i4D2TXTOCwgDhwtwsrKSuWdya4ZQRBBU+kQrMLOzg6XLl2Slyc0FWsXCWkPIkQEwXJcv36drq4uNjc3LZn+7u5uhoeHjx2+UCig67pl83/9+nWpxFXY7XbLiekyXV1dKIpCT0/PseN49uwZr169smT+Ozs76evrEyEiCBeNzs5Ofv7zn7O+vm65tK+trfHHP/7xRObZfD7Pt99+y1//9V9b8t2JEKnl1q1b9Pf3W1JY/uY3v2FwcHDfqYmD+Oabb/irv/qrM/+gnwa9vb10dXWJEBGEi0h3dzfd3d2WTLthnHzj7OXLl0/U+QuthRU/wuV6eFI6Ojro6+uT+nzY8pIiEARBEARBhIggCIIgCCJEBEEQBEEQRIgIgiAIgiBCRBAEQRAEQYSIIAiCIAgiRARBEARBEESICIIgCIJgec79QLONjQ3S6TRv3ryRtyE05OrVq7hcLjo7O6UwBEEQRIicLo8fPyaTycibEA7kJL5MhOPz5MmTAx2XHcXTcCO6u7tZXV3ls88+a3pPV1cXfr//zI+fFtqHzc1N4vH4vkfPd3Z2nviE456enoo37WachtdaESKnhFUdAwlSTy4Kd+7c4caNGywvL6PrOoqinNgXRz29vb38wz/8Q80HI5PJsLS0xPb2NoODg7hcLhEhwono6uri5z//Obqu8/TpUwCGhoZwOp2n6l5hbGyMsbGxyt+rq6ssLS1hmiY3btxgcHCQgYEBeSGtIkSqFeT9+/fljQgVCoUCn3/+uRREC9Df309/fz/b29tkMhkWFxd59OgRLpcLl8t1Ik+l1WQyGXRdxzRNnE4nY2NjlvVZIrQmZU/Rw8PDrK+vs7S0xL/8y7/w3nvv4XQ6cTqdp9Z/PX/+nKWlJbq7uxkaGmJkZETEdCsLEUEQWp/Ozs6K+CgUCqTTab744otKR6soypE72vX1dZ4+fYqu69y4cQNFUfj444+lsIW3Tm9vLyMjI4yMjKDrOplMhoWFBZxOJ4ODg0f2qlwW6tlslm+//Zb333+fTz755NSEuggRQRCEKnp6eirz3GXT85dffonNZsPhcOxret7Y2KhMvQDcvHmT27dvW9b7sGB9FEVBUZTKtODjx4/Z3NxkcHCQ999/f18xkc/na6YuP/jgA5l6ESEiCNYjl8vx4sULSwsTl8vFt99+y29+8xt+/etf8xd/8Re4XC56e3vZ3t5G13XS6TQvXrzgRz/6ET/5yU/4wQ9+wKtXryqixGpcuXLl1NcYWJ3yx9zKa7tsNhvff/8933zzDV9//TU/+tGPGBwcxOl00tnZWbEILi0tceXKFXp7exkeHqajo4MXL15Yti2/9957Zy6iRIgIQguwsbHB//gf/4Pt7e22ydPOzg6///3vefbsGT/4wQ/4/vvvAdja2gJgZWWFlZWVtsjr//yf/7NmceJFZ3Fxka+//rqt8vTNN9/w4sULUqkUP/zhDykUCrx584Y3b96wsbHB+vo6uq63RV7v379/ptNJIkQEoQVYX19vKxECcOnSJXZ2dtja2qqIj3alUChIJa5ibW2t7fJ06dIlXr9+DcC3337b1u/v5cuXIkQE4SJzKucLmHHCkzNkAfAR0oK4WzK3KWLqFImaaw4C0Qh+W4qYmsRTk3aTeHgaHkTw22oyXLo+gTFZH+btsd+5J0KRTz/9VArBAhzmvCARIoIgHP7jPjmPN6oRsZVESSyFO3iST7NJPDyHPXKSD3yjONwENY0gjUSHm6DmltcpCG2OBYRI7YjJEYgSqR0KnSEm8fAkM1nwhUIwdXYjL0E4fJNJkvBNoJWbic1PJFj6KaYyVW5MvhDauEF4zkBJJIptzBdCC7rr2p0DhyNLNguoiWIbHF3YDedw4MDLg4gfG5CKhTHGixaLmueVKcdxYDveFSdU4nHgcICX+vzUXq+02HiYyZls4/xW8ioIggiRg3AEiEb82EgRU+dI+Y/68T+N0RxgLjBPgKhW7HCR0ZrQgpiGjsM+3uC7HmNK362/qZhKbCEACR17VEOzFac34qYbfy6JHoiiVcRCXRsygQR4NI2gGSc8TePnEUKrtJNjtsOaeFLE1Nn9r++qEKaNicrzU7Ew8Zx3N91SVQRBhMiJB371o7ugu8m1ohWj4WiuLHQewHTdSKl2NOXDl0iQBSZVg5DmIVk2JadiqElPJcw0D87RaiNcdGx2hWwyB9j2ChTveOXqgN2Bbhjg8DJqA7BhV8AAcAd5YIRR1WypHTXYzuewM3AcQXREjJp4BrA7GsW/e71CziCbmEGtssj47N4D0y0IggiRvWRnmFRnKuIi2Gx0F/ORqL+W0ggGowT0JqO50n1zC4HakVKD0ZQRCuCYpWSCTpEsp88dJJRUicUD6MYEkaCIEOEccXvwTc0SH3eXFnSmiMUg6KkVKDkji2L30mzHoc0fQfMXpzfC8Qm86BgmuPet3iaGvp8gOkwctdhr4slhZMG+J/7d6zXUT7+YccLzUkUEQYTIUalMzRRFQzge5QF7R3eJmaLFo3bEZ9LQDlw1KtodGVaNlJqNppr1/eMBZifn8UYjUquE81YiBKMG4UmVonwv7kLB5iaUVFHVqo/0qNHww1xjDcRHSHODMcXUpMp8IEpktEaxMKGopcFC1VqNkkAvP88X0vAo2d04Dms1dI8TmJ0sxePD5zvget0AoZJfHARCXqkeLUujBcunGWf9/1tht1ZdOnwhikui9ovrKOkTIfJWGCjZX+tHWzkji8/nI2HUjfg8tpIJpPlIrOnI8NCjKZP49DzekJf56TijJdEkCOeGzU9E8+/9pgc1tGCtaIlEqn+PFDu3kjWkhpqw/rpw9fE2ue5ufF/jHTK719wRjb25seFvdL0qnkbp8svSrjbhJGv/Wmi3VtVAe7epXaxKar2pGUeAaMQGBPeO7oJuPLG6a+5ih2WvHomNsme6Z8/I8AijKTM+zbz3ARG3jVEjzHR8VNaICIIgHFtjxBvs5uLgnVyVs3N2w5zEinI+u7V2nz9QH09duMbpqN3xVrTyf4376AAAIABJREFUiBA5IWXleojR1mFHZmYjFVo7Mjx4NFWlmv0RIpWB6O7/BUEQhGNSv5srruy/k4tqK2DxtxSe4z//rHZrVQ2Ki9va94nHdO+Kiqbpq9/xJhYRQRAEQTg69bu5RoM8WNhvJ9fuOU8lEwKhEzz+zHZr7RkU55rH46Gy9rtZ+vbueGv9aZ6LKURs/j3WD0EQBKHVu+59dnKl5pj3RtGKxwkTD8+d6FktsVtrHyFh3ycdteU00PJLBcQiIgiCILQ8xlwYNbHPTi6/B2VqkuIshwOHQ2HiJA88791ajeKpXu/RJB17d7y1/hTNpZ2dnZ39bkin06ysrBzLxfVhwj58+JB8Pk9PTw/379+X1iZUKBQKfP7558ApOYJ7y+TzeR4+fAjA2NgYLpfrWGFbPq81DvWq3C6UTlh9sGfX2NvYltkalJ3e9ff3c+/evX3vffToEel0GrCGI7iT9M3lsFbJq1Dr9O7evXv09/efWd/cIcUvCMLh2XWop2kamhZCmZkmbu47tCN4JBFiEg/HSElhC8KFQKZmBEE4gg6pc6iHm/HALNMLJv5RgHmm1ZK1pLIIb3d3Q6PtiNVuGXwhDU+yziWDbIUXBBEirUqhUODJkycUCgV5kxbDbrdz69YtKQiL0ch/jK3ioAbIKkxoxUPRUjGVuZSfylq7RtsR40lmahzjAe46lwyCIIgQaVV+85vfkMlk5C1akHw+z8DAAL29vVIYFqJGdFSJkwp7XCdUuVhosB3R4QCHd1wKVhBEiFiTV69eyRu0MBsbGyJErMaAHaamiY9GKg715mbAG907fVLrYqFE/XbEVAy1gafg4zjHEwRBhMi5IiuzrUH1ymzBgtj8REIGasWhXnFdh7+iN6rWiFRcLJRosh0xRK1jvKC7ziWDrBERBBEigiCIWNvlXX72s5/t/vn0Mz57Wvzvhx9+CB9+yIfFH/jss6fABsabP5H97DN+/O7PqA768r9/xtPqa+W4ytde/ndKO2QFi/KZvEBBhIggtD7d3d2WTn9nZ2eTabYdtl+/wzsf27jcealp+NevX/Pq1Su2trYsmf+rV69KJW6T8rhy5QpXr17l8uXjfx7X19fZ3t6W/kiEiCBYh97eXu7cucPKyorl0r65uUlHRwd/+7d/e+w48vk8v/71r/nxj39syQ/XzZs3pRJXUT7gyorr+L777js8Hs++B3odxL/+67/y5s0burq6LJf/69evn/naPREigtBinbfVyOfzLC4unjied95558DTSQXrCOuPP/7Ykmkvn3B8og/r5cvcvn37RGLmIiEnq543qRjh/Y+lFARBEIS2RSwiNX4zfITOzB9GtcvqBKrxd/gS/0Si5h4HDkcWZUKrHAqViqnM2nd3EpjxMHP2CAd6em7oB6R9fYAIgiAIIkQswK7fjKLn6DjhWAp38Lif5d2jrA+MITXHjBJCi1TdGfwHgvXiIBVDTaYIut1AimQCsr7yuQsmC/Ngf3Dc/LsJau63l0dBEARBECGynxio85th8xMJlgTJnIGSSJDwhYjaZ/f4x6j3QIovRIipGh8ZD5jeG67MgB1HIkkq6N7/g+724Jsq3WcaEAgRmE+Swo2bHAZexuuOWaj23VH73Ho/IKMsVIkKU/yAALC9vc2zZ8/kCHqhLcjlcnR3d9PX1yeFIYgQaTUa+c2okACPphE044Tn6vxjmG78Nj8RzV9jJSBS5SOjabgq0RONE1ZVpkoHOzX+prvx+GYxTBhYmAd7BLsyRTIVxE0S3TteeyZlKsaUHiCqFadgUjGVWEojOEADPyCj2CuFIX5Ayrx69YrHjx/T398vnbdgebLZLJubm9y9e1cKQxAh0mrY7ArZhsdLs+szo4F/DJ8HsFWv8QDwEaoZhjQLV52Akpgx44QnY9ibrNUYsMPsgondUPD4wY2PWcMkZeh468whpqHjqBInFX8fAzTwA5LbFSLiB2QPS0tLjI6OSi8hWB5d19nY2LD8eTWCCJH2w+3BNzVLfNxd8ZsRi0Gw/ttbP60CkJpj3htFKy4uKVpEik2eip+vRuEaKyKUek9i1T+PemFujqRuZ7yUbmV2jiQKHtv+4mrX30ctxesD++fzAvsB6erqQtd1RkZG6OzslJ5CsDTd3d2k0+niybeCIEKkpZQIwahBuOI3ozhFUuNetIl/DL/bgzI1iTpTvOZwKExQ6yMjxOTecKWPd816DIrrL9zNlQhefYZ5b7QkCQawk2BGCRHck6W69Jb9fTTxAxKf3T+fF9UPyJUrV+jv7yeTyeByuaSnECzN0NAQS0tLIkQEESItSc1ajzJ+IpHqb7uGFmwgYjRtrxCoubdRuPJjI2ijccJzdiI1VpNGO1ls+CMa/qZ/12uRBs+1+YlE6kOYB4drcK1xebQfg4ODLC4uihARLE9PTw/Xrl0jn8/LIVuCCBGhThyc2wc9RUydIuELocmbaEh/fz8LCwusr6+f+ZHHrUQ+n9/36PlCoXAqz3n58uW+zv46Ojq4deuWTJUdk7JV5CILke3tbb7++mvevHmzbz08DZaXl/dtNzdu3BBRKELkotPEoiPUMDg4yPLyMh999NGFLYOuri7W19fJZDIAOJ3OGmHW09PD4ODgiZ5x/fp1hoaGaj4Qb9684fnz5xQKBbq7uxkaGhIRcgIUReHx48dsbm5a0gfKaVCuP+l0mkKhQE9PD++//z4dHR01gu369esnes7t27f3iJD19XV0XWd7e5uBgQEURZFKKUJEEA7G5XLxy1/+ktu3b1/Yj2BfXx8ff/wxIyMj6LrO06dPWVtb4+bNmyiKcio7MTo7OyvrF/L5PMvLy5imic1mw+FwMDAwIJXxFMrY6XSSTqcv9Bk5H374IR9++GGlnj179gxFUU61nvX399Pf38/m5iaZTIalpSW2t7e5ffs2LpdLdi+JEBGEw1M+CMo0zQs/gunu7mZ4eJjh4WHW19d5+vQpi4uLvPfeezidTpxO57HjLhQKpNNp0uk0165dY3BwkJGRkQs7cn9bDA4O8ujRIzmsr0osbG9vk8lk+MMf/sDCwgLvv/8+g4ODJ5qO1XWdTCaDaZo4nU7GxsbkTCIRIoJwMqtIOp0WU2oVvb29jI6OMjo6Wul0FxYWcDqdDA0NHarT3dzcRNd1lpeXefnyJS6Xi08++YSenh4p4LdE+b2sra3Jh7FEZ2cnLpcLl8tFoVDg+fPn/OpXv6Krq4vBwUGcTuehBHFZnOu6XhHnVvVALEJEEFoMRVFYWFiQA6H2KR9FUSpm6EePHrG9vc3Q0BBOp3NPmeVyObLZbGXqRdylny3lRatyWN9eenp6KlM3q6urLC8vs7i4yI0bN3A6nXsGIxsbG5XpSoCbN29y+/Zt6ScuqhD57LPPLJfmnZ0dLl26JLXQQlaRt3kOwz//8z+ztrbWNmX25Zdf8tvf/pYf/ehH3Lx5kxcvXpBOpyvWEKAyHWP1EfXo6Khltnk7nU4WFxff6mF9uVyORCJRec9WJ5PJkMvluHTpEk6nkxs3btTsinn9+jUACwsLLCwsWDqvfX19/M3f/M2ZromztBDp7e0ln89bNv1dXV1cvXqVy5eP/hrW19fZ3t62dIW30qhhaGiIL7744q0JkdXV1bYSIUClfv7pT3/i22+/5fXr17x586btxPf29jbLy8uWESJdXV3YbLa3eljfH/7wh7YRIWW2trbY2dnh2bNnPH/+nK2trbYcdK2trbG6unqmVkpLC5Hbt2/zwx/+cN894a2uskdHR4/1wn/5y1/yzjvvcO3aNcuqbiudzfG2D4SqFpX9/f3cuHEDofXZ79yTVuZtH9ZXXZ/v3LkjFcUCrKysnNvA3tJCpLu729JHFu932M1BlBdYydz62XFWB0LduHFDOm8RIm+VszysT+qyderyeQmRDil+QTgciqKwsrLSdiZn4WJSPqxPEM4bESKCcEiqD4QSBKvjcrl4/vy55deaCSJEBEFGkYJgQaoP6xOE80TOERFankuXLvHkyZMznY9vdtiTHAglnIQrV66wtbV15scNNDuMTw7rE0SICMIh+PM//3P+03/6Ty2THjkQSjguOzs73L9/v2VOj5XD+oRWQKZmBOGIOJ3OihfNsyVFTFVRy/9iqWOEj5F6y+kKx81DpKFZWkzi4TB7ozhs2huV0VHy3ez57UvZKtJ6vI36Wh1nffx1dUd9G/XgoDwd1D7EIiIIAmdzIFRTHAGiET82TOLhaeKmG7/tsIHdBDX3Ph/gOeyRIO4TpStFTJ0j5W8WTzkNKZJHesB+aW+Wll0OHfYC8rYP6zs7TliH6+tOKoY6GcOunSC+Y9dj94WqsyJEBOEYvO0DoY7cBcfDTM5ki3/4QmhBiKlTJGo6WDtzahKPFsRNqup3Bw5HlmwWUBM4AlEeMF0XnxvMOOE5AyWRIFG+1jxBhKfhQalTT8XCGOMR/LYUMTWJR/PUjgNjKlOJclrA23CkmMQTtTNbTkN12g4chZbz3ais3E2eX1tGgWjkCKLPOrztw/pOqYLv1r2GdXxvHY6MLhCenCFbjqMU5vCaIUg0EGY6buL22w5oY8X6MboQPqDd+PAlKNZFM75P+nbr7ED1c0tCifq0jBuHb5siRAShPTjLA6FqyM4wqc7UfhjNONPGBFppBJWKhYnHFfRAFK3Ugc7Zi9aK3W9zsvL7ntGkGSc8Vxef6cYPkACPphFsmq5ixxjEYPaweUrFmCJUel6KmHpAyISOPaqh2ZpYharS4ghEifhrP2h7yyrJTKPn7ymj9raKnMVhfSei/r1X1fHGFhE/Ec1f81sKz7GF0H5trCKWjIPaTYpYomQLtB0ufTZ/BM1fFNDTjGJr9Jyct3nbFCFysdnY2GB+fr7pWoK1tbVjOxbq7Ozk8ePHTd1T2+12bt26JS/hLVtFlpeX+eijj87uodUjorkU/qAbcgbZxAxqYvc2X2gCZWqS4vfYR0jbO9p7YIRR1WxpJDaw+1uj+DzAAOCwM7BPumwl60Z4zgfYD9fHGzoO+3jprwHsDjD+HxX1/yunvc407vAyagOwYVfA2CctpQztmzeHAxze2uc3LqP2NZUrisLjx4/Z3Nw8lMv7c6H+vY8GebDQpA5XPu6TzOyaHAgdp2zstiZtLFJbPzxHbTdHSF8qxqQxgRa0QarBc+ze5m1ThMjFpru7G7vdzldffcXW1hZOpxOHw1EjJq5fv36suL1eL+vr65W/X716xdLSEvl8HqfTKUe/nwEul4tf/vKX3L59+0w9VRZHSQ8IlK0BJStE9YfSjIeZC2nsN81cPdIKxyfwomOYFD/6jT68h1y4N2B31KkDE0PfJx12hWwyB9iAHEYW7A80tP/rLRVefd5SMdT65zcsowEibWodqT6sz0oDmKZ12Aak5pj3RtEitorF4chWkBmFCQ1INWkT7qrnzx6x3Rw2fWac8KydaMTdvA6bccLz1q1/IkTeMsPDwwwPD5PL5VheXubRo0cMDQ3hcrlOtF2uu7ub7u7uSrwrKysMDQ3h8/lkG94ZCs3ygVBnfw6DjVEvTC+Y+P1BQkkVVa0MHQlEJ2BSRa0YCWqnKGrmu/ER0txgTDE1qTIfiBJisi6+CP79klM9NVOySORiamUaqfG6j3JnPk5gtvw8Hz7fWyw2d6OyekBA3/v8vWXU3lM0g4ODPHr0yDJCxJgLoyaa1+GI31NlFXTgcChMHBRpdT2utsY1qDc+HyRqnh+EmHr4duM+XPrMhXmy2WwpXcXn7KnDIa+l696lnZ2dnf1uSKfTrKysMDY2duTIDxP24cOH5PN5enp6uH//ftt/vAqFAktLS6TTaW7cuMHNmzePbBXZ3Nwkk8nw9OlTrl27xuDgIE6nsy3L6vPPP8fhcLTUOSLV6LpOOp3m7t275PN5Hj58CMDY2NiRFrJWh71z586JHYXtLg4FSBELG4zX7SQRTk75YLL+/n7u3bu3772PHj0im83y85//vGXOEannn//5nxkbG6Ovr+9EfXM5LMCnn34qFcUCVB8aee/evX2t6uW++bT6K7GInDE9PT189NFHfPTRR2Qymcq87M2bN3G5XPua+NfX1/nqq68qI/C7d++e7UJJYQ/VB0K1Em6PwtSkSmVsF9JEhAgHIof1CeeB5YXI2tqaZb2hXr16lY8++oj/9b/+F3/84x958uQJiqJw69atisDY3t4mk8nw7Nkzvv/+exwOB2NjY3R0dLCxsdFyH8DD0tfX17qL4o5I+UCo4673eTtKJIimBRGEo+B0OllcXGRkZEQKQxAhchh+97vf8eWXX7bVC1laWiKTyXDt2jWuX7/O8+fP2dnZ4fXr1wB89dVXfPXVV5bPZ2dnJ7/4xS/aQoyUD4RqKSEiCMeg+rA+QTgrLH3E+zfffNOWL2Vra4u1tTWePXvG1tZWRYS0E9vb26ytrbVFXsoHQrVLfoSLjXiYFs6atlkjctBCMaE1WF5eblG/FiejPLcuCFanfFhfu0ydCiJEzrTxCK3PyspKW+arvGj1tMqovHpdEM6DwcHBUxswSF2WvvnCCBFBOE86Ozv5yU9+QjabPXb4Mvl8vrL10SpcuXKFS5cunSiON2/etOU0pBVxuVz8/ve/P1F7sKoQuXz5Mh0dJ1u1sLOzw9bWllQkESKCcLacRIj09fXR09NDoVCwZN6vXr2Kx+M5dvi1tTUWFxct/e7bie7ubn784x8fex2ew+Egl8tZMu8dHR3cvn2bvr6+Y8eRTCYtK0S6urrOfOG9CBFBOCXeeeedE40g79+/bzlLSFlE/PGPfzzx9Og777zDX//1X1su/9euXWvZA8pOwgcffMCLFy+OFdblctHf38/Lly8tl+/f/OY39PX1nag+X716leHh4ROJmfPiPJY5iBARhAveCZwGhmGcvDO6fFnWerUQNpuN169fH3vRak9PjyUF2uXLJ/8sdnR0nFjMXCREiNSQIqZOsevUsMrV+lk/u+JBNEVMTeKp90B6ILueHX0hjTZ2HCoIwltA1/VT+SgLwoHCTYqgDkeAqKahaRpaSGFmMkZq34/9fr8fNYyPUOnZIWWGudRR46r621xgnmJeRIScDXKOiNBOfP3117LgUjgTRO7uhztINBBmOm7i9ttqvXH6QoSYYiYLqAkcgSgPmK75veymORVTmUrUxV0Kc2i34mac8OQMlaWQDZ4/YUxW/i4zqRoVD5I16fCF0MYNwnMGSiJBov5vAF+AgD5TjLNioRGaviLTlEIQ2oJCocB3330nBSGIEGmtr0ycaWMCTSuLizDGeJSAPoc9EsRtxgnP1f4eN934czGmCFWuF60WpTB7HpJgqiwifCG06htsfiKavyYOIlXPB6AuPdPwoCweUjGm9ABRrfh3KqYSWwhAAjyaRhDANKr+Lk4VGSENzW0SD0+zYPrPaJrKemxubh57YZ8gtBpLS0v84Ac/sKwfL0GESNuh2G2QM8gmZqqNDfg8YC//0eR309Bx2McP+SRfxXrRQAlV1nxU7j2KjjJ0HN7xikVjwO5ANwxw2BmoSYKn9PwB7A4fdjeADbsChlSFpmQyGf7sz/7sVBZtCsJ5k06n6enpEauIYDUhst9I38JWkBmFCQ1IUTPdUsnzrI5hUszznt8BFLLJHNRMapTCHMW6kJpj3htFi9h2LSIN46pKT7VBxV6bjpyRRbF70XVpBKfB8vIy77//vggRwfLkcjn6+vrY3t6WwhDEInIuZGeYVGf2WijcQUJJFVUt31jcUWNXskxNqswHooSY3PO7vy6cL6ThqQpz6DUibg/K1CTFpDlwOBQmsNU8P+Kv+tvno8peszf9vhDaqEF4Xl75SVlbW2N7e5t3331XCkOwPEtLSwwNDfH06VMpDKFVhUj9FtdqjjZd0Hq4CZbXSzT6Naih1f9Yc63B743CuRvd5yaouZukyV0K1iBtdXE3TGPT39xEItVmEz+Ryu82/Lt/4A5GkM03za0hg4ODUhCC5dnY2GBtbQ2bzSZCRGhlIdLsY109XSAIF4Pt7W3++Mc/8jd/8zesr6+3ZR43Nzf33Zp8WtuWNzc39z1Ztqury5InVVqJTCbDn//5n9f4imk31tbW9l2Ee1oLdA9qF319feLh+PhCRBCEMrquc/36dbq7u9tWiDx9+rTiuKynp4dr167tuefGjRsnesa1a9fo6upq6G+mLE66urrw+/3Seb9FlpaWuHv3btvmb3Nzk4cPH1bERqOTT7u6uhrW8aNw48YNDMPYs2ZsY2Oj0k/cuXOHO3fuSKU7XSFSa8oXhIvA8vIyH3zwQVvn8c6dO7hcLtLpdMU1/ODgIE6n89RGzj09Pdy7d6/y9/r6OktLS2QyGRRFwel0oihKW4/Uz5vV1VW6urro7e1t2zx2dXXx93//92QyGXRdZ2VlBUVRGBoaOlVrW7XA2N7eJpPJkM1m2dra4sMPP2RwcLCty/kMhEijNSI+QpqH5LGOIhcEa1IoFPj2228ZGBho+7z29PRURnD5fJ7l5WUeP36Moig4HI5TKYONjQ10XWdpaYnt7W2Ghob46U9/Snd3t1S2M7KGDA0NXYi8Op1OnE5npc49evSoUuecTuep1LnV1VWWlpYwTRObzcYHH3xwIfqKMxIizRd0ujWRIMLFIZ1O43K5Lly++/v76e/vr4z0/vCHP7CwsMD777/P0NDQkR2d1Y9Ox8bGZC3IGbO9vY2u64yOjl6ofHd3dzM8PMzw8HDFCvcv//Iv9PX1MTg4eGQrXKFQ4Pnz5ywtLdHd3c3Q0BAjIyMynXj6QkQQhPII8qc//emFzX9nZyculwuXy1XpgL/44otKB6woStMOeG1trTL1YrPZUBSFjz/+WCrVOYrq05xqsyK9vb2MjIwwMjJCLpersfoNDg5y/fr1piIuk8mwvLzMy5cvef/99/nkk08s6XnYQkKk2dTM+U7JPHz4UN6mBXj58mVb5KN86NNpThuUOzMrHyR17do1tra2WFxc5PHjx/zZn/0Zw8PDDAwMsLGxQSaT4euvv+bNmzdcuXKFd999l1evXrG0tMTS0pJlP2C3b9+29BTS8vIyIyMjpxbf5uYmX375peUXcF+7do1vvvkGXdfZ2dnhgw8+YHBwkJ6eHvL5PEtLSxiGwdWrV7ly5QrXrl1jdXWV1dVVyw4uyuu/WlyI1E/NpIiFDQbOqdDK7Lftr1Vf+ElHHzs7O2xubnLp0iXLVnorW0NOcz69UCjw7//+720nPA3D4E9/+hPb29tcunSJnZ2ditB69epVWxwhns/n2dzctKxFp3wgX7MR/3FYXFzk2bNnbVeff/e73/HVV1/R0dFREVztNMCqHmSd5WLaU5iaGcBOkvpDzM+CoaEhVldXLemYqbOzk9u3b59oLjyZTFrWTff169ctuw6g+tCn06KdOrJGo+N259WrV5a2hpz2gXyndbZMq1EW0Ts7O5YdAB62j2txIbJ3asYRiBI5h8JSFIW///u/t+SLfvjwIX19fQ33sR+WH/7wh3g8nhPFYQW+//77M7d4Xbt2rekc79s+9EnOF7AOn3322ZHDrK6unrnwbNZHVB/I97b49NNPpaJYgCdPnlTOCzprTmlqZgHT70c8xAtvg//4j/9gYWHhzObgt7e32dzc5O/+7u8a/t7uhz4Jb5eFhYUztQaur68zMjLScN6/+kA+QTgvLD01I1wMtra2uHXr1plZCQqFAl988UXT0Wy7H/okvD1ev34NUHN429umfEZGIy7CgXxCWwqRBrtmfCE0KUvhAnCRDn0S2puLdCCf0HZCZH8PtYLQrlzUQ5+E9uSiHsgntIUQAVIx1KmyTcRBIBrBL/MyQptT9nsi/k6EdhEin3zyiRSEcO50HD2ISXwWQppGyOcjpD2A6RgpKUuhzWm5aRkzTlhVUVUVVW3tNpiKqcRStX+H42ZVVsKl31PE1BgpM044Vp+j0m/1/VG4VAbhOKZU00ORy+V499132+T0z0b14lgNing4zG61TBGrtK/yvzBxs9nz6sPXXzutdIoQAXIY2JFZReEisb6+zubm5qke+nTizndyHm9UQ9M0tKid2dhJuziTePikHWXjONweH4lkqpL2ZAKyRq4SZmEe7ANQnPptdkrz3t/M+DTz3mixDCYM5lKnlY/25m2cHdJ+FJchaFoIHz5CmoamRfDb9qujwnE4xtTM7i4ZSDClJvCFNPxSloJYQ85QhyRJ+CbQylOiNj+R4K61oTJz6guhjRuE5wyURKK4yNwXQgu6qV147sDhyJLNAmqieDbQ6MJuOIcDB14eRIrb9FOxMMZ4cUq25nllynGU52zdHnxTSVJBN27TgECIwHySFG7c5DDwMm4rjxqTeKL2KmEzybw3SsSfK/5W9RGw2RWyU3Ok/EHc7iBBIBWbZKYqHxPGZG15BN1Fa1I5b6VrZjzM5Ey29r42ZGNjg9XVVcbGxtq2ve5pA+V3PjlDltrru/c6cDjAeygLzG49bBT+oDgb1rWaOunDV26vF2D5wzGEiA1/uccLamiyalVoc87i0Kcj2x0MHYd9vFEPzJQeIKqVBYNKbCEACR17VEOzmcTD08RNN/5cEj0QRav0cCbx8Bz2SOlDbwIJ8GgaQTNOeJrGzyOEVvG8XRdH1ejS45vFMGFgYR7sEezKFMlUEDdJdO94w+3/qdgkxoRGxA2QazBoDaKFYqiqCo4A0YgfdzBKQC+lIRVDna8rj5RGcKAqb8UvA9PGRCUfqVi4WEZt2Pm/7QP5WkCF7G0DKY2g209E89fU01QqWVV/U8TU2aM/qz78Qmz/OJvVNarqZCpG2F7dNsUiIhyD1dXVfZ2Xndax1wcdpdzb2yuHFZ30o2+ap+7g7qTY7ArZ5N7Te0xDx1H1UR+wO9ANAxxeRm3FgYRdAaP0EX9ghFHVbGlU1mDC1bH/NGxTQdSAATvMLpjYDQWPH9z4mDVMUoaOd7xBh5uYYgofoYMGQY/AAAAgAElEQVQGO+4gmhbEjIeZjo8S8R9UHiYM1OUtZ5BNzKBWWXZ8HtrycKTl5eW2toY0feduiIdL1rLiGyZQU38HsDtOMiAohjcOirNZXauuk3vaZntPBIkQeQtsbm6ysLBQEQmNxEB3d/eJD8Wy2+0YhoFhGHvEyebmJp2dnYyMjDA8PCwv5QQsLS213qFPbg++qVni4+VRe4pYDIKeWoGSM7Iodi+63kTQ+CNo/qKpOByfwIuOYYJ73w+wiaHvJ4gax2Eb9cLcHEndzngpD8rsHEkUPI2e5wuheZKo4TjRiL+JxWR3iqiWUhrsDcrD0yRzF6DDX11dpbOz07J+no4j0ivvPBUrrieK2HYtdzX35jCyYD/2s0rhvQoJ44A4G9U1c7+2ObA7zSlCRDgMXV1d/OxnP2N9fZ2nT5+i6zq9vb04nc5T3f5569Ytbt26BRQPJ0qn06TTaXp7exkaGkJRFLq6uuSFnICyg7vWO/TJTTBqEJ5UmSmaLghEI2BzE0qqqGpVhzdqEJ5vICeq56nxEdLcYEwxNakyH4gSGa3pFZlQVCbVGWrmvd3Bmuf5QhoeJbsbR3XnaRvFq88w742WPhED2Ekwo4San0vkDhI1wkzG7A2ngd3jXmYrZeAjVFo0Y69KQ4jJ2vJw7+306/PRrvPy7btItbhesfyOQ0ztfed4UKYmUWco1WGFCfc4gdly/fDh8x21GTYIPzpOYH6fOJvVtX3bZntP0Vza2dnZ2e+GdDrNysrKsUx5hwn78OFD8vk8PT093L9/v20LWtd1MpkMKysrKIrC4ODgiXdgbG5ukslkWF5eZmNjA5fLhcvlapMteUVx9fnnnwNn6wiufMT7/fv3K06gDvPsfD7Pw4cPARgbGzvSYVHVYcXpnXUoO73r7+8/8Nj2R48ekU6ngbN1BPfo0SNu3LiB0+nkH//xH/nFL35xqMHQSfrmctizzqtwfKqd3t27d29fZ6qn3TeLReSMUBQFRVEq4uHx48fHFg/1omZkZKSFtpW2F3Lok9AuyIF8QqsiQuSM6erqYnh4mOHh4cp0yhdffMG1a9cYHBxsOp2ytrbG0tISuq7z3nvv4XQ6GRsbk07lLdJehz4JF52lpSVGRkakIAQRIqfJ6uoqi4uL++5OsQLXrl1jc3OTxcVFHj9+jM1mY3BwkL6+PjKZDF9//TVv3rzhypUr9PT0sLW1xdLSEktLS5bNc19fX8t3inLok9AufPfddy12IJ8gtIkQefr0Kblcru1eSiaTwTRN3rx5w87OTkVovXr1iu+++64t8pjP53E4HC3bMW5tbbX9oU/CxSGdTvOXf/mXUhCCCJHT5tWrV5X/77ewRmgdXr58SaFQAGhpS9bm5iYul0umvoS2YHNzE6fTKQUhiBB5mxy0Yl1oDapXZrc6Mi0jtAs2m00ONhREiAiCVbh69Soff/zxuR36ZCWxdprs7Oxw6dIlqYBvQVBfu3bt3J5f3uIs9VAQISIIh6Szs/PMzdgnPWW3FcrsJHl4/fo1r169Ymtry7LitVU5j2nrvr6+yjkiVqOrq4urV69y+fLxP4/r6+uW3kRx1tYzESKC0CIN/+OPP2Z9fd1yaX/58iXffffdiZwC5vN5FhYWKicFW42W8szcAty+fZsrV65YMu2ZTIbR0dETCbhf/vKXvPPOO+dqiTrJoOisB0YiRAShRbDqYsJ8Ps/i4uKpiDE5UbY96Orqsuy7XFlZOXEcnZ2duFwu2URxSDqkCARBEARBECHyNjHjhFUVVVVR1Rips35uLFV3OYyqhombh46IeHi/+1PEjpUvk3i4VC7hOKa0B0EQBEGEyGmTIjY5jzeqoWkaWtTObOwkUsQkHj7CR9/hwJFIVt1vsjAPDkcr6LPpoltsTUObMJhLHSN/giAIgnAC2n+NSCpJwjdBxYuyzU8kSNFaMWegJBIkfCGi9tldt8u+EFrQXbxncoayM+aye+mZLKAmcASiPGB6b7gavEwE5kmmwO0GUnPMKF4C+q5f9lRMZSrBnjh2r5fcrufihKfhQcSPDUjFwhjjta7Ka9xHV+JKEVOnKD5i1725za6QnZoj5Q/idgcJAqnYZE3+In7b3vSNGzVlpwXdTZ4rCIIgCBdciJiGjsM+3vjHBHg0jaAZJzw3gaaVBUCYuOnGb/MT0fxVlpA5iEQJ6HPYI0HcTcPVPmZg1Is+V1QiqaROYHwcpufLKoQpPUBUK4sLlVhKI0iMKUKluFPE1NnDmDiYNhqkJ5dED0TR6hPmDqKFYqiqCo4A0Ygfd7Aqf83StxDYLbv9nmuTBiYIgiBccCFisytkkzmgwVfRYWcAIGeQTcygJnZ/8nkAm0k8XLIQFK8Sqg7fNFx9Ikbx6tPETTB0L+M2WKgWSt7xSpABuwPdMDGpFlAD2A8zldMsPe4gD4wwqprda61wB9G0IGY8zHR8lIi/gZDbkz5jt+yOUg6CIAiCcNGECG4PvqlZ4uPlEXqKWAyC9UaSRtMJqbniGoqIbdciAoCOYVK0GBxqGsLGqBcmJ6dwBKI13+d6oZQzsigeGzaqr+cwsmCvlQgYeoNHNUmPzR9B8xenbsLxgdKUy96pnZr82Zqkz+5F1w/3XEEQBEG42EIEN8GoQXhSZaZoBiEQjQBGjVUglFRR1YqppLiOwu1BmZpEnSleczgUJrDx/7d3v7Ft3fe9x98ObcUKXcG6UixQPCEtTYqdxpoLE/ozunGN2S1atJextQkdMnBbslwE3LJCwFo9IfZkAIdNaDEBc6a1qRMgXL0Nwnxl3mINtnjImjtBliAXgRzfuJEpkyHFUFGqVJFsRzat+4B/TEok9de2KH9ej2zynN85h4d/Pvqe3+/8rEaYni43Fzq66aRr6Xp5KgGW5lZsfQbtrmSoKbhtZyfJKxwn6DibbtuJ0wnUumg33HS5+8j0G8k51PzH0Tyc1X8DJ52pDjOOE62czbwudx/PPj6fK8/+NUfxXlh+u7o0IyIiy9m2sLCwUGyBYDDI5OTkmqZDX8m658+fJx6PYzabefbZZ1fVfnpdgOeee05nswRkz6Ny7Nixojf8mZub49y5cwA0NTVt+hskxeNxzp8/D0BbWxv19fUPxTlN39BsPRNPbkQbm93g4CDBYLBkvq/W891cys6fP8+BAwfWdTOyjWhjM9vo72bdWVVEigqFQoyNjRV8fn5+nrKysnVvZ3p6OhPk8tmxYweHDx/GZDLppMiaJBIJ/vu//7vonEbT09Mbsq2LFy8W/Vw0NDSU7N2UN5qCiIgUtWfPHiYnJ4mkOgYZhoFt0Y1w1junRk1NDc8888ySv7rC4TATExNUV1dTV1enECLrkp7QcmxsjHg8Tk1NDXV1dZjN5iXvx/Voa2tjdnY257FoNEooFCKRSGC326murtYJURARkZUoLy+nubmZ5uZmQqEQkUiEgYEBDMOgoaGBysrKDdlOTU0NiUSCUChEOBzm17/+NXv37qW5uXnJD4XIWtntdux2O3NzcwSDQUZHRykvL6ehoQHDMDakumc2mzGbzczMzDA2NkYoFKKqqopDhw5hGIYCtYKIiKz3S/zGjRtEIhEGBwdJJBKZMvNapw+Px+OMj48TiUQwDIMnn3yS2tpaveByz5jN5kz/hqmpKcbGxnj33XexWCzYbLY1v//m5+czlzPTn42vf/3ra/5sKIiIiORRXl5OY2MjjY2Nmb/63nzzTaqqqjJhZTlzc3OMjY1x7do1du3aRV1dHc3NzfprUe676upqqqurMxW5X/7yl1y4cIH6+nrq6uqoqKhYto10tTAWi2G322lra9uwaqGCSIlIj56RzW1ubk4vwhZ8H1utVqxWKx9//DFXr15laGgIu91OfX19zrXw+fl5IpEIH3zwAdevX6e2tpYvfelL7Ny5E4CpqamSO/Zdu3bp0lGBz/rifhKlUil56qmn+Pzzz4nFYrz99tts376dxsZG7HZ7zqWbmZkZ3n//fSKRCLt376a6upqGhobMe70UP88PYqTPlgkixXrbi2x2iUSCn/70p1sqqI2NjREOhzGZTNTV1fHpp58yOTkJwO3btwG4evUqV69eLfljPXjwIE8//bTeyCkffPABw8PDW+qYfvGLX3Dx4kVqamqoqqpibGyM27dvc+vWLRYWFrh58yYfffQRly5dKunjLCsr4+TJk/e1MlnSs++q7FXaVlLufFhMTU1tyWrR/Pw8N27c4L333mNiYoLbt29nQshW8tFHH+lNnCUcDm+5Y7p9+zaJRIKJiQlGR0e5ceNGZhjwtm3bttRn9n5XJku6InLw4EF2796tcn8JMgxDnbcKqKmpYc+ePRvxdyn/p/t/8//S/33qJF3/s3GV67/P/q7/SeOGHmHufj1+5EWeb/sfy+zDft7Puy+/YvD1c/Ds8+Q2ca/2PVf65nxS2Ga/EaEkTU5OPrBLSSUdREwm00Nz90p5eOzZs2eDvrzn+b+pWZUtxAh4TzFe3b6KW+830eQv9Fxy7qXMLM1r3q8Ret1DzP+vQu2k92GEXuLYm5poWrQf4+Xl8GQTTZaV7ruCiIKI5HsvK4iIyH0TC2TNP+TsxO+BXncPmQmUbR10+6z0u4do8XtwMJL1vA2bLUw4DLgHsHV08zKnFrXngFgAb38UY2CAgeUmRYwF8J6Cl30uLJA1IWMyqLT4W3IWH+l10zOQ3pdFcy6RCi7uIVq6rZxN70P2vonIpqEgIrKVhfsykyRmJiKMBTgVbcefnF2RkV4vgYBBpKMbv8tCLOCl35qsVtz9XR/KPL+kIhIL4O1f1F7MgQtgAFr8fjwF9ysZDjxEObvSYxrppYfO1PZG6HUvs+ZABGu3H78lWRUKxByakFFEQURE7ovUJRACXrr6R3B5HDARJTzQh3vg7mLOzvasmaaddC6+rOHw8HLUi9sdTlUVsm72lK+9FqAWsFmpLbJfllR1w9vvBKwrq+ZEI9isJ1L/q8VqW1wlcdKZXUGxtdJsAbBgNXLm3RYRBRERuR8srpfpSFcDUlWI7EsUsYCX/k4/fkexNnz4XcllvYF2WokQjZHs25HvkkdsZftWa7UtSgcxopEi+2E1CA9NABZggmg4GWEcHj/+TOllhCGddhEFERHZNFGE5lY4NRzD5fLQOeTG7c6UDOjobocuN+5MwaIbn4ucoJLpA4KTTr8Doj30dLm50NFNJ12L2vPhKrY72ZdmUtWRiV535jJS/n4fKY4TdJxNb8+J06mz+3AZodcb5USqokaqIzYv++7NJbdYAG+/FV/evkUjy/StWsUxrXodBRER2fQceHyOnIqGL/1MTvUg2a+Dbj9+S/qLfpiYy4UnXSJJVUNy5LSR215qJXy+AvuVp9+IxZOvDUdmHxyZco0Fl89fPOhkr5e1Dw6PD3VVlY3lpDMVIEZ63fSPdK7ts+p/eN+ZCiIigqPFoKfLTV/6q7XTj/pzSsnJHqmVfCPjPxHNfSzdPykWwNvVR+bWa6nLi3f7GiU/B3e7Q8UIeLu40NqNb6Wll7yjwdqJdhWpouQ7hpxRbVkdzxVERGTrJBEP/qXlCJHSs3iU1ERrzuitZNXChcfhwpcp8yVHgY2MDGWNyMo8BcBIbxfRdj++JYWLAXrcA3fDjAN6i+3f8FDxEWr5jiFrVJsqIiIiIptZvlFSWaO3aq02Iqle1gFvF313SyJ05IzIyg4GPfTgpDNvVr97aSYVWYrvX3MLRleREWr5jqHZw8vD2aPWttZlnEf0rhURkdJRi5U++tO/97FhLoQNrCssFkxEwxhWC4z0c6G1G7/fj9/fTYcNrFaDcHQiT9boxN8JPd7ASgeD5ZEcDRbtPwud/tR2V9451eLy4ff76baexRuIbakzumkqInfu3CnZKdDl3rh586ZeBBFZ/JOM6+UOvJlRXsk+E0V/0BfdQC955aUl6945Nmw2g3ZH7oiynD4iDg/dUS9dvdaVVyQsLtqNRaPBTrQTLTJCLZ9ovxf3QPaota11iWbTBJEbN25w/vx5fcZE7rtFQxDvSWe45YYn3r2V+9BDPIxRVlweyOrfsejxxaOkYgEuZN1AL+vZvKO3WDJ6y4XPk1WVWNLG4ndq7mOrHqGW7xgAzxbuwvXAg4jZbNaHSvQ+edCyv6hHenF39WLd0DCw0uGJD/cwRtn6NEJtEwaRgwcPsnv3bm7duqV3qBQMIXa7XS/Effum9NDd4eVUIIYj1bO/8AR5yepJ8/CiZbKHTGbWSU1Cl2fI5OLKiLUjQl+6vayQtGRflmxHIUaKV0k2w+dLI9Q2WRApLy9n//79OhMim9EyE+Sll/EuXmbRkMnMSAJLniGTOJZUXqxZt5M/RXPyL8Z8+7JkOyKiICIiW4JhtRSYIM+XOwFeS55lrK0FJryLLRkyWfA+lCO9dEXb8XtSgWdiNdsREQURESlNsQCn+gza/SQLGfkueTiyJsA7m2eZWADvhXzhIjVk0mchXREptA/es1a6F989aqXbEREFEREpIdnDG7Nv0ORYOkGe0wkDOUMJPdC7aBK9zgJT1jnyDJnMs1h0+ALhcDi1T6n9ybMvBbcjIiVj28LCwkKxBYLBIJOTk7S1ta268fWsK1Jq4vF4Zgh6W1sb9fX1a1rXbDaza9cuvaAlcs4BampqOHbsWNFlBwcHCQaDADz33HOb/tjOnz9PPB7HbDbz7LPPrmnd9Gsjm9/s7Cxzc3MAHDt2rOh5m5ub49y5cwA0NTXR1NSkiohIqTOZTDkf8vQXQilYWFigrKyMbdu2raudRCJBIpEo+fMnua9Hqd2o0mQyrft8LiwsMD8/v+7PxMPyflYQEdkEqqurqa6uZmpqquT2fdu2bezcuZOWlpY1tzE9Pc2lS5dKMoiYTCZsNpvexFmefPJJpqammJ+fL8nzeeDAASorK9fcxtDQUMnekqKysnJdx64gIlLCvva1r5XkfsfjcS5durTuEnxlZeWylzekNNTW1vK7v/u7Jbnv58+fp7Kycl3v58cee4yWlhZdllohTXonIiIiCiIiIiKiICIiIiKiICIiIiIKIiIiIiIKIiIiIqIgIiIiIqIgIiIiIgoiIiIiImumO6uKSFE3btxgZmam4PPT09Mbsp35+fmi85KYTCaqq6t1QmRdpqamik4lsFG3pV/uc1FRUUF5eblOiIKIiCwnEolw8eJFEolEwTBgtVrXtY30l/KlS5eW/Cikv9DTt4AvKyvTSZE1h93h4eHMeypfGCgvL6eiomJd27FarUSjUaLR6JJwMj8/j8lk4tChQzQ2NuqkKIiIyHIaGxupr68nFAoxPj7O7Ows9fX11NfXYzabN2Qb5eXlHD16NCf8hEIhpqenaWxspK6uTtUQWbeysjK+8Y1vMDMzw5UrV4hEIlRUVGC327Hb7Ru2nf3797N//34gOZv2tWvXGBsbo6Kigrq6Oux2uwK1goiIrIbJZMqEj7m5OYLBIG+99Ra7du2irq4OwzDW/cWa/eNQVVWF3W7n8OHDevFlw1VUVNDc3Exzc3Mm9A4PD2O322loaFj37LOJRIJQKEQ4HObXv/41e/fu5fjx4xsW3BVEROShZjabaWpqoqmpiXg8zvj4OO+++y4WiwWbzUZtbe2K27px4waRSIQrV64AsG/fPg4cOKBr53LfGIaBYRjMz88TCoUYHBwkkUhQV1dHfX39qt6L6c9DLBbDYrHw5JNPrurzoCAiIrJKNTU11NTUZP4C/OUvf8nw8DB79+6lrq6u4LX2UChEKBTik08+wTAMjhw5su7r8iLrUVZWRmNjI42NjczMzDA+Ps6bb75JZWUlNpsNu92OyWRasl66QhgMBjMVwkOHDunSi4KISOkZHR1lcnKy5I+jvLyccDjM2NgY5eXlNDY2YrfbmZmZ4erVq4RCIXbu3Mn27dupqKhgZmaG4eHhkj3eHTt28MUvflF9WLLMzMwwOjrKzZs3S/o4KioquH79OpcuXeLixYtYLBb27dtHZWUloVCIDz74gM8++4xHH300UzkZHx9nfHy8ZI+5urqagwcPKoiIPKxf3FvN559/zi9+8QsuXryIyWTKDI2cnZ3dcsd65MgRvZGzQnUoFNpyxxUKhYjFYty6dQuTycTt27eB5Giczz77bEscYzwex2azrbufjIKISIm5ceNG5t9ms5ldu3bpRSmRL22AW7du6cXIkl0Jqamp0QtSAmZnZ5mbm8sEq/tJQURkk6mvr6epqWmDWhuh193DQPq/zk78Hscq1x+ixe/BsaFHGSPg7aIvDNg66Pa5sJTguTpz5ozesMs4duyYXoQSMDo6+sCqsrrFu8hWZ+ug2+/H7++mI3KWQGw1KzvwFAwhMQLeXkbWEkMCp7jQ2o3f78ffHqV/ZC3trX37IrJ5qCIi8pCKBbx09YWT/3F24veQWz2xddDts9KfqYhkV1ds2GxhwmHAPYCto5uXObWoPQfEAnj7oxgDAwxkVWMsVoNwTz8jLg8OhwcPMNKbqpC4B7A5nTAwQDi9L85O/CeiOW110pO7fMTKy6nKykivl+gJHy6ytp85ptKsvogoiIhIaQr30eXuA2x0dPtwWYBYgFPRdvz+ZDAY6fUSCBhEOrrxuyzEAl76rS4s2fWGkaHM83crEv1YfR4csQDe/kXtxRy4AAagxe/Hk1No8eDv7MXtdmfCgcPTTUck1R6Ax5OznRGsi9rKWj4WwHuqwPFnrTPS66Z/xIXHobeFiIKIiNwfqR96Al66+kdweRwwESU80Id74O5izs52jJ4u3H0ATjr9i9pxeHg56sXtDqcqHlk3asrXXgtQC9is5L2lk8OD3+8hFvByKtCMz5VTr7nbh4TU/lCkraLHf3edWquNSDQGDtVERBREROS+srhepsN76m6lYlHH1VjAS3+nH7+jWBs+/K7kst5AO61EiMZIVjDydYQt0B8lc+lkSR5ItTfRn+xD4rNkKiL5ZW0/a6PRSP6lJ6JhjBaFEBEFERF5EFGE5lY4NRzD5fLQOeTG7c6UDejobocuN+mHbB3dOVWKnD4lOOn0OyDaQ0+Xmwsd3XTStag9H64Ce+I40crZLjd9mbaS4cBqhFPtdWD0paszNmw2g/Y8x3N3+W7aja7MJSibDVrTi2UuTaXCki7LlJhNOvIrFsDb1Uc4T6Dv6uPuZdDijRDwnoKXCy17r0atKYiIyH3jwONz5FQ0fOlnPH78ntwqBd1+kplghF7vMDGXC0/6lztVDcmR00Zue6mV8Pnyllbw+ZfGlJx9crlY3JzDV2T5fNuPoQ6qW0HmHCZ/uAMxxwp+5LM+AwXTZ1Y/pzXtlw3bwBAjHkdq/RjDF8Bm0ylTEBGR1UeWFoOeTJUCnJ1+/XjLpvYgR34ltdLecYGhEXA4gJF++oxWOiIXsgK+m54Bctq8+1hW9S7V4Tp35Ff7Ko7XtsIqjIKIiGzaJJLsPLqlWApUZKS0bMaRXym1za1E+pNJZGQoQseJE3DqQjqF0BPpoNufDhduenudDNCZ2s4Ive6zK01dRY9XFREREZF7ZbOO/AKwNNMaOUUgBtFIKycskJ7CMRaNYGs9kaks1lptDPQNYOs4kX4E60ov4+Q9Xt+i4ynNniQKIiIiUhI208ivrBZpboWurh5sHd05lzMtVoPw0ASkHp2IhnE6nQxE049NEA2DdWn5I//Ir3z758g+nlp8JVgdURARkeI2ZHQAS66Br2IHlhlZIA9RFNk0I79yiyKt2PoM2pPXjHIqMDn7mKrCWL3p7ThxOjMJiXbDnX/kV762sJG8AXH28ZTmB0RBRESWt6bRAesckSCS/AXevCO/fFn/9t8NS66sFRbvY3I3/HkDTr5ls8s7+Z73bIFuXQoiIrICy48OWNyjP2cumI5ufM0AFzjl7kvOIZNVYVnxyAKRYpFFI78URERk6yo6OiBPj/7oiUVzx8SAMLR2+/FZsu4HMbGBIwvkIU8iW3Dkl4KIiEhKkdEBhUYcLOmEZ2ul2QLJu6JClA0eWSAiCiIismWTSMHRAcnksbhHf4zA2dSIhCL18bWPLBARBRERebiiyEpHB6RGHGTPBZPsI5LHakYWiIiCiIjcW3Nzc8Tj8c2zQ4+08p3vAPE48Uda+c73U//mEVqTTxCPg9H+fb6fc0fqOGQ9FierHcBo/w5GgXXjcWj9zvcXdVBNLiulJa6TVjLfOwoiIgJAMBgkGAzqhZAt4fz583oRREFEZLOrqKjAZDKRSCRKcv937txJY2Pjuv4ai0QizM/Pl+z5k7sqKytLthJSVlaGYRiYzeY1t/HBBx9w8+bNkv4+UhAReciUl5fzzDPP8Mknn5Tcvs/OzvLZZ5/R1NS05jbi8ThTU1Ps27ev5I5/x44d2O12vYmzHDhwgC984Qsl+WMcCoWoq6ujpqZmzW3EYjEsFgu7du0queOvqqqivLxcQUTkYVRbW0ttbW3J7Xc8HufSpUsbEsbWE2Zkc1UV1lMhe5AmJyfX3YbJZKK+vn5dYeZh8oheAhEREVEQEREREQUREREREQURERERURARERERURARERERBRERERERBRERERFREBERERFZK91ZVUSKCgaDjI+PF3x+fn5+3beENplMTE9PF50gzWQy8cwzz2AymXRSZE0SiQTvvPNO0Tmdpqen1/0eM5lMXLx4kbKysoLL1NXVUV9fr5OiICIiyzEMg0QiwZUrV5iZmcFut2MYBjt37swss95Jsqqrqzl69GjOD8TU1BRjY2PcvHkTwzBoaGhQCJF1B4QDBw4wNjZGKBRi586d1NfXs2fPnpxlqqur17Wd1tZWZmZmMv+/desWoVCISCSC2Wymrq4OwzB0QhRERGQl0vOGNDY2MjMzw5UrV7h48SJ79uzBMIwNm/Cturqaubk5gsEgwWAwM/eMYRhF/7IUWe37rLq6mubmZkKhEOPj4wSDQfbu3UtDQ8O6Zt1NKy8vp7y8nEgkQigUIhaLYbfbOXbs2DTI4+0AAA7lSURBVLpDjoKIiDzUKioqaG5uznyJRyIRhoeHsdvtNDQ0UFlZueo2E4lE5gdhdnaW+vp6jh8/viE/CCKFpCemq6+vZ25ujmvXrvHWW29RXl5OXV0ddrt9TQF4ZmYmU3GpqqrCbrdz+PBhveAKIiKy0ex2O3a7nfn5eUKhEIODgyQSCRoaGrDb7cv2G5mYmCAcDhOJRDAMgwMHDmi2UnkgzGYzTz/9NE8//TRTU1OMj49z6dIl9uzZQ11d3bKzYt+4cYNIJMKVK1cAaGho4Otf//q6+04piIjIfXXjxo2c68qlpKKigkOHDnH9+nWi0SiXL1+mqqqKvXv3YhhGpm/HzMwM4+PjjI+PYzabefzxxzl8+DCPPJIcwBePx0vyL2uV25eanp5mfn6+JPfdZrNhGAYff/wx7733HoODg5lLN9n9oUKhEB9++CGTk5NUV1fz9NNP89hjj2Xe66X4ea6oqLjvAUpBRGQTSCQSBAKBor35S000GmVycpKhoSGeeOIJPvnkE65fv87t27dZWFjg+vXrfPzxx1y+fLnkj3X//v0cOnRIb+SU999/n4sXL26Z41lYWOD999/n6tWrPProo+zZs4dIJMLCwgK3bt0CIBKJEIlESv5YTSYTLpfrvoYRBRGRTWBqampLhZC09Jd0MBjc8n/9S24I3Uq2bduWeT/funWL2dlZFhYWMo9vtT+KZmZmFEREHmb19fXU1dXphSgBxe57IknHjh3L+3i+/kBut3vJY36//57vo9vtXvV23nvvPf7pn/6JiYkJqqqqOHnyJE6nc01trXUflrOaS53p0UMPgoKIyCZjNpvVaVO2jNW+l+9H8NgIvb29fPvb36a1tZVf/epXnD17FqfTWbKv/eTk5APbTwURERHZ1F5//XW++MUv0trayoULF7h8+TLPP/88H330EadPn2Z8fJzHH3+cF198kd/4jd/gww8/5PTp01y7do1EIpEJN4urDtkVmPS//X5/wXazlZeX8+mnn3Lt2jXsdjt/8id/kmkju63s/z/++OM8//zzNDU14Xa7+epXv8p//ud/Zi7LZq+Xb1/Tj3/rW9/iP/7jP3j88cd56aWX2Lt3b0mfXwURERHZNBZfnkn/+P7gBz9gZmaGixcv8ud//ucAvPrqqxw9epSuri4uX77M6dOn+au/+iteffVVDh8+jNfrZceOHUW3l+9Hv1C72b773e/y5ptv8o//+I/E43H+6I/+KG9b6W3cuXOHK1eu8Prrr9Pd3Q0kb/P+2muv8cgjj6zq0kxVVRWvvPIK//Vf/8Vrr73GX/7lXyqIiIiIbIR8P8bbt2/nW9/6Fn/913/NX/zFX7B9e/KnKxQK8aMf/Ygf/ehHwN1OpZFIhKNHjxYNIXfu3Cn4XKF2s9XU1PCHf/iHAHz44Yf8zd/8Db/1W7+1ZLm33nqLf/u3f+OTTz7hzp07OW05nc7M0PViFu/rkSNHKCsr4ytf+Qr//M//XPLnXEFEREQ2tZs3b/Kv//qvfO9736Ovr4/vfe97lJWVYbfbOXr0KC0tLTz66KOZ5Z944gnefvttfvu3fzsnjOzevZt3332Xp556irfffjvz+I4dO/j000/ZvXs3QMF2s/X29nLy5EmqqqoyQ3nztfUv//Iv/Omf/in79+/n8uXL/O3f/m2mjey5kxavV2hfAd555x2eeeYZ3nnnnS0xZ42CiMiWNUKvu4eBzP9tdHT7cFk2w75k788Ive4hWvweHJnnYgS8p+DlxfubfrydaNfidWQryHdpxu/3c/LkSZqamrhz5w5vvPEGL774Ii+99BJvvPEGb7zxBjdv3sws/+KLL/LjH/+YM2fOcOfOnUyV5fd///d59dVXmZ+f55vf/GZmG8ePH+e73/0un3/+OX6/v2C72b70pS/xgx/8gKmpKWpqavjjP/7jvG1985vf5O///u8pKysrOIIo33qF9hWSw/09Hg979uzhpZdeKvlzvm0hHeMKCAaDTE5O0tbWturG17OuSKmJx+OZ4ZxtbW2rmuI7e92mpiaampo25sffG+WEz4UFYKQXdw903vMf7xgBbz9WX77t5AsdhdrY/EHkzJkzQLJMX+xHBmBwcDAzPPK5557b9O/n8+fPE4/HMZvNPPvss2tat1SOtdSC2r0YWTQ6Osro6CiQHHJdbMTN3Nwc586d27DvK1VERB4WDg/dHV5OBWI4XBZiAS9dfeHkc85O/B4HI71uelJlC2dHB5FoFGNggAFnJ530MNTix+MAYgG8/VZ8J6J4+1PLANg66DD66AsD7gFsHd34li3B3A0nZLZvw2aD1vQSBR7PxJPFx5K9X85Okk2nKzIPsjIkIgoiIgKxAKei7fj9jtQPvZdAYIg+OjOPEQvg7YMWvx8PwIiTnqERPA4HI/19GC1+IAoDd5cZ6XUz1NJNR6RQRaRYHumlJ7P9EXrdZ4s/XuxYJlpz9ouRXiId3fiVPqTElcp9VhRERKQgw2qBiSjhgT7cWZ02bDawtZ7IXdhmJTPvqKMFZ88QIx4YGnDS4gFiucvUWm1EohNY17Bf0WgEmzW9/VqstlTOKPB4Rp5jcVpbF+27h5ejXtzucKb6IyIKIiJyv6sgfQbtfmCEpT/II724hyaAQlUDByc6ztLfCwPOlmSlYUkmCGO01AIRojFwrKIAYbUahDPbnyAaBitgKfB4jsXHEgvgvZC7iMXlw+9KXsbxBmpXcMlIRBRERGR9wn10ufvSv9Z3O6o6PHQOubk7QCHZb6KTu485OzqWNGdpbiXSd4GObk/+bTg78TssjAyF6elyc2FFfUTSOecEHWe7Utt3krlbdqHHs6odS46ls3VRBsvqQ4KTTr9CyMNguY6d96rjpyiIiEiqguFJ95HI96zHj3/xk4sfc+VZ0dZKc/bvuK2D7vTInGJtZ/bJUfAxh8+fZ5MWXPkez2on3/ZcjqXVEBHZfB7RSyAiKxUbvgCtzaieICIbRRUREVkxi8uHL/cBfD69LrIx3G43v/M7v8PPfvYztm/fjtvtJhqN8u///u9s376dP/iDP6C1tZVQKMTp06eJRqMYhsGLL77IE088wbVr1/jhD3/Ixx9/zFe/+tWcdvNNIJet0ER3586d480332R2dhZAl3LuAVVERERk03jsscf4u7/7O1566SX+4R/+gS984QuZ///kJz8B4PTp03z5y1/mlVde4fDhw/z4xz8G4LXXXuPYsWO88sorVFZWrmq7r776KkeOHKG3t5ff+73f4/Tp0wD89Kc/5dvf/janT59WCFEQERGRre748eOUlZXxm7/5myQSiZz/T09PA3cntdu5cydHjhwhEolkHj9y5AiPPvooX/nKV/K2X2iyu/REdy+88ALf//73M20+//zzvP322/zZn/0ZZ8+e1Qm6B3RpRkRENs9fx4tmo803O61hGLzzzjt8+ctf5uc//zlWqzXn8fSEcGnFJpBLKzTRndPpxOl0EgwG8fl8tLe36yQpiIiIyMPshRde4LXXXuMnP/kJhmFkJpx74YUX+OEPf8iZM2f42te+llm+2ARyaYUmuktPwrdr165Vz7kjK6NJ70Q2yEZNemc2m9m1a5de0BI556BJ7wqtm35tZPObnZ1lbm4O0KR3Ig+lsrKynA95+gtBSoPJZNKLkGXnzp1Lwpro/VyIOquKbAKVlZWrqqDI5mE2m2loaNALkaWhoQGz2awXogQZhkF1dfV93aYqIiKbRFtbmy5jypZQU1Oj/hSyYqqIiIiIiIKIiIiIKIiIiIiIKIiIiIiIgoiIiIiIgoiIiIgoiIiIiIhsGN1HROQeiEQiujuq5EjPHFtqbt26xejoqE6g5LwnFERESiCIpKcRFyll8/PzCiJyT+nSjMgGqays1JwjsqL3SSm437f5lof3/ayKiMgGKSsr4+TJkyVbgpf7o1Rmoz148CA2m435+XmdNMlr165dGzKnkIKIyAaHEU17LvprV2TldGlGREREFEREREREQUREREREQUREREQUREREREQURERERERBRERERERBRERERBRERERERBREREREREFEREREREFEREREHpy5ubkVTQKqICIiIiIbLhgMMjg4qCAiIiIiD8b09DSRSERBRERERO4/wzAYHR1VEBEREZH7r7KyErPZXLQqoiAiIiIi90xTU1PRqoiCiIiIiNwzy1VFFERERETknipWFdkOcP78eeLxeNEG1sJsNhMMBgkGg3mfLysrw+VyUVZWtqL2zp07x9zcnM6oiIhICWhrawNyqyKGYeQss21hYWFhfn6eK1euEAwGqa+vZ9++fSsOB6sVDAYZHR2lpqaGpqYmzGbzitc9c+YMzz33nM6siIhIiZmenmZwcJBvfOMbOY9vh2RloqmpiX379nHlyhV+9rOfbXggyQ4gx48fX1UAERERkdJWqCqyPXuhexFIFEBEREQEkl09BgcHCweRjQwkCiAictcIve4eBnIes9HR3U60a4gWvweHXiSRLS9fVWTbwsLCwnIrrqYPyXr6gCxHfUREtkIgUfAQeZgt7iuyfSUrraRCogqIiKwrmMQCePujGAMDycqJs4OOSB99YcDWQbfPBQEvXX3h5KrOTvwexRmRUrO4KrJ9NSvnCyRPPPEEH374oQKIiKzfALT4/XhSl3KinX78jhgB7ymGR+BCtB2/Pxk+Rnq9BGIOXBa9bCKlJruvyPa1NJAdSILBoAKIiGwMZ0vqkk0tVpsTqwPAgtWAaDRKeKAP90DO4qAgIlLStq9n5bKyMvbv369XUUTuU1DR5RiRrWB0dDRzs9TtejlEpCQ0e+iMunG70w/Y6Oj26dKMSImZnp5mbm5udaNmNguNmhERESltP//5z6mvr88EEU16JyIiIvfF4mqIgoiIiIjcN9l9QxRERERE5L7JVw2BEuusajabOXPmjM6miIhICWhra6O+vh7IXw0puSDy7LPP6qyKiIiUgNHRUebm5oDC1RDQpRkRERG5D6EkXzVEQURERETuqWLVEAURERERuaeKVUMUREREROSeWa4aoiAiIiIi90wkEilaDVEQERERkXumsrKyaDUESmyuGRERESkN09PTmTBSzP8H1fgYDVKbGAIAAAAASUVORK5CYII= \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Syncadaptor.tid b/editions/dev/tiddlers/from Heigele and Jurke/Syncadaptor.tid new file mode 100644 index 000000000..c488b7712 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Syncadaptor.tid @@ -0,0 +1,10 @@ +chapter.of: Extended Persistence +created: 20140708084850294 +modified: 20140717181245449 +sub.num: 3 +tags: doc +title: Syncadaptor + +A module with ``module-type: syncadaptor`` provides functionality to get a list of tiddlers (this list is provided as ~SkinnyTiddlers, which are normal tiddlers without the text field) and to load, save and delete single tiddlers. A syncadaptor can also provide functions to login and logout so that syncadaptor modules can be used to synchronize tiddlers with a remote server. + +The syncer module only uses one syncadaptor and honours a special [[system tiddler|System Tiddlers]] [[$:/config/SyncFilter]] containing a [[filter string|Tags and Filter Mechanism]]. Tiddlers matching this filter string are not synced with a syncadapter. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/System%20Tiddlers.tid b/editions/dev/tiddlers/from Heigele and Jurke/System%20Tiddlers.tid new file mode 100644 index 000000000..9619e6533 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/System%20Tiddlers.tid @@ -0,0 +1,17 @@ +chapter.of: Extending the Store +created: 20140710184959721 +modified: 20140715084818289 +sub.num: 3 +tags: doc new +title: System Tiddlers + +The core plug-in introduces a segregation of tiddlers. +The tiddler model is central in the whole TiddlyWiki application and can be used in various roles. +Because of the fact that a TiddlyWiki user works with tiddlers (taking the role of a wiki page) and tiddlers are the building blocks of the whole application (including modules, UI elements, etc.) we need to identify the internal tiddlers. + +The core plug-in introduces the concept of system tiddlers. It builds on the convention that application internal tiddler names start with ``$:/``. +Then the core plug-in introduces a set of new functions to the wiki store which are used to retrieve tiddlers like ``getTiddlers(options)`` and ``forEachTiddler(callback, options)``. +These functions work with all tiddlers in the store but the options parameter provides the ability to sort tiddlers by a field-name and exclude tiddlers with a specific tag. +By default it doesn't return system tiddlers. To get a list of all tiddlers including system tiddlers, this must be requested explicitly via the options. +If a function wants to present a list of tiddlers to the user it can use this new functions so that internal application tiddlers wouldn't clutter the resulting list. +These functions are added via the [[wikimethod module type]]. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Table%20of%20Contents.tid b/editions/dev/tiddlers/from Heigele and Jurke/Table%20of%20Contents.tid new file mode 100644 index 000000000..a56bc3d7d --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Table%20of%20Contents.tid @@ -0,0 +1,70 @@ +created: 20140708080152731 +modified: 20140714171831330 +tags: doc +title: Table of Contents + +\define toc-heading(caption,body) +<$reveal type="nomatch" state=<> text="show"> +<$button set=<> setTo="show" class="tc-btn-invisible">{{$:/core/images/right-arrow}} $caption$ + + +<$reveal type="match" state=<> text="show"> +<$button set=<> setTo="hide" class="tc-btn-invisible">{{$:/core/images/down-arrow}} $caption$ + + +<$reveal type="match" state=<> text="show" retain="yes" animate="yes"> + +$body$ + + +\end +
      + +# [[Introduction]] + +# [[Decomposition of the TiddlyWiki-Architecture]] +## <> +## <> +## <> +# [[Bootstrap-Process]] +## <> +## <> +# [[The Plugin and Module concept]] +## <> +## <> +## <> +#[[Developing a own Plugin]] +#[[The TiddlyWiki data management concept]] +## <> +## <> +#[[Conclusion]] +
      diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Tags%20and%20Filter%20Mechanism.tid b/editions/dev/tiddlers/from Heigele and Jurke/Tags%20and%20Filter%20Mechanism.tid new file mode 100644 index 000000000..6944fb059 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Tags%20and%20Filter%20Mechanism.tid @@ -0,0 +1,45 @@ +chapter.of: Extending the Store +created: 20140715084630840 +modified: 20140717182135876 +sub.num: 4 +tags: doc +title: Tags and Filter Mechanism + +!!! Tags +The core plug-in extends the store by a simple mechanism to tag a tiddler. +This provides the functionality to + +* retrieve tiddlers with a specific tag +* retreive a hashmap of ``{ tag: [tiddler1, tiddler3, tiddler3] }`` +* list or iterate tiddlers not tagged with a specific tag + +The tags are stored directly in the tiddler. Each tiddler can have a field named "tag", which contains an array of its tags. +The above functions use this field to calculate their results and cache them in a global cache. + +Organising information with tags is easy, intuitive and is common throughout the web. +In most cases the functions mentioned above are not enough and a more sophisticated way of querying is needed. +But instead of focusing only on tags TiddlyWiki introduces a querying system that isn't bound to tags or single tiddlers. + +!!! Filter mechanism +This filter mechanism is build on the idea of a pipeline of single filter operators. +Filters are noted as strings and can look like + +``` +[tag[task]!tag[done]interesting[very]] +``` +This example would (implicitly) put all available tiddlers into the pipe. +The first operator ``tag[task]`` would only pass tiddlers which are tagged with "task". +The ``!tag[done]`` operator is negated and only passes tiddlers which are not tagged with "done". +The last filter operator passes only tiddlers with a field "interesting" set to "very". +So as a result this filter would be used to obtain all tiddlers which are marked as task, aren't already done and are very interesting. + +There are many filter operators already build into the core plug-in including the mentioned tag- and field operators, filter operators to sort the tiddlerlist by a specified field, etc. +But more sophisticated operators are possible, too. +An example would be the search-operator. This filter operator looks for the searched string in the text and in the tags of the tiddlers. +If the provided filter operators are not enough, a developer can add new filters by adding a module with the ``filteroperator`` type. + +!!! System Tags +Tags and the filter mechanism are used throughout the core plug-in for internal puproses. +Tags which start with ``$:/`` are normally hidden from the casual user, similar to [[System Tiddlers]] + +The filter mechanism is added to the wiki store with the [[wikimethod module type]]. diff --git a/editions/dev/tiddlers/from Heigele and Jurke/The%20Heart%20of%20TiddlyWiki%20(Boot-Kernel).tid b/editions/dev/tiddlers/from Heigele and Jurke/The%20Heart%20of%20TiddlyWiki%20(Boot-Kernel).tid new file mode 100644 index 000000000..484e6bec6 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/The%20Heart%20of%20TiddlyWiki%20(Boot-Kernel).tid @@ -0,0 +1,8 @@ +created: 20140708083754576 +modified: 20140708090217085 +tags: doc +title: The Heart of TiddlyWiki (Boot-Kernel) + +The boot-kernel is responsible for creating a barbone TW environment. It is running under Node.js or in a HTML5 Browser. The Bootkernel just loads enough functionality to load the modules containing the main logic of the application. This boot-kernel contains a few helper methods, the module mechanism as well as the function to create a tiddler and manage them. The boot-kernel also creates the barbone wiki store, which holds all the information of the wiki during the runtime. After creating the store, the boot-kernel is in charge of decrypting the encrypted tiddlers and extracting all the tiddlers e.g. the core module tiddlers embedded in the DOM structure of the HTML file. Furthermore the boot kernel offers the functionality to load tiddlers from a file, when you run TW with Node.js. All other functionality which is not a part of the boot kernel is added dynamically by modules and plugins. The boot kernel is able to load the core plugins and perform the startup plugins. The core contains the startup modules shown in the picture below. + +{{index.svg}} \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/The%20Plugin%20and%20Module%20concept.tid b/editions/dev/tiddlers/from Heigele and Jurke/The%20Plugin%20and%20Module%20concept.tid new file mode 100644 index 000000000..bbf0754e3 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/The%20Plugin%20and%20Module%20concept.tid @@ -0,0 +1,10 @@ +created: 20140708084027985 +modified: 20140717203453471 +tags: doc unused +title: The Plugin and Module concept + +Beside the boot kernel, TW is completely build from modules. +After a short introduction on modules and plug-ins in the context of TW and explaining how they are organized and managed, +the following sections will show what type of modules a developer can build and how they hook into the TW architecture. +The last section shows the procedure of building an plug-in. +This can be used as a tutorial for building your own plug-ins and will show how an advanced user can create solutions for his own use cases only by using the tiddler model and the WikiText markup language. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/The%20TiddlyWiki%20data%20management%20concept.tid b/editions/dev/tiddlers/from Heigele and Jurke/The%20TiddlyWiki%20data%20management%20concept.tid new file mode 100644 index 000000000..a9435ed37 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/The%20TiddlyWiki%20data%20management%20concept.tid @@ -0,0 +1,5 @@ +created: 20140708085435652 +modified: 20140717203409411 +title: The TiddlyWiki data management concept + +This section descripes how the data of the wiki is stored within Tiddlywiki during the runtime. And how the complete wiki is persisted. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/The%20User%20Interface.tid b/editions/dev/tiddlers/from Heigele and Jurke/The%20User%20Interface.tid new file mode 100644 index 000000000..a42425ff2 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/The%20User%20Interface.tid @@ -0,0 +1,14 @@ +chapter.of: TiddlyWiki - A quick Overview +created: 20140708082154372 +modified: 20140715083432391 +sub.num: 4 +tags: doc +title: The User Interface + +Following the "anything is a tiddler" concept, even the UI consists of tiddlers. +This is possible because tiddlers can not only contain plain text or JavaScript (modules) but they also can contain a special markup text called WikiText. +By using WikiText the user can put markup elements like tables or images in a tiddler. +To provide some more sophisticated UI elements, WikiText can also contain special widgets like text input fields, +checkboxes, dynamic lists etc. +In most cases, these widgets are used to directly modify or represent the information contained in other tiddlers. +If a tiddler is changed and this change should reflect in an UI element e.g. a widget, a process called selective update takes place. Selective updating means when a tiddler or a set of tiddlers changes, each widget is asked, if changes to this tiddlers would affect its appearance. If so, the respective widget is re-rendered otherwise it remains unchanged. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Tiddler%20as%20Basic%20Element.tid b/editions/dev/tiddlers/from Heigele and Jurke/Tiddler%20as%20Basic%20Element.tid new file mode 100644 index 000000000..b1d8edaf9 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Tiddler%20as%20Basic%20Element.tid @@ -0,0 +1,39 @@ +chapter.of: TiddlyWiki - A quick Overview +created: 20140708082703387 +modified: 20140715094732261 +sub.num: 6 +tags: doc +title: Tiddler as Basic Element + +By managing nearly every part of the application as tiddlers, the application is only needed to provide some basic functionality to manage the individual tiddlers, load and persist them, render them to HTML output and provide a way to register for the changes made to tiddlers. +This way the whole wiki application can be build from these simple concepts. +Plug-ins can be used to add new functionality to the existing modules or even to replace individual tiddlers/modules, +enabling developers to build whole new applications on the TiddlyWiki base system. + +A tiddler is the smallest unit of the TiddlyWiki system. It can contain any data like plain text, WikiText markup, JavaScript code (module tiddler), JSON structures (JSON structures might even contain additional tiddlers. Plug-ins are implemented this way to pack multiple tiddlers in a single plug-in tiddler), images in SVG format or even binary images encoded with base64. +Internally Tiddlers are immutable objects containing a bunch of key:value pairs called fields. The only required field of a tiddler is the title field. The Standard fields of a tiddler are listed below. Nearly everything in TiddlyWiki is loaded as tiddlers. Plug-ins for example are a bunch of tiddlers that are distributed as a single JSON tiddler. The only exception is the microkernel which isn't a tiddler. + +
      +
      created
      Timestamp number of milliseconds since 01.01.1970.
      +
      modified
      Timestamp number of milliseconds since 01.01.1970.
      +
      tags
      list of tags seperated by whitespace. Tags which contain whitespaces are wrapped by [[ ]], e.g. [[example Tag]].
      +
      type
      Type of the Tiddler, e.g. text/plain or text/vnd.tiddlywiki .
      +
      title
      Title of the Tiddler
      +
      list
      An ordered list of tiddler titles associated with a tiddler
      +
      + +Tiddlers are used in multiple roles and on different levels. A developer uses tiddlers as the basic element containing application code, configuration values and even as a form of variable to save the current UI state. +On a different level, a tiddler is also the basic unit of work for the wiki user, e.g. the individual wiki pages are implemented as tiddlers. +This makes sense for multiple reasons: +Because the UI of TiddlyWiki is build from tiddlers, the wiki user is able to edit the interface of his own TiddlyWiki just by editing a wiki page. +For example to add a list of tiddler links to the sidebar, the user just needs to create a new tiddler, put the links into this tiddler and tag this tiddler with ``$:/tags/SideBar``. +This way the user can customize his work environment just by using mechanisms he already uses to manage his wiki pages. +Tiddlers consist of fields. When using a tiddler as wiki page, the user can use these fields to store meta information, like tags. + +Because fields for metadata and especially tags are an easy way for the user to organize his wiki pages, TiddlyWiki provides a special filter mechanism to choose tiddlers using their metadata. +A filter string like ``[tag[learncard]topic[math]!tag[successful]]`` would filter all tiddlers tagged with "learncard", with the value "math" in the topic-field and are not tagged with "successful". +A user could use this filter together with the ``<$list>`` widget to display a list of all math learncards which are not yet answered successfully in a wiki page. + +Another example which shows how the "anything is a tiddler" concept leads to an environment where a single feature brings great benefit is the drag and drop feature. +HTML5 standard comes with a native drag and drop feature. TiddlyWiki uses this feature and makes it possible to drag and drop a tiddler from one instance to another. +And because anything is a tiddler, this brings the ability to drag and drop individual wiki pages, JavaScript modules, UI components and whole plug-ins between TiddlyWiki instances. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20-%20A%20quick%20Overview.tid b/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20-%20A%20quick%20Overview.tid new file mode 100644 index 000000000..ecec0354e --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20-%20A%20quick%20Overview.tid @@ -0,0 +1,17 @@ +created: 20140708082524269 +description: This section describes the idea of the TiddlyWiki application. This should give the reader a overview over what TiddlyWiki consists of give a brief introduction to the topics of the main documentation. +modified: 20140717211405842 +sectionnumber: 1 +tags: doc section +title: TiddlyWiki - A quick Overview + +Traditional web applications are bound to ~HTTP-Concepts, including stateless requests to transfer data. In these applications a state is often emulated by the use of sessions, which need to be handled on the client and especially on the server side. +These restrictions often lead to a fragmented user experience because the user interface is rebuilt on every data transfer. +TiddlyWiki tries to overcome these restrictions and the resulting disadvantages by building on few but basic concepts which loosen the coupling of HTTP and the actual application, eliminating the need of state emulation and resulting in a wiki style single page application with the ability to run in an offline environment. + +<$list filter="[!has[draft.of]has[chapter.of]chapter.of[TiddlyWiki - A quick Overview]tag[doc]sort[sub.num]]"> + + +! <$view field="title"/> +{{!!text}} + \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20Core%20Application.tid b/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20Core%20Application.tid new file mode 100644 index 000000000..5518af5c0 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20Core%20Application.tid @@ -0,0 +1,26 @@ +created: 20140710183759647 +description: After the microkernel has been explained this section focuses on the core plug-in. It describes the central modules of the core and explains how they work together to build a single file application. +modified: 20140717203802364 +sectionnumber: 3 +tags: doc new section +title: TiddlyWiki Core Application + +The microkernel builds up the base functionality to manage tiddlers by providing a basic wiki store and a barebone tiddler model. +The microkernel can also load a set of (decrypted) tiddlers and provides a module system, enabling a developer to extend the kernel and add functionality with module tiddlers and plug-ins. + +For instance, the TiddlyWiki Core Application is provided as a single plug-in. +In this part we want to focus on the TiddlyWiki core plug-in. +After describing how new functionality is added directly to the wiki store, +we show how the core plug-in realises persistence of tiddlers. +The last part describes how TiddlyWiki builds an UI out of tiddlers and WikiText. + +<<< +{{arch.svg}} +<<< The TiddlyWiki Application consists of a microkernel and several modules building up the full application. + +<$list filter="[!has[draft.of]has[chapter.of]chapter.of[TiddlyWiki Core Application]tag[doc]sort[sub.num]]"> + + +! <$view field="title"/> +{{!!text}} + \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20as%20Single%20Page%20Application.tid b/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20as%20Single%20Page%20Application.tid new file mode 100644 index 000000000..0832358d5 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki%20as%20Single%20Page%20Application.tid @@ -0,0 +1,20 @@ +chapter.of: TiddlyWiki - A quick Overview +created: 20140708081759619 +modified: 20140715094527946 +sub.num: 1 +tags: doc +title: TiddlyWiki as Single Page Application + +TiddlyWiki builds on some basic concepts. First, TiddlyWiki should not be perceived as a dynamic web page like traditional server-side generated web pages. Instead TiddlyWiki can be perceived as an application which is written entirely in ~JavaScript and uses HTML5 and CSS3 to render a GUI. This way TiddlyWiki can be executed in any ~JavaScript environment like a browser or a node.js instance, while keeping the advantages of a simple application. +One of these advantages is, that TiddlyWiki has no need to emulate an application state, as a traditional web application would need to do. + +A second idea concerns the storage of the application data. In contrast to a traditional web application, TiddlyWiki doesn't store the data in an external database but simply uses native data structures already existing in ~JavaScript to store tiddlers, the basic (atomic) element of the TiddlyWiki application, in the memory. Additional core modules provide a way to persist this storage in simple HTML div elements. + +Just by building on these simple and basic concepts, + +* TiddlyWiki is able to store application data in a single HTML page by using div elements as data container. +*TW is able to store application code (~JavaScript) in the same single HTML page. +*TiddlyWiki can be executed in any ~JavaScript environment like a browser. + +These points already enable TW to be used as an offline-enabled single file web application. +Also, by using a server side node.js environment running the same TiddlyWiki application, TiddlyWiki can be used as an online web application. This is realized on server-side by providing an additional module to persist tiddlers into plain text files and on client-side by a module syncing the local data store with the node.js server. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki.tid b/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki.tid new file mode 100644 index 000000000..e1f1bb7de --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/TiddlyWiki.tid @@ -0,0 +1,6 @@ +created: 20140715095058100 +modified: 20140715095112034 +tags: doc +title: TiddlyWiki + +{{TiddlyWiki - A quick Overview}} \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Timeline%20of%20the%20startup%20Process.tid b/editions/dev/tiddlers/from Heigele and Jurke/Timeline%20of%20the%20startup%20Process.tid new file mode 100644 index 000000000..1b27b8510 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Timeline%20of%20the%20startup%20Process.tid @@ -0,0 +1,8 @@ +created: 20140708083929806 +modified: 20140708090225382 +tags: doc +title: Timeline of the startup Process + +This section shows a quick and short overview over the startup process of TW, from the first step of the boot mechanism until the loading of the different startup modules. The image shown below shall point out the main parts of this startup-process. + +{{StartupTimeline.png}} \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Toc.tid b/editions/dev/tiddlers/from Heigele and Jurke/Toc.tid new file mode 100644 index 000000000..f721922b6 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Toc.tid @@ -0,0 +1,43 @@ +created: 20140708154220184 +modified: 20140714171839706 +tags: doc +title: Toc + +* [[Introduction]] +* [[TiddlyWiki - A quick Overview]] +** [[TiddlyWiki as Single Page Application]] +** [[Microkernel]] +** [[Data Persistence]] +** [[The User Interface]] +** [[Modularization]] +** [[Tiddler as Basic Element]] +** [[WikiText Markup]] + +* [[Microkernel Architecture]] +** [[Microkernel|Microkernel Description]] +** [[ Datamodel |Datamodel]] +** [[Module System]] + +* [[TiddlyWiki Core Application]] +** [[Startup Process]] +** [[Extending the Store]] +*** [[Event Mechanism]] +*** [[Caching]] +*** [[System Tiddlers]] +*** [[Tags and Filter Mechanism]] +** [[Extended Persistence]] +*** [[Deserializer]] +*** [[Saver]] +*** [[Syncadaptor]] +** [[UI and Rendering Pipeline]] +*** [[Wikitext]] +*** [[Parser]] +*** [[Widgets]] +**** [[Messages]] +**** [[Selective Update]] +*** [[Transclusion and TextReference]] +*** [[RooTiddlyWikiidget and Rendering Startup]] +*** [[Navigator Widget]] +*** [[Draft Mechanism]] + +* [[Conclusion]] diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Transclusion%20and%20TextReference.tid b/editions/dev/tiddlers/from Heigele and Jurke/Transclusion%20and%20TextReference.tid new file mode 100644 index 000000000..c37b1fadb --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Transclusion%20and%20TextReference.tid @@ -0,0 +1,75 @@ +chapter.of: UI and Rendering Pipeline +created: 20140717174825427 +modified: 20140717181845115 +sub.num: 4 +tags: doc +title: Transclusion and TextReference + +The previous parts about [[Widgets]] and the [[Parser]] explained how a block of WikiText is transformed into a DOM representation and how this presentation can react on changes to the wiki store. +The previous chapters also describe that WikiText is saved in individual tiddlers, including the WikiText describing the UI components. +This raises the question, how these multiple tiddlers are build up to a single UI. +But before answering this question we need to introduce text references and transclusion. + +!!! ~TextReference +A text reference describes a special notation to indirectly refer to the contents of a specified tiddler field. +The syntax of a text reference is: + +``` + +!! +!! - specifies a field of the current tiddlers +``` + +To obtain the actual text, the core plug-in adds a function to the wiki store ``getTextReference(textRef,defaultText,currTiddlerTitle)``. The "currentTiddlerTitle" is the title of a tiddler which is used when no tiddlerTitle is specified in the text reference. +What the currentTiddler should be, depends on where the text reference is used. +If it is for example used as a widget attribute, the current tiddler is the tiddler which contains this widget. +Text references are used by widgets (attributes), filteroperators (parameter) and in transclusions. +These elements use the ``getTextReference(textRef,defaultText,currTiddlerTitle)`` function. + +!!! Transclusion + +Transclusion means including the contents of a different tiddler. +This is realized with a transclude widget which parses the tiddler to be included and adds the resulting nodes as children of its own parse node. +The trick with transclusion is, that it shows the content of a different tiddler but by default it does not change the current tiddler. +This enables us to create tiddlers with text references and use them as a templates. + +For example: +Tiddler ``MyTask`` having the fields and the content of: + +``` +important: "very" +assoc.person: "Hans Dampf" + +<$transclude tiddler="TaskHeaderTemplate" /> + +Hans needs some more Dampf. +``` + +And Tiddler ``TaskHeaderTemplate`` with a content of: + +``` +<$view field="assoc.person"/> has a <$view field="important"/> important task for us: +``` + +When showing tiddler ``MyTask`` it would result in: + +``` +Hans Dampf has a very important task for us: + +Hans needs some more Dampf. +``` + +Transclusion and templates is one of the most important concepts in TiddlyWiki. +It allows us to include other tiddlers using the metadata for our current tiddler. +It also allows us to transclude a template tiddler with a third tiddler set as the currentTiddler with the ~TiddlerWidget: + +``` +<$tiddler tiddler="MyTiddler"> +<$transclude tiddler="EditTemplate" /> + +``` + +This way we can create a different view on a tiddler which does not only show it's title and it's content +but shows it's content and metadata in editable text fields and allows us to edit this tiddler. +Also the template concept is used by the ~ListWidget to show the tiddlers through a specified template. +Finally, when wanting to download the wiki as a new html file, this html file is created by binding a list of all tiddlers to a template and sending the resulting text to the syncer module described in [[Extended Persistence]] to save the current wiki. diff --git a/editions/dev/tiddlers/from Heigele and Jurke/UI%20and%20Rendering%20Pipeline.tid b/editions/dev/tiddlers/from Heigele and Jurke/UI%20and%20Rendering%20Pipeline.tid new file mode 100644 index 000000000..e58c09004 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/UI%20and%20Rendering%20Pipeline.tid @@ -0,0 +1,25 @@ +chapter.of: TiddlyWiki Core Application +created: 20140708085306641 +modified: 20140717195230942 +sub.num: 4 +tags: doc +title: UI and Rendering Pipeline + +The microkernel provides basic functionality to store tiddlers and manage modules and plugins. +The [[Startup Process]] then loads the core plug-in including extensions to the store providing +a [[Event Mechanism]], [[Caching]], [[Tags|Tags and Filter Mechanism]] and a [[Filter Mechanism|Tags and Filter Mechanism]] giving the ability to query for specific tiddlers. + +Using some of this techniques the core plug-in also adds some functionalities to load and save single tiddlers or the whole wiki, described in [[Extended Persistence]]. + +This next chapter will focus on the parts of the core plug-in that provide the UI of TiddlyWiki. + +<<< +{{rendering.svg}} +<<< The rendering pipeline [http://tiddlywiki.com/talkytalky, 17.07.2014] + +<$list filter="[!has[draft.of]has[chapter.of]chapter.of[UI and Rendering Pipeline]tag[doc]sort[sub.num]]"> + + +!! <$view field="title"/> +{{!!text}} + \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Using%20Modules%20to%20build%20a%20Single%20File%20Application.tid b/editions/dev/tiddlers/from Heigele and Jurke/Using%20Modules%20to%20build%20a%20Single%20File%20Application.tid new file mode 100644 index 000000000..3d74ef33a --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Using%20Modules%20to%20build%20a%20Single%20File%20Application.tid @@ -0,0 +1,9 @@ +created: 20140708084152555 +modified: 20140708090258588 +tags: doc +title: Using Modules to build a Single File Application + +TW is built up from the micro kernel and uses the module mechanism to provide various ways of loading and saving tiddlers, including the ability to load and save to a single HTML file. +Furthermore a developer can extend the application by providing modules with a specific module-type. TW searches for modules with these specific module-types and handles them accordingly. + +The last sequence of the boot kernel is to execute startup modules. One of these startup modules ("load-modules") is responsible for registering some modules with specific module types at the right place. For example, the methods exported by wikimethod modules are put in \textit{\$tw.Wiki.prototype}. Other startup modules build up the initial UI and link events to certain modules. \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Widgets.tid b/editions/dev/tiddlers/from Heigele and Jurke/Widgets.tid new file mode 100644 index 000000000..999526a5d --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Widgets.tid @@ -0,0 +1,33 @@ +chapter.of: UI and Rendering Pipeline +created: 20140717174307709 +modified: 20140717181543163 +sub.num: 3 +tags: doc +title: Widgets + +When the WikiText has been transformed into a parse-tree the next step is to transform this parse-tree into a widget-tree. +We talked about widgets as parts of the WikiText markup but in fact each node of the parse-tree is transformed to a widget object. +The core plug-in provides a basic widget object which gets the parse node it should represent and a DOM node. The widget then must create the DOM structure which represents the parse node and add it to the provided DOM node. +A ~LinkWidget for example would create the DOM node for a ``...`` tag and put it in the provided DOM node. +When a widget gets a parse node with child nodes it must create the corresponding child widgets. + +All this functionality is basically provided with the base widget. But when creating the widget for a parse node it loads additional modules with ``module-type: widget``. These modules can export multiple widgets which extend the base widget and can override it's methods like the rendering and refresh functions. +As described in [[Parser]] each parse node contains a "type" property. This type directly determines which widget module is used. + +``` +{type: "text", text: } - a text node +``` +Would be transformed to a [[TextWidget|$:/core/modules/widgets/text.js]]. +(Note that the ~TextWidget module exports a property "text".) + +So in fact when talking about widgets in WikiText, they are not a feature added to WikiText but the ability to directly use a specific widget instead of the parser choosing a widget type. + +In the beginning we talked about widgets and how they enable dynamic behaviour. But up until now we only described how widgets create DOM nodes from parse nodes. +Widgets add dynamic behaviour in two ways. + +<$list filter="[!has[draft.of]has[chapter.of]chapter.of[Widgets]tag[doc]sort[sub.num]]"> + + +!!! <$view field="title"/> +{{!!text}} + \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/WikiText%20Markup.tid b/editions/dev/tiddlers/from Heigele and Jurke/WikiText%20Markup.tid new file mode 100644 index 000000000..95e21da75 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/WikiText%20Markup.tid @@ -0,0 +1,25 @@ +chapter.of: TiddlyWiki - A quick Overview +created: 20140708083145150 +modified: 20140717212656341 +sub.num: 7 +tags: doc +title: WikiText Markup + +The WikiText is a markup language, created especially for the requirements of the TiddlyWiki application. It is based on [[Markdown|http://daringfireball.net/projects/markdown]], but extended with some TiddlyWiki specific features. On one hand its a text-to-HTML conversion language and on the other hand its used to provide the interactive features of TiddlyWiki. The aim of this language is to allow the user of the software to focus on the writing. The WikiText is used to format Tiddlers within the TiddlyWiki application. The tags of the WikiText syntax can be used within the standard text input field. +During the saving process these tags renders to HTML elements for example: + +``` +WikiText:--- +Renders as: +HTML:
      +WikiText:[img[http://tiddlywiki.com/favicon.ico]] +Renders as: TW +HTML: +``` + +Furthermore the WikiText is used to access the widgets which are integrated in the application.These widgets are used to enhance the the WikiText with a rich functionality. Widgets are based on the ~HTML-Syntax but always starts with a $. + +``` +WikiText: +<$button message="tm-close-tiddler">Close Me! +``` \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/Wikitext.tid b/editions/dev/tiddlers/from Heigele and Jurke/Wikitext.tid new file mode 100644 index 000000000..6c75e6be9 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/Wikitext.tid @@ -0,0 +1,6 @@ +created: 20140717182336830 +modified: 20140717182412350 +tags: doc +title: WikiText + +{{WikiText Markup}} \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/apptree.svg.tid b/editions/dev/tiddlers/from Heigele and Jurke/apptree.svg.tid new file mode 100644 index 000000000..dca0f4092 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/apptree.svg.tid @@ -0,0 +1,207 @@ +created: 20140708155439949 +modified: 20140708155439949 +title: apptree.svg +type: image/svg+xml + + + + + + + + + + + image/svg+xml + + + + + + + $tw. + + utils. + + htmlDecode(s) + + error(msg) + + wiki. + + + addTiddler(tdlr) + deleteTiddler(tdlr) + + each(callback) + + + + + diff --git a/editions/dev/tiddlers/from Heigele and Jurke/arch.svg.tid b/editions/dev/tiddlers/from Heigele and Jurke/arch.svg.tid new file mode 100644 index 000000000..9fd833648 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/arch.svg.tid @@ -0,0 +1,367 @@ +created: 20140717194103797 +modified: 20140717194103798 +title: arch.svg +type: image/svg+xml + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + Bootprefix + Microkernel + Startup Modules + Deserializer + + + + + + + Event Mech. + Caching + Filter Mech. + Saver Modules + Syncadaptor + + + + WikiText Parser + Widget System + Transclusion + Root Widget + + + Harddrive + Remote TiddlyWiki + + + diff --git a/editions/dev/tiddlers/from Heigele and Jurke/index.svg.tid b/editions/dev/tiddlers/from Heigele and Jurke/index.svg.tid new file mode 100644 index 000000000..a3f133400 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/index.svg.tid @@ -0,0 +1,8 @@ +created: 20140708083812464 +modified: 20140708083812464 +title: index.svg +type: image/svg+xml + + + + Produced by OmniGraffle 6.0.5 2014-05-05 16:00ZStartup TasksLayer 2browserbrowser+serverserverLayer 1load-modulesstartupfaviconstoryrenderfull-screengoogle-analyticsafterafterbeforeafteraftercommandsaftersyncer-browserafterrootwidgetafterafterpasswordafter diff --git a/editions/dev/tiddlers/from Heigele and Jurke/overview.svg.tid b/editions/dev/tiddlers/from Heigele and Jurke/overview.svg.tid new file mode 100644 index 000000000..0b06bc12a --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/overview.svg.tid @@ -0,0 +1,132 @@ +created: 20140708155403254 +modified: 20140708155403254 +title: overview.svg +type: image/svg+xml + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/editions/dev/tiddlers/from Heigele and Jurke/rendering.svg.tid b/editions/dev/tiddlers/from Heigele and Jurke/rendering.svg.tid new file mode 100644 index 000000000..4c90b6848 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/rendering.svg.tid @@ -0,0 +1,227 @@ +created: 20140708085509438 +modified: 20140717194311307 +title: rendering.svg +type: image/svg+xml + + + + + Untitled + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/editions/dev/tiddlers/from Heigele and Jurke/split.recipe b/editions/dev/tiddlers/from Heigele and Jurke/split.recipe new file mode 100644 index 000000000..d050be8a2 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/split.recipe @@ -0,0 +1,111 @@ + +tiddler: apptree.svg.tid + +tiddler: arch.svg.tid + +tiddler: Caching.tid + +tiddler: Conclusion.tid + +tiddler: Data%20Management%20during%20Runtime.tid + +tiddler: Data%20Persistence.tid + +tiddler: Data-Storage.tid + +tiddler: Datamodel.tid + +tiddler: Deserializer.tid + +tiddler: Event%20Mechanism.tid + +tiddler: Extended%20Persistence.tid + +tiddler: Extending%20the%20Store.tid + +tiddler: index.svg.tid + +tiddler: Introduction.tid + +tiddler: Messages.tid + +tiddler: Microkernel.tid + +tiddler: Microkernel%20and%20Datamodel.tid + +tiddler: Microkernel%20Architecture.tid + +tiddler: Microkernel%20Description.tid + +tiddler: Modularization.tid + +tiddler: Module%20System.tid + +tiddler: NEW%20NEW%20TOC.tid + +tiddler: overview.svg.tid + +tiddler: Parser.tid + +tiddler: Persist%20data.tid + +tiddler: rendering.svg.tid + +tiddler: RootWidget%20and%20Rendering%20Startup.tid + +tiddler: Saver.tid + +tiddler: Section%20Overview.tid + +tiddler: Selective%20Update.tid + +tiddler: Startup%20Process.tid + +tiddler: StartupTimeline.png.tid + +tiddler: Syncadaptor.tid + +tiddler: System%20Tiddlers.tid + +tiddler: Table%20of%20Contents.tid + +tiddler: Tags%20and%20Filter%20Mechanism.tid + +tiddler: The%20Heart%20of%20TiddlyWiki%20(Boot-Kernel).tid + +tiddler: The%20Plugin%20and%20Module%20concept.tid + +tiddler: The%20TiddlyWiki%20data%20management%20concept.tid + +tiddler: The%20User%20Interface.tid + +tiddler: Tiddler%20as%20Basic%20Element.tid + +tiddler: TiddlyWiki.tid + +tiddler: TiddlyWiki%20-%20A%20quick%20Overview.tid + +tiddler: TiddlyWiki%20as%20Single%20Page%20Application.tid + +tiddler: TiddlyWiki%20Core%20Application.tid + +tiddler: Timeline%20of%20the%20startup%20Process.tid + +tiddler: Toc.tid + +tiddler: Transclusion%20and%20TextReference.tid + +tiddler: UI%20and%20Rendering%20Pipeline.tid + +tiddler: Using%20Modules%20to%20build%20a%20Single%20File%20Application.tid + +tiddler: Widgets.tid + +tiddler: wikimethod%20module%20type.tid + +tiddler: Wikitext.tid + +tiddler: WikiText.tid + +tiddler: WikiText%20Markup.tid + diff --git a/editions/dev/tiddlers/from Heigele and Jurke/wikimethod%20module%20type.tid b/editions/dev/tiddlers/from Heigele and Jurke/wikimethod%20module%20type.tid new file mode 100644 index 000000000..fe3061d10 --- /dev/null +++ b/editions/dev/tiddlers/from Heigele and Jurke/wikimethod%20module%20type.tid @@ -0,0 +1,5 @@ +created: 20140710185051844 +modified: 20140710185339032 +title: wikimethod module type + +The startup module [[$:/core/modules/startup/load-modules.js]] in the TiddlyWiki core plug-in loads all modules of type``wikimethod`` and puts their exported functions into the wiki store. \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/Developing plugins using Node.js and GitHub.tid b/editions/dev/tiddlers/from tw5.com/Developing plugins using Node.js and GitHub.tid similarity index 97% rename from editions/tw5.com/tiddlers/Developing plugins using Node.js and GitHub.tid rename to editions/dev/tiddlers/from tw5.com/Developing plugins using Node.js and GitHub.tid index 6de630501..97fbeb635 100644 --- a/editions/tw5.com/tiddlers/Developing plugins using Node.js and GitHub.tid +++ b/editions/dev/tiddlers/from tw5.com/Developing plugins using Node.js and GitHub.tid @@ -1,5 +1,5 @@ created: 20140320055936611 -modified: 20140320075440176 +modified: 20140908152942119 tags: howto title: Developing plugins using Node.js and GitHub type: text/vnd.tiddlywiki @@ -79,7 +79,7 @@ Create the file plugin.info with content: ``` -!!4. Create your plugin's files +!!4. Create the files for you plugin For example files see the plugins in the tiddlywiki5 repository i.e. those located at plugins/tiddlywiki/ - Note in particular that files need to contain information that is used to tell tiddlywiki the name of the tiddler that is to be used in the tiddlywiki in place of the name of the file within the file system. @@ -90,7 +90,7 @@ Modify editions/tw5.com/tiddlywiki.info to include a reference to your plugin di From the TW5 directory issue command ``` -./qbld.sh +./bin/qbld.sh ``` the resultant file (index.html) will be placed in the build directory, the default build directory is `../jermolene.github.com` relative to TW5/ diff --git a/editions/tw5.com/tiddlers/howtos/How to create a translation for TiddlyWiki.tid b/editions/dev/tiddlers/from tw5.com/How to create a translation for TiddlyWiki.tid similarity index 96% rename from editions/tw5.com/tiddlers/howtos/How to create a translation for TiddlyWiki.tid rename to editions/dev/tiddlers/from tw5.com/How to create a translation for TiddlyWiki.tid index 71623bb63..36a66e84b 100644 --- a/editions/tw5.com/tiddlers/howtos/How to create a translation for TiddlyWiki.tid +++ b/editions/dev/tiddlers/from tw5.com/How to create a translation for TiddlyWiki.tid @@ -1,5 +1,5 @@ created: 20140217173715829 -modified: 20140217173730646 +modified: 20140908153034100 tags: howto title: How to create a translation for TiddlyWiki type: text/vnd.tiddlywiki @@ -21,7 +21,7 @@ type: text/vnd.tiddlywiki # Copy the contents of `/core/language/en-GB` into your translation folder # Create a `plugin.info` file (see below) in your translation folder # Edit `/editions/tw5.com/tiddlywiki.info` to add your language to the list -# Run `./qbld.sh` to build TiddlyWiki +# Run `./bin/qbld.sh` to build TiddlyWiki # Open the TiddlyWiki file at `/MyTranslation/jermolene.github.com/index.html` # You should see your translation listed in the control panel, but the text of the translation will still be in British English # Edit the `.tid` and `.multids` files in your language folder to translate the English text diff --git a/editions/tw5.com/tiddlers/howtos/How to create plugins in the browser.tid b/editions/dev/tiddlers/from tw5.com/How to create plugins in the browser.tid similarity index 100% rename from editions/tw5.com/tiddlers/howtos/How to create plugins in the browser.tid rename to editions/dev/tiddlers/from tw5.com/How to create plugins in the browser.tid diff --git a/editions/tw5.com/tiddlers/dev/JavaScript Macros.tid b/editions/dev/tiddlers/from tw5.com/JavaScript Macros.tid similarity index 100% rename from editions/tw5.com/tiddlers/dev/JavaScript Macros.tid rename to editions/dev/tiddlers/from tw5.com/JavaScript Macros.tid diff --git a/editions/tw5.com/tiddlers/dev/Procedure for releasing a new version of TiddlyWiki5.tid b/editions/dev/tiddlers/from tw5.com/Procedure for releasing a new version of TiddlyWiki5.tid similarity index 59% rename from editions/tw5.com/tiddlers/dev/Procedure for releasing a new version of TiddlyWiki5.tid rename to editions/dev/tiddlers/from tw5.com/Procedure for releasing a new version of TiddlyWiki5.tid index 560c0b4ee..39d711b9c 100644 --- a/editions/tw5.com/tiddlers/dev/Procedure for releasing a new version of TiddlyWiki5.tid +++ b/editions/dev/tiddlers/from tw5.com/Procedure for releasing a new version of TiddlyWiki5.tid @@ -1,16 +1,16 @@ created: 20131130132123707 -modified: 20140619212123707 +modified: 20140908153054348 tags: dev title: Releasing a new version of TiddlyWiki5 type: text/vnd.tiddlywiki # Adjust the release date of the latest release tiddler (eg, [[Release 5.0.7-beta]]) -# Ensure ReleaseHistory has the new version as the default tab +# Ensure [[Releases]] has the new version as the default tab # Adjust the modified time of HelloThere # Make sure ''Jermolene/TiddlyWiki5'' is fully committed # Edit `package.json` to the new version number -# Run `bld.sh` to build the deployment files +# Run `bin/bld.sh` to build the deployment files # Restore `package.json` to the previous version number -# Run `verbump "5.0.8-beta"`, substituting the new version number -# Run `deploy.sh` -# Run `wbld.sh ` +# Run `bin/verbump "5.0.8-beta"`, substituting the new version number +# Run `bin/deploy.sh` +# Run `bin/wbld.sh ` diff --git a/editions/tw5.com/tiddlers/dev/TiddlyWiki Architecture.tid b/editions/dev/tiddlers/from tw5.com/TiddlyWiki Architecture.tid similarity index 96% rename from editions/tw5.com/tiddlers/dev/TiddlyWiki Architecture.tid rename to editions/dev/tiddlers/from tw5.com/TiddlyWiki Architecture.tid index e5b9a8f67..065f82ccf 100644 --- a/editions/tw5.com/tiddlers/dev/TiddlyWiki Architecture.tid +++ b/editions/dev/tiddlers/from tw5.com/TiddlyWiki Architecture.tid @@ -40,7 +40,7 @@ $tw.wiki.makeTiddlerIterator($tw.wiki.getTiddlersWithTag('timeline') }); ``` -Data which should not be visible to end users under normal operation (eg. internal components, plugins, persisted state for GUI widgets) is stored in [[system tiddlers|SystemTiddlers]] organized via a set of [[namespaces|Naming of System Tiddlers]]. +Data which should not be visible to end users under normal operation (eg. internal components, plugins, persisted state for GUI widgets) is stored in [[system tiddlers|SystemTiddlers]] organised via a set of [[namespaces|Naming of System Tiddlers]]. The similarity between filesystem paths and system tiddler names is intentional and will be used to provide a hierarchical browsing interface in a future TiddlyWiki release. @@ -65,4 +65,4 @@ While TiddlyWiki's extended [[WikiText]] is similar in design to HTML templating In this respect, it's closer to a glue language like Qt Quick or Python with Javascript filling the "create new components" role of C/C++ in widget toolkits like Qt and GTK+. -To familiarize yourself with this, read [[Widgets in WikiText]] and [[Introduction to Filters]]. then examine the internals for a tiddler like [[TaskManagementExample]]. +To familiarise yourself with this, read [[Widgets in WikiText]] and [[Introduction to Filters]]. then examine the internals for a tiddler like [[TaskManagementExample]]. diff --git a/editions/tw5.com/tiddlers/dev/TiddlyWiki Coding Style Guidelines.tid b/editions/dev/tiddlers/from tw5.com/TiddlyWiki Coding Style Guidelines.tid similarity index 100% rename from editions/tw5.com/tiddlers/dev/TiddlyWiki Coding Style Guidelines.tid rename to editions/dev/tiddlers/from tw5.com/TiddlyWiki Coding Style Guidelines.tid diff --git a/editions/tw5.com/tiddlers/dev/TiddlyWiki for Developers.tid b/editions/dev/tiddlers/from tw5.com/TiddlyWiki for Developers.tid similarity index 100% rename from editions/tw5.com/tiddlers/dev/TiddlyWiki for Developers.tid rename to editions/dev/tiddlers/from tw5.com/TiddlyWiki for Developers.tid diff --git a/editions/tw5.com/tiddlers/howtos/TiddlyWiki on node-webkit.tid b/editions/dev/tiddlers/from tw5.com/TiddlyWiki on node-webkit.tid similarity index 100% rename from editions/tw5.com/tiddlers/howtos/TiddlyWiki on node-webkit.tid rename to editions/dev/tiddlers/from tw5.com/TiddlyWiki on node-webkit.tid diff --git a/editions/tw5.com/tiddlers/dev/TiddlyWiki5 Development Environment.tid b/editions/dev/tiddlers/from tw5.com/TiddlyWiki5 Development Environment.tid similarity index 100% rename from editions/tw5.com/tiddlers/dev/TiddlyWiki5 Development Environment.tid rename to editions/dev/tiddlers/from tw5.com/TiddlyWiki5 Development Environment.tid diff --git a/editions/tw5.com/tiddlers/dev/Working with the TiddlyWiki5 repository.tid b/editions/dev/tiddlers/from tw5.com/Working with the TiddlyWiki5 repository.tid similarity index 100% rename from editions/tw5.com/tiddlers/dev/Working with the TiddlyWiki5 repository.tid rename to editions/dev/tiddlers/from tw5.com/Working with the TiddlyWiki5 repository.tid diff --git a/editions/tw5.com/tiddlers/moduletypes/SyncAdaptorModules.tid b/editions/dev/tiddlers/from tw5.com/moduletypes/SyncAdaptorModules.tid similarity index 100% rename from editions/tw5.com/tiddlers/moduletypes/SyncAdaptorModules.tid rename to editions/dev/tiddlers/from tw5.com/moduletypes/SyncAdaptorModules.tid diff --git a/editions/tw5.com/tiddlers/moduletypes/WidgetModules.tid b/editions/dev/tiddlers/from tw5.com/moduletypes/WidgetModules.tid similarity index 100% rename from editions/tw5.com/tiddlers/moduletypes/WidgetModules.tid rename to editions/dev/tiddlers/from tw5.com/moduletypes/WidgetModules.tid diff --git a/editions/tw5.com/tiddlers/moduletypes/WikiRuleModules.tid b/editions/dev/tiddlers/from tw5.com/moduletypes/WikiRuleModules.tid similarity index 100% rename from editions/tw5.com/tiddlers/moduletypes/WikiRuleModules.tid rename to editions/dev/tiddlers/from tw5.com/moduletypes/WikiRuleModules.tid diff --git a/editions/tw5.com/tiddlers/howtos/packge.json for node-webkit.tid b/editions/dev/tiddlers/from tw5.com/packge.json for node-webkit.tid similarity index 100% rename from editions/tw5.com/tiddlers/howtos/packge.json for node-webkit.tid rename to editions/dev/tiddlers/from tw5.com/packge.json for node-webkit.tid diff --git a/editions/dev/tiddlers/images/favicon.ico b/editions/dev/tiddlers/images/favicon.ico new file mode 100644 index 000000000..b73f67d49 Binary files /dev/null and b/editions/dev/tiddlers/images/favicon.ico differ diff --git a/editions/dev/tiddlers/images/favicon.ico.meta b/editions/dev/tiddlers/images/favicon.ico.meta new file mode 100644 index 000000000..2f3e81713 --- /dev/null +++ b/editions/dev/tiddlers/images/favicon.ico.meta @@ -0,0 +1,2 @@ +title: $:/favicon.ico +type: image/x-icon diff --git a/editions/dev/tiddlers/system/DefaultTiddlers.tid b/editions/dev/tiddlers/system/DefaultTiddlers.tid new file mode 100644 index 000000000..9bad10dc2 --- /dev/null +++ b/editions/dev/tiddlers/system/DefaultTiddlers.tid @@ -0,0 +1,7 @@ +created: 20140910150818103 +modified: 20140910150818103 +title: $:/DefaultTiddlers +type: text/vnd.tiddlywiki + +Introduction + diff --git a/editions/dev/tiddlers/system/GoogleAnalyticsAccount.tid b/editions/dev/tiddlers/system/GoogleAnalyticsAccount.tid new file mode 100644 index 000000000..1e0f77e7c --- /dev/null +++ b/editions/dev/tiddlers/system/GoogleAnalyticsAccount.tid @@ -0,0 +1,3 @@ +title: $:/GoogleAnalyticsAccount + +UA-32839735-1 \ No newline at end of file diff --git a/editions/dev/tiddlers/system/GoogleAnalyticsDomain.tid b/editions/dev/tiddlers/system/GoogleAnalyticsDomain.tid new file mode 100644 index 000000000..ee2e3f723 --- /dev/null +++ b/editions/dev/tiddlers/system/GoogleAnalyticsDomain.tid @@ -0,0 +1,3 @@ +title: $:/GoogleAnalyticsDomain + +tiddlywiki.com \ No newline at end of file diff --git a/editions/dev/tiddlers/system/SiteSubtitle.tid b/editions/dev/tiddlers/system/SiteSubtitle.tid new file mode 100644 index 000000000..a150dbcca --- /dev/null +++ b/editions/dev/tiddlers/system/SiteSubtitle.tid @@ -0,0 +1,3 @@ +title: $:/SiteSubtitle + +documentation for developers \ No newline at end of file diff --git a/editions/dev/tiddlers/system/SiteTitle.tid b/editions/dev/tiddlers/system/SiteTitle.tid new file mode 100644 index 000000000..559fc7279 --- /dev/null +++ b/editions/dev/tiddlers/system/SiteTitle.tid @@ -0,0 +1,6 @@ +created: 20131211131022562 +modified: 20131211131023829 +title: $:/SiteTitle +type: text/vnd.tiddlywiki + +~TiddlyWiki/Dev \ No newline at end of file diff --git a/editions/dev/tiddlers/system/StaticBanner.tid b/editions/dev/tiddlers/system/StaticBanner.tid new file mode 100644 index 000000000..f73e902ce --- /dev/null +++ b/editions/dev/tiddlers/system/StaticBanner.tid @@ -0,0 +1,3 @@ +title: $:/StaticBanner + +
      This page is part of a static HTML representation of the ~TiddlyWiki at http://tiddlywiki.com/dev/
      diff --git a/editions/dev/tiddlers/system/github-fork-ribbon.tid b/editions/dev/tiddlers/system/github-fork-ribbon.tid new file mode 100644 index 000000000..5806dcf13 --- /dev/null +++ b/editions/dev/tiddlers/system/github-fork-ribbon.tid @@ -0,0 +1,6 @@ +title: $:/editions/tw5.com/github-fork-ribbon +tags: $:/tags/PageControls +caption: ~GitHub ribbon +description: ~GitHub ribbon for tw5.com + +
      <$link to="Releases"><>
      \ No newline at end of file diff --git a/editions/dev/tiddlers/system/language.tid b/editions/dev/tiddlers/system/language.tid new file mode 100644 index 000000000..a8a74ee23 --- /dev/null +++ b/editions/dev/tiddlers/system/language.tid @@ -0,0 +1,3 @@ +title: $:/language + +$:/languages/en-GB \ No newline at end of file diff --git a/editions/dev/tiddlers/system/palette.tid b/editions/dev/tiddlers/system/palette.tid new file mode 100644 index 000000000..3b73be944 --- /dev/null +++ b/editions/dev/tiddlers/system/palette.tid @@ -0,0 +1,3 @@ +title: $:/palette + +$:/palettes/Dev \ No newline at end of file diff --git a/editions/dev/tiddlers/system/palettes-Dev.tid b/editions/dev/tiddlers/system/palettes-Dev.tid new file mode 100644 index 000000000..ee5175b1a --- /dev/null +++ b/editions/dev/tiddlers/system/palettes-Dev.tid @@ -0,0 +1,105 @@ +title: $:/palettes/Dev +name: DevPalette +description: Palette for tiddlywiki.com/dev +tags: $:/tags/Palette +type: application/x-tiddler-dictionary + +alert-background: #ffe476 +alert-border: #b99e2f +alert-highlight: #881122 +alert-muted-foreground: #b99e2f +background: #e5f8fd +blockquote-bar: <> +code-background: #f7f7f9 +code-border: #e1e1e8 +code-foreground: #dd1144 +dirty-indicator: #ff0000 +download-background: #34c734 +download-foreground: <> +dragger-background: <> +dragger-foreground: <> +dropdown-background: <> +dropdown-border: <> +dropdown-tab-background-selected: #fff +dropdown-tab-background: #ececec +dropzone-background: rgba(0,200,0,0.7) +external-link-background-hover: inherit +external-link-background-visited: inherit +external-link-background: inherit +external-link-foreground-hover: inherit +external-link-foreground-visited: #0000aa +external-link-foreground: #0000ee +foreground: #333333 +message-background: #ecf2ff +message-border: #cfd6e6 +message-foreground: #547599 +modal-backdrop: <> +modal-background: <> +modal-border: #999999 +modal-footer-background: #f5f5f5 +modal-footer-border: #dddddd +modal-header-border: #eeeeee +muted-foreground: #bbb +notification-background: #ffffdd +notification-border: #999999 +page-background: #f4d7a3 +pre-background: #f5f5f5 +pre-border: #cccccc +primary: #5778d8 +sidebar-button-foreground: <> +sidebar-controls-foreground-hover: #000000 +sidebar-controls-foreground: #aaaaaa +sidebar-foreground-shadow: rgba(255,255,255, 0.8) +sidebar-foreground: #acacac +sidebar-muted-foreground-hover: #444444 +sidebar-muted-foreground: #c0c0c0 +sidebar-tab-background-selected: #ececec +sidebar-tab-background: <> +sidebar-tab-border-selected: <> +sidebar-tab-border: <> +sidebar-tab-divider: #e4e4e4 +sidebar-tab-foreground-selected: +sidebar-tab-foreground: <> +sidebar-tiddler-link-foreground-hover: #444444 +sidebar-tiddler-link-foreground: #999999 +static-alert-foreground: #aaaaaa +tab-background-selected: #ffffff +tab-background: #d8d8d8 +tab-border-selected: #d8d8d8 +tab-border: #cccccc +tab-divider: #d8d8d8 +tab-foreground-selected: <> +tab-foreground: #666666 +table-border: #dddddd +table-footer-background: #a8a8a8 +table-header-background: #f0f0f0 +tag-background: #d5ad34 +tag-foreground: #ffffff +tiddler-background: <> +tiddler-border: <> +tiddler-controls-foreground-hover: #888888 +tiddler-controls-foreground-selected: #444444 +tiddler-controls-foreground: #cccccc +tiddler-editor-background: #f8f8f8 +tiddler-editor-border-image: #ffffff +tiddler-editor-border: #cccccc +tiddler-editor-fields-even: #e0e8e0 +tiddler-editor-fields-odd: #f0f4f0 +tiddler-info-background: #f8f8f8 +tiddler-info-border: #dddddd +tiddler-info-tab-background: #f8f8f8 +tiddler-link-background: <> +tiddler-link-foreground: <> +tiddler-subtitle-foreground: #c0c0c0 +tiddler-title-foreground: #182955 +toolbar-new-button: +toolbar-options-button: +toolbar-save-button: +toolbar-info-button: +toolbar-edit-button: +toolbar-close-button: +toolbar-delete-button: +toolbar-cancel-button: +toolbar-done-button: +untagged-background: #999999 +very-muted-foreground: #888888 diff --git a/editions/dev/tiddlers/system/static.content.tid b/editions/dev/tiddlers/system/static.content.tid new file mode 100644 index 000000000..0bdb1a305 --- /dev/null +++ b/editions/dev/tiddlers/system/static.content.tid @@ -0,0 +1,19 @@ +title: $:/core/templates/static.content +type: text/vnd.tiddlywiki +hack-to-give-us-something-to-compare-against: yes + +\define tv-wikilink-template() http://tiddlywiki.com/dev/static/$uri_doubleencoded$.html + + +<$reveal state="!!hack-to-give-us-something-to-compare-against" type="nomatch" text=<>> + +It looks like this browser doesn't run JavaScript. You can use one of these static HTML versions to browse the same content: + +* http://tiddlywiki.com/dev/static.html - browse individual tiddlers as separate pages +* http://tiddlywiki.com/dev/alltiddlers.html#HelloThere - single file containing all tiddlers + +--- + +{{HelloThere}} + + diff --git a/editions/dev/tiddlers/system/theme.tid b/editions/dev/tiddlers/system/theme.tid new file mode 100644 index 000000000..58690c397 --- /dev/null +++ b/editions/dev/tiddlers/system/theme.tid @@ -0,0 +1,3 @@ +title: $:/theme + +$:/themes/tiddlywiki/snowwhite \ No newline at end of file diff --git a/editions/dev/tiddlers/system/tw5.com-dev-styles.tid b/editions/dev/tiddlers/system/tw5.com-dev-styles.tid new file mode 100644 index 000000000..0320b7d05 --- /dev/null +++ b/editions/dev/tiddlers/system/tw5.com-dev-styles.tid @@ -0,0 +1,3 @@ +title: $:/_tw5.com-dev-styles +tags: $:/tags/Stylesheet + diff --git a/editions/dev/tiddlywiki.info b/editions/dev/tiddlywiki.info new file mode 100644 index 000000000..5d4be5dfb --- /dev/null +++ b/editions/dev/tiddlywiki.info @@ -0,0 +1,43 @@ +{ + "plugins": [ + "tiddlywiki/cecily", + "tiddlywiki/googleanalytics", + "tiddlywiki/nodewebkitsaver", + "tiddlywiki/github-fork-ribbon" + ], + "themes": [ + "tiddlywiki/vanilla", + "tiddlywiki/snowwhite", + "tiddlywiki/nighttime", + "tiddlywiki/starlight", + "tiddlywiki/seamless", + "tiddlywiki/stickytitles", + "tiddlywiki/centralised", + "tiddlywiki/readonly" + ], + "languages": [ + "en-US", + "en-GB", + "de-AT", + "de-DE", + "fr-FR", + "zh-Hans", + "zh-Hant", + "it-IT", + "ja-JP" + ], + "build": { + "index": [ + "--savetiddlers","[tag[external-image]]","images", + "--setfield","[tag[external-image]]","_canonical_uri","$:/core/templates/canonical-uri-external-image","text/plain", + "--setfield","[tag[external-image]]","text","","text/plain", + "--rendertiddler","$:/core/save/all","index.html","text/plain"], + "favicon": [ + "--savetiddler","$:/favicon.ico","favicon.ico"], + "static": [ + "--rendertiddler","$:/core/templates/static.template.html","static.html","text/plain", + "--rendertiddler","$:/core/templates/alltiddlers.template.html","alltiddlers.html","text/plain", + "--rendertiddlers","[!is[system]]","$:/core/templates/static.tiddler.html","static","text/plain", + "--rendertiddler","$:/core/templates/static.template.css","static/static.css","text/plain"] + } +} diff --git a/editions/highlightdemo/tiddlers/HelloThere.tid b/editions/highlightdemo/tiddlers/HelloThere.tid index af56fc02d..d59659d73 100644 --- a/editions/highlightdemo/tiddlers/HelloThere.tid +++ b/editions/highlightdemo/tiddlers/HelloThere.tid @@ -14,6 +14,6 @@ To add this plugin to your own TiddlyWiki5, just drag this link to the browser w ! Adding Themes -You can add themes from highlight.js by copying the CSS to a new tiddler and tagging it with [[$:/tags/stylesheet]]. The available themes can be found on GitHub: +You can add themes from highlight.js by copying the CSS to a new tiddler and tagging it with [[$:/tags/Stylesheet]]. The available themes can be found on GitHub: https://github.com/isagalaev/highlight.js/tree/master/src/styles diff --git a/editions/test/tiddlers/tests/test-filters.js b/editions/test/tiddlers/tests/test-filters.js index a523fe5fe..7946b79b0 100644 --- a/editions/test/tiddlers/tests/test-filters.js +++ b/editions/test/tiddlers/tests/test-filters.js @@ -97,6 +97,14 @@ describe("Filter tests", function() { expect(wiki.filterTiddlers("[!is[system]!field:modifier[JoeBloggs]]").join(",")).toBe("Tiddler Three,a fourth tiddler,one"); }); + it("should handle the regexp operator", function() { + expect(wiki.filterTiddlers("[regexp[id]]").join(",")).toBe("TiddlerOne,$:/TiddlerTwo,Tiddler Three,a fourth tiddler"); + expect(wiki.filterTiddlers("[!regexp[id]]").join(",")).toBe("one"); + expect(wiki.filterTiddlers("[regexp[Tid]]").join(",")).toBe("TiddlerOne,$:/TiddlerTwo,Tiddler Three"); + expect(wiki.filterTiddlers("[regexp[(?i)Tid]]").join(",")).toBe("TiddlerOne,$:/TiddlerTwo,Tiddler Three,a fourth tiddler"); + expect(wiki.filterTiddlers("[!regexp[Tid(?i)]]").join(",")).toBe("one"); + }); + it("should handle the field operator with a regular expression operand", function() { expect(wiki.filterTiddlers("[modifier/JoeBloggs/]").join(",")).toBe("TiddlerOne"); expect(wiki.filterTiddlers("[modifier/Jo/]").join(",")).toBe("TiddlerOne,$:/TiddlerTwo,Tiddler Three,a fourth tiddler,one"); diff --git a/editions/tw5.com-server/tiddlers/config-Navigation-UpdateAddressBar.tid b/editions/tw5.com-server/tiddlers/config-Navigation-UpdateAddressBar.tid new file mode 100644 index 000000000..86952857c --- /dev/null +++ b/editions/tw5.com-server/tiddlers/config-Navigation-UpdateAddressBar.tid @@ -0,0 +1,6 @@ +created: 20140910212049455 +title: $:/config/Navigation/UpdateAddressBar +type: text/vnd.tiddlywiki +note: + +permaview \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_close-all.tid b/editions/tw5.com/tiddlers/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_close-all.tid new file mode 100644 index 000000000..2d6558def --- /dev/null +++ b/editions/tw5.com/tiddlers/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_close-all.tid @@ -0,0 +1,6 @@ +created: 20140912140417981 +modified: 20140912140416915 +title: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/close-all +type: text/vnd.tiddlywiki + +hide \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_more-page-actions.tid b/editions/tw5.com/tiddlers/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_more-page-actions.tid new file mode 100644 index 000000000..a6e986ed9 --- /dev/null +++ b/editions/tw5.com/tiddlers/$__config_PageControlButtons_Visibility_$__core_ui_Buttons_more-page-actions.tid @@ -0,0 +1,6 @@ +created: 20140912140419093 +modified: 20140912140418015 +title: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions +type: text/vnd.tiddlywiki + +show \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/Acknowledgements.tid b/editions/tw5.com/tiddlers/Acknowledgements.tid deleted file mode 100644 index 34b154463..000000000 --- a/editions/tw5.com/tiddlers/Acknowledgements.tid +++ /dev/null @@ -1,9 +0,0 @@ -created: 20140129204112515 -modified: 20140801084114743 -tags: introduction -title: Acknowledgements -type: text/vnd.tiddlywiki - -TiddlyWiki wouldn't be possible without the ongoing support of the TiddlyWiki community. Their attention and feedback has made it possible to gain an understanding of what is wanted from the product, and their passion for it has taught me that it is worth the investment. - -{{$:/Acknowledgements}} diff --git a/editions/tw5.com/tiddlers/Contributing.tid b/editions/tw5.com/tiddlers/Contributing.tid deleted file mode 100644 index 5f41e1d6d..000000000 --- a/editions/tw5.com/tiddlers/Contributing.tid +++ /dev/null @@ -1,36 +0,0 @@ -created: 20131101111400000 -modified: 20140607164329806 -tags: introduction -title: Contributing -type: text/vnd.tiddlywiki - -TiddlyWiki5 welcomes contributions to its code and documentation via [[GitHub|https://github.com/Jermolene/TiddlyWiki5]]. Please take a moment to read these notes to help make the process as smooth as possible. - -!! Coding Style - -Code contributions should follow the [[TiddlyWiki Coding Style Guidelines]]. - -!! GitHub Issues - -See ReportingBugs for information about how TiddlyWiki handles bug reports. - -!! Contributor License Agreement - -Like other OpenSource projects, TiddlyWiki5 needs a signed contributor license agreement from individual contributors. This is a legal agreement that allows contributors to assert that they own the copyright of their contribution, and that they agree to license it to the UnaMesa Association (the legal entity that owns TiddlyWiki on behalf of the community). - -* For individuals use: [[licenses/CLA-individual|https://github.com/Jermolene/TiddlyWiki5/tree/master/licenses/cla-individual.md]] -* For entities use: [[licenses/CLA-entity|https://github.com/Jermolene/TiddlyWiki5/tree/master/licenses/cla-entity.md]] - -//This is a first pass at a CLA for TiddlyWiki. Please let us know if we missed something important. If we do have to make essential changes to the CLA, there is a possibility that all contributors will need to sign it again// - -!!! How to sign the CLA - -Create a GitHub pull request to add your name to `cla-individual.md` or `cla-entity.md`, with the date in the format (YYYY/MM/DD). - -eg: `Jeremy Ruston, @Jermolene, 2011/11/22` - -''Thank you!'' - -!!!! Attribution - -The CLA documents used for this project were created using [[Harmony Project Templates|http://www.harmonyagreements.org]]. "HA-CLA-I-LIST Version 1.0" for "CLA-individual" and "HA-CLA-E-LIST Version 1.0" for "CLA-entity" diff --git a/editions/tw5.com/tiddlers/Default to the contents tab.tid b/editions/tw5.com/tiddlers/Default to the contents tab.tid new file mode 100644 index 000000000..cb2fabe83 --- /dev/null +++ b/editions/tw5.com/tiddlers/Default to the contents tab.tid @@ -0,0 +1,3 @@ +title: $:/state/tab/sidebar-{-1835078512} + +TableOfContents \ No newline at end of file diff --git a/editions/tw5.com/tiddlers/Docs.tid b/editions/tw5.com/tiddlers/Docs.tid deleted file mode 100644 index 8b910057c..000000000 --- a/editions/tw5.com/tiddlers/Docs.tid +++ /dev/null @@ -1,43 +0,0 @@ -created: 20130824141800000 -modified: 20140211165927396 -tags: introduction -title: Docs -type: text/vnd.tiddlywiki - -\define bulletList(tag) -{{$tag$}} - -
        <$list filter="[tag[$tag$]]">
      • <$link to={{!!title}}><$view field="title"/>
      -\end -This is the main documentation hub for TiddlyWiki. See also [[TiddlyWiki for Developers]]. - -! Concepts - -<> - -! Wiki Text Rules - -<> - -! Widgets - -<> - -! Commands - -<> - -! How to use ~TiddlyWiki5 - -<> - -! Tips - -<> - -! Miscellaneous - -* ReportingBugs -* JeremyRuston (aka [[Jermolene]]) -* FederatialLimited -* [[Acknowledgements]] diff --git a/editions/tw5.com/tiddlers/Download.tid b/editions/tw5.com/tiddlers/Download.tid index 3c13d9650..9d1bd3374 100644 --- a/editions/tw5.com/tiddlers/Download.tid +++ b/editions/tw5.com/tiddlers/Download.tid @@ -1,6 +1,6 @@ created: 20131119194500000 -modified: 20131212094150331 -tags: introduction +modified: 20140912145111145 +tags: Misc title: Download type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/HelloThere.tid b/editions/tw5.com/tiddlers/HelloThere.tid deleted file mode 100644 index 0fca676d5..000000000 --- a/editions/tw5.com/tiddlers/HelloThere.tid +++ /dev/null @@ -1,17 +0,0 @@ -created: 20130822170200000 -modified: 20140902124037214 -tags: TableOfContents introduction -title: HelloThere -type: text/vnd.tiddlywiki - -~TiddlyWiki is a web application you can download for free, store wherever you like, customize however you wish, and use to take / organize / share your notes in ways that word processors and other note-taking tools cannot. ~TiddlyWiki is designed in a "non-linear" way, using tags, hyperlinks, and many other features, so that you can organize and retrieve your notes in ways that conform to your personal thought patterns, rather than feel chained to one pre-set organizational structure. - -You can use ~TiddlyWiki as a single file that you view and edit through any web browser, whether you are online or offline. Or you can use it as a powerful [[Node.js application|Node.js]] that treats each of your notes as a separate file and accesses them through a central hub. - -How can you make ~TiddlyWiki work for you? We recommend you start with our introductory documentation, listed below, then browse the TableOfContents, always available in the Contents tab in the sidebar. Or just [[download an empty TiddlyWiki now|Downloading and saving]] and try it out for yourself! - -*[[Discover TiddlyWiki]] -*[[Some of the things you can do with TiddlyWiki]] -*[[Examples of TiddlyWiki in the wild]] -*[[The history of TiddlyWiki]] -*[[What happened to the other TiddlyWiki?]] diff --git a/editions/tw5.com/tiddlers/HelloThere/Discover TiddlyWiki.tid b/editions/tw5.com/tiddlers/HelloThere/Discover TiddlyWiki.tid index c6fe3d7a2..6eca6c10c 100644 --- a/editions/tw5.com/tiddlers/HelloThere/Discover TiddlyWiki.tid +++ b/editions/tw5.com/tiddlers/HelloThere/Discover TiddlyWiki.tid @@ -1,13 +1,36 @@ -title: Discover TiddlyWiki +created: 20140904121000000 +modified: 20140911084850708 tags: HelloThere -created: 201409041210 -modified: 201409041210 +title: Discover TiddlyWiki +type: text/vnd.tiddlywiki -Unless you've already seen ~TiddlyWiki, we guarantee you, you've never seen //anything// like ~TiddlyWiki. ~TiddlyWiki is +Unless you've already seen ~TiddlyWiki, we guarantee you've never seen //anything// like ~TiddlyWiki. ~TiddlyWiki is: -::a tool, -::a toolbox, -::a community, -::and a philosophy. +:: a tool, +:: a toolbox, +:: a community, +:: and a philosophy. -Click on the following link to start a four-tiddler journey describing the nature of ~TiddlyWiki. Next: [[TiddlyWiki is a tool]] +! ~TiddlyWiki is a Tool + +''~TiddlyWiki is first and foremost a tool:'' it is a free downloadable tool for capturing and organising content from the web, from your documents or from your brain. It’s a tool for note-taking, bookmarking, pinning, writing, managing to-do lists and projects, collaborating, blogging, and publishing. + +In ~TiddlyWiki you create or paste content into notes called tiddlers, then connect your tiddlers with hyperlinks and tags. You can then quickly retrieve your notes through features such as tag pills, sidebar tabs, and ~TiddlyWiki's lightning fast search window. You can even dynamically include one tiddler's content inside another - similar to using building blocks - to create articles, lists, presentations and more. + +! ~TiddlyWiki is a Toolbox + +In addition to being a versatile tool, ''~TiddlyWiki is also a toolbox.'' + +Where other note-taking products hook you with the basic program then charge you for the really helpful features, ~TiddlyWiki has an ever-expanding collection of completely free visual themes, colour palettes, plugins, widgets and macros, which you can then mix and match so that you can tweak and tailor your ~TiddlyWiki to get it just the way you want it. + +! ~TiddlyWiki is also a Community + +We are a [[community|Community]] of users and developers who help each other imagine new ways of thinking and organising and create new solutions, so that ~TiddlyWiki is continually adapting to better serve your needs. ~TiddlyWiki users and developers share questions and advice at a ~TiddlyWiki Google group. They also create tutorials, adaptations, and plugins to enhance your ~TiddlyWiki experience. See the section ''Community'' of the TableOfContents for more details. + +! Finally, ~TiddlyWiki is a philosophy + +The purpose of taking and organising a note (or recording any kind of content) is to be able to retrieve it later. If you can't find your notes in your note-taking system, your note-taking becomes a colossal waste of time. + +The ~TiddlyWiki philosophy is that the best way to take notes is to separate them into tiddlers, the smallest semantic units possible. A tiddler might be an image, a webpage link, a concept, the definition of a term, or a formula such as a macro. + +These tiddlers can then be woven together to create longer units: stories, articles, lists, image galleries, and much more. ~TiddlyWiki's features such as tagging, hyperlinking, and list filters are specially designed to help you relate and connect tiddlers together in multiple ways, facilitating your future retrieval of your notes and even helping you see unexpected relationships among the your tiddlers and the information they contain. diff --git a/editions/tw5.com/tiddlers/HelloThere/Some of the things you can do with TiddlyWiki.tid b/editions/tw5.com/tiddlers/HelloThere/Some of the things you can do with TiddlyWiki.tid index d1aead0aa..22f184527 100644 --- a/editions/tw5.com/tiddlers/HelloThere/Some of the things you can do with TiddlyWiki.tid +++ b/editions/tw5.com/tiddlers/HelloThere/Some of the things you can do with TiddlyWiki.tid @@ -3,18 +3,18 @@ tags: HelloThere created: 201409040903 modified: 201409040903 -*Take notes, and use tags and hyperlinking to form relationships between your notes -*Use tabs, tables, tag-based lists, and tables of contents to get organzed -*Bookmark your favorite websites (see an example at http://giffmex.org/experiments/tidmarks.html) -*Keep track of tasks and appointments, and organize them by multiple tags (see our TaskManagementExample) -*Inventory just about anything: your recipes, personal library, contacts, music collection, and more -*Create a blog or website -*Write a book -*Organize your images into galleries (see our [[ImageGallery Example]]) -*Share the information in your ~TiddlyWiki with others, as an online file, as a file attachment, as a tiddler file, or as a link to a specific online tiddler (try clicking and dragging a tiddler from one ~TiddlyWiki file to another to see what happens) -*Draw a sketch (Edit [[Motovun Jack.jpg]] and start drawing over the image to see what happens) -*Create a modal wizard (also known as a lightbox) - see SampleWizard -*Create a slideshow presentation -*Set up an entire local or online knowledgebase, with a central ~TiddlyWiki file linking to other ~TiddlyWiki files (http://recursos.giffmex.org is a Spanish online example of this) -*Set up a data visualization using tiddlers as data (see the visualizations at http://tiddlywiki.com/d3demo.html) -*Create a timeline (See http://emkayonline.github.io/tw5visjs/#ShowTimelineDemo) +* Take notes, and use tags and hyperlinking to form relationships between your notes +* Use tabs, tables, tag-based lists, and tables of contents to get organzed +* Bookmark your favorite websites (see an example at http://giffmex.org/experiments/tidmarks.html) +* Keep track of tasks and appointments, and organize them by multiple tags (see our TaskManagementExample) +* Inventory just about anything: your recipes, personal library, contacts, music collection, and more +* Create a blog or website +* Write a book +* Organize your images into galleries (see our [[ImageGallery Example]]) +* Share the information in your ~TiddlyWiki with others, as an online file, as a file attachment, as a tiddler file, or as a link to a specific online tiddler (try clicking and dragging a tiddler from one ~TiddlyWiki file to another to see what happens) +* Draw a sketch (Edit [[Motovun Jack.jpg]] and start drawing over the image to see what happens) +* Create a modal wizard (also known as a lightbox) - see SampleWizard +* Create a slideshow presentation +* Set up an entire local or online knowledgebase, with a central ~TiddlyWiki file linking to other ~TiddlyWiki files (http://recursos.giffmex.org is a Spanish online example of this) +* Set up a data visualization using tiddlers as data (see the visualizations at http://tiddlywiki.com/d3demo.html) +* Create a timeline (See http://emkayonline.github.io/tw5visjs/#ShowTimelineDemo) diff --git a/editions/tw5.com/tiddlers/HelloThere/Ten reasons to switch to TiddlyWiki.tid b/editions/tw5.com/tiddlers/HelloThere/Ten reasons to switch to TiddlyWiki.tid index a48ef8e07..97abff280 100644 --- a/editions/tw5.com/tiddlers/HelloThere/Ten reasons to switch to TiddlyWiki.tid +++ b/editions/tw5.com/tiddlers/HelloThere/Ten reasons to switch to TiddlyWiki.tid @@ -3,17 +3,15 @@ tags: HelloThere created: 201409040857 modified: 201409040857 - - -#With ~TiddlyWiki you can organize your notes your way, not their way. Your notes conform to your way of thinking rather than being forced into a hierarchical straightjacket of notebooks and tabs. -#~TiddlyWiki's nonlinear approach will actually make you think about your information in new and helpful ways. -#Finding your notes in ~TiddlyWiki is lightning fast -#There are many ways to customize and adapt every aspect of ~TiddlyWiki -#~TiddlyWiki is free and is compatible with all platforms. Any web browser will open it. You don't need to purchase an expensive program or pay a subscription fee to use it. -#~TiddlyWiki files promote the free sharing of information. There are many ways you can share your information from ~TiddlyWiki. -#With ~TiddlyWiki, your information is yours, and you store it where you want to - on your device, on a USB stick, in Dropbox, on your server. -#~TiddlyWiki features an ever-growing number of plugins, themes, widgets, and languages. -#The online ~TiddlyWiki community is friendly and will do their best to give you the help you need. -#If you are a programmer, you have even more ways to play with ~TiddlyWiki. With ~TiddlyWiki, the more you know, the more fun you can have with it. - - +@@.doublespacedlist +# With ~TiddlyWiki you can organize your notes your way, not their way. Your notes conform to your way of thinking rather than being forced into a hierarchical straightjacket of notebooks and tabs. +# ~TiddlyWiki's nonlinear approach will actually make you think about your information in new and helpful ways. +# Finding your notes in ~TiddlyWiki is lightning fast +# There are many ways to customize and adapt every aspect of ~TiddlyWiki +# ~TiddlyWiki is free and is compatible with all platforms. Any web browser will open it. You don't need to purchase an expensive program or pay a subscription fee to use it. +# ~TiddlyWiki files promote the free sharing of information. There are many ways you can share your information from ~TiddlyWiki. +# With ~TiddlyWiki, your information is yours, and you store it where you want to - on your device, on a USB stick, in Dropbox, on your server. +# ~TiddlyWiki features an ever-growing number of plugins, themes, widgets, and languages. +# The online ~TiddlyWiki community is friendly and will do their best to give you the help you need. +# If you are a programmer, you have even more ways to play with ~TiddlyWiki. With ~TiddlyWiki, the more you know, the more fun you can have with it. +@@ diff --git a/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a community.tid b/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a community.tid deleted file mode 100644 index feb668d9f..000000000 --- a/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a community.tid +++ /dev/null @@ -1,10 +0,0 @@ -title: TiddlyWiki is a community -tags: -created: 201409041226 -modified: 201409041226 - -''~TiddlyWiki is also a community:'' - -We are a community of users and developers who help each other imagine new ways of thinking and organising and create new solutions, so that ~TiddlyWiki is continually adapting to better serve your needs. ~TiddlyWiki users and developers share questions and advice at a ~TiddlyWiki Google group. They also create tutorials, adaptations, and plugins to enhance your ~TiddlyWiki experience. See [[Get help and learn more]] for more details. - -Next: [[TiddlyWiki is a philosophy]] diff --git a/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a philosophy.tid b/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a philosophy.tid deleted file mode 100644 index 3bb10fd19..000000000 --- a/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a philosophy.tid +++ /dev/null @@ -1,14 +0,0 @@ -title: TiddlyWiki is a philosophy -tags: -created: 201409041229 -modified: 201409041229 - -Finally, ''~TiddlyWiki is a philosophy.'' - -The purpose of taking and organising a note (or recording any kind of content) is to be able to retrieve it later. If you can't find your notes in your note-taking system, your note-taking becomes a colossal waste of time. - -The ~TiddlyWiki philosophy is that the best way to take notes is to separate them into tiddlers, the smallest semantic units possible. A tiddler might be an image, a webpage link, a concept, the definition of a term, or a formula such as a macro. - -These tiddlers can then be woven together to create longer units: stories, articles, lists, image galleries, and much more. ~TiddlyWiki's features such as tagging, hyperlinking, and list filters are specially designed to help you relate and connect tiddlers together in multiple ways, facilitating your future retrieval of your notes and even helping you see unexpected relationships among the your tiddlers and the information they contain. - -Your tour is done! Click the link to return to [[HelloThere]] diff --git a/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a tool.tid b/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a tool.tid deleted file mode 100644 index 8d61e933c..000000000 --- a/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a tool.tid +++ /dev/null @@ -1,10 +0,0 @@ -title: TiddlyWiki is a tool -tags: -created: 201409041214 -modified: 201409041214 - -''~TiddlyWiki is first and foremost a tool:'' it is a free downloadable tool for capturing and organising content from the web, from your documents or from your brain. It’s a tool for note-taking, bookmarking, pinning, writing, managing to-do lists and projects, collaborating, blogging, and publishing. - -In ~TiddlyWiki you create or paste content into notes called tiddlers, then connect your tiddlers with hyperlinks and tags. You can then quickly retrieve your notes through features such as tag pills, sidebar tabs, and ~TiddlyWiki's lightning fast search window. You can even dynamically include one tiddler's content inside another - similar to using building blocks - to create articles, lists, presentations and more. - -Next: [[TiddlyWiki is a toolbox]] diff --git a/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a toolbox.tid b/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a toolbox.tid deleted file mode 100644 index ac3019158..000000000 --- a/editions/tw5.com/tiddlers/HelloThere/TiddlyWiki is a toolbox.tid +++ /dev/null @@ -1,10 +0,0 @@ -title: TiddlyWiki is a toolbox -tags: -created: 201409041222 -modified: 201409041222 - -In addition to being a versatile tool, ''~TiddlyWiki is also a toolbox.'' - -Where other note-taking products hook you with the basic program then charge you for the really helpful features, ~TiddlyWiki has an ever-expanding collection of completely free visual themes, colour palettes, plugins, widgets and macros, which you can then mix and match so that you can tweak and tailor your ~TiddlyWiki to get it just the way you want it. - -Next: [[TiddlyWiki is a community]] diff --git a/editions/tw5.com/tiddlers/HelloThere/What happened to the other TiddlyWiki.tid b/editions/tw5.com/tiddlers/HelloThere/What happened to the other TiddlyWiki.tid deleted file mode 100644 index 16d48dcd5..000000000 --- a/editions/tw5.com/tiddlers/HelloThere/What happened to the other TiddlyWiki.tid +++ /dev/null @@ -1,13 +0,0 @@ -title: What happened to the other TiddlyWiki? -tags: HelloThere -created: 201409040851 -modified: 201409040851 - -
      - -{{TiddlyWiki Classic.png}} - -!! TiddlyWikiClassic - -The original "Classic" version of TiddlyWiki is still available at http://classic.tiddlywiki.com. While it is not fully backwards compatible, we are currently improving the upgrade process. -
      diff --git a/editions/tw5.com/tiddlers/Misc.tid b/editions/tw5.com/tiddlers/Misc.tid new file mode 100644 index 000000000..1527f63b3 --- /dev/null +++ b/editions/tw5.com/tiddlers/Misc.tid @@ -0,0 +1,10 @@ +caption: Miscellaneous Content +created: 20140912140200650 +modified: 20140912140309806 +tags: TableOfContents +title: Misc +type: text/vnd.tiddlywiki + +This is a temporary dumping ground for miscellaneous documentation that needs to be refactored into the new TableOfContents structure: + +<> diff --git a/editions/tw5.com/tiddlers/OtherTWConfigurations.tid b/editions/tw5.com/tiddlers/OtherTWConfigurations.tid new file mode 100644 index 000000000..ff2e7db06 --- /dev/null +++ b/editions/tw5.com/tiddlers/OtherTWConfigurations.tid @@ -0,0 +1,4 @@ +title: Other TiddlyWiki configurations +tags: TableOfContents +created: 201409081435 +modified: 201409081435 diff --git a/editions/tw5.com/tiddlers/Release 5.0.17beta.tid b/editions/tw5.com/tiddlers/Release 5.0.17beta.tid deleted file mode 100644 index f7fe63b01..000000000 --- a/editions/tw5.com/tiddlers/Release 5.0.17beta.tid +++ /dev/null @@ -1,33 +0,0 @@ -caption: 5.0.17-beta -created: 20140830131615798 -modified: 20140902124037214 -tags: releasenote -title: Release 5.0.17-beta -type: text/vnd.tiddlywiki - -//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.0.16-beta...v5.0.17-beta]]// - -!! Incompatible Changes - - -!! Usability Improvements - -* - -!! Hackability Improvements - -* - -!! Bug Fixes - -* - -!! Contributors - -[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki: - -* [[@BramChen|https://github.com/BramChen]] -* [[@buggyj|https://github.com/buggyj]] -* [[@gernert|https://github.com/gernert]] -* [[@pmario|https://github.com/pmario]] -* [[@xcazin|https://github.com/xcazin]] diff --git a/editions/tw5.com/tiddlers/ReleaseHistory.tid b/editions/tw5.com/tiddlers/ReleaseHistory.tid deleted file mode 100644 index bc68faadf..000000000 --- a/editions/tw5.com/tiddlers/ReleaseHistory.tid +++ /dev/null @@ -1,8 +0,0 @@ -created: 20131109105400007 -modified: 20140701201607494 -title: ReleaseHistory -type: text/vnd.tiddlywiki - -Here are the details of recent releases of TiddlyWiki5. See [[TiddlyWiki5 Versioning]] for details of how releases are named. - -<> diff --git a/editions/tw5.com/tiddlers/TableOfContents.tid b/editions/tw5.com/tiddlers/TableOfContents.tid index 8cbb24578..7c94f3724 100644 --- a/editions/tw5.com/tiddlers/TableOfContents.tid +++ b/editions/tw5.com/tiddlers/TableOfContents.tid @@ -1,351 +1,14 @@ caption: {{$:/language/SideBar/Contents/Caption}} created: 20140809114010378 +list: HelloThere [[Working with TiddlyWiki]] [[Customise TiddlyWiki]] [[Advanced features]] [[TiddlyWiki on Node.JS]] [[Other TiddlyWiki configurations]] [[Get involved]] [[TiddlyWiki glossaries]] list-after: $:/core/ui/SideBar/Open -modified: 20140809114018461 +modified: 20140912145302498 tags: $:/tags/SideBar title: TableOfContents type: text/vnd.tiddlywiki -\define toc-heading(caption,body) -<$reveal type="nomatch" state=<> text="show"> -<$button set=<> setTo="show" class="tc-btn-invisible">{{$:/core/images/right-arrow}} $caption$ - - -<$reveal type="match" state=<> text="show"> -<$button set=<> setTo="hide" class="tc-btn-invisible">{{$:/core/images/down-arrow}} $caption$ - - -<$reveal type="match" state=<> text="show" retain="yes" animate="yes"> - -$body$ - - -\end
      -# Guide -## <> -## <> -## <> -## <> -## <> -# Reference -## <> -## <> -## <> -## <> -## <> -## <> -# Advanced -## <> -## <> -# About -## <> -## <> +<>
      diff --git a/editions/tw5.com/tiddlers/about/About.tid b/editions/tw5.com/tiddlers/about/About.tid new file mode 100644 index 000000000..b1e608bdf --- /dev/null +++ b/editions/tw5.com/tiddlers/about/About.tid @@ -0,0 +1,8 @@ +created: 20140912145139340 +modified: 20140912145217090 +title: About +type: text/vnd.tiddlywiki + +Information about the making of TiddlyWiki: + +<> diff --git a/editions/tw5.com/tiddlers/about/Acknowledgements.tid b/editions/tw5.com/tiddlers/about/Acknowledgements.tid new file mode 100644 index 000000000..33fa494a9 --- /dev/null +++ b/editions/tw5.com/tiddlers/about/Acknowledgements.tid @@ -0,0 +1,9 @@ +created: 20140129204112515 +modified: 20140912145138466 +tags: About +title: Acknowledgements +type: text/vnd.tiddlywiki + +TiddlyWiki wouldn't be possible without the ongoing support of the TiddlyWiki [[Community]]. Their attention and feedback has made it possible to gain an understanding of what is wanted from the product, and their passion for it has taught me that it is worth the investment. + +{{$:/Acknowledgements}} diff --git a/editions/tw5.com/tiddlers/Documentation Style Guide.tid b/editions/tw5.com/tiddlers/about/Documentation Style Guide.tid similarity index 89% rename from editions/tw5.com/tiddlers/Documentation Style Guide.tid rename to editions/tw5.com/tiddlers/about/Documentation Style Guide.tid index c807c8917..4129f977b 100644 --- a/editions/tw5.com/tiddlers/Documentation Style Guide.tid +++ b/editions/tw5.com/tiddlers/about/Documentation Style Guide.tid @@ -8,3 +8,5 @@ The documentation for ~TiddlyWiki tries to follow the following guidelines. The # Do address the reader directly as "you" # Avoid the [[passive voice|http://grammar.ccc.commnet.edu/grammar/passive.htm]] in tutorial and introductory material # Do use [[British spellings in preference to US spellings|http://en.wikipedia.org/wiki/American_and_British_English_spelling_differences]] + +See also the guidelines for [[tiddler titles|Adopt a Titles Policy]]. diff --git a/editions/tw5.com/tiddlers/about/History of TiddlyWiki.tid b/editions/tw5.com/tiddlers/about/History of TiddlyWiki.tid new file mode 100644 index 000000000..6849a0795 --- /dev/null +++ b/editions/tw5.com/tiddlers/about/History of TiddlyWiki.tid @@ -0,0 +1,51 @@ +title: History of TiddlyWiki +tags: HelloThere +created: 201409081144 +modified: 201409081144 + +//These are personal reflections on the history and development of TiddlyWiki from JeremyRuston// + +! Origins of TiddlyWiki + +Back in 1997 a colleague introduced me to [[Ward Cunningham's original wiki|http://c2.com/cgi/wiki]]. I was impressed that something so powerful could fit into just 700 lines of Perl, and fascinated by the radical reimagining of security and permissions. Like many other developers, I took every opportunity I could to try out various wikis, and to explore their use at work. + +The allure of the wiki for me was the feeling that it could eventually disrupt the prevailing paradigm of print-oriented documents and emails. + +After watching people use wikis for a few years, I noticed that power users made extensive use of the ability to open multiple wiki pages at once in several browser tabs, making it easier for them to compare and review pages, to copy text between them and to act as a sort of queue of pages yet to be read. + +I felt that this ability to manipulate multiple pages at once was central to the ability to refactor a wiki, and it is generally accepted that a wiki that is lovingly refactored tends to be more useful. And yet, standard wiki user interfaces have always been designed exclusively for the presentation and manipulation of single pages at once. + +All of these thoughts came together when I saw GMail in April 2004, which used Ajax cleverly to blend individual emails into threaded conversations. + +I started experimenting with HTML and JavaScript to explore the idea further. I'd had virtually no experience of either, just having put together some static pages and simple ASP sites in previous lives. Getting my head around these client-side technologies was painful; like everyone else, I was horrified to discover how appalling were the incompatibilities and inconsistencies of web programming. + +! Launch of TiddlyWiki + +So, in September 2004 I released a primitive [[first version of TiddlyWiki|http://classic.tiddlywiki.com/firstversion.html]]. It was the smallest possible thing that demonstrated the idea: it was a simple, self-contained static 48KB HTML file. + +The downside of writing the first version of TiddlyWiki in this way was that it made it completely impractical to use for editing - when you click 'save changes' it just pops up a window showing the data that would be saved if it were possible for an HTML page to write to the file system. + +Much of the early feedback was that TiddlyWiki was neat, but that it would be more useful when it was possible to properly save changes. I was a little frustrated, as I thought I knew that it was impossible for an HTML file running in the browser to save changes to the local file system. + +Within a few months I saw an experimental Firefox extension that enabled TiddlyWiki to save changes in the browser. Examining the code, I realised that the APIs that it used to write to the file system were actually available in ordinary HTML files - as long as they were loaded via a ''file://'' URI. + +I adapted the Firefox code into the core of TiddlyWiki, and soon added a similar ability for Internet Explorer (making use of an old ActiveX control that Microsoft distributed with Internet Explorer). + +! Growth of TiddlyWiki + +A major milestone in the growth of TiddlyWiki was the creation of "GTDTiddlyWiki" by Nathan Bowers. He took the vanilla TiddlyWiki product and adapted it for the specific application of keeping track of tasks using the popular Getting Things Done methodology. GTDTiddlyWiki was an immediate hit, being enthusiastically greeted on websites like LifeHacker. + +Over the next couple of years TiddlyWiki continued to grow in popularity, and gained new features and capabilities. Within a year I was able to support myself by performing bespoke development work on TiddlyWiki, notably working with wiki pioneer SocialText on the ability to synchronise changes with an online server + +! BT Acquisition + +In May 2007, [[BT]] acquired [[Osmosoft]], my consultancy company. It was an unusual decision to acquire a company with a single employee and a tiny trickle of revenue - [[Osmosoft]] didn't even own the intellectual property in TiddlyWiki since I had handed it over to UnaMesa to assure its future for the community. + +[[BT]]'s motivation was to help them understand + + +! [[Osmosoft]] and TiddlySpace + +! Leaving BT + +//To be continued...// diff --git a/editions/tw5.com/tiddlers/Philosophy of Tiddlers.tid b/editions/tw5.com/tiddlers/about/Philosophy of Tiddlers.tid similarity index 93% rename from editions/tw5.com/tiddlers/Philosophy of Tiddlers.tid rename to editions/tw5.com/tiddlers/about/Philosophy of Tiddlers.tid index 85c69c9c1..d42921631 100644 --- a/editions/tw5.com/tiddlers/Philosophy of Tiddlers.tid +++ b/editions/tw5.com/tiddlers/about/Philosophy of Tiddlers.tid @@ -1,6 +1,6 @@ created: 20131128075743966 -modified: 20131128093317966 -tags: introduction +modified: 20140912145958621 +tags: [[Working with TiddlyWiki]] title: Philosophy of Tiddlers type: text/vnd.tiddlywiki diff --git a/editions/tw5.com/tiddlers/commands/BuildCommand.tid b/editions/tw5.com/tiddlers/commands/BuildCommand.tid index 10cbe2be2..62eb32faf 100644 --- a/editions/tw5.com/tiddlers/commands/BuildCommand.tid +++ b/editions/tw5.com/tiddlers/commands/BuildCommand.tid @@ -1,8 +1,9 @@ created: 20140425085548209 modified: 20140427210435569 -tags: command +tags: Commands title: BuildCommand type: text/vnd.tiddlywiki +caption: build {{$:/language/Help/build}} diff --git a/editions/tw5.com/tiddlers/commands/ClearPasswordCommand.tid b/editions/tw5.com/tiddlers/commands/ClearPasswordCommand.tid index fc07c4866..ed2d9c573 100644 --- a/editions/tw5.com/tiddlers/commands/ClearPasswordCommand.tid +++ b/editions/tw5.com/tiddlers/commands/ClearPasswordCommand.tid @@ -1,4 +1,5 @@ title: ClearPasswordCommand -tags: command +tags: Commands +caption: clearpassword {{$:/language/Help/clearpassword}} diff --git a/editions/tw5.com/tiddlers/commands/Commands.tid b/editions/tw5.com/tiddlers/commands/Commands.tid new file mode 100644 index 000000000..757fd0938 --- /dev/null +++ b/editions/tw5.com/tiddlers/commands/Commands.tid @@ -0,0 +1,6 @@ +title: Commands +tags: Reference + +Commands are used with [[TiddlyWiki on Node.js|Using TiddlyWiki on Node.js]]. + +> diff --git a/editions/tw5.com/tiddlers/commands/HelpCommand.tid b/editions/tw5.com/tiddlers/commands/HelpCommand.tid index 7a74824ea..ca802d6e9 100644 --- a/editions/tw5.com/tiddlers/commands/HelpCommand.tid +++ b/editions/tw5.com/tiddlers/commands/HelpCommand.tid @@ -1,7 +1,8 @@ created: 20140225195548209 modified: 20140225195738745 -tags: command +tags: Commands title: HelpCommand type: text/vnd.tiddlywiki +caption: help {{$:/language/Help/help}} diff --git a/editions/tw5.com/tiddlers/commands/InitCommand.tid b/editions/tw5.com/tiddlers/commands/InitCommand.tid index 8a3f8bbdb..449cc7d90 100644 --- a/editions/tw5.com/tiddlers/commands/InitCommand.tid +++ b/editions/tw5.com/tiddlers/commands/InitCommand.tid @@ -1,8 +1,9 @@ created: 20140223195548209 modified: 20140617212529392 -tags: command +tags: Commands title: InitCommand type: text/vnd.tiddlywiki +caption: init {{$:/language/Help/init}} diff --git a/editions/tw5.com/tiddlers/commands/LoadCommand.tid b/editions/tw5.com/tiddlers/commands/LoadCommand.tid index f62ce9b37..634060625 100644 --- a/editions/tw5.com/tiddlers/commands/LoadCommand.tid +++ b/editions/tw5.com/tiddlers/commands/LoadCommand.tid @@ -1,7 +1,8 @@ created: 20140119201439976 modified: 20140119201554602 -tags: command +tags: Commands title: LoadCommand type: text/vnd.tiddlywiki +caption: load {{$:/language/Help/load}} diff --git a/editions/tw5.com/tiddlers/commands/MakeLibraryCommand.tid b/editions/tw5.com/tiddlers/commands/MakeLibraryCommand.tid index 627b4ee67..f4223b7ea 100644 --- a/editions/tw5.com/tiddlers/commands/MakeLibraryCommand.tid +++ b/editions/tw5.com/tiddlers/commands/MakeLibraryCommand.tid @@ -1,8 +1,9 @@ created: 20140903085210479 modified: 20140903085210479 -tags: command +tags: Commands title: MakeLibraryCommand type: text/vnd.tiddlywiki +caption: makelibrary {{$:/language/Help/makelibrary}} diff --git a/editions/tw5.com/tiddlers/commands/OutputCommand.tid b/editions/tw5.com/tiddlers/commands/OutputCommand.tid index 2744f8c68..522174120 100644 --- a/editions/tw5.com/tiddlers/commands/OutputCommand.tid +++ b/editions/tw5.com/tiddlers/commands/OutputCommand.tid @@ -1,7 +1,8 @@ created: 20140425085548209 modified: 20140425085738745 -tags: command +tags: Commands title: OutputCommand type: text/vnd.tiddlywiki +caption: output {{$:/language/Help/output}} diff --git a/editions/tw5.com/tiddlers/commands/PasswordCommand.tid b/editions/tw5.com/tiddlers/commands/PasswordCommand.tid index 909db11fe..fbd57c929 100644 --- a/editions/tw5.com/tiddlers/commands/PasswordCommand.tid +++ b/editions/tw5.com/tiddlers/commands/PasswordCommand.tid @@ -1,4 +1,5 @@ title: PasswordCommand -tags: command +tags: Commands +caption: password {{$:/language/Help/password}} diff --git a/editions/tw5.com/tiddlers/commands/RenderTiddlerCommand.tid b/editions/tw5.com/tiddlers/commands/RenderTiddlerCommand.tid index eea70700f..7e535648d 100644 --- a/editions/tw5.com/tiddlers/commands/RenderTiddlerCommand.tid +++ b/editions/tw5.com/tiddlers/commands/RenderTiddlerCommand.tid @@ -1,4 +1,5 @@ title: RenderTiddlerCommand -tags: command +tags: Commands +caption: rendertiddler {{$:/language/Help/rendertiddler}} diff --git a/editions/tw5.com/tiddlers/commands/RenderTiddlersCommand.tid b/editions/tw5.com/tiddlers/commands/RenderTiddlersCommand.tid index 83b7f2ade..d2b62fb99 100644 --- a/editions/tw5.com/tiddlers/commands/RenderTiddlersCommand.tid +++ b/editions/tw5.com/tiddlers/commands/RenderTiddlersCommand.tid @@ -1,4 +1,5 @@ title: RenderTiddlersCommand -tags: command +tags: Commands +caption: rendertiddlers {{$:/language/Help/rendertiddlers}} diff --git a/editions/tw5.com/tiddlers/commands/SaveTiddlerCommand.tid b/editions/tw5.com/tiddlers/commands/SaveTiddlerCommand.tid index b35a8c8e9..3f4626a5b 100644 --- a/editions/tw5.com/tiddlers/commands/SaveTiddlerCommand.tid +++ b/editions/tw5.com/tiddlers/commands/SaveTiddlerCommand.tid @@ -1,6 +1,7 @@ title: SaveTiddlerCommand -tags: command +tags: Commands created: 20131218121606089 modified: 20131218121606089 +caption: savetiddler {{$:/language/Help/savetiddler}} diff --git a/editions/tw5.com/tiddlers/commands/SaveTiddlersCommand.tid b/editions/tw5.com/tiddlers/commands/SaveTiddlersCommand.tid index 6fa21bd69..5ca877bfa 100644 --- a/editions/tw5.com/tiddlers/commands/SaveTiddlersCommand.tid +++ b/editions/tw5.com/tiddlers/commands/SaveTiddlersCommand.tid @@ -1,6 +1,7 @@ title: SaveTiddlersCommand -tags: command +tags: Commands created: 20140609121606089 modified: 20140609121606089 +caption: savetiddlers {{$:/language/Help/savetiddlers}} diff --git a/editions/tw5.com/tiddlers/commands/ServerCommand.tid b/editions/tw5.com/tiddlers/commands/ServerCommand.tid index 8b0659c3d..c21a8a430 100644 --- a/editions/tw5.com/tiddlers/commands/ServerCommand.tid +++ b/editions/tw5.com/tiddlers/commands/ServerCommand.tid @@ -1,7 +1,8 @@ created: 20131219163923630 modified: 20131229130513478 -tags: command +tags: Commands title: ServerCommand type: text/vnd.tiddlywiki +caption: server {{$:/language/Help/server}} diff --git a/editions/tw5.com/tiddlers/commands/SetFieldCommand.tid b/editions/tw5.com/tiddlers/commands/SetFieldCommand.tid index ae1ef61f6..6730a762d 100644 --- a/editions/tw5.com/tiddlers/commands/SetFieldCommand.tid +++ b/editions/tw5.com/tiddlers/commands/SetFieldCommand.tid @@ -1,6 +1,7 @@ title: SetFieldCommand -tags: command +tags: Commands created: 20140609121606089 modified: 20140609121606089 +caption: setfield {{$:/language/Help/setfield}} diff --git a/editions/tw5.com/tiddlers/commands/VerboseCommand.tid b/editions/tw5.com/tiddlers/commands/VerboseCommand.tid index 51aa60625..e27258473 100644 --- a/editions/tw5.com/tiddlers/commands/VerboseCommand.tid +++ b/editions/tw5.com/tiddlers/commands/VerboseCommand.tid @@ -1,4 +1,5 @@ title: VerboseCommand -tags: command +tags: Commands +caption: verbose {{$:/language/Help/verbose}} diff --git a/editions/tw5.com/tiddlers/commands/VersionCommand.tid b/editions/tw5.com/tiddlers/commands/VersionCommand.tid index 37efdf778..07a54fb0d 100644 --- a/editions/tw5.com/tiddlers/commands/VersionCommand.tid +++ b/editions/tw5.com/tiddlers/commands/VersionCommand.tid @@ -1,4 +1,5 @@ title: VersionCommand -tags: command +tags: Commands +caption: version {{$:/language/Help/version}} diff --git a/editions/tw5.com/tiddlers/community/Articles.tid b/editions/tw5.com/tiddlers/community/Articles.tid index 7baa3b6e4..f7901f7ee 100644 --- a/editions/tw5.com/tiddlers/community/Articles.tid +++ b/editions/tw5.com/tiddlers/community/Articles.tid @@ -1,14 +1,14 @@ created: 20140320230543190 modified: 20140320231444981 -tags: introduction community [[Get help and learn more]] -title: Articles about TiddlyWiki +tags: Community +title: Articles type: text/vnd.tiddlywiki -Here are some articles written about ~TiddlyWiki. Submit new articles via GitHub, Twitter or by posting in the [[TiddlyWiki Groups]]. +Here are some recent articles written about ~TiddlyWiki. Submit new articles via GitHub, Twitter or by posting in the [[TiddlyWiki Groups]].