スターターキットドキュメント
2004年に作成したブロッサムスターターキットのドキュメントです。
設置編、運用編、カスタマイズ編の3部作です。
設置編は、UTF-8文字コードでの設置手順をまとめたドキュメントです。
設置編は特に良く出来ていて、参考にされている方も多いですし、自分で設置する時も時々活用しています。設置する時に活用して下さい。
なお、設置サーバーや環境の違いでうまく設置出来ない場合も有り得ます。
運用編は、スターターキットを使って実際にブログを運営していく中で、私が実際に困ったり苦労したポイントを解説したドキュメントです。
これも、ブログ初心者の方には参考になると思います。
カスタマイズ編は、好みに応じてブログに機能を追加するなどのカスタマイズの一例(私のブログで実践している内容)をドキュメントにまとめています。
ここはまだ作成途中ですが、公開しちゃってます。
コメントプレビュー
MTではコメント投稿時に確認画面が有り、そこでプレビューして確認してから、コメント投稿出来て便利です。
編集画面のプレビュー方法を参考にコメント投稿者がプレビュー出来る様に以下の様に改造しています。
まず、head.htmを修正。
次に、foot.htmを2箇所修正。
但し、これを使う人はブラウザでJavaScriptを有効にしておく必要が有ります。
コメントURL自動変換
投稿されたコメント欄にURLやメールアドレス等が書かれていた場合に、それを短縮表記に変更する改造をしています。
- 対象: ブロッサムスターターキット付属のwriteback
- 効果: コメント投稿及びトラックバック受信のhttp,https,mailアドレスを自動的にリンクする
パッチ方法:
kyoさんのwritebackをダウンロードして来て、その中から2つのサブルーチン(sanitaizeとmake_link)をコピーして、例えば、format_timeサブルーチンの前あたりに貼り付けます。
次に、155行目あたりのsanitizeサブルーチンの呼び出し部分を以下の様に変更します。(sanitaizeの中ほどのaは誤記ではありません)
これでコメント部分は対応出来ます。
もし、トラックバックまで対応したい場合は、今度は追加したsanitaizeサブルーチンの中のif文を以下の様に変更します。
この自動変換は、.wbファイルへ書き込みする時点で行っておりますので、新規投稿分が対象です。過去のコメントは変換されません。
なお、現時点では特に不具合は無さそうですが、何か問題が残っているかもしれませんので、パッチをされる方は自己責任でお願いします。
コメントとトラックバックの分離
ブロッサムスターターキットではコメントとトラックバックが混在した状態で表示されてしまいますが、別々に表示させた方がすっきりして好きだという方が多いのではないでしょうか。
そこでコメントとトラックバックを分離させて表示する様に改造しました。
・writebackプラグインの改造
kyoさんのwritebackをダウンロードして来て、その中からサブルーチン(story)をコピーして、スターターキット付属のwritebackプラグインの同名のサブルーチンと交換します。
次に、そのサブルーチンの中を5箇所変更します。
・フレーバーの改造
no follow属性追加
コメントやトラックバックに対するスパムを送る事で検索エンジンのページランクを上げる試みを無効化するno follow属性を追加しました。
対応はwritebackプラグインで行います。
既に上記の改造を行っている状態で、no follow属性を追加します。
まず、sub make_linkの中の下記部分を修正。
次に、sub storyの中の下記部分を修正。
更に、厳密性を考えてhead.htmのheadタグの中で神崎さんが作成されたno follow属性のプロファイルを指定する為、以下の変更もしておきました。
メールアドレスリンクの変更
bskではコメント投稿フォームにURL/E-Mail:欄が有り、URLとメールアドレスのどちらかを記入する事になっているのですが、ここにメールアドレスを書き込むと投稿者の名前に対してリンクが貼られた形でWEB上に公開されてしまい、メールアドレス収集botに情報収集されてしまい、コメントを投稿していただいた方へのスパムメールの原因となってしまいます。
そこで、ここではwritebackプラグインのメールアドレスリンクを貼る部分を改造してスパムに収集されにくくします。
メールアドレスを投稿者の名前に対してリンクを貼る部分は、sub storyの中の下記if文の処理部分({}の中)になります。
・対応策1(メールアドレスリンクをやめる)
上記if文の処理部分を削除します。
⇒ リンクがなくなりますので、メールアドレス収集されなくなります。
(.wbファイルにはメールアドレスが記録されています。)
・対応策2(メールアドレスリンクの数値文字参照化)
1) 上記if文の処理部分を以下の様に変更する。
⇒ リンクが数値文字参照され、メールアドレス収集されにくくなります。
(.wbファイルには数値文字参照前のメールアドレスが記録されます。)
2) 適当な位置に(例えば、sub story サブルーチンの次にでも)以下のサブルーチンを配置します。
*)特にサブルーチン化しなくても良かったのですが、いただいてきた部分を独立サブルーチンとしています。
なお、表示時に数値文字参照しているので動的生成のblosxomでは過去を含む全てのコメントが変更されます。
追加プラグイン
moblosxomは、うぃね / uxine さんのホームページ
http://2-5d.net/blog/
で公開されているblosxom用のプラグインです。
少し前のバージョンV1.04を修正して使用しています。
修正内容や使い方等はテキストファイルにまとめておきました。
プラグインの変更はしていません。
フレーバーはfoot.htmlの先頭に以下を追加しました。
<div class="paging">
$paging::navi
</div><!-- paging end -->
<br />
<br />
そして、ここで定義したpagingをCSSに追加。
.paging
{
font-size: 80%;
text-align: center;
}
・guestbook
プラグインはConfigurable variablesの設定を以下の様に変更して使っています。
my $data_max = 100;
my $page_max = 3;
my $name_max = 80;
my $comment_max = 1600;
my $prev_link_string = "<< 新しい投稿";
my $next_link_string = "古い投稿 >>";
又、上記設定のmaxを超えた時に500エラーになるのを防ぐために、プラグインスクリプトを一部修正しています。
use strict; の後に、以下を追加。
use CGI::Carp qw(fatalsToBrowser);
フレーバー側ゲストブックを呼び出す為に、foot.htmlの途中に以下を追加。
<div class="sidetitle">
ゲストブック&メモ
</div><!-- sidetitle end -->
<div class="side">
$guestbook::guestbook
</div><!-- side end -->
長いURL等を書いた場合に、ゲストブックの表示エリアが横の伸びてしまうのを防止する為、CSSの.side の中に
word-break:break-all;
を追加しました。
小技Tips!
・ページの種類によってエントリ表示数を変える。
例えば、携帯のページ(下記では.m1という拡張子を持つページ)だけエントリ表示数を少なくしたいという場合、bskではconfig.cgiの記述を以下の様にすればいいです。config.cgiの中でif文使っているのはbskの流儀には反してるかもしれませんが、多めに見てあげて下さい。
蛇足ながら、拡張子の後に$をつけない様にしましょう。つけるとpagingした場合、表示が元に戻ってしまいます。
補助ツール
・color99改造版newpost.cgiへの改造ドキュメントです。
アンディーさん作の新規投稿スクリプトnewpost.cgiの改造内容をまとめた物です。
主な改造内容は、
- 表示文字コード指定追加(Shift-JIS以外へも対応)
- 投稿画面を日本語表記に変更
- 未来投稿可能(過去投稿は現在投稿に自動変更;過去投稿禁止)
- 新規カテゴリへ(ディレクトリを作って)投稿可能
- 自動エントリ名の記述形式を変更(_による区切り及び秒表示追加)
- タイトルと本文を大きくし、本文の上にHTMLエディタを装備
になります。
自作プラグイン紹介
ブロッサムで使える自作プラグインを紹介しています。
動作確認はブロッサムスターターキットで行っていますが、標準的なブロッサムにも対応しているつもりです。
・ご使用に当たってのお願い。
ダウンロードされた方は掲示板に報告お願いします。
動作保障は出来ませんので自己責任でお使い下さい。
拡張スパムブロッカー plugin
ブロッサムスターターキットに同梱されているwritebackプラグインのスパム対策を拡張する事を目的に作られたプラグインです。
デフォルト設定のままプラグインフォルダーに設置するだけでほとんどのサーバーで動作します。
現バージョンでは、writebackへのコメント及びトラックバックとguestbookへのコメント投稿に対して同時に機能します。
更に、弾いたスパムについてはログ記録で残す事が出来ます。
フリーのプラグインとして提供しています。
2重投稿防止 plugin
blosxomではコメント投稿後にリロードすると2重投稿になってしまいます。
プラグインフォルダーに設置するだけでこれを防止する為のプラグインです。
writebackとguestbookへのコメント投稿に対して同時に機能します。
フリーのプラグインとして提供しています。
A quick preview will be rendered here when you click "Preview" button.