まだ重たいCMSをお使いですか?
毎秒1000リクエスト を捌く超高速CMS「adiary」
毎秒1000リクエスト を捌く超高速CMS「adiary」
2015/05/16(土)adiary Version3.0β6公開情報
Ver3.0β6の主な変更点
- スマホ表示を改善し、投稿や管理も十分行えるようにしました。
- 記事編集画面を洗練させました。
- Markdown記法をGFM準拠で拡張し、また非互換動作を改善しました。
- テーマが少し増えました。
本当はRC1の予定だったのですが、ゴールデウィークにがんばった影響か、あまりにも変更点が積み重なってきたのでひっそりβ公開しておきます。もう仕様変更することはないと思いたい……。
β6.1の変更点
「PostgreSQL/MySQL + Perl 5.20」での運用時にDBに保存される文字列がUTF8にならない(サイズが増える)という問題が見つかったため対応しました。
β6以前で該当環境で運用していてる方は、ブログのデータを一度エクスポートした上で、アップグレード後に再度インポートしなおしてください。
Ver3.0β6の更新情報
- フッターの出力位置を変更しました。
- 記事編集画面から直接画像をアップロードできるようになりました。
- 記事編集画面の入力部分にドラッグ&ドロップしてファイルをアップロードできるようになりました。
- 記事編集画面を洗練させました。
- FrontPage(固定トップページ)の時、記事タイトルをヘッダ出力しないように変更しました。
- システムモード非対応テーマを管理画面で使用しようとする時、警告を表示するようにした。
- 表示パスワード機能やメンテナンスモードでの画面に、適切なHTTPステータスコードを設定した。
- スマホ判別に、BlackBerry と Windows Phone を加えました。
- コメント表示数の設定項目がなかったので修正。
- FrontPageのタイトル設定機能を追加。
- テーマを書きやすくするため、HTMLの出力構造を微修正しました。
- タグの編集、コンテンツ一覧の編集画面を少し使いやすくしました。
- HTML全体から「&nsbp;」を除去しました。
- 検索結果画面の印刷表示ができるようになりました。(Thanks to 手石)
- 【テーマ】base.cssを import させる仕様をやめました。*1
- 【スマホ】記事編集を使いやすくしました。
- 【スマホ】画像アルバムを使いやすくしました。
- 【スマホ】システム画面の各所でスマホ用に表示を改善しました。
- 【スマホ】ドラッグ&ドロップエミュレーションを付けました(詳細)
- 【スマホ】ヘッダに選択したメニューを出力できるようにしました。
- 【スマホ】ヘッダに検索ボックスを出力するようにしました。
- 【Markdown】GitHub Flavored Markdownのテーブル記法等に対応しました。
- 【Markdown】自動リンクをonにした場合、自動リンクするように変更しました。
- 【Markdown】本家では、コードブロックの開始条件として手前が空行である必要があったので、その仕様に準拠しました。
- 【Markdown】本家では、コードブロックの途中に空行を挟んでもokだったので、その仕様に準拠しました。
- 【Markdown】【fix】HTMLブロック開始条件が間違っていた(行頭スペースを許可していた)。
- 【Markdown】【fix】HTMLブロックの後ろに余計な空行が付いてしまう。
- 【Markdown】【fix】文中に>等の記号があったときのエスケープ処理が正しくなかった。
- 【Markdown】【fix】Satsuki.pmの目次記法の内部仕様変更に追従していなかった。
- 【parser】見出し記法で、アンカーが存在しないときは<span class="sanchor">を出力しないようにしました。*2
- 【design】全体の背景画像を設定できるように変更。
- 【design】ヘッダ用の「ブログの説明」プラグインを追加。
- 【design】ブログ情報で参照するRSSアイコンを作り直しました。またRSSにリンクするよう変更しました。
- 【記法】HTML5準拠のためtable記法のsummary指定を無効にしました。
- 【fix】デフォルトブログ設定時のサイドバーなどURLが正しく書き換わってなかった。(Thanks to 手石)
- 【fix】ヘッダ部のmargin/padding設定が有効ではなかった。
- 【fix】ヘッダのタイトル文字位置がブログ表示時とデザイン編集時で異なる。
- 【fix】コンテンツリスト(ドロップダウンメニュー)で1段目の項目が1つしかない時、メニューを左に開いてしまう。
- 【fix】コンテンツリスト等の多重配置可能なモジュールがあったとき、プラグイン再インストールでエラーが起きることがある。
- 【fix】ドロップダウンメニューの項目幅を増やした直後、編集画面で項目が2行に表示されてしまう。
- 【fix】スマホからデザインモジュールの再インストールを行うとヘッダのHTMLが壊れる。
- 【fix】des_system-info のコメントの文字コードが間違っていた。
- 【fix】印刷用表示で FrontPage 機能が動作していなかった。
- 【fix】印刷用テーマ satsuki2/_print においてデザイン編集の設定を解除していなかった。
- 【fix】Version1からデータ移行時に、サムネイルディレクトリがうまく移行されない。
- 【fix】多重編集ロック機能で、編集キャンセル時にもロックしてしまう。
- 【fix】trust_modeで複数行を含むscript(タグ)の抽出ができていなかった。
- 【fix】静的HTML出力(エクスポート)が更新から取り残されて完全に腐ってたので修正。*3
- 【fix】Version2からの移行ツールでトラックバックが取り込めなかった。
- 【fix】MySQLで動作しなくなっていた。
- 【fix】【Compiler】begin_array/string等で最終行が空の時、除去するようにしました。
- テーマが少し増えました。
- 他多数
2015/05/02(土)adiary Version3.0β5公開情報
ほぼ完成と言ってもよいと思います。しばらくはバグフィック。
- Version2からの移行機能をテストしていただけると大変助かります。
- 間違えて収録した「satsuki2/ayakaテーマ」はまだ未完成です。*1
Ver3.0β5更新情報
- スマホ表示に対応しました。USER_AGENTで判別しています。*2
- 記事メイン部とコメント欄のデザイン編集機能を付けました。*3
- それに伴い基本設定→表示設定がなくなりました。
- Version2 からの移行機能が付きました。
- theme/ ディレクトリ以下にテーマやテンプレートに無関係なものが増えてきたので、それらを pub-dist/ に移動しました。
- テーマの色変更機能で「設定できる色が多すぎる」問題に対処するため、色をいくつかの基本色に連動させて動かす機能を付けました。
- 表示パスワード機能を付けました。ブログの表示にパスワードをかける機能です。
- プライベートブログ時に「秘密のパスワード」を入力することでブログを表示できる機能を追加。
- システム管理にメンテナンスモードを実装しました。
- 【記法】目次記法の機能を拡張し、出力階層を選択できるようにしました([*toc0] [*toc2]の追加)。
- 【plugin】タイトル文字の表示位置調整が非常に分かりにくかったので設定方法を見直しました。
- 【plugin】ヘッダとメイン部用の検索ボックスモジュールを用意しました。
- 【plugin】サイドバー検索ボックスのHTML形式を変更しました。(雑多なidを削除しました)
- 【plugin】module_id の仕様を変更しました(β3の時の仕様に戻しました)。
- 【fix】プライベートモードを解除したとき、公開ディレクトリが複雑な名前のままになっている。
- 【fix】「ブログとwikiコンテンツ等を分離して扱う」にチェックを入れるとコンテンツページが検索にヒットしない。(Thanks to 手石)
- 【fix】theme/以下のテンプレート読み込み機能がうまく動作していなかった。なおVer3のテンプレートディレクトリ名は _skel/ です(Thanks to 手石)
- 【fix】シンタックスハイライトがうまく動作しない。
- 【fix】【plugin】プライベートブログ切替時に、デザインモジュールで使用していた背景画像が表示できなくなる。
- 【fix】【アルバム】大文字の拡張子(.JPG等)を画像ファイルと識別できない。
- 【fix】【Compiler】<@ifcall(cond, 'file')> 等で cond が false のとき、condの値が出力されてしまう。
2015/03/05(木)adiary Version3.0β4公開情報
Ver3.0β4更新情報
- デザイン編集でサイドバー以外も編集できるようになりました。
- テーマカラーリングをカスタマイズする機能を付けました。(対応テーマのみ)
- 記法のエスケープ表記動作を整理しました。
- 記法ヘルパー機能を付けました。
- 確認ダイアログをブラウザ標準の「confirm」からオリジナルに変更しました。
- JPEGのExifを記事に貼り付けられるようになりました。
- 自動リロード画面でEnterを押すと強制リロードするようにしました。
- 同一の記事を複数の人やタブで編集した際に確認メッセージを出す機能を付けました。デフォルトでは無効になっています(システム設定にあります)。
- 記事編集画面からの画像選択画面にスクロールバーが表示されるように変更しました。
- デザイン編集画面の編集ツールの位置を変更しました。
- Twitterへの投稿通知機能をプラグイン化しました。
- faviconが設定できるようになりました。
- 【アルバム】D&Dで自動アップロードする機能をつけました。
- 【アルバム】CTRL+クリックで直接ダウンロードする機能をつけました。
- 【アルバム】Exif除去機能を付けました。*1
- 【アルバム】特殊文字「\ : * ? " ' < > | &」をファイル名等に使用できないようにしました。
- 【アルバム】ゴミ箱に入れる際、入れた日時をファイル名に付加するようにしました。
- 【アルバム】SHIFT+クリックによる範囲選択機能を付けました。
- 【アルバム】大文字の拡張子を許可するように変更しました。
- 【アルバム】【fix】ファイルを移動した際、サムネイルファイルが残り続けることがあった。
- 【アルバム】【fix】ファイル名ビューの時、画像の貼り付けで挿入されるタグが正しくない。
- 【Markdown】【fix】行頭以外にTABを入力した時の挙動が正しくない。
- 【Markdown】【fix】リスト入れ子時の動作が正しくない。余計な<p>タグが出る。
- 【Markdown】【fix】通常文章ブロックの途中から引用ブロック等を書くことができない。
- 【Markdown】【fix】引用ブロック(>)の手前にスペースを書くことができない。
- 【Markdown】リスト入れ子判別時、段差が1でも入れ子として認識するようにしました。*2
- 【fix】フィルター記法を[[&http://adiary.org]]のように[[ ]]中に書けない。
- 【fix】非表示input要素に対するリサイズ機能が正しく働いてなかったので、表示後、初めてmouseenterしたときにリサイズ加工をするように修正しました。
- 【fix】Image::Magickが存在しないとき、アルバムの動作がエラーになっていた。
- 【fix】data-target指定時にjQuery XSSの問題があった。(参考)
- 【fix】管理画面で選択テーマを使用しない設定の場合、デザインの初期化の確認画面で常に標準テーマが表示されていた。
- 【IE8】デザインモジュールの「Information/リンク集」にて、現在の状況をロードできない「IE8の不具合」に対応しました。
- 【Windows】記事のインポート処理がうまくいかないWindowsの謎の挙動に対応しました。
- 【Base/OAuth.pm】status update以外の、一般的なOAuthなGET/POST処理に対応しました。
- 【Base/HTTP.pm】【fix】SSL接続時、Cookieを1つしか受け取れなかった。
- 【Base/HTTP.pm】【fix】SSL接続でのPOST時、Content-Lengthを二重に送信していた。
- 他多数
コメント
デザイン編集機能はVer3開発当初から構想があったものですが、結構良い仕上がりになっていると思います。編集画面では、CSS動的生成(動的置換)とかかなり高度なことをやっています。使っても使わなくても一度はドロップダウンメニューで遊んでみてください! 使う人にはどうでもいいことですが実装大変だったんですよ(苦笑) 頑張った甲斐がありまして、CSS動的生成を使用してもプラグイン側の記述量は極小で済むようになっています。
そんなこんなでメイン機能はほぼ実装完了です。いくつか欲しいプラグインもありますが、その辺は後回しでもいいかな。
残す完成に向けての必須項目はスマホ対応表示でしょうか。HTML5なので普通にスマホで使えますが、いかんせん見づらいです。あとはテーマが充実してくれれば……。