//------------------------------------------------------------------- // Wiki形式のファイルをHTMLファイルにコンバートする。 //------------------------------------------------------------------- /* wiki2htmlのインストールフォルダ \マークは\\に置き換えてください */ var TOOL_INSTALL_DIR = 'D:\\Programs\\wiki2html-0.12.4'; /* HTMLファイルにスタイルシートを埋め込むか true:埋め込む false:外部参照 */ var CSS_IN_FILE = false; /* フッターを削除するか true:削除 false:そのまま */ var DELETE_FOOTER = false; /* Wiki記述スタイルの指定 YukiWiki:YukiWiki風(規定値) PukiWiki:PukiWiki風 hatena:はてな風 MediaWiki:MediaWiki風 livedoorWiki:livedoor Wiki風 FreeStyleWiki:FreeStyle Wiki風 */ var WIKI_STYLE = 'hatena'; /* 作成後IEで表示するか true:表示する false:表示しない */ var OPEN_IE = true; /* 文字コード指定 (SJISのみ対応) SHIFT-JIS:sjis */ var OUTPUT_CODE = 'sjis'; var args = WScript.Arguments; // 引数 if (args.length == 0) { WScript.Echo("変換したいファイルを引数で指定するか、アイコンにドラッグ&ドロップしてください"); WScript.Quit(); } // Windows Script Host(WSH)のオブジェクトを作成する var WShell = new ActiveXObject('WScript.Shell'); // ファイルシステム用オブジェクト var FSO = WScript.CreateObject('Scripting.FileSystemObject'); // 全ファイル対象 for(var i = 0; i < args.length; ++i ) { var strCurrentDir = args(i).substring(0,args(i).lastIndexOf('\\')+1); // ファイルのディレクトリ var strToolDir = TOOL_INSTALL_DIR; // 変換ツールのディレクトリ var strExe = '"' + strToolDir + '\\wiki2html.exe"'; // 変換ツールのパス var strCssFile = strToolDir + '\\wiki.css'; // CSSのパス var strFileName = args(i); // ファイルパス var bOutPutUTF8 = (OUTPUT_CODE == 'utf8'); // UTF8出力フラグ // 入力ボックスの表示 var oInputBox = WScript.CreateObject('MSScriptControl.ScriptControl'); oInputBox.language='vbscript'; oInputBox.addcode('function getInput() getInput = inputbox(\"'+strFileName.substring(strFileName.lastIndexOf('\\')+1,strFileName.length)+'を変換します。変換後のWikiタイトルを入力してください。\",\"タイトル入力\") end function'); var strInput = oInputBox.eval('getInput'); // キャンセルか入力なしで終了 if("undefined" == typeof(strInput) || strInput.length == 0) WScript.Quit(); // 出力ファイルパスと一時ファイル var strOutputFile = strCurrentDir + strInput + '.html'; var strOutputFileTmp = strOutputFile + '.tmp'; // 出力オプション作成 var strOption = ' /n ' + WIKI_STYLE + ' /e ' + OUTPUT_CODE + ' /t ' + strInput + ' '; // 実行コマンド作成 var strCommand = strExe + strOption + '"' + strFileName + '"' + ' > ' + '"' + strOutputFileTmp + '"'; // 変換実行 WShell.Run('cmd /c ' + '"' + strCommand + '"'); // ファイル作成が完了するまで1秒の停止 WScript.sleep(1000); OutputFile(); // CSSファイルのコピー if(!CSS_IN_FILE) FSO.CopyFile(strCssFile, strCurrentDir); // 作成したファイルをIEで起動 if(OPEN_IE) { var ie = WScript.CreateObject('InternetExplorer.Application') ie.Navigate(strOutputFile); ie.Visible = true; } } function nop(strLine, hInFile, hOutFile, hInCssFile) { return false; } function checkCssWord(strLine, hInFile, hOutFile, hInCssFile) { // スタイルシートの埋め込み if(strLine.indexOf('') == 0) { hOutFile.WriteLine(''); return true; } return false; } function checkFooter(strLine, hInFile, hOutFile, hInCssFile) { // フッター開始行のチェック if(strLine.indexOf('
') == 0) { strLine += hInFile.ReadLine(); if(strLine.indexOf('