2024年11月21日(木) 19:56 JST

Geeklog

共有ブックマーク(SocialShare)プラグイン

  • 2009年10月31日(土) 10:07 JST
  • 投稿者:
  • 表示回数 4,789
プラグイン

AugeさんがSNSで紹介していたGeeklog用のSocialShareプラグインが面白そうなので、当サイトにもインストールしてみた。各記事の下部に表示されている「共有する」のアイコンがそれ。シンプルだけど、あると便利。

例によって、AugeさんがGLTMatrixのこのページこのページで懇切丁寧に説明されているので、ぜひ、ご一読のほどを。


Twitterプラグイン バージョン0.2.0リリース

  • 2009年10月18日(日) 21:54 JST
  • 投稿者:
  • 表示回数 6,104
プラグイン

まだアルファ版のレベルだが、バージョン0.2.0を公開した。変更点は以下の通り。

  • 新しいtweetの一部が表示されないバグを修正
  • HTMLのマークアップをほぼ全てテンプレートに移動
  • 静的ページでセンターブロックに表示する機能を追加
  • 自動タグを使用し、記事内に表示する機能を追加

Twitterプラグイン

  • 2009年10月17日(土) 23:31 JST
  • 投稿者:
  • 表示回数 6,382
プラグイン

今年の春に試験的に実装していたTwitter用ライブラリを核にしたGeeklog用のプラグインを仮公開した。まだ、アルファ版の段階でバグが多いことが予想されるため、そのつもりで使って欲しい。自分のタイムラインとfollowingを混在して表示できるが、当サイトの右ブロックには自分のタイムラインしか表示していない。

Geeklog-1.5.0以降、PHP-5.0.0以降が必要だが、MySQLのバージョンは問わない。自分が書いた記事や掲示板での発言を自動的にTwitterに投稿する機能もあるし、bit.lyのアカウントを持っていれば、投稿データ中のURLを自動的に短縮することもできる。ダウンロードはこちらからどうぞ。

-- Edit --

さっそくdengenさんからバグの指摘を頂いた。非公開領域/plugins/twitter/functions.incの153行目を

			. $base_uri . '/twitter/js/twitter.js">';

から

			. $base_uri . '/js/twitter.js">';

へ修正してほしい。これをしないと、つぶやくときに文字数がカウントダウンしない。dengenさんに感謝します。


カスタム検索関数

  • 2009年4月10日(金) 17:52 JST
  • 投稿者:
  • 表示回数 6,210
Geeklog

現在のGeeklogで検索対象になるのは、記事と検索APIを実装しているプラグインのみ。つまり、公開領域/docs/にあるhtmlドキュメントは検索されていない。ドキュメントの翻訳にかかわった者としてはもったいないの一言に尽きる。そこで、検索APIを調べてみると、カスタム検索関数を追加できるよう設計されていることがわかった。APIのシグネチャを調べて実装したのが、こちらのカスタム検索関数。対象のhtmlファイルを力ずくで検索するのであまり格好いい方法ではないが、ないよりはましと思う。


Twitterクライアント

  • 2009年4月10日(金) 17:45 JST
  • 投稿者:
  • 表示回数 5,531
プラグイン

GeeklogのTwitterクライアントを実装するのに必要なクラスライブラリをTwitterの公式ドキュメントを元に作成したが、肝心のクライアントの構想が定まらない。自分のサイトにpublic_timelineをそのまま表示するのは無意味だし、自分のつぶやきだけを表示しても寂しいし、Friends(follower/following)を追加表示するのも意味があるようなないような...


KZ_Templateクラス

  • 2009年4月 2日(木) 20:30 JST
  • 投稿者:
  • 表示回数 5,788
Geeklog

GeeklogがHTMLのレンダリングに使用しているのはPHPLIBのTemplateクラスで、Dirkさんが何かのカンファレンスでその制作者に出会ったときに「まだそんなもの使っているの? Smartyを使えよ。」と言われたほどの代物。軽量だが、変数置換などの最低限の機能しかないため、条件分岐やループ構造を単体では実現できず、PHPコードでレンダリングしなければならない。

開発時期が古いためか、コードを読んでも「なぜそんな実装?」と突っ込みたくなる箇所が多い。

このような状況で、JoeさんさんがCaching Template Library(CTL)を開発・公開した。オリジナルのTemplateクラスに、1. 条件分岐やループ構造を追加 2. デフォルトの変数を定義 3. テンプレートをPHPコードにコンパイル・キャッシュして、実行速度アップを狙った優れものである。MediaGallery-1.6.xはこのCTLがないとインストールすることすらできない。

上記1., 2.はありがたいが、モジュール版PHPが多い日本のホスティングサービスでは、パーミッションの関係で3.でつまずくことが多い。それと、これは私見だが、Geeklogのように各テンプレートファイルのサイズが小さい場合には、コンパイル・キャッシュの恩恵をあまり受けられないように思う。

そこで、CTLからキャッシュ機能を抜き、代わりにdengenさんが提唱しているTemplateクラスの高速化(file()をfile_get_contents()で、preg_replace()をstr_replace()に置き換えるなど。)と木下さんが実装したOverRide機能(該当テンプレートファイルがない場合、デフォルトのテーマに自動的にフォールバックする機能)を追加したKZ_Templateクラスを開発した。ダウンロードはこちらから。まだ、開発段階なので、いろいろバグが残っていると思われるが、Geeklogのコアファイルを改変しなくても使えるので、それなりの価値はあると思う。


メタタグプラグイン

  • 2009年3月24日(火) 19:17 JST
  • 投稿者:
  • 表示回数 7,324
プラグイン

表題の通り、記事や静的ページでHTMLの<head>セクションにkeywordsやdescriptionなどの<meta>タグを追加するメタタグ(Metatags)プラグインを作ってみた。ダウンロードはこちらからどうぞ。

使い方は自動タグを利用する。keywordsの場合は、

  [meta:key コンマで区切ったキーワードのリスト]

descriptionの場合は、

  [meta:desc 説明]

を入力するだけ。詳しいことは同梱のinstall_ja.htmlに書いてあるので、そちらをどうぞ。


Autosaveプラグイン

  • 2009年3月22日(日) 16:56 JST
  • 投稿者:
  • 表示回数 6,716
プラグイン

Geeklog-1.5.0以降では、セキュリティを向上させるため、記事や静的ページの編集ページにはトークンと呼ばれる使い捨てのキーが設定されている。編集を始めて20分経つとこのキーの有効期限が切れてしまい、「保存」をクリックしても保存できなくなっていた。これはバグではなく、仕様である。

自分の場合は、保存する前に編集エリアで ctrl-A, ctrl-C を押してOSのバッファに保存する癖がついているので、仮に保存に失敗してもさほど気にならないが、中にはむかっとくる人もいるだろう。

そのような人に向かって「これは仕様です」ではgeek以外に使ってもらえないので、定期的に自動保存を行うプラグインを作成した。ダウンロードはこちらからどうぞなお、JavaScriptを有効にしておくこと。それと、このプラグインを使用しても時間切れになること自体は防げないので、自動保存の間隔を短く設定することをお勧めする。設定は、「コンフィギュレーション」→「Autosave」から。初期値は10分。

まだ、開発段階なので、バグが含まれる可能性あり。そのつもりでどうぞ。


Style Viewer

  • 2009年2月12日(木) 22:32 JST
  • 投稿者:
  • 表示回数 6,110
Geeklog

最近、JavaScriptを勉強している。食わず嫌いだったが、きちんとした本(O'REILLY®の「JavaScript(第5版)」や"JavaScript: the Good Parts"など)を読むと、結構面白い。何か実用的なものを作ってみたくなり、表題のStyle Viewerを試作中。マウスを動かすと、ツールチップと共に当サイトの右上ブロックにスタイル情報の一部が表示される。まだ、Firefoxでしか検証していないので、他のブラウザではうまく表示されない可能性大。しばらく放置して、需要があるようなら、プラグイン化することも検討するかも。

(2009年 2月13日追記)JavaScriptを修正して、IE7、Opera9、Google Chromeでも正常に動作するようにした。


ページナビゲーション