https://github.com/revett/rss-explore
Tools to help you easily find and manage RSS feeds.
https://github.com/revett/rss-explore
api reddit rss tools youtube
Last synced: 4 months ago
JSON representation
Tools to help you easily find and manage RSS feeds.
- Host: GitHub
- URL: https://github.com/revett/rss-explore
- Owner: revett
- License: mit
- Created: 2023-01-15T13:04:14.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T14:19:04.000Z (almost 2 years ago)
- Last Synced: 2024-12-06T21:45:00.308Z (over 1 year ago)
- Topics: api, reddit, rss, tools, youtube
- Language: Go
- Homepage: https://rss-explore.vercel.app
- Size: 4.33 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rss-explore
[](https://pkg.go.dev/github.com/revett/rss-explore)
[](https://github.com/revett/rss-explore/actions?query=branch%3Amain)
[](https://goreportcard.com/report/github.com/revett/rss-explore)
[](https://github.com/revett/rss-explore/blob/main/LICENSE)
Tools to help you easily find and manage RSS feeds.
## Usage
Convert a YouTube video URL in to the RSS feed for that video's channel:
```bash
curl --location --silent \
--request POST 'https://rss-explore.revcd.com/youtube/convert' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "https://youtube.com/watch?v=7LICrnxWd38"
}' | jq -r '.url'
```
```bash
"https://www.youtube.com/feeds/videos.xml?channel_id=UCWaC58KxHxyCgZVl4cRDxSg"
```
## Raycast
Import the [`raycast-rss-explore.sh`](./raycast-rss-explore.sh) file as a
[Raycast Script Command](https://github.com/raycast/script-commands).

## Development
### Code Generation
```bash
# Install oapi-codegen
go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@latest
# Generate the API models, server implementation, and spec
make generate
```
### Production
- [Vercel](https://github.com/vercel/vercel) deploys each `.go` file within
`api/` as a
[serverless function](https://vercel.com/docs/concepts/functions/serverless-functions/runtimes/go)
- Each of these are wrappers around a handler function within the
`internal/handler` package, which holds the business logic of the API
### Local
```
make run
```
> API available at `http://localhost:5691`
- `main.go` creates a single `echo.Echo` instance, and registers all the handler
functions from the `internal/handler` package as routes
- This is done via the `api.ServerInterface` that is generated by
[deepmap/oapi-codegen](https://github.com/deepmap/oapi-codegen), to make sure that the
OpenAPI spec is correctly implemented
- This means that get a near-similar experience to production without having to
mess about with Vercel's `api/` directory structure