geeklog2mtカスタム関数,mt2geeklogカスタム関数機能追加
- 2008年2月28日(木) 20:14 JST
- 投稿者: mystral-kk
- 表示回数 4,559
Geeklogを全ての人の手に!
2024年11月21日(木) 18:58 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 rss