mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-10 20:09:57 +00:00
New commands
This commit is contained in:
parent
d1edf6424d
commit
f1d0e52ff7
@ -11,12 +11,20 @@
|
|||||||
"tiddlywiki/snowwhite"
|
"tiddlywiki/snowwhite"
|
||||||
],
|
],
|
||||||
"build": {
|
"build": {
|
||||||
"index": [
|
"load-mws-demo-data": [
|
||||||
"--render","$:/plugins/tiddlywiki/tiddlyweb/save/offline","index.html","text/plain"],
|
"--mws-load-wiki-folder","./editions/tw5.com","docs", "TiddlyWiki Documentation from https://tiddlywiki.com","docs","TiddlyWiki Documentation from https://tiddlywiki.com",
|
||||||
"static": [
|
"--mws-load-wiki-folder","./editions/dev","dev","TiddlyWiki Developer Documentation from https://tiddlywiki.com/dev","dev-docs", "TiddlyWiki Developer Documentation from https://tiddlywiki.com/dev",
|
||||||
"--render","$:/core/templates/static.template.html","static.html","text/plain",
|
"--mws-load-wiki-folder","./editions/tour","tour","TiddlyWiki Interactive Tour from https://tiddlywiki.com","tour", "TiddlyWiki Interactive Tour from https://tiddlywiki.com",
|
||||||
"--render","$:/core/templates/alltiddlers.template.html","alltiddlers.html","text/plain",
|
"--mws-create-bag","bag-alpha","A test bag",
|
||||||
"--render","[!is[system]]","[encodeuricomponent[]addprefix[static/]addsuffix[.html]]","text/plain","$:/core/templates/static.tiddler.html",
|
"--mws-create-bag","bag-beta","Another test bag",
|
||||||
"--render","$:/core/templates/static.template.css","static/static.css","text/plain"]
|
"--mws-create-bag","bag-gamma","A further test bag",
|
||||||
|
"--mws-create-recipe","recipe-rho","bag-alpha bag-beta","First wiki",
|
||||||
|
"--mws-create-recipe","recipe-sigma","bag-alpha bag-gamma","Second Wiki", "--mws-create-recipe","recipe-tau","bag-alpha","Third Wiki",
|
||||||
|
"--mws-create-recipe","recipe-upsilon","bag-alpha bag-gamma bag-beta","Fourth Wiki",
|
||||||
|
"--mws-save-tiddler-text","bag-alpha","$:/SiteTitle","bag-alpha",
|
||||||
|
"--mws-save-tiddler-text","bag-alpha","😀😃😄😁😆🥹😅😂","bag-alpha",
|
||||||
|
"--mws-save-tiddler-text","bag-beta","$:/SiteTitle","bag-beta",
|
||||||
|
"--mws-save-tiddler-text","bag-gamma","$:/SiteTitle","bag-gamma"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
4
package-lock.json
generated
4
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "tiddlywiki",
|
"name": "tiddlywiki",
|
||||||
"version": "5.3.4-prerelease",
|
"version": "5.3.5-prerelease",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "tiddlywiki",
|
"name": "tiddlywiki",
|
||||||
"version": "5.3.4-prerelease",
|
"version": "5.3.5-prerelease",
|
||||||
"license": "BSD",
|
"license": "BSD",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"better-sqlite3": "^9.4.3",
|
"better-sqlite3": "^9.4.3",
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
"node": ">=0.8.2"
|
"node": ">=0.8.2"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node ./tiddlywiki.js ./editions/multiwikiserver --mws-listen",
|
"start": "node ./tiddlywiki.js ./editions/multiwikiserver --mws-load-plugin-bags --build load-mws-demo-data --mws-listen",
|
||||||
"test": "node ./tiddlywiki.js ./editions/test --verbose --version --build index && node ./tiddlywiki ./editions/multiwikiserver/ --mws-listen --mws-test-server http://127.0.0.1:8080/ --quit",
|
"test": "node ./tiddlywiki.js ./editions/test --verbose --version --build index && node ./tiddlywiki ./editions/multiwikiserver/ --mws-listen --mws-test-server http://127.0.0.1:8080/ --quit",
|
||||||
"lint:fix": "eslint . --fix",
|
"lint:fix": "eslint . --fix",
|
||||||
"lint": "eslint ."
|
"lint": "eslint ."
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
/*\
|
||||||
|
title: $:/plugins/tiddlywiki/multiwikiserver/commands/mws-create-bag.js
|
||||||
|
type: application/javascript
|
||||||
|
module-type: command
|
||||||
|
|
||||||
|
Command to load archive of recipes, bags and tiddlers from a directory
|
||||||
|
|
||||||
|
--mws-create-bag <name> <description>
|
||||||
|
|
||||||
|
\*/
|
||||||
|
(function(){
|
||||||
|
|
||||||
|
/*jslint node: true, browser: true */
|
||||||
|
/*global $tw: false */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.info = {
|
||||||
|
name: "mws-create-bag",
|
||||||
|
synchronous: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var Command = function(params,commander,callback) {
|
||||||
|
this.params = params;
|
||||||
|
this.commander = commander;
|
||||||
|
this.callback = callback;
|
||||||
|
};
|
||||||
|
|
||||||
|
Command.prototype.execute = function() {
|
||||||
|
var self = this;
|
||||||
|
// Check parameters
|
||||||
|
if(this.params.length < 1) {
|
||||||
|
return "Missing bag name";
|
||||||
|
}
|
||||||
|
var bagName = this.params[0],
|
||||||
|
bagDescription = this.params[1] || bagName;
|
||||||
|
// Create bag
|
||||||
|
var result = $tw.mws.store.createBag(bagName,bagDescription);
|
||||||
|
if(result) {
|
||||||
|
return result.message;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.Command = Command;
|
||||||
|
|
||||||
|
})();
|
@ -0,0 +1,50 @@
|
|||||||
|
/*\
|
||||||
|
title: $:/plugins/tiddlywiki/multiwikiserver/commands/mws-create-recipe.js
|
||||||
|
type: application/javascript
|
||||||
|
module-type: command
|
||||||
|
|
||||||
|
Command to load archive of recipes, bags and tiddlers from a directory
|
||||||
|
|
||||||
|
--mws-create-recipe <name> <bag-list> <description>
|
||||||
|
|
||||||
|
The parameter "bag-list" should be a space delimited list of bags
|
||||||
|
|
||||||
|
\*/
|
||||||
|
(function(){
|
||||||
|
|
||||||
|
/*jslint node: true, browser: true */
|
||||||
|
/*global $tw: false */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.info = {
|
||||||
|
name: "mws-create-recipe",
|
||||||
|
synchronous: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var Command = function(params,commander,callback) {
|
||||||
|
this.params = params;
|
||||||
|
this.commander = commander;
|
||||||
|
this.callback = callback;
|
||||||
|
};
|
||||||
|
|
||||||
|
Command.prototype.execute = function() {
|
||||||
|
var self = this;
|
||||||
|
// Check parameters
|
||||||
|
if(this.params.length < 1) {
|
||||||
|
return "Missing recipe name";
|
||||||
|
}
|
||||||
|
var recipeName = this.params[0],
|
||||||
|
bagList = (this.params[1] || "").split(" "),
|
||||||
|
recipeDescription = this.params[2] || recipeNameName;
|
||||||
|
// Create recipe
|
||||||
|
var result = $tw.mws.store.createRecipe(recipeName,bagList,recipeDescription);
|
||||||
|
if(result) {
|
||||||
|
return result.message;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.Command = Command;
|
||||||
|
|
||||||
|
})();
|
@ -0,0 +1,81 @@
|
|||||||
|
/*\
|
||||||
|
title: $:/plugins/tiddlywiki/multiwikiserver/commands/mws-load-plugin-bags.js
|
||||||
|
type: application/javascript
|
||||||
|
module-type: command
|
||||||
|
|
||||||
|
Command to create and load a bag for each plugin in the repo
|
||||||
|
|
||||||
|
\*/
|
||||||
|
(function(){
|
||||||
|
|
||||||
|
/*jslint node: true, browser: true */
|
||||||
|
/*global $tw: false */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.info = {
|
||||||
|
name: "mws-load-plugin-bags",
|
||||||
|
synchronous: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var Command = function(params,commander,callback) {
|
||||||
|
this.params = params;
|
||||||
|
this.commander = commander;
|
||||||
|
this.callback = callback;
|
||||||
|
};
|
||||||
|
|
||||||
|
Command.prototype.execute = function() {
|
||||||
|
var self = this;
|
||||||
|
loadPluginBags();
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
function loadPluginBags() {
|
||||||
|
const path = require("path"),
|
||||||
|
fs = require("fs");
|
||||||
|
// Copy plugins
|
||||||
|
var makePluginBagName = function(type,publisher,name) {
|
||||||
|
return "$:/" + type + "/" + (publisher ? publisher + "/" : "") + name;
|
||||||
|
},
|
||||||
|
savePlugin = function(pluginFields,type,publisher,name) {
|
||||||
|
const bagName = makePluginBagName(type,publisher,name);
|
||||||
|
const result = $tw.mws.store.createBag(bagName,pluginFields.description || "(no description)",{allowPrivilegedCharacters: true});
|
||||||
|
if(result) {
|
||||||
|
console.log(`Error creating plugin bag ${bagname}: ${JSON.stringify(result)}`);
|
||||||
|
}
|
||||||
|
$tw.mws.store.saveBagTiddler(pluginFields,bagName);
|
||||||
|
},
|
||||||
|
collectPlugins = function(folder,type,publisher) {
|
||||||
|
var pluginFolders = $tw.utils.getSubdirectories(folder) || [];
|
||||||
|
for(var p=0; p<pluginFolders.length; p++) {
|
||||||
|
const pluginFolderName = pluginFolders[p];
|
||||||
|
if(!$tw.boot.excludeRegExp.test(pluginFolderName)) {
|
||||||
|
var pluginFields = $tw.loadPluginFolder(path.resolve(folder,pluginFolderName));
|
||||||
|
if(pluginFields && pluginFields.title) {
|
||||||
|
savePlugin(pluginFields,type,publisher,pluginFolderName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
collectPublisherPlugins = function(folder,type) {
|
||||||
|
var publisherFolders = $tw.utils.getSubdirectories(folder) || [];
|
||||||
|
for(var t=0; t<publisherFolders.length; t++) {
|
||||||
|
const publisherFolderName = publisherFolders[t];
|
||||||
|
if(!$tw.boot.excludeRegExp.test(publisherFolderName)) {
|
||||||
|
collectPlugins(path.resolve(folder,publisherFolderName),type,publisherFolderName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),function(folder) {
|
||||||
|
collectPublisherPlugins(folder,"plugin");
|
||||||
|
});
|
||||||
|
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),function(folder) {
|
||||||
|
collectPublisherPlugins(folder,"theme");
|
||||||
|
});
|
||||||
|
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),function(folder) {
|
||||||
|
collectPlugins(folder,"language");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.Command = Command;
|
||||||
|
|
||||||
|
})();
|
@ -0,0 +1,93 @@
|
|||||||
|
/*\
|
||||||
|
title: $:/plugins/tiddlywiki/multiwikiserver/commands/mws-load-wiki-folder.js
|
||||||
|
type: application/javascript
|
||||||
|
module-type: command
|
||||||
|
|
||||||
|
Command to create and load a bag for the specified core editions
|
||||||
|
|
||||||
|
--mws-load-wiki-folder <path> <bag-name> <bag-description> <recipe-name> <recipe-description>
|
||||||
|
|
||||||
|
\*/
|
||||||
|
(function(){
|
||||||
|
|
||||||
|
/*jslint node: true, browser: true */
|
||||||
|
/*global $tw: false */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.info = {
|
||||||
|
name: "mws-load-wiki-folder",
|
||||||
|
synchronous: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var Command = function(params,commander,callback) {
|
||||||
|
this.params = params;
|
||||||
|
this.commander = commander;
|
||||||
|
this.callback = callback;
|
||||||
|
};
|
||||||
|
|
||||||
|
Command.prototype.execute = function() {
|
||||||
|
var self = this;
|
||||||
|
// Check parameters
|
||||||
|
if(this.params.length < 5) {
|
||||||
|
return "Missing parameters for --mws-load-wiki-folder command";
|
||||||
|
}
|
||||||
|
var archivePath = this.params[0];
|
||||||
|
loadWikiFolder({
|
||||||
|
wikiPath: this.params[0],
|
||||||
|
bagName: this.params[1],
|
||||||
|
bagDescription: this.params[2],
|
||||||
|
recipeName: this.params[3],
|
||||||
|
recipeDescription: this.params[4]
|
||||||
|
});
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Function to convert a plugin name to a bag name
|
||||||
|
function makePluginBagName(type,publisher,name) {
|
||||||
|
return "$:/" + type + "/" + (publisher ? publisher + "/" : "") + name;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Copy TiddlyWiki core editions
|
||||||
|
function loadWikiFolder(options) {
|
||||||
|
const path = require("path"),
|
||||||
|
fs = require("fs");
|
||||||
|
// Read the tiddlywiki.info file
|
||||||
|
const wikiInfoPath = path.resolve(options.wikiPath,$tw.config.wikiInfo);
|
||||||
|
let wikiInfo;
|
||||||
|
if(fs.existsSync(wikiInfoPath)) {
|
||||||
|
wikiInfo = $tw.utils.parseJSONSafe(fs.readFileSync(wikiInfoPath,"utf8"),function() {return null;});
|
||||||
|
}
|
||||||
|
if(wikiInfo) {
|
||||||
|
// Create the bag
|
||||||
|
const result = $tw.mws.store.createBag(options.bagName,options.bagDescription);
|
||||||
|
if(result) {
|
||||||
|
console.log(`Error creating bag ${options.bagName} for edition ${options.wikiPath}: ${JSON.stringify(result)}`);
|
||||||
|
}
|
||||||
|
// Add plugins to the recipe list
|
||||||
|
const recipeList = [];
|
||||||
|
const processPlugins = function(type,plugins) {
|
||||||
|
$tw.utils.each(plugins,function(pluginName) {
|
||||||
|
const parts = pluginName.split("/");
|
||||||
|
let publisher, name;
|
||||||
|
if(parts.length === 2) {
|
||||||
|
publisher = parts[0];
|
||||||
|
name = parts[1];
|
||||||
|
} else {
|
||||||
|
name = parts[0];
|
||||||
|
}
|
||||||
|
recipeList.push(makePluginBagName(type,publisher,name));
|
||||||
|
});
|
||||||
|
};
|
||||||
|
processPlugins("plugin",wikiInfo.plugins);
|
||||||
|
processPlugins("theme",wikiInfo.themes);
|
||||||
|
processPlugins("language",wikiInfo.languages);
|
||||||
|
// Create the recipe
|
||||||
|
recipeList.push(options.bagName);
|
||||||
|
$tw.mws.store.createRecipe(options.recipeName,recipeList,options.recipeDescription);
|
||||||
|
$tw.mws.store.saveTiddlersFromPath(path.resolve($tw.boot.corePath,$tw.config.editionsPath,options.wikiPath,$tw.config.wikiTiddlersSubDir),options.bagName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.Command = Command;
|
||||||
|
|
||||||
|
})();
|
@ -0,0 +1,44 @@
|
|||||||
|
/*\
|
||||||
|
title: $:/plugins/tiddlywiki/multiwikiserver/commands/mws-save-tiddler-text.js
|
||||||
|
type: application/javascript
|
||||||
|
module-type: command
|
||||||
|
|
||||||
|
Command to load archive of recipes, bags and tiddlers from a directory
|
||||||
|
|
||||||
|
--mws-save-tiddler-text <bag-name> <tiddler-title> <tiddler-text>
|
||||||
|
|
||||||
|
\*/
|
||||||
|
(function(){
|
||||||
|
|
||||||
|
/*jslint node: true, browser: true */
|
||||||
|
/*global $tw: false */
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
exports.info = {
|
||||||
|
name: "mws-save-tiddler-text",
|
||||||
|
synchronous: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var Command = function(params,commander,callback) {
|
||||||
|
this.params = params;
|
||||||
|
this.commander = commander;
|
||||||
|
this.callback = callback;
|
||||||
|
};
|
||||||
|
|
||||||
|
Command.prototype.execute = function() {
|
||||||
|
var self = this;
|
||||||
|
// Check parameters
|
||||||
|
if(this.params.length < 3) {
|
||||||
|
return "Missing parameters";
|
||||||
|
}
|
||||||
|
var bagName = this.params[0],
|
||||||
|
tiddlerTitle = this.params[1],
|
||||||
|
tiddlerText = this.params[2];
|
||||||
|
// Save tiddler
|
||||||
|
$tw.mws.store.saveBagTiddler({title: tiddlerTitle,text: tiddlerText},bagName);
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.Command = Command;
|
||||||
|
|
||||||
|
})();
|
@ -20,7 +20,6 @@ exports.synchronous = true;
|
|||||||
|
|
||||||
exports.startup = function() {
|
exports.startup = function() {
|
||||||
const store = setupStore();
|
const store = setupStore();
|
||||||
loadStore(store);
|
|
||||||
$tw.mws = {
|
$tw.mws = {
|
||||||
store: store,
|
store: store,
|
||||||
serverManager: new ServerManager({
|
serverManager: new ServerManager({
|
||||||
@ -45,136 +44,6 @@ function setupStore() {
|
|||||||
return store;
|
return store;
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadStore(store) {
|
|
||||||
const path = require("path"),
|
|
||||||
fs = require("fs");
|
|
||||||
// Performance timing
|
|
||||||
console.time("mws-initial-load");
|
|
||||||
// Copy plugins
|
|
||||||
var makePluginBagName = function(type,publisher,name) {
|
|
||||||
return "$:/" + type + "/" + (publisher ? publisher + "/" : "") + name;
|
|
||||||
},
|
|
||||||
savePlugin = function(pluginFields,type,publisher,name) {
|
|
||||||
const bagName = makePluginBagName(type,publisher,name);
|
|
||||||
const result = store.createBag(bagName,pluginFields.description || "(no description)",{allowPrivilegedCharacters: true});
|
|
||||||
if(result) {
|
|
||||||
console.log(`Error creating plugin bag ${bagname}: ${JSON.stringify(result)}`);
|
|
||||||
}
|
|
||||||
console.log(`saveBagTiddler of ${pluginFields.title} to ${bagName}`);
|
|
||||||
store.saveBagTiddler(pluginFields,bagName);
|
|
||||||
},
|
|
||||||
collectPlugins = function(folder,type,publisher) {
|
|
||||||
var pluginFolders = $tw.utils.getSubdirectories(folder) || [];
|
|
||||||
for(var p=0; p<pluginFolders.length; p++) {
|
|
||||||
const pluginFolderName = pluginFolders[p];
|
|
||||||
if(!$tw.boot.excludeRegExp.test(pluginFolderName)) {
|
|
||||||
var pluginFields = $tw.loadPluginFolder(path.resolve(folder,pluginFolderName));
|
|
||||||
if(pluginFields && pluginFields.title) {
|
|
||||||
savePlugin(pluginFields,type,publisher,pluginFolderName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
collectPublisherPlugins = function(folder,type) {
|
|
||||||
var publisherFolders = $tw.utils.getSubdirectories(folder) || [];
|
|
||||||
for(var t=0; t<publisherFolders.length; t++) {
|
|
||||||
const publisherFolderName = publisherFolders[t];
|
|
||||||
if(!$tw.boot.excludeRegExp.test(publisherFolderName)) {
|
|
||||||
collectPlugins(path.resolve(folder,publisherFolderName),type,publisherFolderName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.pluginsPath,$tw.config.pluginsEnvVar),function(folder) {
|
|
||||||
collectPublisherPlugins(folder,"plugin");
|
|
||||||
});
|
|
||||||
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.themesPath,$tw.config.themesEnvVar),function(folder) {
|
|
||||||
collectPublisherPlugins(folder,"theme");
|
|
||||||
});
|
|
||||||
$tw.utils.each($tw.getLibraryItemSearchPaths($tw.config.languagesPath,$tw.config.languagesEnvVar),function(folder) {
|
|
||||||
collectPlugins(folder,"language");
|
|
||||||
});
|
|
||||||
// Copy TiddlyWiki core editions
|
|
||||||
function copyEdition(options) {
|
|
||||||
// Read the tiddlywiki.info file
|
|
||||||
const wikiInfoPath = path.resolve($tw.boot.corePath,$tw.config.editionsPath,options.wikiPath,$tw.config.wikiInfo);
|
|
||||||
let wikiInfo;
|
|
||||||
if(fs.existsSync(wikiInfoPath)) {
|
|
||||||
wikiInfo = $tw.utils.parseJSONSafe(fs.readFileSync(wikiInfoPath,"utf8"),function() {return null;});
|
|
||||||
}
|
|
||||||
if(wikiInfo) {
|
|
||||||
// Create the bag
|
|
||||||
const result = store.createBag(options.bagName,options.bagDescription);
|
|
||||||
if(result) {
|
|
||||||
console.log(`Error creating bag ${options.bagName} for edition ${options.wikiPath}: ${JSON.stringify(result)}`);
|
|
||||||
}
|
|
||||||
// Add plugins to the recipe list
|
|
||||||
const recipeList = [];
|
|
||||||
const processPlugins = function(type,plugins) {
|
|
||||||
$tw.utils.each(plugins,function(pluginName) {
|
|
||||||
const parts = pluginName.split("/");
|
|
||||||
let publisher, name;
|
|
||||||
if(parts.length === 2) {
|
|
||||||
publisher = parts[0];
|
|
||||||
name = parts[1];
|
|
||||||
} else {
|
|
||||||
name = parts[0];
|
|
||||||
}
|
|
||||||
recipeList.push(makePluginBagName(type,publisher,name));
|
|
||||||
});
|
|
||||||
};
|
|
||||||
processPlugins("plugin",wikiInfo.plugins);
|
|
||||||
processPlugins("theme",wikiInfo.themes);
|
|
||||||
processPlugins("language",wikiInfo.languages);
|
|
||||||
// Create the recipe
|
|
||||||
recipeList.push(options.bagName);
|
|
||||||
store.createRecipe(options.recipeName,recipeList,options.recipeDescription);
|
|
||||||
store.saveTiddlersFromPath(path.resolve($tw.boot.corePath,$tw.config.editionsPath,options.wikiPath,$tw.config.wikiTiddlersSubDir),options.bagName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
copyEdition({
|
|
||||||
bagName: "docs",
|
|
||||||
bagDescription: "TiddlyWiki Documentation from https://tiddlywiki.com",
|
|
||||||
recipeName: "docs",
|
|
||||||
recipeDescription: "TiddlyWiki Documentation from https://tiddlywiki.com",
|
|
||||||
wikiPath: "tw5.com"
|
|
||||||
});
|
|
||||||
copyEdition({
|
|
||||||
bagName: "dev-docs",
|
|
||||||
bagDescription: "TiddlyWiki Developer Documentation from https://tiddlywiki.com/dev",
|
|
||||||
recipeName: "dev-docs",
|
|
||||||
recipeDescription: "TiddlyWiki Developer Documentation from https://tiddlywiki.com/dev",
|
|
||||||
wikiPath: "dev"
|
|
||||||
});
|
|
||||||
copyEdition({
|
|
||||||
bagName: "tour",
|
|
||||||
bagDescription: "TiddlyWiki Interactive Tour from https://tiddlywiki.com",
|
|
||||||
recipeName: "tour",
|
|
||||||
recipeDescription: "TiddlyWiki Interactive Tour from https://tiddlywiki.com",
|
|
||||||
wikiPath: "tour"
|
|
||||||
});
|
|
||||||
// copyEdition({
|
|
||||||
// bagName: "full",
|
|
||||||
// bagDescription: "TiddlyWiki Fully Loaded Edition from https://tiddlywiki.com",
|
|
||||||
// recipeName: "full",
|
|
||||||
// recipeDescription: "TiddlyWiki Fully Loaded Edition from https://tiddlywiki.com",
|
|
||||||
// wikiPath: "full"
|
|
||||||
// });
|
|
||||||
// Create bags and recipes
|
|
||||||
store.createBag("bag-alpha","A test bag");
|
|
||||||
store.createBag("bag-beta","Another test bag");
|
|
||||||
store.createBag("bag-gamma","A further test bag");
|
|
||||||
store.createRecipe("recipe-rho",["bag-alpha","bag-beta"],"First wiki");
|
|
||||||
store.createRecipe("recipe-sigma",["bag-alpha","bag-gamma"],"Second Wiki");
|
|
||||||
store.createRecipe("recipe-tau",["bag-alpha"],"Third Wiki");
|
|
||||||
store.createRecipe("recipe-upsilon",["bag-alpha","bag-gamma","bag-beta"],"Fourth Wiki");
|
|
||||||
// Save tiddlers
|
|
||||||
store.saveBagTiddler({title: "$:/SiteTitle",text: "Bag Alpha"},"bag-alpha");
|
|
||||||
store.saveBagTiddler({title: "😀😃😄😁😆🥹😅😂",text: "Bag Alpha"},"bag-alpha");
|
|
||||||
store.saveBagTiddler({title: "$:/SiteTitle",text: "Bag Beta"},"bag-beta");
|
|
||||||
store.saveBagTiddler({title: "$:/SiteTitle",text: "Bag Gamma"},"bag-gamma");
|
|
||||||
console.timeEnd("mws-initial-load");
|
|
||||||
}
|
|
||||||
|
|
||||||
function ServerManager(store) {
|
function ServerManager(store) {
|
||||||
this.servers = [];
|
this.servers = [];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user