Skip to content

unilogic/scanty-redis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scanty, a really small blog, using the Redis database

Overview

Scanty is blogging software. Software for my blog, to be exact: adam.blog.heroku.com

It is not a blogging engine, but it’s small and easy to modify, so it could be the starting point for your blog, too.

This fork modifies lib/post.rb to use Redis, a featureful key-value database, instead of SQL.

Dependencies

$ gem install sinatra

$ gem install activesupport

Redis-rb, Maruku, and Syntax are all vendored. ActiveSupport is need as we use its Time class hacks to fix TZ issues.

Get Redis from: code.google.com/p/redis/downloads/list

Unarchive the tarball and run make inside the directory. When finished you can type ./redis-server to run it on the default port on localhost.

Setup

Edit main.rb and change the Blog config struct at the top to your liking, or set the appropriate environmant variables. To run the server:

$ ruby main.rb

Then: localhost:4567/users

Login with admin_password set in main.rb. Create your first user.

Database

Scanty Redis will connect to Redis on localhost on the default port if you don’t specify another location. To use something else, set REDIS_URL in your environment when running the app, i.e.:

$ REDIS_URL='redis://:secret@1.2.3.4:9000/3' ruby main.rb

This would connect to host 1.2.3.4 on port 9000, uses database number 3 (Redis databases are numbered, not named), using password “secret” (which is defined in the config file optionally passed to Redis when you start the server). Redis has no usernames so there in othing before the colon.

Redis creates databases automatically as needed, but if you want to introspect or clear the database, you can use the console and the DB constant:

$ irb -r main.rb 
irb(main):001:0> DB.keys('*')
=> ["Post:chrono", "Post:slug:first_post"]
irb(main):002:0> DB.flush_db
=> "OK"
irb(main):003:0> DB.keys('*')
=> []

See also

Meta

Created by Adam Wiggins

Modified by Ben Allen

Released under the MIT License: www.opensource.org/licenses/mit-license.php

github.com/unilogic/scanty-redis github.com/adamwiggins/scanty

sysadminschronicles.com adam.blog.heroku.com

About

The blog that's almost nothing - now on Redis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 67.2%
  • Ruby 32.8%