Go to file
Robert J Samson 5ada55f10d Add a 'private' attribute to tags to allow for admin / mod specific tags
Private tags would allow admins to create tags that only admins could
use, and that regular users could not filter. The best example use case
for this is an 'announements' tag for site announements that all users
should see.
2012-09-19 16:44:57 -04:00
app Add a 'private' attribute to tags to allow for admin / mod specific tags 2012-09-19 16:44:57 -04:00
config paginate /comments 2012-09-19 13:40:02 -05:00
db Add a 'private' attribute to tags to allow for admin / mod specific tags 2012-09-19 16:44:57 -04:00
extras allow embedded images in story text, but still not in comments 2012-09-17 13:24:29 -05:00
log initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
public put faces to names 2012-09-08 19:32:21 -05:00
script add readme, do some cleanup before open sourcing 2012-08-24 11:42:23 -05:00
spec << strikes again 2012-08-24 11:41:37 -05:00
vendor initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
.gitignore add readme, do some cleanup before open sourcing 2012-08-24 11:42:23 -05:00
.rbenv-version add readme, do some cleanup before open sourcing 2012-08-24 11:42:23 -05:00
.rspec initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
config.ru initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
CONTRIBUTING.md add contributing file 2012-09-18 10:15:43 -05:00
Gemfile search engine! 2012-08-24 11:41:36 -05:00
Gemfile.lock search engine! 2012-08-24 11:41:36 -05:00
LICENSE add 3-clause bsd license 2012-08-30 02:56:32 -05:00
Rakefile initial work on conversion from php tree 2012-06-16 20:15:46 -05:00
README.md add contributing file 2012-09-18 10:15:43 -05:00

###Lobsters Rails Project

This is the source code to the site operating at https://lobste.rs. It is a Rails 3 codebase and uses a SQL (MySQL in production) backend for the database and Sphinx for the search engine.

####Initial setup

  • Install Ruby 1.9.3.

  • Checkout the lobsters git tree from Github

       $ git clone git://github.com/jcs/lobsters.git
       $ cd lobsters
       lobsters$ 
    
  • Run Bundler to install/bundle gems needed by the project:

       lobsters$ bundle
    
  • Create a MySQL (other DBs supported by ActiveRecord may work, only MySQL has been tested) database, username, and password and put them in a config/database.yml file:

        development:
          adapter: mysql2
          encoding: utf8
          reconnect: false
          database: lobsters_dev
          socket: /tmp/mysql.sock
          username: *username*
          password: *password*
    
        test:
          adapter: sqlite3
          database: db/test.sqlite3
          pool: 5
          timeout: 5000
    
  • Load the schema into the new database:

        lobsters$ rake db:schema:load
    
  • Create a config/initializers/secret_token.rb file:

        Lobsters::Application.config.secret_token = 'some 128-bit hexadecimal secret here'
    
  • (Optional, only needed for search engine) Install Sphinx. Build Sphinx config and start server:

        lobsters$ rake thinking_sphinx:rebuild
    
  • Create an initial administrator user and at least one tag:

        lobsters$ rails console
        Loading development environment (Rails 3.2.6)
        irb(main):001:0> u = User.new(:username => "test", :email => "test@example.com", :password => "test")
        irb(main):002:0> u.is_admin = true
        irb(main):002:0> u.is_moderator = true
        irb(main):003:0> u.save
    
        irb(main):004:0> t = Tag.new
        irb(main):005:0> t.tag = "test"
        irb(main):006:0> t.save
    
  • The default development hostname is defined as lobsters.localhost:3000. You should define this in /etc/hosts (or through DNS) to point to 127.0.0.1.

  • Run the Rails server in development mode. You should be able to login to http://lobsters.localhost:3000 with your test user:

        lobsters$ rails server
    

####Contributing bugfixes and new features

Please see the CONTRIBUTING file.