feed-toolbelt

command module
v0.0.0-...-a9b0586 Latest Latest
Warning

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

Go to latest
Published: May 20, 2024 License: MIT Imports: 2 Imported by: 0

README

Feed Toolbelt

Powerful CLI tool for working with various feed types such as RSS, Atom and JSON feeds.

example usage gif

Why

Feeds are awesome, but working with them is cumbersome. There are itchy edges and many standards. Feed Toolbelt makes the heavylifting for you while you get to create awesomeness.

How

Install using go toolchain:

GOEXPERIMENT=rangefunc go install github.com/mkadirtan/feed-toolbelt@latest

Find feeds on a specific website:

feed-toolbelt find nooptoday.com

Usage

feed-toolbelt find [<url>] [flags]
Arguments:
[<url>]    target url, optional in case piped input is given

Flags:
-h, --help                    Show context-sensitive help.

-p, --pipe                    Use this flag if you pipe HTML content into this command. Piping without using this flag will result in interpreting piped input as
target url
-l, --[no-]strategy-header    Toggle header strategy
-c, --[no-]strategy-page      Toggle page strategy
-b, --[no-]strategy-common    Toggle common strategy
-g, --[no-]validate           Validate feed URLs contain actual feeds

Examples

feed-toolbelt find nooptoday.com
curl https://nooptoday.com | feed-toolbelt find nooptoday.com --pipe
feed-toolbelt find nooptoday.com --strategy-common

For more information run:

feed-toolbelt --help
feed-toolbelt find --help

🤝 Contributing

Clone the repo
git clone https://feed-toolbelt@latest
cd feed-toolbelt
Build the project

Use GOEXPERIMENT=rangefunc, otherwise build fails

GOEXPERIMENT=rangefunc go build -o feed-toolbelt cmd/main.go
Run the project
./feed-toolbelt find nooptoday.com
Run the tests
GOEXPERIMENT=rangefunc go test ./...
Submit a pull request

If you'd like to contribute, please fork the repository and open a pull request to the main branch. Make sure to add some tests, too 🚀


The contents below are my personal notes. If you are interested in using this tool you might be interested in the future plans for this project.

Roadmap

Publish on Brew

I can publish as tap, if it gets recognition it may turn into an official package even!

Wait until rangefunc is not experimental because it will surely confuse other people and complicate the build process.

If rangefunc doesn't get merged in a short time, I can even remove the experimental part, because it is not necessary for this project.

Renaming

If I can't find useful commands to include in this tool, I can rename the tool to feed-finder.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
pkg
inspect
Package inspect Feed Discovery Methods - Inside link, and a tags with rel="alternate" attribute - Inside script tag with structured json data - HTTP Header ( Link Header ) - Brute forcing common feed paths
Package inspect Feed Discovery Methods - Inside link, and a tags with rel="alternate" attribute - Inside script tag with structured json data - HTTP Header ( Link Header ) - Brute forcing common feed paths

Jump to

Keyboard shortcuts

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