ウェブデザインとプログラムのナインマイルズ

s9yドキュメント

プラグインを使う

  1. このセクションのオリジナルドキュメント
  2. ..(ユーザードキュメント)
  3. 一般的な使い方
  4. s9yに同梱で利用可能な内部サイドバープラグイン
  5. s9yに同梱で利用可能な外部サイドバープラグイン
  6. s9yに同梱で利用可能なイベントプラグイン
  7. プラグインの拡張

一般的な使い方

プラグインはどう役に立つのか?

Serendipityの基盤は、ブログオーナーにとってエントリの作成と管理が簡単にできるよう設計されています。 プラグインによって、ブログオーナーにはこの機能のさらなる拡張が、訪問者にはより多くの情報が提供されます。 Serendipityには、サイドバープラグインイベントプラグインの2つのタイプのプラグインがあります。

サイドバープラグインはブログの左または右のサイドバーに表示されます。 カレンダーや、エントリについたコメント一覧、完全にカスタマイズされたHTMLブロック(ナゲット)などの情報を小さなブロックとして表示するのに非常に便利です。
サイドバープラグインは通常とてもシンプルで、たいていはリンクを含んでいるだけです。 ただ、例えばshoutboxプラグインのようにもっと複雑なものもあります。

イベントプラグイン

イベントプラグインは、Serendipityのデータの操作方法を簡単にできるよう変更します。 これはs9yの内部のパワーをカスタマイズする強力な方法です。
Serendipityによって機能する全てのアクション(エントリ表示、エントリ保存、エントリ編集など)のために、我々のコードはイベントプラグインを実行させる特別なフック機能の中に書かれています。
例えば、イベントプラグインはあなたの好みのテキストマークアップに対応することができます。
Wiki, BBコード, HTML, s9yマークアップなどの様々な(そうでもないかも)マークアップ一覧から選択可能です。

これらのフック機能が与えられた役目を遂行し、プラグインを実行させます。 それから(エントリ保存のような)タスクを完了するためにデータがs9yに返されます。

フック機能の一覧については我々のプラグインAPIを見てください。 ずばり1行のコードによってあなたが求めるいかなる部分にもイベントフックを加えることが可能です。まさに創造的なことです :-)

プラグインのインストールと設定

プラグインは管理スイートの中からのみインストールと設定ができます。 インストール済みのサイドバー及びイベントプラグインを表示するにはプラグイン設定をクリックします。 Serendipityに既にインストールされているいくつかのプラグインは既に設定されていますし、あなたの/pluginsディレクトリにはもっとたくさんの利用可能なプラグインがあります。

各インストール済みのプラグインには数個のオプションがあることに気づくと思います。
アンインストールのためのチェックボックス、プラグイン設定のためのアイコン、利用制限のためのドロップダウン、プラグインの順番を決める上下向きの矢印アイコン、そしてサイドバープラグインの場合は、プラグインを左に表示するか右に表示するかそれとも隠すのかを決めるドロップダウンリストがあります。

イベントプラグインはサイドバーには表示されないので、上下の矢印アイコンはプラグインが実行される順番を調整するものとなります。 いくつかのイベントプラグインは、自身が正しく動くために他のプラグインを先に実行させる必要があります。

いずれのタイプの新規プラグインをインストールする際も非常に簡単で、各セクション上部にある新しいサイドバープラグインをインストールする新しいイベントプラグインをインストールするのリンクをクリックするだけです。 さてこれで、あなたは利用可能な全てのプラグイン一覧を得ましたので、新しいプラグインをインストールするのに必要なことは、プラグインの説明の右にあるアイコンをクリックするだけです。

Serendipityが新しいプラグインのインストールに成功したら、プラグインの動きを変更するための設定画面が表示されます。 プラグインの複雑さはそのプラグインがどの程度の設定項目を要しているかにより、何も必要としない場合もあります。 設定変更を保存したらインストール済みプラグイン一覧に戻ります。

もしあなたが以前にインストールしたプラグインを設定したい場合は、プラグインの名前をクリックすれば設定画面に移動します。いくつかのかなりシンプルなプラグインには設定画面はありません。

外部にあるプラグインのインストール

ダウンロードのために外部プラグインを利用可能にするには、かなりの負荷がかかっています。 我々のプラグイン/アドオンのリストをご覧ください。

外部プラグインをインストールするにはいくつかの方法があります。

SPARTACASを使って

Serendipity0.8からは、SPARTACASという名のイベントプラグインを用意しました。 これはリポジトリマネージャープラグインとしてインストールできます。 プラグインマネージャーの中に自分自身もフックして、「オンラインリポジトリからプラグインを取得する」ためのリンクを追加します。

このリンクをクリックするとSerendipityは自身と我々のリポジトリを接続し、 利用可能なプラグインの一覧を取得しそれらを表示します。 これであなたは同梱されたプラグインの時と同様に、プラグインをクリックするだけでインストールできます。 ファイルは自動的にダウンロードされます。

このいくらか試験的なプラグインには3つの重要な注意点があります。

  1. SpartacusはSourceForge.netのネットサービスへの外部接続を必須としています。 つまりあなたのウェブブラウザがHTTP転送をブロックしないようにしてください。
  2. SourceForge.netのCVS閲覧サーバは時々遅くなったりレスポンスが無いことがあります。 「File not Found」エラーが出たり、プラグインがダウンロードされないことになります。 こんな時は辛抱して後から再度試してください。
  3. Spartacusが新しいファイルをインストールできるようにするために、あなたの/pluginsディレクトリに対して書き込み権限を要します。 従いまして、あなたのインストール環境にもよりますが、/pluginsディレクトリのパーミッションを例えば777のように変えてください。
    これを忘れると「Could not create file...」のようなエラーメッセージが出るはずです。

CVSチェックアウトを通してインストール

我々のadditional_pluginsリポジトリをCVSを用いて、個別ディレクトリにチェックアウトすることが可能です。 それからあなたのserendipity/plugins/ディレクトリの中にそれらの追加プラグインディレクトリのシンボリックリンクを作れば結構です。Serendipityは入れ子になった新しいプラグインの一覧を認識するので、簡単にプラグインのインストールができます。

必要なものはLinuxやWindowsの基本的な知識とCVSの使い方を知っていることです。

プラグインをダウンロード

ViewCVS file browser(※注:本家のドキュメントではリンク切れなので、本家とはアドレスを変更しています。)またはNetmirror.orgにおいてある全プラグインのスナップショットのどちらかからダウンロード可能です。

ひとつのプラグインは常に、例えばserendipity_event_trackbackのような一つのディレクトリから成っており、その中に最低でも一つのファイルが含まれています。 もしviewCVSを用いるのでしたら、それぞれのファイルをクリックすれば説明ページが表示され、最初の方にあるDownloadをクリックすれば最新バージョンのファイルを取得できます。 ファイルを保存したら、/pluginsサブディレクトリの中に移動してください。
なお、その前にそのプラグインと同じ名称のディレクトリ(今回の場合は、serendipity_event_trackback)を作っておいてください。 そして、そのディレクトリの中にserendipity_event_trackback.phpファイルを保存します。

ファイルを全てダウンロードした後、Serendipityのプラグイン管理にアクセスすれば、利用可能プラグインの一覧にあなたが取得した最新プラグインが表示されるでしょう :-)

Netmirrorのスナップショットファイルをダウンロードした場合も同様です。 tarボールを適当なディレクトリに解凍したら、Serendipityの/pluginsサブディレクトリに、ご希望のファイルとディレクトリをコピーしてください。

s9yに同梱で利用可能な内部サイドバープラグイン

s9y同梱プラグインの一覧です。 これらはインストールから除くことはできません。

カレンダー

サイドバーにカレンダーを表示します。 エントリのある日はハイライト表示され、それらエントリのページにリンクされます。

設定

クイックサーチ

ユーザーが検索語句を入力して、それにマッチしたエントリ一覧を表示できるようにするための小さなフォームを表示します。 MySQLユーザーの場合は、MySQLのver3.23.23以上を必要としますので注意してください。

アーカイブ

エントリの過去3ヶ月分一覧へのリンクを表示します。

トップリファラ

あなたのブログに訪れたリファラの一覧を表示します。

設定

トップ退出

退出追跡イベントプラグインと共に動き、あなたの記事で言及している外部サイトのURLへの訪問を読み取ります。 ユーザーがそれらのリンクをクリックすると、s9yはクリック数をカウントします。 そしてこのプラグインは外部への訪問の上位一覧を表示します。

設定

このブログの配信

利用可能な配信フォーマットを表示します。 これはRSSフィードへのリンク一覧です。

設定

ブログ管理

ブログ管理画面へのリンクを表示します。

パワードバイ

ブログに我々の「powered by」ロゴを表示します。
これでみんながあなたのことを優秀なブロガーだと思うでしょう ;-)

HTMLナゲット

ブログカスタマイズのためにぜひ使いたい最もパワフルなプラグインの一つに挙げられます。 ご希望ならあなたのサイトにもっと多くのナゲットプラグインを追加できます。 ひとつに制限はされません。

HTMLナゲットの中身には、どんなHTMLやJavascriptのコードでも好きなだけ使えます。

設定

カテゴリ

あなたの作ったカテゴリ一覧を表示します。 こうすることで、ユーザーはリンクをクリックすれば、そのカテゴリに含まれる記事だけを読むことができます。

設定

リモートRSSフィード

外部のRSSをあなたのブログに埋め込んで表示することができます。 複数のフィードを表示したい時にはこのタイプの複数のプラグインを挿入可能です。 フィードはキャッシュされ、キャッシュが生存時間を超えた時だけアップデートされます。

設定

s9yに同梱で利用可能な外部サイドバープラグイン

s9yではプラグインのサブディレクトリ構造内に外部プラグインも格納されています。 そこに好きなようにいくつでもプラグインを加えたり、削除したりできます。

コメント

あなたのブログに最近投稿されたコメントを表示します。

設定

クリエイティブコモン

このプラグインは同名のイベントプラグインとセットです。 イベントプラグインでの設定に基づいて、あなたが選んだクリエイティブコモンのライセンスがサイドバーに表示されます。

イベント出力ラッパー

イベントプラグインは通常、サイドバープラグインの出力に関連付けられていることはありません。 しかしながら、将来的にそうなる可能性が常にあります。 コンテントリライターイベントプラグインのように。 このプラグインは(ある種の用語集のような)単語の一覧を生成します。 もしサイドバーの中にイベントプラグインの出力を表示したい場合は、サイドバープラグインのイベント出力ラッパーを使用する必要があります。

設定

最近のエントリ

最近のエントリの一覧が表示されます。

設定

一言箱

ユーザーが任意にコメントを入力できる簡単なフォームを表示します。 これらのコメントは、エントリに関連付けられるのではなく、すぐにサイドバーに表示されます。

設定

テンプレートドロップダウン

このプラグインはテンプレート選択イベントプラグインとセットです。 サイドバーに利用可能なテーマ一覧を表示し、全ての訪問者があなたのブログのレイアウトを自分の好みに選択できます。

設定

s9yに同梱で利用可能なイベントプラグイン

コンテントリライター

これは非常にパワフルなプラグインで、変換ルールに基づいて書き換えられた単語一覧を挿入します。 詳しく示すと、あなたは「PHP」と言う単語を常に「<code><a href="http://www.php.net/" title="PHP Hypertext Preprocessor">PHP</a></code>」という風に書き換えたいとします。
このプラグインを使うことで、こんな長い文章を毎回タイピングする必要がなくなります。

もしあなたが入力した用語集を表示させたい場合は、イベント出力ラッパーサイドバープラグインを使うことができます。

設定

ここはあなたが書き換えしたい単語を実際に編集して挿入する場所です。 また、あなたはここで"from"と"to"による書き換えルールを編集できます。

次に具体例で説明します。 「test」と言う単語を常に「testing, one two」と書き換えたいとします。 設定パネルにはこのように入力します。

書き換え文字列:"{to}"

書き換え文字:""

新しいタイトル({form}):"test"

新しい説明({to}):"testing, one two"

書き換え文字列は{to}と{from}の変数を利用できることがわかると思います。 新しいタイトルの値は書き換え元である「{from}, "test"」となります。 新しい説明の値は変数{to}となり、あなたが設定した「"testing, one two"」に書き換えられるわけです。

たいていの場合は、{from}と{to}を用いて何か特別なHTMLマークアップを加えるために、書き換え文字列を使うことになるでしょう。 これらの変数は(<a href="{to}" title="{from}">{to}</a>)のようなHTMLマークアップに最適です。

さて、Serendipityはいつでも、あなたの設定した「test」という単語を見つけると、一時的な変数{from}に「test」を保存します 。
そしてそれが書き換えられるべき単語なのかどうか調べ、変数{to}に保存されます。 その後、あなたが設定した書き換え文字列を検索し、書き換え文字列の解析内容と「test」を置き換えます。 このように{to}だけが確定するので、{from}変数は完全に消えます。

マークアッププラグイン:感情表現、BBコード、NL2BR、s9yマークアップ、textile、textwiki

お好みのいろいろなテキスト書式でブログエントリを作ることができます。 これらのプラグインが無ければ純粋にHTMLコードを挿入しなければなりません。 もしあなたが初心者である場合、おそらくWYSIWYGモジュールを有効にすべきでしょう。 また、もしかするとBBコードやTextileやWikiのような有名なマークアップ書式にはすぐに慣れると思います。

いずれかのプラグインを挿入できますが、TextwikiとBBコードを同時に使うと互いに干渉するためお勧めできませんので気をつけてください。 でもs9yマークアップとBBコードは一緒に使っても問題ありません。

感情表現プラグインはスマイルマークを画像に変換します。 画像はあなたのテンプレートディレクトリに保存されているものを使います。

NL2BRプラグインはエントリ作成中の改行をHTMLの改行タグに変換します。

設定

それぞれのマークアッププラグインは、そのマークアップ方式があなたの記事の簡単なテキストにのみ適用されるか、拡張本文やコメントにも適用されるかどうかを制御するために共通の設定を共有します。 従いまして、コメントのためにBBCodeプラグインを有効にできますが、それらを自分自身ために無効にもできます。 また、マークアッププラグインをHTMLナゲットに適用するかどうかも選択できます。

退出追跡

特別な方法で記事の中のURLをマークアップし、訪問者によるリンクのクリックをデータベースに保存します。 トップ退出サイドバープラグインを使うことでこのデータを表示させることが可能です。

設定

電子メールでエントリを送信する

このイベントプラグインを使うと投稿した記事を一つのメールアドレス(もちろん、メーリングリストにも)に送ることができます。

設定

統計情報

バックエンド機能でさえイベントプラグインによるカスタマイズが可能です。 このプラグインを使うと、あなたのブログについての様々な統計情報を確認できる新しいリンクが管理スイートに現れます。

設定

テンプレート選択

ユーザーごとにあなたのブログの外観を変更可能とします。 このためのドロップダウンボックスを表示させるには、このプラグインと同時にインストールされるテンプレートドロップダウンサイドバープラグインを見てください。

アナウンスエントリ一覧

このプラグインは記事の作成と編集インターフェイスをフックします。 有名なXML-RPC pingサービスの一覧が表示されるので、あなたが記事の投稿を知らせたいサービスにチェックを入れます。 pingを送信するホストによっては、最大1分ほどかかる場合もあることをご了承ください。

設定

HTML検証

このプラグインは記事の作成と編集インターフェイスをフックします。 自分の記事のHTMLコードを検証し、間違いがないかどうか確認するには、チェックボックスにチェックを入れます。 このサービスはW3Cのサービスに依存していますので、自然にタイムアウトすることがあります:-(

プラグインの拡張

プラグインのAPIを見てください。

Serendipity