Git Product home page Git Product logo

stringer's Introduction

Stringer

Build Status Code Climate Coverage Status

A self-hosted, anti-social RSS reader.

Stringer has no external dependencies, no social recommendations/sharing, and no fancy machine learning algorithms.

But it does have keyboard shortcuts and was made with love!

Installation

Stringer is a Ruby (2.3.0+) app based on Sinatra, ActiveRecord, PostgreSQL, Backbone.js and DelayedJob.

Deploy to Heroku

Stringer will run just fine on the Heroku free plan.

Instructions are provided for deploying to Heroku manually, to any Ruby compatible Linux-based VPS, to Docker and to OpenShift.

Niceties

Keyboard Shortcuts

You can access the keyboard shortcuts when using the app by hitting ?.

Using your own domain with Heroku

You can run Stringer at http://reader.yourdomain.com using a CNAME.

If you are on Heroku:

heroku domains:add reader.yourdomain.com

Go to your registrar and add a CNAME:

Record: CNAME
Name: reader
Target: your-heroku-instance.herokuapp.com

Wait a few minutes for changes to propagate.

Fever API

Stringer implements a clone of Fever's API so it can be used with any mobile client that supports Fever.

image

Use the following settings:

Server: {path-to-stringer}/fever (e.g. http://reader.example.com/fever)

Email: stringer (case-sensitive)
Password: {your-stringer-password}

If you have previously setup Stringer, you will need to migrate your database and run rake change_password for the API key to be setup properly.

Translations

Stringer has been translated to several other languages. Your language can be set with the LOCALE environment variable.

To set your locale on Heroku, run heroku config:set LOCALE=en.

If you would like to translate Stringer to your preferred language, please use LocaleApp.

Clean up old read stories on Heroku

If you are on the Heroku free plan, there is a 10k row limit so you will eventually run out of space.

You can clean up old stories by running: rake cleanup_old_stories

By default, this removes read stories that are more than 30 days old (that are not starred). You can either run this manually or add it as a scheduled task.

Development

Run the Ruby tests with rspec.

Run the Javascript tests with rake test_js and then open a browser to http://localhost:4567/test.

Getting Started

To get started using Stringer for development you first need to install foreman.

gem install foreman

Then run the following commands.

bundle install
rake db:migrate
foreman start

The application will be running on port 5000.

You can launch an interactive console (a la rails c) using racksh.

Acknowledgments

Most of the heavy-lifting is done by feedjira and feedbag.

General sexiness courtesy of Twitter Bootstrap and Flat UI.

ReenieBeanie Font Copyright © 2010 Typeco ([email protected]). Licensed under SIL Open Font License, 1.1.

Lato Font Copyright © 2010-2011 by tyPoland Lukasz Dziedzic ([email protected]). Licensed under SIL Open Font License, 1.1.

Contact

If you have a question, feature idea, or are running into problems, our preferred method of contact is to open an issue on GitHub. This allows multiple people to weigh in, and we can keep everything in one place. Thanks!

Maintainers

Matt Swanson, mdswanson.com, @_swanson

Victor Koronen, victor.koronen.se, @victorkoronen

stringer's People

Contributors

koronen avatar jeroenj avatar gabrielpoca avatar pascalw avatar keliwang avatar justinburdett avatar jasonngpt avatar galaakk avatar jnbt avatar dwaite avatar dependabot[bot] avatar milligramme avatar christianschmidt avatar mickstephenson avatar jiehanzheng avatar jonallured avatar petersonfs avatar geemus avatar ajalexander avatar soanseng avatar zigdon avatar fmendez avatar steinerl avatar jmazzi avatar daniellesucher avatar bf4 avatar csmrmn avatar d-line avatar mouton-rebelle avatar jnettome avatar

Watchers

James Cloos avatar

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.