mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-10-02 08:50:46 +00:00
dac06537e5
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.
59 lines
1.4 KiB
JavaScript
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();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
})();
|