NEWS FORUM DOWNLOADS Contact iBJ
Welcome Back. Time is now: 09/11/23 - 12:43 PM
 Welcome Guest ( Login | Register )
メインメニュー
オンライン状況
6 人のユーザが現在オンラインです。 (1 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 6

もっと...
フォーラム - iBlog 1.x 一般 - 日付の修正ができない
メイン
   iBlog 1.x 一般
  日付の修正ができない

このスレッドを見ているのは:   1 匿名ユーザ

 

 ボトム   前のトピック   次のトピック
<123
投稿者 スレッド
  •  hoboking
      hoboking
Re: 日付の修正ができない
#21
新米
登録日: 2007-9-20
居住地
投稿: 19
グループ:
登録ユーザ
オフライン
推測としての話ですが・・・

1つはiBlogの動作環境がネイティブPPCかロゼッタBaseなのかは確認した方がいいかもしれません。TigerとLeopardでRosettaの振る舞いが違う(バグフィクスだったとしても)というのはあるかもしれません。


2つめは当方のTiger→Leopard移行の時に起きたケースです。(長文になります)
TigerからLeopardへの移行アシスタント.appによる移行はひとまず問題ありませんでしたが、その移行したLeopard環境から新規インストールのLeopard環境への移行アシスタント.appでのユーザー移行時にユーザーデーターはコピーされる物の起動可能なユーザーデータとして認識されないトラブルが出ました。

深くは検証しませんでしたが、TigerとLeopardでパミッション管理の厳格さが異なり、移行アシスタント.app経由時にパミッション設定が狂っていたのが原因のようでした。

元々Tigerでの各データは色々なバックアップ方法を試しながら引き継いだもので、Tiger側が定める正しいパミッション設定でなかった可能性や、移行アシスタント.appに些細ながらバグがある可能性、それらとLeopardでのパミッション管理の変更との合わせ技、などいくつかの理由が考えられます。

似たような理由で、Tigerで行っていたディスクユーティリティ.appで起動ディスクを丸ごとディスクイメージにコピー保管し、空のパーティションに書き戻す方式のバックアップは書き戻し時後半にディスクユーティリティ.appがハングするという不可解な状況となっています。(CRON方式のバックアップユーティリティではLeopardにおいてこの問題は出ていません)

そしてiBlog1.4.6ですが、移行したデータでは、過去のエントリのタイトルを書き換えてもアプリケーション側では変更が反映されるのに、書き出し側では変更が反映されないというトラブルが生じました。
既に上記のようなトラブルを経験していたため、移行データのパミッション設定だろう(一部ファイルの書き換えがアクセス権不足で行われていない)と見当を付け、バックアップデータ側の設定データを手作業コピーで書き戻すことで問題を回避することが出来ました。

以上のケースが全ての環境で再現されるとは思いませんが、Leopardのパミッションの管理が厳密なのは確かなようです。

同じ内容(同じ設定)のファイルデータ(ReformatDateTime.plugin?)なのに動作が違うということなので、正しいパミッションで適用できるよう、従来版も新規にダウンロード&再インストールして確認されてみてはいかがでしょうか?
投稿日時: 2007-11-6 16:38
投稿からPDFを作成 印刷
トップ
Re: 日付の修正ができない
#22
モデレータ
登録日: 2004-6-24
居住地 埼玉県
投稿: 214
グループ:
サイト管理者
登録ユーザ
オフライン
手元のもので t0mori さんが書いてくださった結果になるのは確かだと思います。そのことは理解しています。結果に相違が出るということは、お互いが共通していると思っている(あるいは見えていない)ことが何か違うということに他なりませんが、今のところそれが何かという手掛かりはありません。

しかし、どちらにしろ Leopard 用に問題になっているファイルを書き換えるか、これから私のところでアップするお試し版に入れ替えるかが必要で、それならば今これを追求するよりは、お試し版に入れ替えた上で様子を見てみるのが最も生産的だと思います。それによって plugin ファイルは共通していることは確実になるからです。

というわけで、新しいエントリを今書いているので少々おまちください。
_________________
OKAMURA Yuji
投稿日時: 2007-11-6 17:17
投稿からPDFを作成 印刷
トップ
Re: 日付の修正ができない
#23
モデレータ
登録日: 2004-7-14
居住地 東京都
投稿: 591
グループ:
サイト管理者
登録ユーザ
オフライン
引用:
新しいエントリを今書いているので少々おまちください。

了解しました〜。

その上で思い付きと言うか、hobokingさんの書き込みから思い当たったもしかしたら、と言う可能性のお話。
引用:
お互いが共通していると思っている(あるいは見えていない)ことが何か違うということに他なりませんが、今のところそれが何かという手掛かりはありません。

これなんですけど、もしかしたら「従来品」と読んでいる物の中身が、僕が持っている物とOKAMURAさんが持っている物(一般に配布されている物)とで違う可能性があります。
と言うのは、使わないPluginを従来のPluginフォルダと同じ場所に"~/Library/Application Support/iblogPatcher/plugin(Disabled)"と言う形で分けて保存してあるのですが、この中に05/01/27の作成日のReformatDateTime.pluginがあったのです。ただ中身をみるとv.1.3とあるので、古い物をたまたま入れていたのかも知れませんし、今回のように何らかのテストを僕の方でやって、それを保存していたのかも知れません。或いは何らかのカスタマイズをした可能性がありますが、まったく記憶にありません……。

ちなみに従来品と読んでいる物のバージョンは
引用:
$Id: ReformatDateTime.plugin,v 1.6 2005/06/08 22:11:35 okamura Exp $

とありました。関係ないかも知れませんが、perlのバージョンは5.8.8でした。
投稿日時: 2007-11-6 17:39
投稿からPDFを作成 印刷
トップ
Re: 日付の修正ができない
#24
モデレータ
登録日: 2004-7-14
居住地 東京都
投稿: 591
グループ:
サイト管理者
登録ユーザ
オフライン
先程OKAMURAさんがご自身のブログにアップされたPluginファイルをダウンロードし、僕の環境ではこれで問題がない事を確認しました。

.Mac Tips「iblogPatcher: ReformatDateTime.plugin Leopard 対応β版」
投稿日時: 2007-11-6 18:18
投稿からPDFを作成 印刷
トップ
Re: 日付の修正ができない
#25
新米
登録日: 2004-10-9
居住地 大阪府
投稿: 6
グループ:
登録ユーザ
オフライン
自分も新しいPlugInを使ってうまく変換できたことを確認しました。


Leopardでの変更点といえば、ターミナル.app の環境設定で、「起動時にLANG環境変数を設定」というチェックボックスが増えています。


僕はこれをオンにしていたのが元凶で、曜日表記がアルファベット表記("Sat")にできなくなってしまって、ちょっと悩みました。

これをチェックしていると、iBlogPatcherを実行するターミナルの環境変数に LANG=ja_JP.UTF-8 がセットされているので、曜日の戻り値が 最初から "土" というように 日本語になってしまっていました。

そこで、iBlogPatcherを動かす前に、必ず

export LANG=en_US.UTF-8;

を実行するようにして、曜日の戻り値が "Sat" と英語表記になるようにして対処しています。
投稿日時: 2007-11-6 22:30
投稿からPDFを作成 印刷
トップ
Re: 日付の修正ができない
#26
モデレータ
登録日: 2004-6-24
居住地 埼玉県
投稿: 214
グループ:
サイト管理者
登録ユーザ
オフライン
どうやらうまくいってそうですね。

t0mori さんの投稿引用:
ちなみに従来品と読んでいる物のバージョンは
引用:
$Id: ReformatDateTime.plugin,v 1.6 2005/06/08 22:11:35 okamura Exp $

とありました。

どうやらバージョンが一つ前だったようですね。安心しました。以前は CVS というのでバージョン管理していたのですが、もう更新することも無いだろうと思って Intel Mac に移行したときにやめてしまいました。やっぱりバージョンは付けておいた方がよさそうです。


tauran さんの投稿引用:
そこで、iBlogPatcherを動かす前に、必ず

export LANG=en_US.UTF-8;

を実行するようにして、曜日の戻り値が "Sat" と英語表記になるようにして対処しています。

それで正解です。ターミナルをそのまま使い続けるときに LANG を元に戻さなくてもいい方法もあります。

LANG=C iblogPatcher …
とか
LANG=en_US.UTF-8 iblogPatcher …

というようにすればその一行限りの切り替えになります。Tiger までのと完全に一致するのは LANG=C だと思います。

更に日時表記だけを英語式にする(他には影響を及ぼさないようにする)には

LC_TIME=en_US.UTF-8 iblogPatcher …
フランス語なら
LC_TIME=fr_FR.UTF-8 iblogPatcher …

という具合です。

ところで毎回タイプされているようですが、command ファイルにしておけば、そのアイコンのダブルクリックでできるので便利ですよ。私はそれを Scripts フォルダーに入れてます。
_________________
OKAMURA Yuji
投稿日時: 2007-11-7 0:52
投稿からPDFを作成 印刷
トップ
Re: 日付の修正ができない
#27
モデレータ
登録日: 2004-7-14
居住地 東京都
投稿: 591
グループ:
サイト管理者
登録ユーザ
オフライン
引用:
どうやらバージョンが一つ前だったようですね。安心しました。

お騒がせしました。やはり古いやつでしたか……
今さらですが、過去ログを漁ってみました。これですね?
ReformatDateTime.plugin が英語日付対応に
当時はよほど忙しかったようです。改めて1.7をゲトしました
投稿日時: 2007-11-7 1:24
投稿からPDFを作成 印刷
トップ
  •  hoboking
      hoboking
Re: 日付の修正ができない
#28
新米
登録日: 2007-9-20
居住地
投稿: 19
グループ:
登録ユーザ
オフライン
どうも解決されたようで何よりです。

当方はiblogPatcherを使用しておらず日付の日本語表現はJavaScriptで書き換えていました。
もしかしたら需要があるかもしれないので一応方法を記載しておきます。

何もしていない段階で「日 - 11月 4, 2007」のように出力されていることが前提です。
(iblogの「環境設定>一般」で、日付の書式が「mm/dd/yyyy」になっていることを確認)

<$EntryPostDate$>を「2007年11月4日-日曜日」のように
<$EntryTimestamp$>を「午前 07:00」のように
<$PublishDate$>を「2007年11月4日-午前 07:00」のように変換します


CommonLib.js内に、以下のscriptを追加

↓ココカラ

function getEntryPostDate(EntryPostDate) {
if (EntryPostDate) {
var EntryPostDate = EntryPostDate.replace(',', '');
EntryPostDate = EntryPostDate.split(" ");
var trueEntryPostDate = EntryPostDate[5] + '年' + EntryPostDate[2] + '月' + EntryPostDate[4] + '日' + '-' + EntryPostDate[0] + '曜日';
document.write(trueEntryPostDate);
} else {
document.write('');
}
}

function getEntryTimestamp(EntryTimestamp) {
var EntryTimestamp = EntryTimestamp.split(" " , 2);
var trueEntryTimestamp = EntryTimestamp[1] + ' ' + EntryTimestamp[0];
document.write(trueEntryTimestamp);
}

function getPublishDate(PublishDate) {
var PublishDate = PublishDate.replace(',', '');
PublishDate = PublishDate.split(" " , 6);

var truePublishDate = PublishDate[3] + '年' + PublishDate[0] + '月' + PublishDate[2] + '日' + '-' + PublishDate[5] + ' ' + PublishDate[4];
document.write(truePublishDate);
}

↑ココマデ

追記する場所は一番最後が判りやすくていいと思います。


各テンプレート内のiBlog変数の該当部を書き換え

<$EntryPostDate$>

<script> getEntryPostDate("<$EntryPostDate$>");</script>

<$EntryTimestamp$> or <$EntryTimestamp$></EntryTimestamp>

<script> getEntryTimestamp("<$EntryTimestamp$>");</script>

<$PublishDate$>

<script> getPublishDate("<$PublishDate$>");</script>


以上です。

やっていることは、文字列を区切り文字「' '」(半角スペース)で切り分けて、都合良く並べ直して必要な文字を追加して書き出しているだけです。<$EntryPostDate$>だけは連続するエントリーの更新日が同一の場合、変数が「''」(null)で帰ってくることがあるのでif文で逃げてます。
投稿日時: 2007-11-7 3:47
投稿からPDFを作成 印刷
トップ
解決しました
#29
常連
登録日: 2005-6-3
居住地 愛知県
投稿: 59
グループ:
登録ユーザ
オフライン
ちょっと出張に行っていて波に乗り損ねました。
帰ってきたらスレッドが急に伸びていて驚きました。
対処がものすごく速いですね。
さすがOKAMURAさん、ありがとうございます。

正直理解しきれていないのですが
とりあえずNewバージョンのプラグインに入れ替えたら
元の表記になりました。

詳しい流れはまた後ほど読んでみたいと思います。
投稿日時: 2007-11-7 19:20
投稿からPDFを作成 印刷
トップ
Re: 日付の修正ができない
#30
新米
登録日: 2004-10-9
居住地 大阪府
投稿: 6
グループ:
登録ユーザ
オフライン
引用:

LANG=C iblogPatcher …
とか
LANG=en_US.UTF-8 iblogPatcher …

というようにすればその一行限りの切り替えになります。Tiger までのと完全に一致するのは LANG=C だと思います。


実は iBlogPatcherだけ実行してたときには commandファイルを使って実行していたのですが、今回LANG設定のコマンド実行も一緒にcommandファイル記述で実行しようとするとなぜか エラーが出てしまっていて。
commandファイルでの実行は諦めかけていました。

このような書き方ならばLANG設定とiBlogPatcherの実行をできるのですね。ありがとうございます。
投稿日時: 2007-11-7 20:26
投稿からPDFを作成 印刷
トップ
 トップ   前のトピック   次のトピック
<123

 


 新規スレッドを作成することはできません。
 スレッド一覧を閲覧することができます。
 投稿に対する返信はできません。
 自分の投稿を編集できません。
 自分の投稿を削除できません。
 新規の投票を追加できません。
 評価できません。
 投稿にファイル添付はできません。
 投稿には承認が必要です。