Serene Bach - sb Development Laboratory presents

<< ドネーション(寄付金)について | main | sb 1.02D >>

sb 1.01D

sb 1.01Dを公開しています。

先にも述べた通り、末尾に「D」のつくバージョンは開発途上版です。公開に当たって、一通りの動作チェックはしていますが、機能追加に伴い、動作が不安定な場合があります。予めご了承の上、ご利用下さい。

ver 1.01Dでは以下の機能が追加されています。

  • 携帯電話からの閲覧・コメント投稿用スクリプトを追加
  • カテゴリー毎のテンプレート設定
  • カテゴリー毎の保存先設定
  • 記事毎の保存名指定

携帯電話関連の機能詳細については後述します。

カテゴリーの機能を少しだけ強化しました。

ひとつはカテゴリー毎のテンプレート指定です。

テンプレートをカテゴリー毎に設定できるようになりました。テンプレートを設定したカテゴリーに対しては、個別表示の際もカテゴリーに設定されたテンプレートが利用されます。

保存形式を「Individual」にしている場合、カテゴリー毎に保存先を指定できるようになりました。

これまでは自動的にログディレクトリに記事を保存していましたが、カテゴリー毎にその保存先を変えることができます。

ベースディレクトリ内のディレクトリ、もしくはログディレクトリ内のディレクトリが保存先として指定できます。予め保存先のディレクトリをログディレクトリと同じパーミッションで作成しておけば、カテゴリー設定画面でそのディレクトリが選択できるようになります。sb自体はディレクトリを自動的に作成しませんので、ご注意下さい。

保存形式を「Individual」にしている場合、記事毎に保存名を指定できるようになりました。

従来は記事のIDから自動的に保存するファイル名が決定されていましたが、これを自由に設定できます(利用できる文字は半角英数と「_」(アンダーバー))。

ただし、保存名の重複チェックは行われず、すでに設定されている名前をつけた場合、そのまま上書きされる可能性があります。保存名の重複には注意してください。

カテゴリー毎の保存先指定と記事毎の保存名指定によって柔軟なサイト構築が可能になっているかと思います。

ver 1.01Dでは以下のバグを修正しました。

  • タイトルに改行が含まれている記事を sb it! すると投稿画面の記事タイトルがおかしくなります[B086]
  • タグ入力支援設定の画像の alt が正しくありません[B087]
  • EUC-JP 以外の文字コードに設定しているときに環境設定で設定を保存すると管理画面が文字化けします[B088]
  • JUGEM からのデータインポートでトラックバックのタイトルを取り込めない[B089]

[B086]の修正でlib/lang/内にあるscript.jsを変更しています。これを修正して利用されている方はご注意下さい。

ver 1.01Dでは以下の仕様変更があります。

  • 管理画面のリファラチェックを設定でオフできるように[D040]
  • コメント投稿の際、状態に応じてメッセージを表示するように[D039]
  • charset が指定されていない検索・コメント投稿で文字化けを軽減するように
  • 保存形式 Monthly のときのコメント投稿後の処理軽減
  • 環境設定ファイル読込み部分をサブルーチン化
  • カテゴリーの並び替えができるように
  • カテゴリー名の一括変換ができるように
  • キーワードを設定できるように
  • 独自タグ{entry_keyword}の追加
  • 再構築する範囲を指定できるように

最後の仕様変更により、全体の再構築は事実上なくなりました。標準設定では一度に100件ずつの記事を再構築できます。

これにより再構築の負荷はかなり軽減します。ただし、100件以上の記事がある場合に再構築の手間が増えます。

また、リンク・ユーザー・カテゴリーを変更した際の挙動が若干変更されています。保存形式を「Monthly」に設定されている場合、アーカイブに対してリストの内容を反映させるには再構築が必要になっています。

なお、ver 1.01D公開に伴ってこちらで公開しているAAA!CAFE対応パッチも最新版を公開しています。AAA!CAFEパッチを利用されている方は合わせてダウンロードしていただくよう、お願いします。

携帯電話からの閲覧を想定したスクリプトmb.cgiを追加しました。

また、あるプラグイン(check_ua.pl)を適用すると、sb.cgiでも携帯電話用の表示に切り替えるように動作します。

プラグイン(check_ua.pl)を適用した場合、sb.cgiのアクセス時にUserAgentをチェックし、携帯電話からのアクセスに対して、専用表示に切り替えるようになります。標準の状態では切替動作は行われませんので、ご注意下さい。

sbの携帯電話用の表示では、ウェブログは以下のように加工されます。

  • 専用のテンプレートを利用する
  • 本文は特定のタグを除去して表示される
  • イメージはテキストに変換して表示する
  • 本文は決められたサイズで分割して表示される(「続き」も同様)
  • コメント・トラックバックは決められたサイズで分割して表示される
  • DoCoMoからの投稿に関しては絵文字を実体参照形式に変換する
  • 文字コードをShift_JISに変換して表示する

sbの携帯電話用表示では、マークアップを崩さないように、本文のページ分割処理を行います。

例えば、

<ul>
<li>ほげほげ1</li>
<li>ほげほげ2</li>
<li>ほげほげ3</li>
<li>ほげほげ4</li>
</ul>

というような文章があったとします。ここで<li>ほげほげ1</li>の部分でページ分割されるとします。

そのまま分割すると、

<ul>
<li>ほげほげ1</li>

のように<ul>が閉じられないまま、終わってしまいます。また、次のページでは<ul>がないのにいきなり<li>ほげほげ2</li>で始まるでしょう。

sbでは、上記のような場合、

<ul>
<li>ほげほげ1</li>
</ul>

のように強調した部分、</ul>を補完し、次のページでは本文が始まる前に<ul>を補完します。

上記の処理はあくまでもsbが機械的に行うもので、加工された後のhtml記述の正しさを保証するものではありません。

なお、携帯電話用のテンプレートはsbmob.plというライブラリ内部で指定されていますが、これはプラグインで置き換え可能です。もし携帯用のテンプレートをカスタマイズしたい場合、sbmob_template という関数をオーバーライドしてください。ちなみにmb.cgiでは「mob」が含まれたプラグインしか認識しないようになっています。