基本的なアイディア: slrnは、ある記事に対してスコア(点数)を与えることによって、その記事を 「スコア付け(採点)」します。ある記事のスコアがゼロより小さかったら、その 記事はすでに読まれたことになるか、削除されます。スコアファイルの目的は、 ひとつの記事がどんなスコアを持っているかを決定するためのテスト項目を定める ことです。スコアは、ヘッダのどんな項目を基にしてもいいのですが、効率的に するためには以下の項目のみにしたほうがいいです。 * Subject * From * Xref * References * Lines これに加えて、ニュースグループ名も項目に入ります。 スコアファイルの形式: ファイルの形式は非常に簡単です(下の実例を見てください)。ファイルは鍵括弧に 囲まれたニュースグループ名によってセクション分けされています。名前はワイルド カードの「*」を含んでいてもいいです。コメントは「%」から始まり、先頭の空白 文字は無視されます。 セクションはコメント行、空行、キーワード行からなります。キーワード行だけが 意味を持ち、先頭の空白文字は無視されます。キーワード行はキーワードの名前から 始まり、直後にコロンとスペースが置かれます。行の残りは通常、正規表現から成り ます。「~」が頭に付くキーワードは、逆に、そのキーワードで指示されるものが、 正規表現にマッチしてはいけないことを意味します。 キーワードのグループは、記事のヘッダに適用されるテストを決めます。 「Score」キーワードは、ヘッダがそのテストを通るときに与えられるスコアを 定めると同時に、テスト項目の区切ともなっています。スコアは任意の正整数、ある いは負整数です。しかし、ふたつの特別な値があって、それらは9999と-9999です。 もし、特定のテストのスコアがこれらふたつの値である場合、残りのテストは スキップされ、その記事にはこの特殊な値がそのまま与えられます。また、 「=」で始まるスコアの値は、ヘッダの残りの処理をここで止め、そのテストの 値となります。 「Score」キーワードと「Expires」キーワード以外は「~」のプレフィクスを取る ことが可能です。「Expires」キーワードがあるときは「Score」キーワードの直後に なければいけません。「Expires」キーワードは、それによって指定される日付 以後は、そのテストが適用されないことを指示します。例えば、 Expires: 4/1/1996 (or: 1-4-1996) は、そのテストが1996年4月1日以降は無効であることを示します。例の示すとおり、 日付はMM/DD/YYYYかDD-MM-YYYYか、どちらかの形式でなければなりません。 注意:これをニュースの記事のExpireヘッダと混同しないでください。 「Lines」キーワードも特別です。その値が正規表現ではなく、単なる整数だから です。これは、多すぎる行、あるいは少なすぎる行からなる記事を削除するような ときに使われます。例えば、 Score: -100 Lines: 1000 は、1000行より多い行の記事に「マイナス100点」を与えます。 同様にして、 Score: -100 ~Lines: 3 は、3行以下の記事に適用されます。 下は、slrnのスコアファイルの簡単なサンプルです: ------------------------------------------------------------- [news.software.readers] Score: 9999 % All slrn articles are good Subject: slrn Score: 9999 % This is someone I want to hear from From: davis@space\.mit\.edu Score: -9999 Subject: \ [comp.os.linux.*] Score: -10 Expires: 1/1/1996 Subject: swap Score: 20 Subject: SunOS Score: 50 From: Linus % Kill all articles cross posted to an advocacy group Score: -9999 Xref: advocacy ~From: Linus % This person I want nothing to do with unless he posts about % `gizmos' but only in comp.os.linux.development.* Score: -9999 From: someone@who\.knows\.where ~Subject: gizmo ~Newsgroup: development -------------------------------------------------------- このファイルはふたつのセクションから成っています。最初のセクションは news.software.readersというニュースグループに適用されるテストの組を定義 します。ふたつめのセクションはcomp.os.linuxというニュースグループに適用され ます。 最初のセクションは三つのテストから成ります。その最初のテストは「slrn」という 文字列を含むサブジェクトすべてに9999点を与えます。二番目のテストはFromヘッダ に適用されるもので、davis@space.mit.eduからポストされた記事はすべて9999点を もらいます。三番目のテストは「agent」という言葉を含む記事すべてに-9999点を つけます。テストは順番に行なわれるので、もしある記事が「slrn」と「agent」の 両方を含んでいたら、9999点を得ます。スコアの9999が特別な値だからです。 二番目のセクションはやや複雑です。comp.os.linuxというニュースグループに 適用され、五個のテストから成ります。最初の三つは簡単です。「swap」という 語を含むサブジェクトに-10点、「SunOS」という語を含むサブジェクトに20点、 Linusという人からの記事に50点を与えます。例えば、Bill@Somewhereという 人の「Swap, Swap, Swap」というサブジェクトを付けた記事には-10点を与えますが、 Linusが同じサブジェクトでポストしたら、-10 + 50 = 40点をもらいます。 最初のテストは1996年の初めに無効になることに注目しましょう。 四番目のテストはadvocayニュースグループにクロスポストされた記事はすべて 削除しますが、Linusにポストされた記事だけは例外です。「~」ではじまる キーワードでは正規表現の効果が反対になることに注意しましょう。 最後のテストは、someone@who.knows.whereという人からの記事を見たくない 場合ですが、comp.os.developmentニュースグループの中の「gizmos」について 書いてる記事だけは例外です。ここでも「~」の効果を見てください。 (訳者の追加) [ これだけでは、スコア付けされた結果がslrnでどのような効果を持つか わからないと思います。それはslrnのman pageに書いてますが、そっちはまだ 訳してないので、その部分だけ抜き出します(一部訳者が補筆) ] ARTICLE SCORING slrnは洗練された記事のスコア付けを実現しています。他のニュース リーダーでは、slrnのスコア付け機能の一部を「kill file」と呼んで いますが、slrnは他のニュースリーダーと違い、はるかに柔軟な方法を 使っているので、単に削除するだけでなく、さまざまなマーク付け機能を 持っています。 4レベルのスコア付けがあります: -9999 この値にスコア付けされた記事は削除されます(kill fileと同じ)。 そして、ヘッダウィンドウには表示されません。 -1から-9998 この範囲のスコアを持った記事はヘッダウィンドウにおいて「D」 印とともに表示され、そのグループを抜けるだけで削除されます。 0 通常の記事 1から9999 この範囲のスコアを持った記事はヘッダウィンドウにおいて「!」 印とともに表示され、重要な記事であることを示します。