今回は他のヒトバシラーの方々にお任せしようと思っていたのですが......ちょいと食事休憩の合間についつい......ダメだーー俺!
まあ、やっちまったもんは仕方がない。取りあえずいつものように注意点と変更点、メモっておきます。でも、またすぐに自分的な安定バージョン 1.3.5 にダウンデートしてしまうかも知れません。ちなみに僕の環境ではいまだ Shift-JIS です。 1.3.6 以降、UTF8 でエンコーディングされる訳ですが、 iblogPatcher 1.2.1(旧バージョン)で Shift-JIS にエンコードを変更してます。なのでテンプレートも一部新機能に対応させただけで、エンコードは変えてません。<-下記参照
まず、最低限のお約束としてバックアップ。全部やりましょうね〜。
・ iBlog 本体の旧バージョン(僕の場合は 1.3.5 )
・"~/Library/Application Support/iBlog"
・"~/Library/Preferences/com.lifli.iBlog.plist"
・"~/Library/Sites/iblog(または任意のプレビューディレクトリ)"
最後のはやんなくてもいいんですが念の為です。
ちなみにざっと見た所ですと、"~/Library/Application Support/iBlog/Javascript" が丸ごと置き換えられています。その他は“カスタマイズした”テンプレートに変更はなかったようです。
次に変更点。上記のように JavaScript フォルダが置き換えられていると言う事はうにょうにょ用の Script も消去されていますので、それをバックアップから戻しました。続いて当然 CommonLib.js も置き換えられていますので、僕の場合はカスタマイズしてますから、元のを戻します。但し、以下の点が新しい物では変更されていましたので、これらをカスタマイズ版に反映させました。これらの変更は 1.3.7 の CommonLib.js に同じ行が有りますから参考にされる方はそこからコピーしましょう。ここからコピーペーストして問題が起きても、当方には責任負えませんので悪しからず......。 HiTsu さんのエントリに詳しいですが、 UTF-8 エンコードで CommonLib.js を使用の場合、日本語は実体参照化する必要が有ります。これはiBlogが JavaScript より置き換える文字列が不適切な為のバグ回避策のようです( .MacTips 参考リンク)。
1行目から47行目var entryUUIDsList = <$EntryUUIDs$>;
function getNextEntryLink(entryUUID) {
var i;
var entryUUID;
var categoryUUID;
for(i = 0; i < entryUUIDsList.length -1; i++) {
if(entryUUIDsList[i] == entryUUID) {
entryUUID = entryUUIDsList[i+1];
categoryUUID = getCategoryUUIDForEntry(entryUUID);
document.write('< a href="../../' + categoryUUID + '/' + entryUUID + '/index.html"><< 次の古いエントリ </a>');
return;
}
}
document.write('');
}
function getPreviousEntryLink(entryUUID) {
var i;
var entryUUID;
var categoryUUID;
for(i = 1; i < entryUUIDsList.length; i++) {
if(entryUUIDsList[i] == entryUUID) {
entryUUID = entryUUIDsList[i-1];
categoryUUID = getCategoryUUIDForEntry(entryUUID);
document.write('< a href="../../' + categoryUUID + '/' + entryUUID + '/index.html"> 前の新しいエントリ >></a>');
return;
}
}
document.write('');
}
function getCategoryUUIDForEntry(entryUUID) {
var entryCategoryUUIDPairs = <$EntryCategoryUUIDPairs$>;
for(var i = 0; i < entryCategoryUUIDPairs.length -1; i++) {
if(entryCategoryUUIDPairs[i] == entryUUID) {
return(entryCategoryUUIDPairs[i+1]);
}
}
}
※赤字は独自の変更点。例によって a タグ < と a の間は半角スペースを空けてますが、実際は不要。
※[5/24 変更] 結局左右の関係が釈然としなかったので iBlog デフォルトとは逆に入れ替えました。
ついでに 1.3.6 からの変更点として 183 行目の getFeedbackLink のスペルミス( 1.3.4 までは getFeebackLink と d が抜けていた)を修正(と言ってもこの機能、ここでは使っていないので無用なのですが、念の為)。
次にテンプレートに上記で CommonLib.js に追記した新機能の Previous, Next リンク( MT なんかでもよく見ますよね。 iBlog で付けられてるのは僕の知ってる限り、daily-eimy さん所だけでしたが)表示の為のタグを付けました。これはデフォルトのテンプレートの変更部分をコピーして、下記 EntryPage.txt のタイトルの上に付けました。
<div align="center" class="comitem">
<script language="JavaScript1.2" type="text/javascript"> getNextEntryLink("<$EntryUUID$>"); </script>
| < a href="../../index.html">トップ</a> |
<script language="JavaScript1.2" type="text/javascript"> getPreviousEntryLink("<$EntryUUID$>"); </script>
</div>
<h3 class="title"><$CategoryImage$><$EntryTitle$></h3>
※赤字は独自の追記点。クラスはこの Blog のトップの各 Abstract の下のリンクに付けているものと同じスタイルを割り当てました。ですのでまんま使っても意味がないので、お好きなクラスに変える、若しくは削って下さい。緑字は元々有ったタイトルのタグ。
※[5/24 変更] 結局左右の関係が釈然としなかったので iBlog デフォルトとは逆に入れ替え、 MT に倣って中央にトップリンクを入れる事にしました。 a タグ < と a の間は半角スペースを空けてます
当面気付いた注意点、変更点は以上です。新機能についてはあまり追及してません。
取りあえず、ざっと使ってみた所、1.3.6 で問題になっていた日本語環境での不具合(特にプレビューが終了しない、など)は解消しているように見えます。日本語環境での不具合が報告されてます。当方の環境ではカテゴリページのページタイトルが文字化けている以外( UTF-8 にすれば解消するのかも? しかしこれも iBlog からの吐き出し時のトラブルのような気がする......)は問題ないようですが、要注意ってことで、まずはこのまましばらく使ってみる事にします。他に気付いた事など有りましたらコメント、トラバなど戴けると嬉しいです>ヒトバシラーの方々。
後は RSS Feed のリンク切れ問題ですが、こればかりは公開してみないと分かりませんので、取りあえず行っちゃえ〜〜ってことで、ポチっ!!
[同日追記] やっぱり RSS Feed は直っておらず、上記リンクの方法で対処。
[同日さらに追記]
・複数のBlogを運営されている方用参考リンク【iBlog 1.3.6 を使うには(.MacTips)】
・ j_kannnoさんにMLでツッコミ頂き、「前のエントリ」「次のエントリ」と言う文言を時系列になるよう改めました。ありがとうございます。
ここ、エントリタイトルが抜き出せるといいんですけどね(^^;
[5/23 追記]
結局 HiTsu さんのエントリに刺激されて、 iblogPatcher も1.3.1 に、エンコードも UTF-8 に変更しました。 Panther 環境ですので、下記、kaoru_ari さんのエントリを参考に ReformatDateTime.plugin をテキストエディタで開き、変更しました。
dark side of the moon 「iblogPatcher-1.3 リリース」
また、日付フォーマットの変更を担当するプラグインは、今回から ReformatDateTime.plugin として CHANGE_CONTENT.plugin から独立しました。OKAMURA さんは Jaguar で開発しておられますので、これまでは変換テーブルを Panther 用に書き換える必要があったのですが、ReformatDateTime.plugin ではプラグインをテキストエディタで開いて 44 行目の 'panther' => 0, を 'panther' => 1, に書き換えるだけで OK のようです。
これに伴いプチログのエンコードを変更、プチコメも UTF-8 人柱版に変更、サイドナビの BlogPeople Birthday Blog が自動認識だと取得するファイル名が違う為、文字化けしていたので、これは UTF-8 に変更してコードを生成→貼り直しました。
OKAMURA さん、 ComCom さん、 HiTsu さん、kaoru_ari さん、ありがとうございます。
Posted by at 10:37
▼1年前はこんなこと書いてました...▼