mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-12-28 11:00:27 +00:00
A self-contained JavaScript wiki for the browser, Node.js, AWS Lambda etc.
docs | ||
js | ||
node_modules | ||
parsers | ||
test | ||
tiddlywiki5 | ||
.gitignore | ||
copyright.txt | ||
readme.md | ||
test.sh | ||
tiddlywiki.js | ||
tw5.sh | ||
upload.sh |
Welcome to TiddlyWiki5
Welcome to TiddlyWiki5, an interactive wiki written in JavaScript to run in the browser or under node.js. It is a reboot of TiddlyWiki (http://www.tiddlywiki.com/), the now venerable, reusable non-linear personal web notebook first released in 2004.
TiddlyWiki is based on the idea of making information more useful by modelling it in the smallest meaningful semantic units, referred to as "tiddlers". Structure comes from links, tags, and stories (sequences of tiddlers). Tiddlers use a wikitext notation that concisely represents a wide range of text formatting and hypertext features.
TiddlyWiki has earned an enduring place as a tool that people love using for its rich, interactive interface to manipulate complex data with structure that doesn't easily fit into conventional tools like spreadsheets or wordprocessors. Because people can use it without needing any complicated server infrastructure, and because it is open source, it has bought unprecedented freedom to people to keep their precious information under their own control. TiddlyWiki was originally created by JeremyRuston and is now a thriving open source project with a busy Community of independent developers.
TiddlyWiki is based on the idea of making information more useful by modelling it in the smallest meaningful semantic units, referred to as "tiddlers". Structure comes from links, tags, and stories (sequences of tiddlers). Tiddlers use a wikitext notation that concisely represents a wide range of text formatting and hypertext features.
TiddlyWiki has earned an enduring place as a tool that people love using for its rich, interactive interface to manipulate complex data with structure that doesn't easily fit into conventional tools like spreadsheets or wordprocessors. Because people can use it without needing any complicated server infrastructure, and because it is open source, it has bought unprecedented freedom to people to keep their precious information under their own control. TiddlyWiki was originally created by JeremyRuston and is now a thriving open source project with a busy Community of independent developers.
Usage
TiddlyWiki5 can be used on the command line to perform an extensive set of operations based on RecipeFiles, TiddlerFiles and TiddlyWikiFiles.
Usage:
The command line options are processed sequentially from left to right. Processing pauses during long operations, like loading a recipe file and all the subrecipes and tiddlers that it references. The following options are available:
This example cooks a TiddlyWiki from a recipe:
This example ginsus a TiddlyWiki into its constituent tiddlers:
Usage:
node tiddlywiki.js <options>
The command line options are processed sequentially from left to right. Processing pauses during long operations, like loading a recipe file and all the subrecipes and tiddlers that it references. The following options are available:
--recipe <filepath> | Loads a specfied .recipe file |
--load <filepath> | Load additional tiddlers from 2.x.x TiddlyWiki files (.html ), .tiddler , .tid , .json or other files |
--savewiki <dirpath> | Saves all the loaded tiddlers as a single file TiddlyWiki called index.html and an RSS feed called index.xml in a new directory of the specified name |
--savetiddler <title> <filename> [<type>] | Save an individual tiddler as a specified MIME type, defaults to text/html |
--savetiddlers <outdir> | Saves all the loaded tiddlers as .tid files in the specified directory |
--servewiki <port> | Serve the cooked TiddlyWiki over HTTP at / |
--servetiddlers <port> | Serve individual tiddlers over HTTP at /tiddlertitle |
--wikitest <dir> | Run wikification tests against the tiddlers in the given directory |
--dumpstore | Dump the TiddlyWiki store in JSON format |
--dumprecipe | Dump the current recipe in JSON format |
--verbose | verbose output, useful for debugging |
Examples
This example loads the tiddlers from a TiddlyWiki HTML file and makes them available over HTTP:
node tiddlywiki.js --load mywiki.html --servewiki 127.0.0.1:8000
This example cooks a TiddlyWiki from a recipe:
node tiddlywiki.js --recipe tiddlywiki.com/index.recipe --savewiki tmp/
This example ginsus a TiddlyWiki into its constituent tiddlers:
node tiddlywiki.js --load mywiki.html --savetiddlers tmp/tiddlers
Notes
--servewiki
and --servertiddlers
are for different purposes and should not be used together. The former is for TiddlyWiki core developers who want to be able to edit the TiddlyWiki source files in a text editor and view the results in the browser by clicking refresh; it is slow because it reloads all the TiddlyWiki JavaScript files each time the page is loaded. The latter is for experimenting with the new wikification engine.--wikitest
looks for *.tid
files in the specified folder. It then wikifies the tiddlers to both "text/plain" and "text/html" format and checks the results against the content of the *.html
and *.txt
files in the same directory.Testing
test.sh
contains a simple test script that cooks the main tiddlywiki.com recipe and compares it with the results of the old build process (ie, running cook.rb and then opening the file in a browser and performing a 'save changes' operation). It also runs a series of wikifications tests that work off the data in test/wikitests/
.Planned WikiText Features
It is proposed to extend the existing TiddlyWiki wikitext syntax with the following extensions
- Addition of
**bold**
character formatting - Addition of
`backtick for code`
character formatting - Addition of WikiCreole-style forced line break, e.g.
force\\linebreak
- Addition of WikiCreole-style headings, e.g.
==Heading
- Addition of WikiCreole-style headings in tables, e.g.
|=|=table|=header|
- Addition of white-listed HTML tags intermixed with wikitext
- Addition of WikiCreole-style pretty links, e.g.
[[description -> link]]
- Addition of multiline macros, e.g.
<<myMacro param1: Parameter value param2: value "unnamed parameter" param4: (( A multiline parameter that can go on for as long as it likes and contain linebreaks. )) >>
This
readme
file was automatically generated by TiddlyWiki5