タグプラグイン-0.3.1
- 2008年1月23日(水) 22:36 JST
- 投稿者: mystral-kk
- 表示回数 4,678
Geeklogを全ての人の手に!
2024年11月21日(木) 22:52 JST
Geeklogの記事は複数のカテゴリを指定できないので,後から記事を探そうと思ったら全文検索するしかない。他のブログシステム・CMSなら,マルチカテゴリやタグをサポートしているのに,実にお寒い状況だ。
そこで,タグ置き換えを利用し,記事に自分でタグを埋め込んでタグ付けをするプラグインを考えている。当サイトの右ブロックにはタグクラウドもどきとグローバルメニューにはタグが表示されているが,まだほんの試作段階だ。
今,ひっかかっているのは,プラグインのfunctions.incから外部スタイルシートを読み込むようにしていて,IE6では読み込むが,Firefox-2.0.0.11だと読み込まないということ。正確に言うと,FFでも読み込みはするがなぜか反映されない。ブラウザのキャッシュクリアやCSSファイルの文字コード指定の確認,スタイルに!importantを付加してもなぜか反映されない。でもこのCSSファイルをテーマデフォルトのstyle.cssからインポートするとFFでも反映される。なぜだろう?
タグ:タグ タグクラウド プラグイン geeklog 外部スタイルシート ie6 firefoxGeeklogの記事をMovable Type(R)形式のフォーマットでエクスポートするカスタム関数を作成してみた。これでいつでもGeeklogから他のブログシステムやCMSに移行できると思うと,安心して記事を書ける。まだ開発段階だが,そこそこ使い物になると思うので,必要な方はこちらからダウンロードしてください。
(2008年 1月 5日追記) エクスポートされたデータのうち,BODYを取り込めなかったバグを修正したバージョン0.1.1を公開しました。
(2008年 1月 7日追記)
seesaaに取り込む場合は,phpblock_geeklog2mt.phpの336行目を
. 'STATUS: ' . ($S['draft_flag'] == 0 ? 'publish' : 'draft') . LB
から
. 'STATUS: ' . ($S['draft_flag'] == 0 ? 'Publish' : 'Draft') . LB
に変えないと,インポートした記事がみな下書き状態になるというレポートをkinoさんからいただいた。
タグ:mt インポート geeklog2mt カスタム関数 Geeklogのコンテンツ取得を代行する[tech:Dataproxyプラグイン]とこのプラグインを利用する[tech:サイトマッププラグイン]がとりあえず完成し,当サイトとGeeklog.jpにて公開した。Dataproxyの方はまだ,基本的なデータ取得機能しか持たせておらず,キャッシュ管理機能などは実装していないが,そこそこ使えるものになっていると思う。サイトマッププラグインは,文字通りサイトマップの表示に加えて,Googleサイトマップも作成できる。拙作のGoogle Sitemap Generatorを使用されている方は,サイトマッププラグインをインストールする前に削除しておいてほしい。なお,サイトマップ・Googleサイトマップに含めることができるデータソースは以下の通り:
サイトマッププラグインの設定は全て管理画面から行え,config.phpを編集する必要はなくなっている。いったんインストールが済めば,Googleサイトマップの方は1日に1回自動的に更新されるので,lib-custom.php等をいじる必要もない。Geeklogサイトのコンテンツが赤裸々にあぶり出されるという意味では,怖いプラグインを作ってしまった。
タグ:dataproxy sitemap サイトマップ プラグインサイトマップとGoogleサイトマップを作成していて思ったのだが,どちらのプラグインも他のプラグインからデータを取り出す作業はほぼ共通。つまり,各プラグインごとにSQLを組み立て,データベース・テーブルからデータを読み込む。SQLを書く過程では,ユーザの権限(や多言語機能を有効にしている場合には,言語サフィックス)を意識しなければならない。IDを指定すれば,コンテンツを返すAPIを各プラグインが実装していれば少しは楽ができるのだが,Geeklogにはない(はず)。RSSフィード作成やサイトカレンダを作成するときも事情は同じ。みんなが車輪の再発明を行っている。DRY(Don't Repeat Yourself)ではなくRY(Repeat Yourself)というわけだ。
ということは,各プラグインからのデータ取り出しとキャッシュ管理を専門に行うプラグインを1つ作り,他のプラグインはこのプラグインが公開しているAPI経由でデータを取得すれば,みんなが幸せになれそうだ。プラグインの名前は,ContentsProxyでは長ったらしいので,DataProxyとでもしようか。
タグ:サイトマップ sitemap プラグイン google dataproxyGeeklog日本語版に同梱されているpublic_html/directory/sitemap.phpのソースコードを見ると??という感じだったので,新たに書き直して,静的ページや掲示板のトピック一覧も表示するように改造中。
コードを書いていると,以前作ったGoogle Sitemap Generatorのコードがかなり流用できることに気づいた。いっそのことプラグイン化して,人間用のサイトマップとGoogle用のサイトマップの両方をサポートするものにしてしまえば皆が幸せになれるかも。そういえば,以前,kimonoさんがリクエストを出していた気がする...
この作業が終わったら,RSS Aggregator改造版を見直す予定。RSSフィードの取り込みを強化し,RSSのフィルタリング機能を追加するつもり。こちらもプラグイン化した方が早そうだ。
タグ:サイトマップ プラグイン google rssGeeklogをベースにし,様々なビジネス用途のコンポーネントを組み込んだ[tech:nexPro] Portal Suiteがnextideにて公開されている。コンポーネントの多くはBlaineさんが開発したものを改良したもののようだが,見慣れないものもある。
以上の機能に加えて,掲示板とCAPTCHAが組み込まれている。基本的には,GPLでサポート有償というパターンのようだ。日本語できちんと動作するかどうかはさだかではないが,Geeklogベースの商業サイトをすぐに構築したい人にとっては,有力な選択肢の1つになるだろう。
タグ:nexpro geeklogGeeklog本家のサーバが移動した後,anonymousユーザでCVSにアクセスすることができなくなっていて,歯がゆい思いをしていた。CVSアクセスに関する説明によると,
cvs -d:ext:anonymous@cvs.geeklog.net:/cvsroot/geeklog co Geeklog-1.x
で良いはずなのだが,anonymousユーザは帰れと言われてしまう。extをpserverに変えても同じ。このときはMS Windows上でコマンドライン版のCVSを使っていた。
今日,メーリングリストを眺めていると,Tortoise CVSユーザが同じような質問をしていた。それによると,MS Windowsではextは使えず,sshにする必要があるとのこと。自分もTortoise CVSはインストールしていたので,やってみると成功した。以下はその覚え書き(というほどの代物ではないけど...)。
これでいつでも最新版のソースコードを眺めることができる。
タグ:geeklog cvs tortoisecvs