Coder Social home page Coder Social logo

arss's Introduction

arss

An rss reader that doesn't try to do too much

Demo

demo.mp4

Motivation

I wanted a very minimal RSS reader that wasn't feature packed, but could be extended. Something super simple.

Installation

Requirements:

macOS

Install via Homebrew

brew install 1ntEgr8/tap/arss-reader

From source

  • Clone the repo
git clone https://github.com/1ntEgr8/arss
  • Run the install script. You will need to specify the directory in which you want the binary to be installed
chmod +x ./install.sh
./install.sh --path path/to/installation/directory

Usage

Run arss. You should see the rss reader automatically open in your default browser.

arss comes with a default web client. However, you can also write your own. See Writing your own client for more information.

To tell arss to use your client instead of the default, use the client flag

arss --client /path/to/client

Developing

The client is written in Svelte. The server is in Go

  • Run the client
cd client && npm run dev
  • Run the server
go run arss --client client/public

You should see the client open up in the browser.

The client supports hot-reload, however, the server doesn't. You will have to rebuild the server each time you make a change. By default, the server auto-opens the page in your browser. If you do not want this, pass in the --headless flag.

By default, the server uses port 8080. You can change this with the --port flag.

Writing your own client

The arss server exposes a REST api that you can use to populate your client. Take a look at main.go for a list of routes.

Bugs/New features

Feel free to file an issue if you spot a bug or want to make a feature request

Contributing

PRs are welcome :) See Developing for details on how to set up a dev environment.

arss's People

Contributors

1ntegr8 avatar jmickelin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

arss's Issues

Keyboard shortcuts

Add keyboard shortcuts to default client implementation for easy navigation

Dockerfile addition

Hi,

Love the simplicity of the app and the simple REST API exposure
was able to get it working and getting feeds in no-time using Postman :)

A suggestion I would like to make is to add a Dockerfile, so people can run the app without needing Go/install etc
to get it working and trying it out.

Here is a sample script that works, however doesn't have Node, doesn't persist the SQLite DB, and doesn't automatically start the app when the container runs:

FROM golang

WORKDIR /go/src/app
COPY . .

RUN go get -d -v ./...
RUN go install -v ./...

EXPOSE 8080/tcp

# CMD ["go run arss --client client/public --headless"]

Thank you and keep up the good work!

Unread indicator

Initial thoughts:

  • No number, just an indicator. Also add the ability to mute/unmute for certain feeds
  • Mark as read (client side only)

provide the ability to re-install a client

The script doesn't re-install the client (or mention that it exists). This caused issues with the previous release, where upgrading to a newer version didn't apply the dark mode styles

Fix homebrew release

Installing arss from brew doesn't setup the config files in the correct directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.