2017年9月24日(日) 06:41 JST

Twitterプラグイン

  • 投稿者:
  • 表示回数 4,810
プラグイン

今年の春に試験的に実装していた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さんに感謝します。


カスタム検索関数

  • 投稿者:
  • 表示回数 3,618
Geeklog

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


Twitterクライアント

  • 投稿者:
  • 表示回数 3,917
プラグイン

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


KZ_Templateクラス

  • 投稿者:
  • 表示回数 4,332
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のコアファイルを改変しなくても使えるので、それなりの価値はあると思う。


メタタグプラグイン

  • 投稿者:
  • 表示回数 5,816
プラグイン

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

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

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

descriptionの場合は、

  [meta:desc 説明]

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


Autosaveプラグイン

  • 投稿者:
  • 表示回数 4,640
プラグイン

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

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

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

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


Style Viewer公開

  • 投稿者:
  • 表示回数 3,954
JavaScript

当サイトでデモを行っていたStyle Viewerを公開した。単なるJavaScriptなので、Geeklogだけでなく、どのようなWebアプリケーションにも使用できる。使用法は同梱のreadme_ja.txtを参照のこと。Geeklog向けにprofessionalとProfessionalCSSテーマ用の差し替えファイルを同梱している。ダウンロードはこちらからどうぞ。

なお、Geeklog以外をご使用で、かつ、<script>タグの書き方もわからないという人は手を出さない方が吉。


Style Viewer

  • 投稿者:
  • 表示回数 4,380
Geeklog

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

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


Geeklog-1.5用のPrecheck試作

  • 投稿者:
  • 表示回数 3,565
Geeklog

少し時間ができたので、Geeklog-1.5.x用のPrecheck(インストール前診断)を試作してみた。db-config.phpの位置をビジュアルに探す機能とデータベースの接続をリアルタイムでチェックする機能付き。JavaScript(というか、DOM)の挙動の違いに戸惑った。Firefoxではエラーコンソール(+ Firebug)が克明にエラー原因教えてくれるので楽勝だが、IE7ではDeveloper Toolbarを入れていてもあまり役に立たない。ベースになるAjaxのライブラリは最低限の機能を備えた軽量のものをということで、SitePointのcore.jsを使用した。興味のある方は、こちらからダウンロードしてほしい。

PS. なお、使用後は必ず、admin/installディレクトリごと削除すること。放置しておくと、サーバのファイルツリーがある程度見えてしまう危険性がある。