まだ重たいCMSをお使いですか?
毎秒1000リクエスト を捌く超高速CMS「adiary

2007/01/11(木)時刻記法

時刻記法(Version1.03以降対応)

特定の書式で、書き込み時刻(初公開日時)を表示する方法です。*1

[time:%Y/%m/%d]
[time:%H:%M:%S]

などと書くと

[time:%Y/%m/%d]

[time:%H:%M:%S]

と表示されます。

%Y %y %m %d %I %H %M %S %w %s %e %j %k %l %a %p

が使用出来ますが、詳細はstrftimeを参照してください。

またadiary拡張として次のものが使用できます。

%n月表記(桁可変)
%i12時間表記( 0-11)
%L12時間表記(00-11)(2桁)
%J0~24時以降、日付変更時間まで深夜表記
%K0~24時以降、日付変更時間まで深夜表記(2桁)

*1 : この記法は内部的にBase.pm の tm_printf を呼び出しています

2007/01/04(木)adiary + Apache 1.3

adiary + Apache 1.3において、PATH_INFOの解析に失敗することがある不具合を発見しました。mod_rewrite + single ユーザーモードで発生しやすいようです。症状としては、カレンダーで前月に辿れなかったりします。次期バージョンで対応しますが、応急処置的には次のような修正を行ってください。

lib/Satsuki/Base.pm の 1180行目付近に次の一行を追加してください。

$ENV{PATH_INFO} =~ s|//+|/|g;		←追加する行
my $str   =  substr($ENV{PATH_INFO}, 1);
$str      =~ tr/+/ /;
my @pinfo = split('/', $str);

Base.pm:修正したファイルを置いておきます。(Base.pm 52KB)*1

特に問題が発生していない方はこの修正は不要です。

*1 : 修正方法は違いますが問題ありません

追記 2007/01/05

そもそも特定状況下にてパス自動解析の動作が怪しい様子だったのですが、手元でApache1.3環境を用意して色々とテストしてみたものの、不具合が再現できませんでした。*2

*2 : スクリプトからのリンクに'//'が表れてしまうという不具合。発生条件が分かるかたはお知らせください。

2006/10/16(月)ブロックdel, ins 記法

ブロックDEL, INS記法(β11以降)

インライン要素ではなく、ブロックに対して<DEL>, <INS>を指定する記法です。

>>>del
この部分がdelなblockです。

要素全部に対してdelが適用されます。
<<<

とすることで、

この部分がdelなblockです。

要素全部に対してdelが適用されます。

となります。ちなみに、インライン要素の場合は従来通り[del:削除しました]削除しましたでいけます。

2006/09/14(木)リスト記法、テーブル記法のセル連結、aa記法

値指定付きリスト記法(β10以降)

リスト記法において、値を指定する機能を付けました。=n (nは数値、後ろにスペースが必要です)として指定します。

-β10リリースに向けて
++リスト記法の拡張
++ジャンルが1つしかないとき、一覧に表示しない
++=5 カテゴリの実装の修正
-正式リリースに向けて
-test
  • β10リリースに向けて
    1. リスト記法の拡張
    2. ジャンルが1つしかないとき、一覧に表示しない
    3. カテゴリの実装の修正
  • 正式リリースに向けて
  • test

テーブル記法によるセル連結機能(β10以降)

| >        |*在庫     |<         |<      |
|*メーカー | >        |*プリンタ |*個数  |
|_         | LBP-740e | EP-J     | 3     |
|Canon     | LBP-1420 | EP-65    | 0     |
|~         | LBP-470  |<         | 0     |

> : 右に結合
< : 左に結合
~ : 上に結合
_ : 下に結合

という方法で連結できます。連結記号使用時はスペース(タブ含む)以外の余計な文字を含んではいけません。左右や上下の連結については、oddやevenなどやカラムに対するクラス指定により使い分けます。特に気にしなければどれを使用しても構いません。上の表は次のように出力されます。

在庫
メーカープリンタ個数
CanonLBP-740eEP-J3
LBP-1420EP-650
LBP-4700

aa記法(β10以降)

アスキーアート記法に対応してみました。

>|aa|
\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ   はてながaa記法作るだなんて、    
  |   X_入__ノ   ミ   そんな餌で俺様が釣られクマ――
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
   〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ
||<

と入力すると、

\   ∩─ー、    ====
  \/ ● 、_ `ヽ   ======
  / \( ●  ● |つ   はてながaa記法作るだなんて、
  |   X_入__ノ   ミ   そんな餌で俺様が釣られクマ――
   、 (_/   ノ /⌒l
   /\___ノ゙_/  /  =====
  〈         __ノ  ====
   \ \_    \
    \___)     \   ======   (´⌒
       \   ___ \__  (´⌒;;(´⌒;;
         \___)___)(´;;⌒  (´⌒;;  ズザザザ

となります。

2006/07/25(火)7/25版スナップショット

βリリースではなくスナップショットです。落としたい人は、ダウンロードページを参照ください。

  • mod_perl等の環境で、メモリリークする問題を修正しました。mod_perl環境の場合のみ、すでにリークしたメモリを開放するためApacheの再起動が必要です。
  • AnHttpd, lighttpd, Apache 1.3.x (cgiとmod_perl/1.29*1) などでの動作テストと、Apache1.3 などの環境でパス自動解析に失敗する不具合を修正を行いました。*2
  • ファイルアップローダーのコンパイルログが標準でonになっていたので修正しました。
  • スケルトンの更新チェックをより厳格にしました。
  • ssh で port forward した環境などで、redirect がうまく動作してなかったので対応しました。

メモリリークの関係で、データベースハンドラを解放できず、ここのレンタルサービスが何度か停止しご迷惑をおかけしました。今は修正されています。

*1 : mod_perl1.xxでの運用はあまり推奨しません

*2 : 主にApache 2.xのみテストされていますので、他のサーバシステムで問題を発見した場合はぜひともご連絡ください。