The articles are displayed in the article buffer, of which there is only one. All the summary buffer share the same article buffer.
The top section of each article is the head. (The rest is the body, but you may have guessed that already.)
There is a lot of useful information in the head: the name of the person
who wrote the article, the date it was written and the subject of the
article. That's well and nice, but there's also lots of information
most people do not want to see - what systems the article has passed
through before reaching you, the Message-Id
, the
References
, etc. ad nauseum - and you'll probably want to get rid
of some of those lines. If you want to keep all those lines in the
article buffer, you can set gnus-show-all-headers
to t
.
Gnus provides you with two variables for sifting headers:
gnus-visible-headers
nil
, it should be a regular expression
that says what headers you wish to keep in the article buffer. All
headers that do not match this variable will be hidden.
For instance, if you only want to see the name of the person who wrote
the article and the subject, you'd say:
(setq gnus-visible-headers "^From:\\|^Subject:")
gnus-ignored-headers
gnus-visible-headers
. If this
variable is set (and gnus-visible-headers
is nil
), it
should be a regular expression that matches all lines that you want to
hide. All lines that do not match this variable will remain visible.
For instance, if you just want to get rid of the References
line
and the Xref
line, you might say:
(setq gnus-ignored-headers "^References:\\|^Xref:")Note that if
gnus-visible-headers
is non-nil
, this
variable will have no effect.
Gnus can also sort the headers for you. (It does this by default.) You
can control the sorting by setting the gnus-sorted-header-list
variable. It is a list of regular expressions that says in what order
the headers are to be displayed.
For instance, if you want the name of the author of the article first, and then the subject, you might say something like:
(setq gnus-sorted-header-list '("^From:" "^Subject:"))
Any headers that are to remain visible, but are not listed in this variable, will be displayed in random order after all the headers that are listed in this variable.
Mime is a standard for waving your hands through the air, aimlessly, while people stand around yawning.
MIME, however, is a standard for encoding your articles, aimlessly, while all newsreaders die of fear.
MIME may specify what character set the article uses, the encoding of the characters, and it also makes it possible to embed pictures and other naughty stuff in innocent-looking articles.
Gnus handles MIME by shoving the articles through
gnus-show-mime-method
, which is metamail-buffer
by
default. If gnus-strict-mime
is non-nil
, the MIME
method will only be used it there are MIME headers in the article.
Set gnus-show-mime
to t
if you want to use MIME all
the time; it might be best to just use the toggling functions from the
summary buffer to avoid getting nasty surprises. (For instance, you
enter the group `alt.sing-a-long' and, before you know it,
MIME has decoded the sound file in the article and some horrible
sing-a-long song comes streaming out out your speakers, and you can't
find the volume button, because there isn't one, and people are starting
to look at you, and you try to stop the program, but you can't, and you
can't find the program to control the volume, and everybody else in the
room suddenly decides to look at you disdainfully, and you'll feel
rather stupid.)
Any similarity to real events and people is purely coincidental. Ahem.
The gnus-article-display-hook
is called after the article has
been inserted into the article buffer. It is meant to handle all
treatment of the article before it is displayed. By default it contains
gnus-article-hide-headers
, which hides unwanted headers.
Other useful functions you might add to this hook is:
gnus-article-hide-citation
gnus-article-hide-signature
gnus-article-treat-overstrike
gnus-article-maybe-highlight
gnus-article-remove-cr
gnus-article-de-quoted-unreadable
gnus-article-display-x-face
You can, of course, write your own functions. The functions are called from the article buffer, and you can do anything you like, pretty much. There is no information that you have to keep in the buffer - you can change everything. However, you shouldn't delete any headers. Instead make them invisible if you want to make them go away.
A few additional keystrokes are available:
gnus-article-next-page
).
gnus-article-prev-page
).
Message-Id
and you press
r, Gnus will try to get that article from the server
(gnus-article-refer-article
).
gnus-article-mail
). If
given a prefix, include the mail.
gnus-article-show-summary
).
gnus-article-describe-briefly
).
gnus-article-prepare-hook
gnus-article-display-hook
gnus-article-mode-line-format
gnus-summary-mode-line-format
. It accepts exactly the same
format specifications as that variable.
gnus-break-pages
nil
, the articles will be divided into pages whenever a
page delimiter appears in the article. If this variable is nil
,
paging will not be done.
gnus-page-delimiter