💾 Archived View for g.nubecita.online › emacs › gnus.org captured on 2023-01-29 at 02:42:49. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
It's a news (NNTP) and Feeds (RSS/Atom) downloader and reader. It is organised as follows:
- Servers are shown in the Server and Browse Serve buffers and they have:
- Groups are shown in the Group buffer (the first one) and they have:
- Articles which are shown in the Summary buffer.
The usual NNTP servers is gmane. Feed servers may require an Elisp code to be supported (Atom particulary) and can be found in any Web page.
Groups have a DNS-like name, ex.: gmane.com.emacslife.planet (the name is inverted as the original DNS were thought).
:PROPERTIES:
:ID: e1522b45-a7c2-49ef-866e-6cbe7c6d9833
:END:
Mark reference.
| ! | Important |
| ? | Dormant |
| R | Read |
| r | Marked as read |
| O | Old |
| E | Expirable |
:PROPERTIES:
:ID: 8a2fabe9-0e60-4125-b28c-3914d501ca75
:END:
Keyboard in Group buffer:
| L | list-all-groups |
| t | topic-mode |
| c | catchup-current |
|---+--------------------------|
| u | unsuscribe-current-group |
| g | get-new-news |
|---+--------------------------|
| ^ | enter-server-mode |
| s | save-newsrc |
| q | exit |
| R | restart |
Keyboard in Summary view:
| D/d | mark as read |
| C-w | mark region as read |
:PROPERTIES:
:ID: 1aea978a-078c-4537-a622-3507384d7a36
:END:
The Server buffer lists the servers already suscribed and their connection status. The user can disconnect a server making it unabailable for retrieving new updates. A group list can be retrieved from this buffer by pressing ~RET~ on any server name.
To access the Browse Server, on the Group buffer (the first one) press ~^~ key to enter the Server buffer, and the press ~RET~ on any server hostname. If you know an NNTP server hostname, press ~B~ on the Group buffer.
The Gnus Browse Server buffer lists all the groups registered on a particular server. It has the following elements in its list: A suscription key, number of messages, and the group name. The user can suscribe any group, but they can read the groups without suscribing to them at all. The following is an example of news.gmane.org server as displayed by the Gnus Browse Server buffer:
25628: gmane.announce
K 41: gmane.comp.accessibility.tanaguru
K 6492: gmane.comp.accessibility.vision
K 409: gmane.comp.ai.alicebot.devel
K 145: gmane.comp.ai.annevolve.devel
K 218: gmane.comp.ai.case-based-reasoning
K 3448: gmane.comp.ai.conceptual-graphs
The first line in the example shows the group =gmane.announce=, with 25628 messages in it. The user is suscribed beacuse no suscription key is present. The second line state another group with ``K'' as suscription key, meaning no suscription by default, because the user has not set anything yet.
| Suscription keys | Meaning |
|------------------+-----------------------------------|
| Empty | Suscribed |
| K | No suscription/nothing setted yet |
| U | Unsuscribed by user |
Some hydra functions to guide and remember how to use Gnus.
(defun my/hydra-toggle-verbosity (hydra-name)
"Toggle verbosity of HIDRA-NAME hydra"
(hydra-set-property hydra-name :verbosity
(if (or (null (hydra-get-property hydra-name :verbosity))
(eq 0 (hydra-get-property hydra-name :verbosity)))
1
0)))
(defhydra hydra-gnus-group (:hint nil :color pink)
"
gnus-group
â•â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â•¯
_c_ Catchup current (mark all articles in current group as read)
_RET_ Read group (enter Summary buffer)
Visibility:
_L_ Show all groups
_t_ Show topics (group categories)
Server management:
_B_ Browse foreign server (when you know the host name)
_\\^_ Enter server mode (registered server host names)
Hydra:
_h_ Toggle verbose
_q_ Exit
"
("RET" (progn
(gnus-topic-select-group)
(hydra-gnus-summary/body)
(hydra-push '(hydra-gnus-group/body)))
"Read group")
("c" gnus-group-catchup-current "Catch-up all current")
("L" gnus-group-list-all-groups "List all groups")
("t" gnus-topic-mode "Toggle view topics" )
("B" gnus-group-browse-foreign-server "Browse foreign server"
:exit t)
("^" gnus-group-enter-server-mode "Enter server buffer"
:exit t)
("q" nil "Hydra, quit."
:exit t)
("h" (my/hydra-toggle-verbosity 'hydra-gnus-group)
"Hydra, toggle verbosity."
:exit nil))
(defhydra hydra-gnus-summary (:hint nil :color pink)
"
gnus-summary
â•â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â•¯
Mark | Previous/Next ...
_d_/_D_ mark as read forward/backward | _P_/_N_ P/N article
^^_C-w_ mark region as read | _M-down_/_M-up_ P/N thread
_q_ exit gnus-summary
"
("d" gnus-summary-mark-as-read-forward)
("D" gnus-summary-mark-as-read-backward)
("C-w" gnus-summary-mark-region-as-read)
;; ("q" gnus-summary-exit)
("q" nil :exit t))
(require 'ox-gemini)
(org-export-to-file 'gemini "gnus.gmi")