You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Quentin Ferrand a2683b9263 misc improvements 5 months ago
.chglog initial commit 9 months ago
docker misc improvements 5 months ago
tenkan add drone pipeline 5 months ago
tests fix: fix atom file not rebuilt if new files written 8 months ago
.drone.yml misc improvements 5 months ago
.gitignore fix: fix atom file not rebuilt if new files written 8 months ago
.pre-commit-config.yaml add drone pipeline 5 months ago
CHANGELOG.md bump to v0.1.2 8 months ago
LICENCE initial commit 9 months ago
MANIFEST.in add drone pipeline 5 months ago
README.md add drone pipeline 5 months ago
README.rst add drone pipeline 5 months ago
poetry.lock add drone pipeline 5 months ago
pyproject.toml misc improvements 5 months ago
setup.py misc improvements 5 months ago
tenkan.conf.example initial commit 9 months ago

README.md

Build Status

tenkan

Command line tool to convert HTTP RSS/Atom feeds to gemini format.

Installation

pip install tenkan

Usage

Add a feed

# Any valid RSS/Atom feed
tenkan add feedname url

Update content of feed list

tenkan update

Delete feed

tenkan delete feedname

List subscripted feeds

tenkan list

Options

A debug mode is avaible via --debug option. If you want to use your configuration or feeds file in another place than default one, you can use --config and --feedsfile options.

Configuration

tenkan searches for a configuration file at the following location:

$XDG_CONFIG_HOME/tenkan/tenkan.conf

Example config

This can be found in tenkan.conf.example.

[tenkan]
gemini_path = /usr/local/gemini/
gemini_url = gemini://foo.bar/feeds/
# will purge feed folders having more than defined element count
# purge_feed_folder_after = 100

[filters]
# authors we don't want to read
# authors_blacklist = foo, bar
# blacklist of article titles, if provided, it won't be processed
# titles_blacklist = foo, bar
# blacklist of article links, if provided, it won't be processed
# links_blacklist = foo/bar.com, bar/foo, bla

[formatting]
# maximum article title size, 120 chars if not provided
# title_size = 120

# feeds with a truncated content
# will be fetched and converted using readability
# truncated_feeds = foo, bar

Todolist

  • Add a edit command
  • Add a --feedname option to update command, to update a single feed
  • Rewrite configuration checks
  • add configuration option to log output into a logfile
  • Improve tests
  • Refactor needed parts like write_article
  • (not sure if relevant) migrate images too, for gemini clients that can handle it

Development

I recommend using pre-commit. The pre-commit configuration I use is located in .pre-commit-config.yamlfile.

Run pre-commit command before every pull request and fix the warnings or errors it produces.