5ada55f10d
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. |
||
---|---|---|
app | ||
config | ||
db | ||
extras | ||
log | ||
public | ||
script | ||
spec | ||
vendor | ||
.gitignore | ||
.rbenv-version | ||
.rspec | ||
config.ru | ||
CONTRIBUTING.md | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
Rakefile | ||
README.md |
###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 to127.0.0.1
. -
Run the Rails server in development mode. You should be able to login to
http://lobsters.localhost:3000
with yourtest
user:lobsters$ rails server
####Contributing bugfixes and new features
Please see the CONTRIBUTING file.