ホーム > HTML
に役立つヒント>ADSLでMACサーバ・実験
室 >AppleScript Simple
blog解説
Simple blog(簡易blog)というだけあって、blogというのは名ばかりです。トラックバック機能もなく、管理機能が貧弱ですし、JAVAscriptや HTMLの知識がないと機能を全部使うことができません。CSSの知識がないと見た目を変えるのも大変です。なので「簡易blog」であります。blog もどきともいう(^^;
なにしろ自分で使えればいいやって感じでアバウトに作成しましたんで、他の人には使いにくいんじゃないかと思われます。
また、AppleScriptで組まれたCGIですので、スピードが遅いです(閲覧だけならCGIを通さないのでそこそこ速いで す)。
こちらでデモをやっています。管 理機能を見るだけならこちら。
本格的なblogを構築したいなら、OS Xで「iblog($19.95)」 とか、@niftyのココログでも使っている「Movable Type(ライセンスがいろいろあって、個人で使う分には3blogまでの制限付きで無料)」などを導入するといいでしょう。
AppleScriptですから、当然Macintoshが対象マシンです。OSは旧MAC OSです。もっとも、検証しているのはこのサーバで使っているOS 8.5と、開発環境であるOS 9の2つだけです。OS 8以降なら大丈夫と思いますが、保証はできません<(_ _)>
OS Xでは動作しません。OS Xが動くようなら本物のblogシステムが動くでしょう。そちらを使った方が百倍いいです。このシステムはもっと古くて非力なマシンをターゲットにしてい ます。例えばうちのサーバのようなPowerBook 5300とか。
外部CSSを使っている関係で、webサーバが「web共有」では表示がうまくいきません。というのも、web共有ではCSSファイ ルの送り出しに不具合があり、OS X版Mozillaやその派生物(Firefoxなど)では外部CSSを認識してくれないからです。web共有のこの現象を解消する方法は「web共有のメモ」をご覧くださ い。面倒なら「Quid Pro Quo」を使って下さい。
搭載している機能は次の通り。
ASSblog.cgi
●新規記事の投稿
管理者だけしか投稿できないようにも、誰でも投稿できるようにもできます。誰でも投稿できるようにすると、掲示板的な使い方もできま す。カテゴリ分けを活用してテーマごとに掲示板の部屋を作るとよりいいでしょう。
が、ツリー形式掲示板と比 べると話の見通しが悪いので、掲示板としては魅力に欠けます。
●コメント
コメントは誰でもできるようになっています(カテゴリごとに禁止も可能。次項)。新しいコメントをページの上部に追加していくか、ページの下部に追加して いくか選択できます。途中で切り替えるとえらいことになるのでご注意。最初にしっかり決めておく必要があります。後述のリードオンリーカテゴリに指定する とコメントはできなくなります。
●自動リンク機能
発言・コメン トの中に「[http://〜]」があると、その部分をリンクに変更します。前後に「[]」が必要な点に注意。単純にURLがあったら自動リンクすると、 スパムに狙われ安いための措置です。
●リードオンリーカテゴリの指定
リードオンリーカテゴリを指定できます。新規投稿(誰でも)とコメントができなくなります。
ただし、管理機 能を使うと発言禁止カテゴリでも発言が可能です。コメントはリードオンリーの指定に準拠しますので、管理機能からもコメントできません。管理機能には記事 の編集機能がありますので、これを使って付け加えることは可能です。
●リストアップ機能
カレンダー機能がない代わりに、リストアップ機能を付けました。最近○○日間にあった新規投稿記事、またはコメントのあった記事の一 覧を表示します。
●検索機能
1キーワードでしか検索できない簡 易検索機能です。
●メール送信機能
新規記事投稿/コメントが あった場合、管理者にメール送信することができます。別途、田中先生の「UVJ_Mailer_3.0」が必要です。
● ログ出力
投稿・コメントの際にログを出力できます。
●RSSの 出力
投稿・コメントの際にRSSを出力できます。ただし、文字コードはEUC-JPです。EUC-JPの rdfを認めないRSSリーダーではうまく動かないでしょう。
Firefoxでは一応RSSとして認識され ますが、「ライブブックマークを読み込んでいます」と表示されてうまく動作しません。EUC- JPが原因かも。
safari 2.0は持っていなくて未検証です。
サーバが非力で動作が遅い場合は、添付の別アプリ (outputRSS)で定期的にログからRSSを作成することもできます。
●投稿・コメント拒否IPアドレ スの指定
投稿・コメントを拒否するIPアドレスを指定できます。IPアドレスは投稿・コメントの際にログ ファイルに出力されます。ただし、拒否IPアドレスの範囲指定(xxx.yyy.zzz.0〜xxx.yyy.zzz.255など)はできません。
●禁止語の指定(ver.0.92で追加)
名前、email、URL、タイトル、内容の いずれかに禁止語が含まれると投稿・コメントを拒否できます。ただし4,000語まで。
禁止語はうかつに設 定すると「濡れ衣」が発生することがあります。慎重に設定してください。こちらに 設定例があります。この設定例では「正会員」「商品券」などの単語も入っていますが、雑談系であればこれらの単語がでてくる可能性は ありますので、必要に応じて取捨選択して設定する必要があります。
禁止語で実際に禁止されるかチェックする 「おまけ」もつけました。
●日本語の文章か判定(ver.0.92で追加)
外国からのスパム、URLを書き並べるだけのスパムに対抗するため、日本語の文章かどうか判定し、そうでないとなったら発言を拒否します。ただし、日本語 判定は完全ではありません。「賛成」のような一言発言は日本語ではないと判定されるという欠点を持ちます。
●URL 欄と同じURLが本文中にあると宣伝と判断(ver.0.92で追加)
宣伝・スパム対策の一つとして、 URL欄と同じURLが本文中にあると宣伝と判断して、発言を禁止します。
管理CGIの機能
管理用CGIは別立てになっています。管理CGIの機能は次の通り。正直言って、管理CGIは付け足しの感じが強いです。HTMLが わかっている人にとっては、管理CGIを使うより直接ファイルをいじった方が速いです。
なお、管理機能はパ スワードを入力する必要があります。サーバがQuid Pro Quo(QPQ)の場合、管理CGIにアクセスする際にQPQで設定したID/パスワードを入力する必要があります。
● 管理CGIの起動 / 管理CGIの終了
管理CGIが起動しているときは、blog CGIは動きません。管理が終わったら必ず管理CGIを終了する必要があります。●blogの設定/データの 編集
- blogの設定/データの編集 blogの設定や、左サイドのメニュー、マイ リスト(リンクリスト)などの編集ができます。
- 新規カテゴリの追加 新しいカテゴリを作ります。この操作 の後、上の設定変更でカテゴリリストを追加する必要があります。
●blogの記 事管理
- 新規記事投稿 新規記事が投稿できます。
- 記 事の編集 記事を編集します。実は記事以外のあらゆるテキストファイルも編集できます。投稿禁止アドレスの編集は、この機能で「noIp.txt」を指定 して編集します。
- 記事の削除 記事を削除します。記事ファイル自体の名称を「記事.html」から「記 事.htm」に変更します。実際にファイルを削除しません。 automenu.js/カテゴリhtml/日付順htmlを変更する機能は未搭載。
- カ テゴリの移動などは行えません。
欠点
CGI の負担を減らすために、JAVAscript、CSSを使っています。よって、JAVAscript/CSS対応のブラウザでないと意図したような表示に なりません。トップページにはJAVAscriptがOFFの場合、警告が表示されるようになっています。
また、JAVAscript、CSSをコントロールする機能を持っていません。HTMLの知識がなくても設置・運営できるのがblogの最大の特徴なの に、機能をフルに使おうと思うとHTMLどころかJAVAscriptやcssの知識も必要だったりします(^^;
blog の特徴である、トラックバック機能は付いていません。力量不足です<(_ _)> これが一番の難点です。
スパムや荒らしなどがあった場合、発言やコメントの削除は手作業でやる必要があります(ある程度は管理機能で可能)。これが管理面で 一番大きな欠点といえます。
また、ファイルのアップロードなどは無理ですので(サーバアプリが WebSTARならできるらしい)、画像アップの機能はありません。デモページで画像を使っていますが、いったん発言した後、管理機能/記事の編集機能で 画像リンクを貼って表示させています。ASSblogの機能ではありません。このあたり、HTMLの知識がないといけないわけで…。
このCGIの動作には田中求之さんの「Tanaka's OSAX」が必要です(必須)。メール送信するなら同じく田中さんの「UVJ Mailer」 が必要です。メールしなくても、lib.plのコンパイル時に、UVJ Mailerが必要です。この2つをあらかじめダウンロードし、インストールしておいてください。
ファイ ル、構成は次のようになっています。assblogというフォルダ名は適当に変更してください。
assblog
├readme
│ ├index.html このファイルです。
│ └hint2.css このファイル用のcssです。
│
├blog.acgi.txt0911 blog.cgiの元
├automenu.js 各種設定・データ保存用ファイル
├blog.css CSSファイル。このCSSの変更で見た目を変える。
├lib.pl blog.cgi、管理用CGIの設定・共通ルーチンファイル。
│
├index.html トップページ
├newer.htm 最新投稿一覧ページ
├newercmt.htm 最新コメント一覧表示ページ
│
├newcontent.htm 誰でも投稿できる投稿用画面のテンプレ
│
├date 日付順html格納用フォルダ
│ └index.html 日付順htmlトップページ
│
├mylist マイリスト(リンク)html格納用フォルダ
│ └index.html マイリストhtmlトップページ
│
├image 画像入れ
│
├test テストカテゴリ用フォルダ。
│ └index.html テストカテゴリのトップページ
│
├tmp テンプレートフォルダ
│ ├@category@.tmp カテゴリ一覧のテンプレ
│ ├@date@.tmp 日付順一覧のテンプレ
│ ├@find@.tmp 検索結果表示のテンプレ
│ ├@mod@.tmp ○○日以内検索結果のテンプレ
│ └@num@.tmp 記事ページのテンプレ
│
└admin 管理用フォルダ(サー バによっては名前を変更した方が安全。lib.pl.txtの設定参照。)
├index.html ダミーファイル。
├index.htm 管理用ページファイル。ここにアクセスする。
│
├blog_admin.acgi.txt082 管理用CGI元
├title.js タイトル表示用JAVAscript
├kanrimenu.js メニュー表示用JAVAscript
├blog.css 管理用CSS
│
├omitwd.dat 禁止語ファイル。設定例が入っています。必ず編集して使ってください。
│
├editfile.htm 編集記事指定画面
├editfilecont.htm 記事編集画面
├delcontent.htm 記事削除指定画面
├jsedit.htm 設定/データ編集指定画面
├jseditcont.htm 設定/データ編集画面
├newcontent.htm 新規投稿画面(管理者用)
├newctg.htm 新規カテゴリ追加画面
│
├manual.htm 管理者マニュアル。目を通しておいてください。
│
└outputRSS.txt おまけのRSS出力別アプリ。必要に応じてコンパイルして使う。
automenu.jsの設定
多くの設定 は.jsファイルで行います。必ず次の赤字の部分だけを変更し、余分な半角スペースや改行を入れないようにご注意下さい。逆に半角スペースをとってしまっ ても(数字の直前など)動作しなくなります。これもご注意。
必ずテキストエディタで開いて編集してくださ い。
/* ==============ここから変数の設定開始= ============= */
/* ==============ベースURL、タイトル名、フッタの設定============== */
/* assblogのあるURLを記述する。RSS出力等で使用。 */
/* //blogUrl endの部分も1行のママにしておいてください。 */
blogUrl = "http://aaa.bbb.co.jp/assblog/";//blogUrl end※↑この設定は、よそのサーバから不正に投稿されるのを防ぐために、リクエストして きた先をチェックするためのものです。CGIは呼び出し元をチェックしてこの文字列(または自分自身を指す「127.0.0.1」)がないと不正な呼び出 しと判断します。
/*■タイトル■*/
titleMoji = "<a href=\"http://www1.kiwi-us.com/~mizusawa/penguin/index.html\" target=\"_top\">ホーム</a>タイトルの上に表示する部分。必要なければ空にする。 <br>";
myTitle = "AppleScript Simple blog";
/*■タイトルend■*//*■フッタ■*/
myFoota = "by AppleScript Simple blog (ASSblog) ver.0.92";
/*■フッタend■*/※↑タイトルやフッタは適当に改変して使ってください。著作権表 示なども必要ではありません。
/* ==============ほかの人にも新規書き 込みを許すか============== */
anyoneMakeFile = "1";//誰でも投稿できるなら1。禁止は0/* ==============RSS出力関係============== */
putRss = "1";//RSS出力するなら1。しないなら0
rssTitle = "ASSblogのRSS"; //RSSのタイトル
rssDisc = "ASSblog の発言・コメントのうち、最新15をピックアップしています。"; //RSSの解説※↑RSS 出力をONにすると発言・コメント時にRSSファイルを生成しようとしますので、処理に時間がかかります。OFF(0)にすると発言・コメントのスピード が速くなります。その際はおまけのRSS生成スクリプトadmin/outputRSS.txtで定期的にRSSを作成するとよいでしょう。やり方は後述します。
/* ==============メニューに表示するリストの最大数============== */
/* サイドメニューには、各項目とも最大100のデータを持つことができます。 */
/* 100のうち、いくつまでを表示するか、ここで指定できます。 *//*■記事リスト数■*/
newContentListMax = 10;/*■コメントリスト数■*/
newComtListMax = 10;/*■カテゴリ数 ■*/
categoryListMax = 30;/*■日付数■*/
dateAllMax = 100;/*■トップの記事数■*/
topMax = 5;/* ==============メニューに表示する機能============== */
/*0 ならマイリストをHTMLで表示。1ならサイドメニューにも表示。*/
showMyList = 0;※↑ リンクリストが少なければサイドメニューに表示させておくといいでしょう。リンク先が増えてきたらサイドの表示をやめて、HTML (mylist/index.html)だけで表示させるようにしてください。
/*0な ら「最近○○に地に投稿・コメントされた記事の検索」を表示しない。1ならサイドメニューに表示。*/
daysFind = 1;/*======== ====== 変数の設定はここまで =================*/
●この他 に、カテゴリリストとマイリストがあります。それぞれ次のようになっています。
/*■カ テゴリーリスト■*/
/*フォルダ名(tab)カテゴリ名(tab)0/1 1は書き込み禁止*/
categoryList = new Array(
"$$$カテゴリリスト$$$"
"test テスト 0" ,
""
) ;
/*■カテゴリーリストend■*/※↑カテゴリを追加した 場合は管理機能を使うか、直接ファイルを開いてここを書き換えてください。これを書き換えないと、カテゴリがサイドメニューに表示されません。
/*■マイリスト■*//*URLが空だと分類と判断します。*/
/*サイドメニュー表示の場合は解説は表示されません。*/
/*"タイトル URL 解説" */
myListAr = new Array(
"ホーム ページ"
"penguin-19s Home http://www1.kiwi-us.com/~mizusawa/penguin/index.html penguin-19のホームページ。"
""
) ;
/*■マイリストend■*/※↑よーするにリンク集です。タイトル名のみで、URL・解 説がないとリンクの分類だと判断します。blog、ホームページ、お料理、映画関係など、リンク先を分類したい場合に使います。
例として「ホームページ」という分類と僕のホームページが記入してあります。これらも削除して使ってください。blog.acgi.txtの設定
このファイルでは特に設定する必要はありません。 次のlib.pl.txtで設定したものを自動的に読み込みます。
lib.pl.txtの設定
設定兼データファイルであるautomenu.jsファイルは、.jsファイルなのですべての人に見られてしまいます。よって、バレ ちゃいけない設定はここで行います。ここで行う設定は、blog.cgiと管理用CGIの両方で使われます。
ス クリプト編集プログラムで開いて編集してください。次の赤い文字の部分を変更します。管理用ディレクトリ名と管理者宛のメール設定以外は変更しなくても大 丈夫です。「1頁の最大KB数(cmtFileMax)」というのは一つの記事がこれ以上の容量になった場合、それ以上コメントできないようにするもので す。あんまり長く続くとメモリ不足で処理できなくなりますので。
on Initialization() --以下の変数はCGIの基本的な設定なので変更してください。
set omitWdFile to "omitwd.dat" --禁止語のファイル名
※↑管理ディレクトリの下に置くのでこのままの名前でもOK。空にするとチェックしません。禁止語で発言を拒否した 場合、「ぬれぎぬ」でないことを確認するため、下のadminMailが空でなければメール送信するようになっています。できればメール送信も設定した方 がいいでしょう。
set cmtPosition to "down" --新しいコメントをページ上部につ けるならup。下につけるならdown。
set adminDir to "admin:" --管理機能ディレクトリ。変更するのが吉※↑管 理ディレクトリ名を変更するのはどこに管理ファイルが置かれているのか他人にわからないようにするためです。が、サーバがQPQの場合はadminという 名前のディレクトリやCGIにアクセスしようとすると、必ず認証がかかるように設定できますので、adminのままでも安全に運用できると思われます。
なお、ディレクトリ名の後に「:」を忘れずに。setlogFile to"logFile" --ログfile名。空だと出力せずRSSも使えない。管理の中
set logFileMax to"300" --ログfileの最大KB数
set noIPaddressFile to"noIp.txt" --拒否するIPの書かれたファイル。空だとノーチェック。管理の中
set cmtFileMax to "30" --1頁の最大KB数
setadminMail to "" --管 理者にメール。空だとメールしない。UVJ Mailerのnickname※↑ 発言・コメントがあったときにメール送信してほしい場合、田中先生のUVJ Mailerで設定した送信先ニックネーム(File→ Address Book メニュー)をここに書きます。複数の宛先に送る場合はUVJのニックネームの設定で、2つの宛先を記載しておきます(一つのニックネームに複数の宛先を書 いておく)。
また禁止語があったために発言拒否した場合、「ぬれぎ ぬ」でないことを確認するため、メール送信先の設定がしてあると、メール送信するようになっています。
return {cmtPosition, adminDir, logFile, logFileMax noIPaddressFile, adminMail}
endInitializationblog_admin.acgi.txt(管理CGI)の設定
設定箇所は一つだけで、 管理者のパスワードです。次の赤い文字の部分を変更します。テキストエディタでも、スクリプト編集プログラムでも、どちらで開いてもかまいません。
---------- パスワードは必ず変更してください。
property adminPassWd : "guest" --パスワード。必ず変更してください。■■管理のみ検索エンジン 対策の変更(index.html)
automenu.jsでJAVAscriptが各記事ページへのリ ンクを出力するようになっています。しかし、実は検索エンジンのロボットはJAVAscriptまでは解釈してくれないため(たぶん)、そのままではロ ボットから見るとリンク切れとなり、トップページしか見つけてくれません。
日付毎のページ (date/index.html)にはすべての発言に対して通常のリンクが貼ってあります。従って、トップページからdate/index.htmlに リンクを仕込んでやれば検索エンジンも拾ってくれるはずです。というわけでトップページに仕込んである隠しリンクが次の部分です。
<span style="display:none"><A HREF="date/index.html">検索エンジン対策リンク</A>有効ではないと思われたら display:noneのstyleタグを削除して様子を見てね。</span>
これで表示はされないけどリンクはされる、ということになります。なるはず。だと思う。検索エンジン、スタイルタグの解釈まではして ないよね、きっと。うまくいかないようなら<span style="display:none">を外してください。こんな感じ。
<A HREF="date/index.html">検索エンジン対策リンク</A>
このあたり、検証が不十分なんす<(_ _)>
設定が終わったら、ASSblog.cgiと管理CGI、外部ファイルlib.plの3つをコンパイルします。「スクリプト編集プロ グラム」には3MB程度メモリを割り当ててください。そうしないとエラーがでてコンパイルできないようです。
1. 「スクリプト編集プログラム」でblog.acgi.txtを開きます。
2. 「ファイル」→「別名で保存」を選択します。
3. ファイル名を「blog.acgi」にします。フォーマットは「classicアプリケーション」にします。
4. 「実行後、自動的に終了しない」「初期画面を表示しない」にチェックを付けて保存します。
5. できあがったcgiまたはacgiには、メモリを1000kbから4000kb程度割り当ててください。管理用cgiはそこまで必要ないでしょう。
6. blog_admin.acgi.txtを開いて1〜5を繰り返します。フォーマットは「classicアプリケーション」、保存名は
「blog_admin.acgi」とします。
7. lib.pl.txtを開いて変数を設定し、今度は「コンパイル済みスクリプト」として保存します。保存名
は「lib.pl」にします。メモリの割り当ては不要です。
あらかじめUVJ
Mailerを立ち上げておいてからコンパイルして下さい。でないとlib.pl.txtのコンパイル時にテキストでしか保存できないというエラーが出ま
す。UVJ
Mailerが立ち上がっているのにこのエラーが出た場合、お使いのUVJ Mailerと、lib.pl.txtに書かれているUVJ
Mailerとバージョンがあっていない可能性があります。lib.pl.txtを開いて、「UVJ
Mailer」の名前をお使いのバージョンに書き換えてください。
コンパイルが終了したら、さっそくindex.htmlにアクセスしてみてください。
コンパイルが終わった.txtファイル は、別の場所に移動させるか削除しましょう。でないと設定を読まれる可能性があります。
前述のように「putRss = "1"; //RSS出力するなら1。しないなら0」とすると、新規発言・コメント時にRSSを出力しようとします。遅いサーバの場合、ただでさえ非力なサーバにさ らに負荷をかけることになり、反応が返るまでにかなり時間を食います。
そんな時はここの設定を「putRss = "0"; //RSS出力するなら1。しないなら0」として、発言・コメント時にRSS出力をしないようにします。代わりに、cronアプリケーションを使い、 outputRSSを定期的に走らせてRSSを出力するようにします。
1.outputRSS.txtをコンパイルする。設定する必要は特にありません。「スクリプト編集プログラム」で開き、「ファイル」 →「別名で保存」を選択します。 フォーマットは「classicアプリケーション」で、「初期画面を表示しない」にチェックを付けて保存します。ファイル名は「outputRSS」がい いでしょう。
2. cron アプリケーションにoutputRSSを登録します。僕は「MaCrond」 というフリーのcronアプリケーションを使って、1日4回RSSを出力させています。
なお、出力されるRSSファイル(blog.rdf)はEUC-JPとなります。本当はUTF-8にしたかったんですが、 AppleScriptではUTF-8に変換できません<(_ _)> このため、EUCを受け付けないRSSリーダーなどで不具合がでる可能性があります。
最初に用意してある「テスト」カテゴリ(testという名前のフォルダ)はテスト用ですので、これを使って新規投稿やコメントなど存 分にテストしてください。実際に書き込みやコメントしてみると、全体の動きがよく判ると思います。
新規投稿したりコメントしたら、該当のhtmlファイルを開いたり、データファイルであるautomenu.jsを開いて、どんなふ うに変更されているか見てみると、仕組みがわかると思います。
テストが終わったら、さっくり削除し、automenu.jsも初期状態に戻すとよいでしょう。
「assblog/help.htm」にはユーザー向けの使い方が書かれています。必要に応じてこれも書き換えておくとよいでしょ う。
次のファイルをダウンロードし、解凍してください。
●assblog092r3.lzh/assblog092r3.zip 2006/9/15 管理CGIでまたバグが発覚。管理CGIだけblog_admin.acgi.txt084r2にアップしました。すでにダウンした方は、これをダウン して管理CGIだけ入れ替えてください。.lzhと.zipがありますが、中味は同じです。
●assblog092r2.lzh/assblog092r2.sit 2006/9/9 0.92と管理CGI 0.84のセット。下の二つの合わせ技です。.lzhと.sitがありますが、中味は同じです。
●admin084.lzh 2006/4/26 管理用 CGIver.0.84です。下のASSblog 0.92に含まれている管理用CGIにバグがありました。そのままだと起動に失敗します。こちらに差し替えてください<(_ _)>
新たにダウンロードする方は、下の092.lzhをダウンロードし、管理CGIファイルだけこちらに差し替えてください。●assblog092.lzh 2005/12/15 ver.0.92です。0.91/0.911からのアップ手順は「92readme.txt」 をクリックしてください。このファイルはアーカイブに同梱されています。
・(機能追加)名前、email、 URL、タイトル、内容のいずれかに禁止語があると、発言・コメントを拒否する機能が付きました。その分動作は重くなります。拒否語ファイル名が空なら チェックしません。
・(機能追加)新規発言・コメント時に加え、禁止語で発言が拒否された場合もメール送信します(メール送信先の設定がしてある場合)。これはぬれぎぬを チェックするためです。
・(仕様変更)メール送信の内容を追加しました。IPアドレス、タイトル/コメント先、名前、email、URL、内容、拒否発言で引っかかった単語(拒 否した場合だけ)を送信するようになりました。
・(機能追加)発言内容が日本語の文章かどうか判定し、そうではないとなったら発言を拒否します。外国からのスパムに対抗するためです。しかし、ひらがな の有無でチェックしているので、「賛成」のような一言発言は日本語ではないと判定されるという欠点を持ちます。
・(機能追加)URL欄と同じURLが本文中にあると宣伝と判断して発言を拒否する機能が付きました。
・(機能追加)最新記事一覧ページ、最新コメント一覧ページが追加されました。
・(機能追加)半角カナを全角に変換する機能を盛り込みました(JAVAscriptによる変換)。「禁止 語テスト」というおまけも入っています。これは設定した禁止語で実際に発言が通るかどうかチェックするユーティリティです。禁止語はうまく設定しないと 「濡れ衣」を着せてしまう諸刃の剣なので、よく考えて設定しましょう。
●assblog0911.sit 2005/11/11 0.91にあったバグ取り版です。0.91をお使いの方は、できればこのバージョンにアップしてください。0.91からのアップ手順は「911readme.txt」をクリックしてください。これは アーカイブに同梱されています。
・(バグ取り)正しく設定しても、サーバチェックに失敗し、サーバチェックエ ラーを出すバグを修正した。
・(バグ取り)入力内容にタブがあった場合削除するようになった。
・新規発言の際、プルダウンメニューのカテゴリ選択が、最初はどのカテゴリも選択していない状態になった。
●assblog091br5.sit 2005/7/25 automenu.jsにRSS出力をON/OFFどちらに設定してもメニューにRSSへのリンクが表示されてしまうバグが発覚。まー、実害はないです が。すでに運用しちゃってる人はこ ちらを見てautomenu.jsを修正してください。
●assblog091br4.sit 2005/6/3 r3のblog.cssを、Windows対策を施した2005/6/2版(下のcss20050603.sit)に差し替えたも の。他のファイルに変更なし。r3をダウンした人は、下のcssをダウンして差し替えてください。
●css20050603.sit 2005/6/3 下のassblog091br3.sitに含まれるblog.cssでは、WindowsのIEで左サイドのメ ニューが切れてしまうことが発覚。こちらと差し替えてください。
●assblog091br3.sit 2005/5/27 またまたまたすみません。管理CGIに大きなバグが発覚。管理CGIを0.83にアップしたパッケージです。必ずダウンし直して下さ い<(_ _)>
●assblog091br2.sit 2005/5/27 またまたすみません。admin/editfile.htmの解説の記述が一部間違ってました。機能にはなーんも関係ありませんので、 assblog091b.sitをダウンされた方はこちらをダウンする必要はありません。
●assblog091b.sit 2005/5/26 すみません。5/24版の「assblog091b.lzh」はOS Xで固めたせいか、旧MAC OSで解凍するとうまく解凍できませんでした。新たに圧縮し直しましたので、「assblog091b.lzh」をダウンされた方は、お手数ですがこちら をもう一度ダウンロードしてください<(_ _)>
●assblog091b.lzh 2005/5/24 バージョン0.91βです。最初で最期(?)の公開版です。assblog.cgiは0.91、管理cgiは0.82です。
(サポートはできる限 りhttp://mizusawa.no-ip.info:8080/blogcgi/support/index.htmlで 行う予定です。ただし、これ以上機能を追加したりという開発はやるつもりは今のところありません)
●ASS blog CGIのバージョン履歴(非公開版)
--ver.0.91 2005/4/26 IPアドレスの 出力をlogだけに変更。頁容量制限追加(コメント時)。
--ver.0.90 2005/4/11 safariではリダイレクトがうまくいかない。このため、対策としてリダイレクトを廃止し、必ず画面を生成 するようにした。
--ver.0.89 2005/4/4 ページトップの「一つ前の記事」「一つ後の記事」のリンクを廃止し、記事の位置を示すために「トップページ>カ テゴリ>記事」のリンクとした。
--ver.0.88 2005/3/30 JAVAscriptでベースタグを出力する方式から、HTMLから直接通常のリンクを貼る方式に変更。けっ こう大手術だった。
--ver.0.87 2004/3/25 新規発言の際、前の記事が削除されているとスクリプトが止まるバグを修正。
--ver.0.86 2004/3/17 記事の要約でリンクが途中できられるバグを修正。
--ver.0.85 2004/2/27 トップページの記事要約を300バイトに制限。
--ver.0.84 2004/2/23 最近○○日以内に修正のあった(つまり新規投稿・またはコメントがあった)ファイルを検索できるようにし た。カレンダー機能の代わりである。
--ver.0.83 2004/2/19 CGI変数のうち、見られてもかまわない変数を.jsファイルに移行。いちいち変数を読み込むのを止め、. jsファイルが変更されていたら変数を読み込み直すようにした。
--ver.0.82 2004/2/17 .jsファイルをひとつにまとめ、日付順の書き出し方を変更した。
--ver.0.8 2004/2/11 ユーザー変数と管理CGIとの共通ルーチンを外部ファイルに。
--ver.0.71 2004/2/8 RSS出力内容を変更。
--ver.0.7 2004/2/7 ログの自動リネーム機能追加。
--ver.0.61 2004/2/6 別アプリだと立ち上がるまでのタイムラグが大きく、結局遅くなるのでRSS出力機能をこのCGIに吸収。
--ver.0.6 2004/2/5 新しいコメントをページの上部につけていくか、下部につけていくか、選択可能に。書き込み禁止掲示板の指定が可能 に。ログの出力を変更。RSS出力を別アプリで実現。
--ver0.5 そろそろ仕上げたいので処理中に変更される変数をpropertyから各ハンドラ中のローカルな変数に書き換え。これによって処理ス ピードは落ちるがしょうがない。
-- 管理機能動いているときはCGIの動作を停止、発言停止機能を追加(管理者の発言は管理機能へ移行)。
--ver0.4 2004/1/29 メール送信、自動リンク機能、アクセス拒否、ログ出力、IPアドレス埋め込み機能搭載
--ver0.3 2004/1/29 検索機能を搭載
--ver0.2 コメント機能を搭載
--ver0.1 新規発言機能を搭載●管理用 CGIのバージョン履歴(非公開版)
--ver.0.83 2005/5/27 0.82でエンバグしていたことが発覚。くくぅ。記事の書き換えをOSAX使用に戻した。
--ver.0.82 2005/5/17 サーバがQPQの場合、記事の書き換えができないことが発覚。OSAXを使わないファイル書き込みに変更して 対処した。
--ver.0.81 2005/4/26 IPアドレスの出力をlogだけにした。
--ver.0.8 2005/4/11 safari対策でリダイレクトヘッダを使用しなくなった。
--ver.0.7 2005/4/4 0.89に合わせて記事リンクを変更。
--ver.0.6 2005/4/2 カテゴリ追加機能復活。
--ver.0.5 2005/3/30 機能追加はない。本体の仕様変更に合わせて変更したバージョン。
--ver.0.4 2004/3/25 「設定/データ編集」「新規カテゴリ追加」機能を搭載。
--ver.0.3 2004/3/23 「記事変更」機能を搭載。「新規記事投稿」機能をblog.cgiにあわせて変更。
--ver.0.2 2004/2/12 blog.cgiと共通ルーチンを分離した。
--ver.0.1 最初のバージョン。
作者は水沢・penguin-19・和彦です。
が、これはフリーウェアです。ご自由に使用・改変・改造品の再配布ができます。作者に断る必要はありません。代わりに動作保証もあり ませんし、このスクリプトを使ったことで何らかの障害・損害を被った場合もなんの補償もありません。
もし、このスクリプトを使っているという奇特な方がいらっしゃったらご連絡ください。リンクさせていただきます。
ホー
ム
> HTML
に役立つヒント>ADSLでMACサーバ・実験
室 > AppleScript
Simple blog解説