1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-07-04 11:13:15 +00:00
TiddlyWiki5/rabbithole/core/modules/startup.js
Jeremy Ruston dac06537e5 Added command handling
The idea is that the same commands will work on the server or the
client, and that the client will be able to remotely run commands on
the server.

Also includes abstraction of the version number of TW5.
2012-05-02 11:02:47 +01:00

59 lines
1.4 KiB
JavaScript

/*\
title: $:/core/startup.js
type: application/javascript
module-type: startup
This is the main application logic for both the client and server
\*/
(function(){
/*jslint node: true, browser: true */
"use strict";
exports.startup = function() {
var modules,n,m,f;
// Set up additional global objects
$tw.plugins.applyMethods("global",$tw);
// Wire up plugin modules
$tw.plugins.applyMethods("config",$tw.config);
$tw.plugins.applyMethods("utils",$tw.utils);
$tw.version = $tw.utils.extractVersionInfo();
$tw.plugins.applyMethods("tiddlermethod",$tw.Tiddler.prototype);
$tw.plugins.applyMethods("wikimethod",$tw.Wiki.prototype);
$tw.plugins.applyMethods("treeutils",$tw.Tree);
$tw.plugins.applyMethods("treenode",$tw.Tree);
// Set up the wiki store
$tw.wiki.initMacros();
$tw.wiki.initEditors();
$tw.wiki.initParsers();
// Set up the command plugins
$tw.Commander.initCommands();
if($tw.isBrowser) {
var renderer = $tw.wiki.parseTiddler("PageTemplate");
renderer.execute([],"PageTemplate");
renderer.renderInDom(document.body);
$tw.wiki.addEventListener("",function(changes) {
renderer.refreshInDom(changes);
});
console.log("$tw",$tw);
} else {
var commander = new $tw.Commander(
Array.prototype.slice.call(process.argv,2),
function(err) {
if(err) {
console.log("Error: " + err);
}
},
$tw.wiki,
{output: process.stdout, error: process.stderr}
);
commander.execute();
}
}
})();