Skip to content

hokui/hokui.net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hokui.net

Project
Codeship Status for hokui/hokui.net
Backend
Code Climate Test Coverage
Frontend
Coverage Status

バックエンド

最初だけ

bundle install --path .bundle/gems --jobs=4

# install mailcatcher gem
gem install mailcatcher
# boot mailcatcher server, then goto localhost:1080
mailcatcher

git pull upstream masterした後毎回 Gemを更新してDBをリセット

bundle install
bundle exec rake db:dev

mailing listを実行

git clone https://github.com/hokui/mailing_list
cd mailing_list
bundle install --path .bundle/gems --jobs=4
cp config/application.example.yml config/application.yml
bundle exec rake db:migrate
bundle exec rails s -p 3001

フロントエンド

NOTE: Need to install Gulp globally or run Gulp with npm run gulp ....

開発版ビルド

public/に、client/以降の構造を保って展開する。

プロダクションビルド

dist/に展開する。 index.jade以外のマークアップはすべてテンプレートとして$templateChacheを使ってJSに埋め込み、他と併せて結合/圧縮して一つのファイルで出力。CSSも同様。

開発サーバーについて

index.htmlを「pathに.を含まない」を条件にして返しているのと、trailing slash周りが怪しいので開発サーバー側で取り除くようにしている点で、若干Nginxと挙動がことなります。

Gulp

タスク

  • gulp ... ビルドして、バックエンドでRailsサーバー(daemonized)と、開発サーバー(http://localhost:9000)を起動し、ファイルの監視/Livereloadをする
  • gulp watch ... 上記のRailsサーバーを起動しない版
  • gulp serve ... 上記さらにファイル監視を行わない版
  • gulp build ... ビルドのみ
  • gulp e2e ... http://localhost:9000に対してE2Eテストを実行する
  • gulp run-e2e ... ビルド、DB初期化、Railsサーバー/開発サーバーの起動後、E2Eテストを実行する。
  • gulp rails ... バックエンドでRailsサーバー起動
  • gulp rails:stop ... バックエンドで起動したRailsサーバーを停止
  • gulp rails:setup ... bundle exec rake db:devのエイリアス

オプション

  • --prod ... プロダクションビルドになる
  • --nosound ... エラーを起こしてもうるさくない
  • --skipmin ... プロダクションビルドでJSとCSSは結合のみ行い、圧縮しない
  • --seed ... ログインとユーザー登録のときに初期値を入力した状態になる。E2Eテスト時は付けない。

その他

  • npm test ... client/core/**/*.coffeeを対象にユニットテストする
  • npm start ... npm install && bower install && gulp --seed --nosoundが実行される。

Run hokui.net on Nginx

  1. Place the project or its symbolic link to /var/www/hokui.net
  2. Boot Rails Server: bundle exec rails s -e production
  3. Build client codes: gulp build --prod
  4. Then, boot Nginx: sudo nginx -c /var/www/hokui.net/nginx/nginx.conf or npm run nginx