mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-30 21:39:57 +00:00
125 lines
4.6 KiB
Plaintext
125 lines
4.6 KiB
Plaintext
created: 20130825214200000
|
|
modified: 20150728104424501
|
|
tags: [[TiddlyWiki on Node.js]]
|
|
title: TiddlyWikiFolders
|
|
type: text/vnd.tiddlywiki
|
|
|
|
As well as traditional single file wikis, [[TiddlyWiki on Node.js]] supports wikis that are stored as a folder of individual tiddler files.
|
|
|
|
! Wiki folder files and folders
|
|
|
|
Wiki folders can contain the following files and folders:
|
|
|
|
* ''tiddlywiki.info'' - JSON file containing metadata for the wiki
|
|
* ''\tiddlers'' - folder containing tiddler files comprising the wiki
|
|
* ''\plugins'' - folder containing [[plugin folders|PluginMechanism]] to be included in the wiki
|
|
|
|
Only the ''tiddlywiki.info'' file is required, the ''tiddlers'' and ''plugins'' folders are optional. Any files and folders not listed above are ignored.
|
|
|
|
!! Content of `tiddlywiki.info` file
|
|
|
|
The `tiddlywiki.info` file in a wiki folder contains a JSON object comprising the following fields:
|
|
|
|
* ''plugins'' - an array of plugin names to be included in the wiki
|
|
* ''themes'' - an array of theme names to be included in the wiki
|
|
* ''languages'' - an array of language names to be included in the wiki
|
|
* ''includeWikis'' - an array of references to external wiki folders to be included in the wiki
|
|
* ''build'' - a hashmap of named build targets, each defined by an array of command tokens (see BuildCommand)
|
|
* ''config'' - an optional hashmap of configuration options (see below)
|
|
|
|
!!! ''includeWikis''
|
|
|
|
The entries in the ''includeWikis'' array can be either a string specifying the relative path to the wiki, or an object with the following fields:
|
|
|
|
* ''path'' - relative path to wiki folder
|
|
* ''read-only'' - set //true// to prevent the tiddlers in the included wiki from being modified. The modifications will be written to the directory specified in ''default-tiddler-location'', described below
|
|
|
|
!!! ''build''
|
|
|
|
Note that the build targets of included wikis are merged if a target of that name isn't defined in the current `tiddlywiki.info` file.
|
|
|
|
!!! ''config''
|
|
|
|
Configuration options include:
|
|
|
|
* ''default-tiddler-location'' - a string path to the default location for the filesystem adaptor to save new tiddlers (resolved relative to the wiki folder)
|
|
|
|
* ''retain-original-tiddler-path'' - If true, the server will generate a tiddler [[$:/config/OriginalTiddlerPaths]] containing the original file paths of each tiddler in the wiki
|
|
|
|
!!! Example
|
|
|
|
For example:
|
|
|
|
```
|
|
{
|
|
"plugins": [
|
|
"tiddlywiki/tiddlyweb",
|
|
"tiddlywiki/filesystem"
|
|
],
|
|
"includeWikis": [
|
|
"../tw5.com"
|
|
],
|
|
"build": {
|
|
"index": [
|
|
"--rendertiddler","$:/core/save/all","index.html","text/plain"],
|
|
"favicon": [
|
|
"--savetiddler","$:/favicon.ico","favicon.ico",
|
|
"--savetiddler","$:/green_favicon.ico","static/favicon.ico"]
|
|
},
|
|
"config": {
|
|
"retain-original-tiddler-path": true
|
|
}
|
|
}
|
|
```
|
|
|
|
!! Content of `tiddlers` folder
|
|
|
|
All the TiddlerFiles in the `tiddlers` folder are read into the wiki at startup. Sub-folders are scanned recursively for TiddlerFiles. Newly created tiddlers are stored in TiddlerFiles directly beneath the `tiddlers` folder, unless [[configured otherwise|Customising Tiddler File Naming]].
|
|
|
|
Sub-folders within the `tiddlers` folder can also be given a `tiddlywiki.files` JSON file that overrides the default processing for that folder. The file format is illustrated with this example:
|
|
|
|
```
|
|
{
|
|
"tiddlers": [
|
|
{
|
|
"file": "d3.min.js",
|
|
"fields": {
|
|
"type": "application/javascript",
|
|
"title": "$:/plugins/tiddlywiki/d3/d3.js",
|
|
"module-type": "library"
|
|
},
|
|
"prefix": "var d3;if($tw.browser){\n",
|
|
"suffix": "}\nexports.d3 = d3;\n"
|
|
},
|
|
{
|
|
"file": "cloud/d3.layout.cloud.js",
|
|
"fields": {
|
|
"type": "application/javascript",
|
|
"title": "$:/plugins/tiddlywiki/d3/d3.layout.cloud.js",
|
|
"module-type": "library"
|
|
}
|
|
},
|
|
{
|
|
"file": "local/mytiddler.tid",
|
|
"isTiddlerFile": true,
|
|
"fields": {
|
|
"title": "A different title"
|
|
}
|
|
}
|
|
],
|
|
"directories": [
|
|
"../../mytiddlers/store"
|
|
]
|
|
}
|
|
```
|
|
|
|
The JSON data consists of an object with a `tiddlers` property that contains an array of information about each tiddler to be loaded into the wiki. That information consists of:
|
|
|
|
* The relative or absolute path to the file to include as either:
|
|
** `file`: the file containing the tiddler
|
|
** `isTiddlerFile`: if `true`, the file will be deserialised to extract the tiddlers. Otherwise, the raw content of the file is assigned to the `text` field without any parsing
|
|
* `fields`: an object containing fields that override any provided in the tiddler file
|
|
* `prefix` & `suffix`: (optional) specify strings to be prefixed and suffixed to the tiddler file text content
|
|
|
|
The ''directories'' property allows a list of directories to be specified. All tiddlers will be recursively loaded from each directory listed.
|