AJAX な折りたたみ
小粋空間
「
WordPress で『続きを読む』の折りたたみ Web2.0 」
ちょっと前からやってみたいと思っていた AJAX ライブラリを使った ナビゲーションの折りたたみ。上記のページを参考に(ぱく…?)すればできそうな感じ。
メモっとこう φ(.. )
ちょっと前からやってみたいと思っていた AJAX ライブラリを使った ナビゲーションの折りたたみ。上記のページを参考に(ぱく…?)すればできそうな感じ。
メモっとこう φ(.. )
gsitemap 仕様 v2007.9.16
bsnap_hs/bsnap_tx
プラグイン より先に手をつけていた
gsitemap
プラグイン を公開しました。
entries_kache プラグイン のインデックスファイル出力タイミングとのかねあいで、 試行錯誤したために少々手こずった上、詰めの際に凡ミスを連発しましたが何とか entries_kache プラグイン のインデックス更新タイミングに同期して、 出力できるようになったので、ここで FIX しました。
以下に 2007 年版 gsitemap プラグイン の 2007.9.16 時点の仕様をまとめておきます。
entries_kache プラグイン のインデックスファイル出力タイミングとのかねあいで、 試行錯誤したために少々手こずった上、詰めの際に凡ミスを連発しましたが何とか entries_kache プラグイン のインデックス更新タイミングに同期して、 出力できるようになったので、ここで FIX しました。
以下に 2007 年版 gsitemap プラグイン の 2007.9.16 時点の仕様をまとめておきます。
- entries_kache
プラグイン が出力するインデックスファイルをサイトマップファイルに変換するため、
このプラグインのインストールは必須です。
インデックスファイルの仕様上、entries_index プラグインファイルでも代替可能。
ただし、entries_index プラグインの場合は、アクセスごとにインデックスファイルが更新されるため、 サイトマップファイルもその都度更新されます。効率低下の原因になるため、 entries_kache プラグイン のインストールを強く推奨します。 - タイムゾーンの設定は自動で行うようになっています。
国外のレンタルサーバなどではプログラム的に修正が必要かもしれません。
(要望があれば、手動設定するように修正することは簡単なので用意します) - 本バージョンは blosxom の
動的生成の仕組みを利用していないために専用のフレーバは必要ありません。
その代わりに、出力されるサイトマップファイルの形式の変更には、 プログラム本体の変更が必要になります(そんなに難しい修正ではないですが…)。
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc>http://www.ellinikonblue.com/blosxom/</loc>
<changefreq>daily</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://www.ellinikonblue.com/blosxom/blosxom/plugins/20070916gsitemap2007.html</loc>
<lastmod>2007-09-16T17:30:01+09:00</lastmod>
</url>
:(以下、繰り返し)
</urlset>
bracket_fep 用 bsnap_hs/bsnap_tx プラグイン
Highslide JS を利用した
機能強化版 snap_in
プラグイン の実装はほぼ終わりました。
highslide プラグインと命名しようかと思ったのですが、 あまりにもひねりがないので、 bsnap_hs プラグイン とすることにしました。
この bsnap_hs プラグインは bracket_fep プラグイン 用のプラグインとして実装していて、 これまでの snap_in プラグイン 同様、エントリ内で
サムネイルが存在せず、画像ファイルだけが存在する場合は、 これまでの snap_in プラグインと同様の動きになります (単にエントリに画像を挿入するだけ)。
以下は Highslide JS を 有効にした場合の利用例。 無効にした場合の利用例。
上記二つの画像は、エントリテキスト上は同じ表現になっていますが、
サムネイルディレクトリに同名のファイルがあるかないかで
動作が変化しています。
さて、もともとの snap_in プラグイン は、画像を取り込む以外に、定型のテキストを取り込む機能を有しています。 この機能も bsnap_hs プラグインに取り込もうと思ったのですが、 コードが汚くなりそうだったので、突貫で定型テキストを取り込むだけの bracket_fep プラグイン 用プラグインも別途用意しました。
以下、その bsnap_tx プラグイン のテストです。
我ながらいい感じなので、さていつ公開しようかな。。。というとこです。
なんせこの Devlosxom だけで こそこそやってることなんで気軽気軽 (^ε^)
highslide プラグインと命名しようかと思ったのですが、 あまりにもひねりがないので、 bsnap_hs プラグイン とすることにしました。
この bsnap_hs プラグインは bracket_fep プラグイン 用のプラグインとして実装していて、 これまでの snap_in プラグイン 同様、エントリ内で
[imagefile.jpg]とした位置に画像を挿入します。 ただし、プラグイン内のパラメータで指定する画像ディレクトリと サムネイルディレクトリに同名の画像ファイルが存在すると Highslide JS が有効になり、 通常状態ではサムネイル画像が表示され、クリックすると画像ファイルに拡大されます。
サムネイルが存在せず、画像ファイルだけが存在する場合は、 これまでの snap_in プラグインと同様の動きになります (単にエントリに画像を挿入するだけ)。
以下は Highslide JS を 有効にした場合の利用例。 無効にした場合の利用例。
さて、もともとの snap_in プラグイン は、画像を取り込む以外に、定型のテキストを取り込む機能を有しています。 この機能も bsnap_hs プラグインに取り込もうと思ったのですが、 コードが汚くなりそうだったので、突貫で定型テキストを取り込むだけの bracket_fep プラグイン 用プラグインも別途用意しました。
以下、その bsnap_tx プラグイン のテストです。
なんせこの Devlosxom だけで こそこそやってることなんで気軽気軽 (^ε^)
bfep 版 highslide プラグイン(仮称)開発開始
いきなり Highslide JS を
利用したサムネイル対応画像挿入プラグインの実装に入りました。
このエントリが開発のためのテストエントリになります。
進行状況は、下図の写真をいじっているとわかるかも… (^^;>
このエントリが開発のためのテストエントリになります。
進行状況は、下図の写真をいじっているとわかるかも… (^^;>
Highslide JS で snap_in をパワーアップする
…なんてことをしてみたい衝動に駆られました。
本当にできるかどうかなんてことまでは、今、考えが及んでません (>_<;>
だいぶ前から、元絵とサムネイルを用意すればリンクして表示ができるように、 snap_in プラグイン を改良したいなとは思っていましたが、 とにかく 小粋空間 で Highslide JS が 使用されているのを見て一目惚れです。とにかくすてき )*^O^*(
ちょっと時間ができたら、すぐに取り組みたいと思います。
# まずはきれいな実装ができるかどうかをじっくり考えるべし。。。
だいぶ前から、元絵とサムネイルを用意すればリンクして表示ができるように、 snap_in プラグイン を改良したいなとは思っていましたが、 とにかく 小粋空間 で Highslide JS が 使用されているのを見て一目惚れです。とにかくすてき )*^O^*(
ちょっと時間ができたら、すぐに取り組みたいと思います。
# まずはきれいな実装ができるかどうかをじっくり考えるべし。。。
gsitemap プラグイン 2007 年版
ひらめきました! (^^)b
なにをかというと、 gsitemap プラグイン の新しい実装方法です。
そもそもこの gsitemap プラグイン はどういうものかというと、 名前から察することができる方もいると思いますが、 Google サイトマップ に 提供する XML ファイルを生成するプラグインです。
意外にこのプラグイン、うちのいい加減にでっち上げたプラグインの中では、 ご使用いただいている方の多いプラグインではあるのですが、 開発(と言うほど偉そうなものではありませんが) 当時 、 即興で作ったために、エントリ数が多いと Internal Server Error を引き起こす 問題を解決しないまま、サイトマップに記載するエントリ数を制限するリミッタを設定するという 超いい加減な方法でアドホックに対処して、ほったらかしにしていました。
後になって冷静に考えると、専用フレーバーを使って blosxom の フレームワークをそのまま利用して、 サイトマップデータをメモリ上に生成するので、 あまりにもエントリ数が多い場合、メモリがオーバーフローするだろうとすぐに想像がつきました。
ではデータをファイルとして生成してしまえばよいのですが、 この生成するスクリプトをどう実装するかと言う問題になります。 CGI で作り込んでしまえば、さほど労せずできそうですが、 それは blosxom の スタイルではありません。「機能はプラグインで追加する」というのが正道です。
と言うことで悩んでいたのですが、最近、 gin プラグインに entries_kache プラグイン の機能を取り込んでいくにあたって、 このエントリインデックスファイルをサイトマップファイルに変換するプラグインにする と言う実装方法を思いつきました。
これなら gin プラグインが entries_kache プラグイン の機能を取り込んでも、 JSON 形式のエントリインデックスを読み込む部分だけをすり替えるだけで使えそうです。
方向性が決まれば、実装はそんなに難しくなさそうですので、 この Devlosxom の方で、 早速実験して、うまくいくようでしたら早々に公開したいと思います。
なにをかというと、 gsitemap プラグイン の新しい実装方法です。
そもそもこの gsitemap プラグイン はどういうものかというと、 名前から察することができる方もいると思いますが、 Google サイトマップ に 提供する XML ファイルを生成するプラグインです。
意外にこのプラグイン、うちのいい加減にでっち上げたプラグインの中では、 ご使用いただいている方の多いプラグインではあるのですが、 開発(と言うほど偉そうなものではありませんが) 当時 、 即興で作ったために、エントリ数が多いと Internal Server Error を引き起こす 問題を解決しないまま、サイトマップに記載するエントリ数を制限するリミッタを設定するという 超いい加減な方法でアドホックに対処して、ほったらかしにしていました。
後になって冷静に考えると、専用フレーバーを使って blosxom の フレームワークをそのまま利用して、 サイトマップデータをメモリ上に生成するので、 あまりにもエントリ数が多い場合、メモリがオーバーフローするだろうとすぐに想像がつきました。
ではデータをファイルとして生成してしまえばよいのですが、 この生成するスクリプトをどう実装するかと言う問題になります。 CGI で作り込んでしまえば、さほど労せずできそうですが、 それは blosxom の スタイルではありません。「機能はプラグインで追加する」というのが正道です。
と言うことで悩んでいたのですが、最近、 gin プラグインに entries_kache プラグイン の機能を取り込んでいくにあたって、 このエントリインデックスファイルをサイトマップファイルに変換するプラグインにする と言う実装方法を思いつきました。
これなら gin プラグインが entries_kache プラグイン の機能を取り込んでも、 JSON 形式のエントリインデックスを読み込む部分だけをすり替えるだけで使えそうです。
方向性が決まれば、実装はそんなに難しくなさそうですので、 この Devlosxom の方で、 早速実験して、うまくいくようでしたら早々に公開したいと思います。

