nom

module
v2.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2024 License: GPL-3.0

README

nom

Feed me

nom is a terminal based RRS feed reader using Glow styled markdown to improve the reading experience and a simple TUI using Bubbletea.

  • Local sync and offline reading
  • Backend connections (miniflux, freshrss supported)
  • Vim style keybindings for navigation
  • Plenty more features such as mark read/unread, filtering and feed naming

Install

$ go install github.com/guyfedwards/nom/cmd/nom@latest

See releases for binaries

Config

Config lives by default in $XDG_CONFIG_HOME/nom/config.yml

Feeds

Add feeds with the add command

$ nom add <url>

or add directly to the config at $XDG_CONFIG_HOME/nom/config.yml on unix systems and $HOME/Library/Application Support/nom/config.yml on darwin.

feeds:
  - url: https://dropbox.tech/feed
    # name will be prefixed to all entries in the list
    name: dropbox 
  - url: https://snyk.io/blog/feed

You can customise the location of the config file with the --config-path flag.

Show read (default: false)

Show read items by default. (can be toggled with M)

showread: true
Auto read (default: false)

Automatically mark items as read on selection or navigation through items. ()

autoread: true
Backends

As well as adding feeds directly, you can pull in feeds from another source. You can add multiple backends and the feeds will all be added.

backends:
  miniflux:
    host: http://myminiflux.foo
    api_key: jafksdljfladjfk
  freshrss:
    host: http://myfreshrss.bar
    user: admin
    password: muchstrong

Store

nom uses sqlite as a store for feeds and metadata. It is stored next to the config in $XDG_CONFIG_HOME/nom/nom.db. This can be backed up like any file and will store articles, read state etc. It can also be deleted to start from scratch redownloading all articles and no state.

Usage

$ nom # open TUI
$ nom list -n 20 # optionally show more
$ nom add <feed_url> 
$ nom --feed <feed_url> # preview feed without adding to config

Building and Running via Docker

Build nom image

docker build -t nom .

This embeds the local docker-config.yml file into the container and will be used by default.

Running the nom via docker

docker run --rm -it nom

Use the -v command line argument to mount a local config onto /app/docker-config.yml as desired.

Dev setup

You can use the backends-compose.yml to spin up a local instance of miniflux and freshrss if needed for development.

$ docker-compose -f backends-compose.yml up

Directories

Path Synopsis
cmd
nom command
internal
rss

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL