毎秒1000リクエスト を捌く超高速CMS「adiary」
2006/06/06(火)6/6版スナップショット
- コメントやTBの付いていない記事でSQLを発行しないようにしました。
- RSSの配信件数を選べるようになりました。
- RSSにコメント・TBを含める機能を追加しました。
- 最近のコメント・トラックバックの表示を変更しました。
- 日記のデザインを変更しました。
- 日記のコメント・TB表示属性を削除しました(受け付け設定とほぼ同義とします)。
- エクスポート時に、日付や分類を指定できるようにしました。
- 【標準パーサー】せりか氏のアイデアで、同じ内容の注釈を二重に出力しない機能を付けました。good idea!
- 【標準パーサー】行連結機能を装備しました。
- その他、色々修正&機能追加。
というわけで、久しぶりのリリースです。
2006/06/01(木)行連結記法
行連結記法
リスト記法や注釈記法のように内容を1行でまとめて書かなければならないとき、行末に「\」や「\\」を書くことで行連結する機能を付けました。
-行末 \, \\記法について。\ 行末に \ を書くことで次の行と連結できます。 \ この場合、\ の手前のスペースと次行の先頭スペースは取り除かれます。 -エスケープ方法。 \ 行末に \ が来てしまう場合、さらにその後ろにスペースを1つ \ 入れてください。連結されなくなります。このときのスペースは \ HTMLから除去されませんが、表示上特に問題はないはずです。 -行末 \ と \\ の違い。 \\ 行末 \\ はこのように改行{{<br>}}に置き換わります。 -またこういう使い方((通常は行をまたげない注釈を \ 複数行に渡って書く))もできます。
と入力すると次のようになります。
- 行末 \, \\記法について。 行末に \ を書くことで次の行と連結できます。 この場合、\ の手前のスペースと次行の先頭スペースは取り除かれます。
- エスケープ方法。 行末に \ が来てしまう場合、さらにその後ろにスペースを1つ 入れてください。連結されなくなります。このときのスペースは HTMLから除去されませんが、表示上特に問題はないはずです。
- 行末 \ と \\ の違い。 \ 行末 \\ はこのように改行<br>に置き換わります。
- またこういう使い方*1もできます。
2006/05/31(水)インポータ/エクスポータ
インポータ・エクスポータあれこれ
はてな形式エクスポーターを実装しました。結構苦労しましたが、これの元ソースを突っ込んでも、きちんと表示されるぐらいに変換する(でも*見出しや-のリストなどはそのまま残す)ルーチンを作りました。
結局4~5種類のインポート/エクスポートを作成しましたが、かなり気合い入れてます。どうも他のブログシステムだと入力本文によっては自分自身ですらインポートできなかったり*1、改行を<br>に置換するフラグすらまともに設定してなかったり*2、書式を拡張したせいで一部ツールと互換性なくなってたり*3とか、ものによってはファイルフォーマット(形式)だけ変えて中身そのままってそれ変換って言わないですから。
例えば、tdiary2adiaryコンバータのはてな形式変換ならば、tDiaryの入力スタイルを適切に判断して最も近い形のはてな形式に変換、はてな形式→adiaryインポータでは記法の非互換部分を変換ルーチンで吸収(の山*4)、その他インポーターでは特殊な意味をもつ本文入力をエスケープ処理。
エクスポーターでは『使用しているパーサー』と出力方式によって変換方法を切り替えてます。はてな形式への出力に至っては、adiaryなら互換性の高い部分は元の文章をのこしつつ非互換な部分は部分的にパーサーを通して整形し、tDiary形式ならばtdiary2adiaryに実装されているはてな向けコンバータと同様の処理をして、シンプルパーサーならば、はてな向けの特殊記法のエスケープ処理を噛まして……という具合です。
もっともエスケープ処理ぐらい当たり前の話なんですけど、大半のblogはそれすら……(以下略
一応全部(境界条件にて)デバッグしてますが、完全じゃないので、何かうまく行かない問題があったら遠慮なくどうぞ。あと対応して欲しい形式があったら、エクスポートしたログファイルと一緒にどうぞ。
2006/05/30(火)5/30版スナップショット
更新内容
- JUGEM形式のインポートに対応しました。
- adiary/Movable Type/JUGEM(Serene Bach拡張含む)形式のエクスポートに対応しました。
- 分類の表示順を自由に変更できるようにしました。
- 【標準パーサー】指摘された、注釈本文を title="" に入れる際、タグテキストまで入ってしまう問題に対応しました。
- 要望にあった、カテゴリの表示優先度を指定機能を付けました。カテゴリの編集から入ってください。
- Movable Type系システムとの互換性のため(記法タグが無効な)シンプルパーサーを用意しました。
- その他、多数のバグ修正
- その他、細かい調整
tdiaryからのコンバーターを含めると実に多量のエクスポート形式とインポート形式に対応していることに(苦笑) なんかblogシステムとしてより、コンバーターとして普及しそうな予感(^^;; まあほかに対応してほしいものがあったら、エクスポートされたログファイル(または仕様書)と共にお申し出ください(ぉぃ