最近、moeのHPをgoogleSiteからGitHub Pagesに移行しようと画策しており、その過程でスクリプトを見直している。 今までは、howmファイルのファイル名と一行目を対応させたコメントファイルを作成していたが、これを各エントリのコメントを変更するだけにする。コメントファイルは、XC_cwrtで自動作成すればいい。これなら、スクリプトをLOADEVENTに登録しても、以前のように無限ループに陥る心配をする必要がなくなるわけだ(多分)。
やり方
以下を編集して取込み。
XC_cwrt = 2 ; コメントファイル作成は 0:手動 1:確認有 2:自動
以下をScriptフォルダに保存。
title2comment.js
//!*script // コメントのないhowmファイルの一行目をコメントに for (var a = PPx.Entry.AllEntry; !a.atEnd(); a.moveNext() ){ // フォルダを除外 if (a.Attributes & 16){ continue; // .howmかつコメントがないファイルへの処理 } else if (a.Name.match(/.howm$/i) && a.Comment.match(/^$/i)){ var dir = PPx.Extract('%1'); var entryName = a.Name; var f = dir + "\\" + entryName; // 一行目を読み込む。文字化けする場合は"sjis"を"utf-8"に var s = readFile(f, "sjis"); // 2~40字を切り取ったものをコメントに a.Comment = s.slice( 2,40 ); } } // ファイルの一行目を読み込む関数 function readFile(fname, charset) { if (charset == undefined) { charset = "_autodetect_all"; } var adTypeBinary = 1, adTypeText = 2; var adReadAll = -1, adReadLine = -2; var s = new ActiveXObject("ADODB.Stream"); s.Type = adTypeText; s.charset = charset; s.Open(); s.LoadFromFile(fname); var text = s.ReadText(adReadLine); s.Close(); return text; }
howmファイルを入れているフォルダで以下を実行。
*diroption -thisbranch cmd:"*script %0\Script\title2comment.js"
0 件のコメント:
コメントを投稿