diff --git a/core/modules/commands/init.js b/core/modules/commands/init.js index 3ebe0e73f..14705f8b0 100644 --- a/core/modules/commands/init.js +++ b/core/modules/commands/init.js @@ -24,28 +24,34 @@ var Command = function(params,commander) { Command.prototype.execute = function() { var fs = require("fs"), - path = require("path"), - editionName = this.params[0] || "empty"; + path = require("path"); // Check that we don't already have a valid wiki folder if($tw.boot.wikiTiddlersPath) { return "Wiki folder is not empty"; } - // Check the edition exists - var editionPath = path.resolve($tw.boot.corePath,$tw.config.editionsPath) + "/" + editionName; - if(!$tw.utils.isDirectory(editionPath)) { - return "Edition '" + editionName + "' not found"; - } - // Copy the edition content - var err = $tw.utils.copyDirectory(editionPath,$tw.boot.wikiPath); - if(!err) { - this.commander.streams.output.write("Copied edition '" + editionName + "' to " + $tw.boot.wikiPath + "\n"); + // Loop through each of the specified editions + var editions = this.params.length > 0 ? this.params : ["empty"]; + for(var editionIndex=0; editionIndex ``` - For example: ``` @@ -19,7 +18,8 @@ tiddlywiki ./MyWikiFolder --init empty Note: +* The edition directory will be created if necessary * The "edition" defaults to ''empty'' * The init command will fail if the wiki folder does not exist, or is not empty * The init command removes any `includeWikis` definitions in the edition's `tiddlywiki.info` file - +* The init command can be used multiple times to merge editions. Editions initialised later will overwrite any files shared with earlier editions (so, the final `tiddlywiki.info` file will be copied from the last edition)