[ < ] [ > ]   [ << ] [上] [ >> ]         [冒頭] [目次] [見出し] [ ? ]

9.1 Gnus をウェブブラウザにする!

Nnshimbun’ は Gnus のバックエンドです。しかしながら、例外的 に Gnus ではなくて emacs-w3m とともに配布されています。 ‘Nnshimbun’ は Gnus を並外れて便利なウェブブラウザにすることができ ます。すべての広告に煩わされずに新聞社のウェブサーバで記事を拾い読みする ことができます。メーリングリストの記事アーカイブを、そのリストに講読登録 しているように読むことができます。掲示板の書き込みも読むことができます。 等々... でも Gnus は ‘nnshimbun’ でウェブを介した投稿ができないので、 フォローしたいときは emacs-w3m を使わなければいけないことに注意してくだ さい。

さらに emacs-w3m で HTML メッセージを整形するには Gnus で HTML メールを読む も参照して ください。

Nnshimbun’ を始めるための一番簡単な方法は、グループバッファで以下 のようなことをすることです:

M-x gnus-group-make-shimbun-group <RET> asahi <RET> national <RET>

asahi’ と ‘national’ は、接続したいサーバーに対応したキーワー ドと興味のあるグループに、それぞれ置き換えてください。 <TAB><SPC> をタイプすることによって、それらの名 前を両方とも補完することができます。

もし gnus-group-mode-map に十分な空きがあるならば、以下のようなも のを ‘~/.gnus.el’ ファイルに加えてください:

 
(eval-after-load "gnus-group"
  '(define-key gnus-group-mode-map "Gn"
     'gnus-group-make-shimbun-group))

すると、M-x gnus-group-make-shimbun-group の代わり に G n を使うことができます。

誰かこのキーを Gnus タワーに予約してくれませんか?

この他に、gnus-group-make-shimbun-groups コマンドを使って、指定し たサーバーのすべてのグループを作ることができます。

Nnshimbun’ は単にウェブサーバから HTML コンテンツを取り寄せて、そ れを記事として表示しますが、永続記 事 (see (gnus-ja)Persistent Articles section ‘永続記事’ in The Gnus Manual) を 作る場合を除いて、ローカルファイルに記事をセーブすることはありません。 ‘Nnshimbun’ は NOV ファイルを、それぞれ の ‘nnshimbun’ グループで使います。そのバックエンド は ‘nnml’ とほぼ同じです。

以下の ‘nnshimbun’ に関する変数をカスタマイズすることが可能です:

nnshimbun-keep-backlog

この変数は ‘nnshimbun’ グループで gnus-keep-backlog 変 数 (see (gnus-ja)Article Backlog section ‘記事のバックログ’ in The Gnus Manual) を上書きします。もし nnshimbun-keep-backlog を数 字 n に設定すると、‘nnshimbun’ は最大で n の古い記事を 後の再取得のためにバッファに溜めておきます。この変数が nil ではな く、数字でもない場合、‘nnshimbun’ は すべて の既読記事を蓄え ます (これは良い考えではありません)。デフォルト値は 300 です。

Nnshimbun’ はあらかじめ取得した (prefetched) 記事の保存 に backlog を使うので、小さすぎる値は prefetch-articles 機能 (下 記参照) を損なうかもしれないことに注意してください。

nnshimbun-directory

Nnshimbun’ が NOV ファイルと印ファイルを保存するディレク トリです。デフォルト値は ‘~/News/shimbun/’ です。これはサーバー変 数 (see (gnus-ja)Server Variables section ‘サーバー変数’ in The Gnus Manual) です。

nnshimbun-default-group-level

gnus-level-default-subscribed を上書きする、デフォルトのグループ レベルです。新たに作られた ‘nnshimbun’ グループに適用されます。デフォ ルト値は nil です。これはサーバー変数 (see (gnus-ja)Server Variables section ‘サーバー変数’ in The Gnus Manual) です。

Nnshimbun’ は Gnus が提供する標準のグループパラメー タ(7) に加えて、‘nnshimbun’ 専用に設けられ たグループパラメータを利用することができます。複数の ‘nnshimbun’ 用 のパラメータが nnshimbun-group-parameters という単一のグループパ ラメータ (すべてのグループで違う値を持つことができる) にまとめられていま す。それはプロパティリストで、例えば次のような値です:

 
'(index-range all prefetch-articles off encapsulate-images on
              expiry-wait 6)

以降はこれらのグループパラメータと、関連する変数の説明です。

prefetch-articles

このグループパラメータが off または nil 以外の何かに設定さ れているグループでは、‘nnshimbun’ は新しい記事を探すだけではなく、 それらの記事のダウンロードも行います。これは新しい記事の検索を遅くします が、記事を閲覧するときに待たされません。このグループパラメータが設定され ていないか、その値が nil になっているグループでは、代わりに変 数 nnshimbun-pre-fetch-article の値 (デフォルトは off) が 使われます。

encapsulate-images

このグループパラメータが off または nil 以外の何かに設定さ れているグループでは、‘nnshimbun’ は元の記事に埋め込まれている画像 データを MIME の ‘multipart/related’ パートとして記事にはめ込みます。 このグループパラメータが設定されていないか、その値が nil になって いるグループでは、代わりに変数 nnshimbun-encapsulate-images の値 が使われます。この変数 nnshimbun-encapsulate-images のデフォルト 値は、‘shimbun’ ライブラリによって提供される変 数 shimbun-encapsulate-images の値です (たぶんデフォルト値 は t です)。

index-range

グループパラメータ index-range で、ウェブサーバーから取得される記 事の範囲を指定することができます。範囲の指定には以下の値を使ってください:

nil
all

すべてのページ

last

最新のページだけ

integer N

最新の N ページ

Nnshimbun’ はサーバー上に存在する目次ページを解析して新しい記事の 有無を調べます。サーバーによってはそのような目次ページが複数存在する場合 があります。例えば、メーリングリストの記事を提供しているサーバーの場合は、 その記事が投稿された日付によって分類された目次になっていることが一般的で す。特に遅い回線を利用している時に、それらすべての巨大な目次を調べるには、 相当な時間がかかるでしょう。

Nnshimbun’ は前回の接続時に調べた目次については、なるべく調べずに 済ませるようになっています。更に時間を節約したい場合は last を使っ てください。これは ‘nnshimbun’ に、最新の目次だけを参照して新しい記 事の検査を行なわせます。

グループパラメータ index-range が設定されていないか、値 が nil になっているグループでは、変 数 nnshimbun-index-range の値 (デフォルトは 2) が使われま す。

nnshimbun-group-parameters-alist

これは Emacs Lisp 変数で、グループ名の正規表現と ‘nnshimbun’ 用グルー プパラメータの連想リストです。デフォルト値は nil です。各々の要素 は ‘(REGEXP KEYWORD VALUE KEYWORD VALUE...)’ の形式を持ちます。例え ば:

 
'("^nnshimbun\\+asahi:" index-range all prefetch-articles off
  encapsulate-images on expiry-wait 6)

似た名前を持つ (すなわち、互いに似た性格を持っていそうな) 複数のグループ に対して同じ ‘nnshimbun’ グループパラメータを指定することができるの で、個々のグループに対してそれぞれグループパラメータを設定する代わりに使 うことができて便利です。もしグループですでにグループパラメータの設定が行 なわれていた場合は、この変数よりもそちらが優先されます。

Nnshimbun’ には記事の期限切れ消去を行なわせることができま す(8)。記事が期限切 れ消去されると言っても、それが遠隔サーバーから削除されるわけではなく、そ れはずっとそこから取得可能であることを覚えておいてください。消えるのはあ なた自身の ‘nnshimbun’ 用の NOV ファイ ル(9) の、 消去される記事に該当する行です。それによってその記事は二度と概略バッファ に現れなくなります。

Nnshimbun’ グループで記事の期限切れ消去を行なわない と NOV ファイルが際限無く太り続け、非常に古い記事があたかも存 在しているように見えるかもしれません (実際には、それらは新聞社のサーバー で三年前に期限切れ消去されてしまっているかもしれない!)。それを読もうとし ても記事バッファには何も現れないでしょう。一方、メーリングリストの記事を 提供しているたいていのサーバーは、一般的に過去の全記事を提供しています。 憂愁の彼方に去りし古き良き時代に、あなたが興じた記事を懐かしくうるうるし て読み返すことができるように、そういうグループでは期限切れ消去はさせたく ないと思うかもしれません。

他のメールバックエンドと同様に、‘nnshimbun’ のグループ毎に記事に自 動期限切れ消去の印を付けて、残しておく期間を設定することができます。ただ し ‘nnshimbun’ バックエンドと他のメールバックエンドには、少し違いが あります:

Nnshimbun’ の期限切れ消去に関係するグループパラメータと変数は以下 の通りです:

expiry-wait

どうか混乱なさらないように。expiry-wait グループパラメータ が ‘nnshimbun’ 専用に作られたグループパラメー タ nnshimbun-group-parameters の要素の一つとして提供されます。そ れは標準のグループパラメータと同じ名前を持ち、意味も同じです。あなたはど ちらを使っても構いません。もし ‘nnshimbun’ 専用のもの が nil 以外の値に設定されると、標準のものよりも優先されます。これ は ‘nnshimbun’ に関係するものを “Gnus Customize” バッファ (グルー プバッファで G c をタイプすると現れる) の一箇所に集めるためと、 変数 nnshimbun-group-parameters-alist で一括して管理できるように することを目的に用意したものです(10)。設定できる 値は標準のグループパラメータと同様に、時限消去の日数、never また は immediate です。

nnshimbun-keep-unparsable-dated-articles

この変数の値が nil でない場合は、作成された (または到着した) 時刻 がわからない記事は期限切れ消去されません。なにしろどのくらい古いのかわか らないんですから。デフォルト値は t です。nil に設定すると、 期限切れ消去の処理が行なわれるときに、期限がわからない記事でも無条件で消 されてしまいます。まあ、年の暮れの大掃除の役には立つことが判明するかもし れません。


[ < ] [ > ]   [ << ] [上] [ >> ]

この文書はTSUCHIYA Masatoshiによって2019年1月月30日にtexi2html 1.82を用いて生成されました。