# brisket `brisket` is a primitive newsreader script, capable of fetching posts and posting to NNTP servers. It's dead simple and lacks any sort of fancy TUI, opting instead for an interface inspired by the Unix philosophy: posts are read from stdin, and are written either to stdout or to text files in a directory. You _probably_ don't want to use it in its current state. ## Installation `brisket` is self-contained and depends only on Hy core and the Python standard library. Provided that both Hy and Python are installed, you should be able to invoke `brisket` in the following ways. ```sh $ chmod u+x brisket.hy # Install globally. $ cp brisket.hy /usr/local/bin/brisket # Or # I'd rather just run it from the repository. $ ./brisket.hy ``` ## Usage Running `brisket` without any arguments will give a list of recognized commands. ```sh $ brisket usage: /home/jakob/.bin/brisket [command] [args] recognized commands: - describe-group - help ... ``` The documentation for any command can be obtained with the `help` command. ```sh $ brisket help describe-group Describe the first group matching the pattern. usage: describe-groups [pattern] ``` ### Configuration Upon running `brisket` for the first time, a default configuration file will be written to `$HOME/.config/brisket/config.ini`. The hostname for the NNTP server you wish to connect to can be specified here. Alternatively, the hostname can be specified with the `$NNTPSERVER` environment variable. Currently, the only way to specify credentials for authenticating with the NNTP server is with a line in `.authinfo.gpg`. See [here](https://www.emacswiki.org/emacs/GnusAuthinfo) for more information. ### Exploration A list of groups available on the server can be obtained with the `list-groups` command. ```sh $ brisket list-groups control control.cancel control.checkgroups control.newgroup control.rmgroup junk orbitalfox orbitalfox.test ... ``` Descriptions, if available, can be obtained with the `describe-group` command. ```sh $ brisket describe-group junk Unfiled articles (no posting). ``` ### Reading Posts can be fetched with the `fetch-posts` command. Without any additional arguments, this will fetch *every* post on the server, which probably isn't what you want. You can specify a specific group and article ID to fetch. Additionally, if "-" is in the argument list, the article will be printed to stdout. ### Posting Posts can be posted with the `post-article` command. ## Why the name? I couldn't come up with a better name, and there's little in the world that makes me happier than a smoked brisket. ``` ________ < Uhm... > -------- \ ^__^ \ (oo)\\_______ (__)\\ )\\/\\ ||----w | || || ```