@if (0)==(0) @echo off
cscript.exe "%~f0"  //nologo //e:jscript //I  %*
exit /B	%ERRORLEVEL%
goto :EOF
@end
// ここまではjsファイルをbatとして起動する方法で固定↑の記述です

// [include functions]
//	外部ライブラリ指定。必要なものをinclude("a.js","b.js",...)する
// global = new Function("return this")(); // ES5/ES6-shimを使用する場合はglobalを定義する

include("comfuncs.js");
// + mail.js zip.js uB64.js uCSV.js uPsh.js

// [Log]
// setLog(true);				   // ログ：<scriptName>+.logに追記
// setLog(true,"%BN_%T.log",true); // ログ：<scriptName>_<日付>.logを毎起動ごとに作成

// [TEMP]
//var tempDir = getTempFolder(getEnv().exeDir.down(".TEMP"),true);//テンポラリフォルダ作成(exit時に削除される)

// [ヒアドキュメント]
// var d = uHereDoc.hereKey(function(){/*
// 	key1=C:\Users\00uXXXDesign
// */});
// //=> 
// // d.key1=C:\Users\00uXXXDesign // hearDocもあり

// [終了時の経過時間出力]] 
// var stopWach = createStopWatch().start();
// exit.push(function(){ if (isOk(stopWach)) echo("exit spend time=",stopWach.stop());});

// [get command-arguments]  コマンド引数の取得
var pm = uParam()
    // 任意；オプションキーパラメータ群を指定する(なければ行コメントアウト）
    .set("inFile").opt("/I").next("*")  .init("")   .desc("input file")
	.set("bSepaDoc")   .opt("/S|SepaDoc")            .init(false).desc("分割ドキュメントの雛形")
	// 固定：unnamed引数と全体の説明を記述する
    .set("*")    .desc("adocのファイル名称を指定します")
    .set("usage").desc("adocの雛形を作成します")
	.read();

// [Main process] 処理を記述

// sample(pm);//サンプル関数コード（削除可）
echo("AsciiDocの雛形を作成する");

var InstRegURL = "HKCU\\Software\\Dainippon Screen Mfg.Co.,Ltd.\\ToolJsFuncScript\\1.0";
var InstPath = readParam.reg(InstRegURL).get("InstallPath");
if ( isNone(InstPath) ){
	exit(-1,"インストール先が見つかりません:",InstRegURL);
}

var adocTPL = uHereDoc.hereDoc(function(){/*

:lang: ja
include::config.adoc[]
// custom css.
//:stylesdir: ./
//:stylesheet: edit.css
//:toc: left
//:imagesdir: Images

:hardbreaks:

= @FILENAME@ =

== 第１章
最初の文書です。

* [x] チェックボックス [*] or [ ]

== 第２章 
ほげ

以上

*/}/*,{"@FILENAME@":"rep1"}*/);

var conf = {
	tplDir:makePath(InstPath,"AdocTPL"),
	ymlDefault:"default-theme.yml",
	ymlKaiGen:"KaiGenGothicJP-theme.yml",
	ymlMyStyle:"mystyle-thema.yml",
	cssDefalt:"mystyle-thema.yml",
	adocTemplate:"template.adoc",
	config:"config.adoc",
	adocTemplateSepa:"TemplateSeparateDocRoot.adoc",
	adocSepaIncDoc:"IncDoc.adoc"
};

var adocPath = "t.adoc".FP();
var configPath= makePath(conf.tplDir,conf.config);

var configPathTemplate = makePath(conf.tplDir,conf.adocTemplate);
var configPathTemplateSepa = makePath(conf.tplDir,conf.adocTemplateSepa);
var configPathIncDoc = makePath(conf.tplDir,conf.adocSepaIncDoc);


if ( pm.length > 0 ){
	adocPath = pm[0].FP();
	if ( isNone(adocPath.EX()) ){
		adocPath = adocPath.EX("adoc")
	}
} 
// configのコピー
var tgtconfigPath = makePath(adocPath.PR(),configPath.FN());

if (!copySure(tgtconfigPath))
exit(-1);
copyFile(configPath,tgtconfigPath);

if (!copySure(adocPath))
exit(-1);

// Imagesフォルダの作成
doCmd({echo:false},"md","Images");

// Create adoc.
if ( !pm.bSepaDoc ) { 
	if ( configPathTemplate.isExistFile() ) {
		adocTPL = configPathTemplate.readAllUTF8();
		// echo("rep adocTPL=",adocTPL);
	}
} else {
	echo("分割ルートドキュメント");
	if ( configPathTemplateSepa.isExistFile() ) {
		adocTPL = configPathTemplateSepa.readAllUTF8();
		// echo("rep adocTPL_sep=",adocTPL);
	}
	// IncDoc.adocのコピー
	tgtIncDoc = makePath(adocPath.PR(),configPathIncDoc.FN());
	// echo("configPathIncDoc=",configPathIncDoc);
	// echo("tgtIncDoc=",tgtIncDoc);
	copyFile(configPathIncDoc,tgtIncDoc);
	// 必要ならサブドキュメントディレクトリを作る
}
	
// var configPathTemplate = makePath(conf.tplDir,conf.adocTemplate);
// var configPathTemplateSepa = makePath(conf.tplDir,conf.adocTemplateSepa);
// var configPathIncDoc = makePath(conf.tplDir,conf.adocSepaIncDoc);


adocTPL = adocTPL.replace("@FILENAME@",adocPath.BN()); // タイトルのファイル名を置換する
adocPath.writeAllUTF8(adocTPL);

exit(0);
// [End] 終了 ※異常終了の場合は、0以外を返すようにする
function copySure(f) {
	if ( f.isExistFile() ) {
		echo("file:",f);
		var k = pause("すでにファイルが存在します:上書きしますか? [Y/N]:");
		if ( !(/Y/i).test(k) ){
			return false;// N
		}
		deleteFile(f);
	}
	return true;
}
// 以下は絶対に削除してはいけない

// DO-NOT-EDIT START@69cf47e2-4a1f-459c-9803-c97a999a70c2
function include() {
	// ID@e242e3fe-9328-4ff8-a24f-688beb2d0084
	var $e = function(s) { WScript.Echo(s);};
	var decF = function(b){
		var e = (WScript.CreateObject('Microsoft.XMLDOM')).createElement("base64-node");
		e.dataType="bin.base64";e.text=b;
		var a = WScript.CreateObject('ADODB.Stream');
		a.Type=1; a.Open();a.Write(e.nodeTypedValue);
		a.Position=0;a.Type=2;a.charset="utf-8";
		var s = a.ReadText();a.Close();
		return s;
	}
	var ev = "var incF="+decF(	[
		"ZnVuY3Rpb24oKSB7DQoJdmFyIHNyRGlycyA9IFsiZnVuY3NcXCIsIi4uXFwwMHRlbXBsYXRl",
		"XFxmdW5jc1xcIl07DQoJdmFyIGZzb189V1NjcmlwdC5DcmVhdGVPYmplY3QoIlNjcmlwdGlu",
		"Zy5GaWxlU3lzdGVtT2JqZWN0Iik7DQoJdmFyIHdzXyA9IFdTY3JpcHQ7DQoJdmFyIHJ0ID0g",
		"d3NfLlNjcmlwdEZ1bGxOYW1lLnJlcGxhY2Uod3NfLlNjcmlwdE5hbWUsIiIpOw0KCXZhciBj",
		"b21mdW5jc0Z1bGxQYXRoPSIiOw0KCXZhciBub3RGaWxlRW5kID0gZnVuY3Rpb24oZil7d3Nf",
		"LmVjaG8oIkZpbGUgbm90IGZvdW5kOiAiK2YpO3dzXy5xdWl0KC0xKTt9Ow0KCXZhciBvayA9",
		"IGZ1bmN0aW9uKGYpe3JldHVybiBmc29fLkZpbGVFeGlzdHMoZik7fTsNCgl2YXIgcmVhZEYg",
		"PSBmdW5jdGlvbihmKXtyZXR1cm4gZnNvXy5PcGVuVGV4dEZpbGUoZikuUmVhZEFsbCgpO307",
		"DQoJZnVuY3Rpb24gZ2V0VG9vbFJlZygpew0KCQl2YXIgcj0iIjsNCgkJdHJ5IHsNCgkJCXZh",
		"ciByZWdVcmwgPSAiSEtDVVxcU29mdHdhcmVcXERhaW5pcHBvbiBTY3JlZW4gTWZnLkNvLixM",
		"dGQuXFxUb29sSnNGdW5jU2NyaXB0XFwxLjAiOw0KCQkJdmFyIFdzaFNoZWxsID0gV1Njcmlw",
		"dC5DcmVhdGVPYmplY3QgKCJXU2NyaXB0LlNoZWxsIik7DQoJCQlyID0gV3NoU2hlbGwuUmVn",
		"UmVhZChyZWdVcmwrIlxcSW5zdGFsbFBhdGgiKTsgfSBjYXRjaChlKSB7cj0iIjt9Ow0KCQlp",
		"ZiAoIHIgIT0gIiIgKSAgcis9IlxcZnVuY3NcXCI7DQoJCXJldHVybiByOw0KCX0NCgl2YXIg",
		"cmVnUGF0aD1nZXRUb29sUmVnKCk7DQoJLy8gd3NfLkVjaG8oInJlZ1BhdD0iK3JlZ1BhdGgp",
		"Ow0KLy8NCnZhciBlbWJTdHI9IiI7DQppZiAoImVtYmVkZGVkU2NyaXB0IiBpbiB0aGlzKXsN",
		"CglpbmNsdWRlLmNvbnRleHQgPSAiIjsNCgllbWJTdHIgPSBlbWJlZGRlZFNjcmlwdCgpOw0K",
		"CWlmIChlbWJTdHIgIT0gIiIpIHsNCgkJLy8gV1NjcmlwdC5FY2hvKCI9PT09PT09PT09PT09",
		"PT0iKTsNCi8vCQlXU2NyaXB0LkVjaG8oZGVjRihlbWJTdHIpKTsNCgkJLy8gV1NjcmlwdC5F",
		"Y2hvKGVtYlN0cik7DQoJCS8vIFdTY3JpcHQuRWNobygiPT09PT09PT09PT09PT09Iik7DQoJ",
		"CWV2YWwoIGRlY0YoZW1iU3RyKSApOw0KCQlyZXR1cm4gIiI7Ly8gZW1iZWTjgZfjgabjgYTj",
		"gabjgoLjgrfjgrnjg4bjg6DlvJXmlbDjg4Hjgqfjg4Pjgq/jgZnjgosg5pyq5aSJ5pu0DQoJ",
		"fSANCn0NCi8vDQoJaWYgKCBlbWJTdHI9PSIiICkgew0KCQl2YXIgcz0iIjsNCgkJZm9yKHZh",
		"ciBpPTA7aTxhcmd1bWVudHMubGVuZ3RoO2krKykgew0KCQkJdmFyIGFnID0gYXJndW1lbnRz",
		"W2ldOw0KCQkJdmFyIHBhdGggPSBydCthZzsNCgkJCWlmICggL15cLltcXFwvXS8udGVzdChh",
		"ZykgKSB7DQoJCQkJcyArPSAob2socGF0aCkgPyByZWFkRihwYXRoKSA6IG5vdEZpbGVFbmQo",
		"YWcpKTsNCgkJCQljb250aW51ZTsNCgkJCX0NCgkJCXZhciBmID0gIiI7DQoJCQlmb3IodmFy",
		"IGRpciBpbiBzckRpcnMpew0KCQkJCXBhdGggPSBydCtzckRpcnNbZGlyXSthZzsNCgkJCQlp",
		"ZiAob2socGF0aCkpIHtmPXBhdGg7IGJyZWFrO30NCgkJCX0NCgkJCWlmICggKGYgPT0gIiIp",
		"ICYmIChyZWdQYXRoICE9ICIiKSApIHsvL2FkZCByZWcgc2VhcmNoLg0KCQkJCXBhdGggPSBy",
		"ZWdQYXRoK2FnOw0KCQkJCWlmIChvayhwYXRoKSkge2Y9cGF0aH0NCgkJCX0NCgkJCWlmICgg",
		"YWc9PSJjb21mdW5jcy5qcyIgKSBjb21mdW5jc0Z1bGxQYXRoID0gcGF0aDsNCgkJCXMgKz0g",
		"KGYhPSIiID8gcmVhZEYoZikgOiBub3RGaWxlRW5kKGFnKSk7DQoJCX0NCgkJaW5jbHVkZS5w",
		"YXRoPXJ0Ow0KCQlpbmNsdWRlLmNvbWZ1bmNzRnVsbFBhdGg9Y29tZnVuY3NGdWxsUGF0aDsN",
		"CgkJZXZhbChzKTsNCgkJaW5jbHVkZS5jb250ZXh0ID0gczsNCgl9DQovLw0KCWlmICggKHdz",
		"LkFyZ3VtZW50cy5sZW5ndGg+MCkgJiYgKHdzLkFyZ3VtZW50cygwKT09Ii9AU1lTVEVNIikg",
		"KSB7DQoJCS8vIG5lZWQ6InVTeXN0ZW0uanMiLCJ1QjY0LmpzIiwiSnNvbjMuanMiDQoJCS8v",
		"IHZhciB1U3lzUGF0aD1pbmNsdWRlLmNvbWZ1bmNzRnVsbFBhdGguRk4oInVTeXN0ZW0uanMi",
		"KTsNCgkJLy8gZXZhbCggdVN5c1BhdGgucmVhZEFsbEVuY29kaW5nKCkpOw0KCQl2YXIgc1Bh",
		"dGg9IGluY2x1ZGUuY29tZnVuY3NGdWxsUGF0aC5GTigiZHVtbXkuanMiKTsNCgkJZXZhbCgg",
		"c1BhdGguRk4oInVCNjQuanMiKS5yZWFkQWxsRW5jb2RpbmcoKSApOw0KCQlldmFsKCBzUGF0",
		"aC5GTigiSnNvbjMuanMiKS5yZWFkQWxsRW5jb2RpbmcoKSApOw0KCQlldmFsKCBzUGF0aC5G",
		"TigidVN5c3RlbS5qcyIpLnJlYWRBbGxFbmNvZGluZygpICk7DQoJCXVTeXN0ZW0uY2hlY2so",
		"KTsNCgkJLy8gZWNobygidXBkYXRlIEluY2x1ZGUhIik7DQoJCWV4aXQoMCk7DQoJfQkNCglp",
		"bmNsdWRlLmNvbnRleHQgPSB1bmRlZmluZWQ7DQoJcmV0dXJuICIiOyANCn0="
	].join("\n"));
	eval(ev); incF.apply(this,arguments); return "";
};
// EMBED-START@52da872d-b441-4d13-b921-65dbfde131b0
function embeddedScript(){
	// EMBOFF@e242e3fe-9328-4ff8-a24f-688beb2d0085
	return "";
};
// EMBED-END@3bd654e5-4f90-447a-96b3-450212902aa9
// DO-NOT-EDIT END@d2c890ff-9330-4e28-ba82-695a31a6a4c2

