You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Simon Vieille b83ce52312
add themes (light.css [empty], dark.css, neo_dark.css, solarized_dark.css); add theme as settings field
3 月之前
app add themes (light.css [empty], dark.css, neo_dark.css, solarized_dark.css); add theme as settings field 3 月之前
bin upgrade to rails v4.0.2 6 年之前
config add themes (light.css [empty], dark.css, neo_dark.css, solarized_dark.css); add theme as settings field 3 月之前
db index all the things 3 年之前
extras users: re-enable username '@' linking in user profiles 3 年之前
lib Add task to generate test data 5 年之前
license add explanation for original copyright/license and new copyright/license 3 年之前
public add a dynamic 404 page 3 年之前
script if a user has a linked twitter account, give them attribution 3 年之前
spec Add nofollow when host is missing 3 年之前
vendor/assets upgrade to rails v4.0.2 6 年之前
.gitignore layout: if layouts/_footer exists, use it instead - merged with i18n 3 年之前
.rspec Refactor HomeController 5 年之前
.ruby-version Support Ruby 2.2.0 and 2.3.0 4 年之前 modify information about to journalduhacker. License change 3 年之前
Gemfile get latest Gemfile and Gemfile.lock states 1 年之前
Gemfile.lock import from server 1 年之前
LICENSE modify information about to journalduhacker. License change 3 年之前 remove commits mention, nobody proceed this way 3 年之前
Rakefile upgrade to rails v4.0.2 6 年之前 upgrade to rails v4.0.2 6 年之前

###Journalduhacker Project

This is the source code of the website operating at It is a Rails 4 codebase and uses a SQL (MariaDB in production) backend for the database and Sphinx for the search engine.

The new code is Carl Chenet © 2016-2017 (starting Nov 8 2016) licensed under the AGPLv3 license. See the license/LICENSE.journalduhacker for the full license.

This code is forked from the engine, authored by Joshua Stein © 2012-2016 (until Nov 3 2016) licensed under the 3-BSD license. The current code is available here. See the license/LICENSE.lobsters for the original license and copyright.

####Contributing bugfixes and new features

Please see the CONTRIBUTING file.

####Initial setup

  • Install Ruby. This code has been tested with Ruby versions 1.9.3, 2.0.0, 2.1.0, and 2.3.0.

  • Checkout the journalduhacker git tree from Github

       $ git clone
       $ cd journalduhacker
  • Run Bundler to install/bundle gems needed by the project:

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

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

        journalduhacker$ rake db:schema:load
  • Create a config/initializers/secret_token.rb file, using a randomly generated key from the output of rake secret:

        Lobsters::Application.config.secret_key_base = 'your random secret here'
  • (Optional, only needed for the search engine) Install Sphinx. Build Sphinx config and start server:

        journalduhacker$ rake ts:rebuild
  • Define your site's name and default domain, which are used in various places, in a config/initializers/production.rb or similar file:

        class << Rails.application
          def domain
          def name
            "Example News"
        Rails.application.routes.default_url_options[:host] = Rails.application.domain
  • Put your site's custom CSS in app/assets/stylesheets/local.

  • Seed the database to create an initial administrator user and at least one tag:

        journalduhacker$ rake db:seed
        created user: test, password: test
        created tag: test
  • Run the Rails server in development mode. You should be able to login to http://localhost:3000 with your new test user:

        journalduhacker$ rails server
  • In production, set up crontab or another scheduler to run regular jobs:

        */20 * * * * cd /path/to/journalduhacker && env RAILS_ENV=production bundle exec rake ts:index > /dev/null