diff --git a/Gemfile b/Gemfile
index 1e1c47412..356d64f7d 100644
--- a/Gemfile
+++ b/Gemfile
@@ -17,6 +17,8 @@ gem 'sass-rails', '~> 5.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'uglifier', '>= 1.3.0'
+gem 'rack-rewrite', '~> 1.5.0'
+
group :development do
gem 'web-console', '~> 2.0'
gem 'spring', '1.7.1'
diff --git a/Gemfile.lock b/Gemfile.lock
index 1c6f14901..802d79a65 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -91,6 +91,7 @@ GEM
mini_portile2 (~> 2.0.0.rc2)
pg (0.18.4)
rack (1.6.4)
+ rack-rewrite (1.5.1)
rack-test (0.6.3)
rack (>= 1.0)
rails (4.2.6)
@@ -209,6 +210,7 @@ DEPENDENCIES
jbuilder (~> 2.0)
jquery-rails
pg (~> 0.18.4)
+ rack-rewrite (~> 1.5.0)
rails (= 4.2.6)
rspec-rails (~> 3.0.0)
sass-rails (~> 5.0)
diff --git a/config.ru b/config.ru
index bd83b2541..947cfa47f 100644
--- a/config.ru
+++ b/config.ru
@@ -2,3 +2,10 @@
require ::File.expand_path('../config/environment', __FILE__)
run Rails.application
+
+require 'rack/rewrite'
+use Rack::Rewrite do
+ r301 %r{.*}, 'http://coderdojo.jp$&', :if => Proc.new {|rack_env|
+ rack_env['SERVER_NAME'] == 'www.coderdojo.jp'
+ }
+end
diff --git a/public/browserconfig.xml b/public/browserconfig.xml
new file mode 100755
index 000000000..128dc0077
--- /dev/null
+++ b/public/browserconfig.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+ #da532c
+
+
+
diff --git a/public/coderdojo-japan_cover.jpg b/public/coderdojo-japan_cover.jpg
new file mode 100644
index 000000000..83c817ea0
Binary files /dev/null and b/public/coderdojo-japan_cover.jpg differ
diff --git a/public/coderdojo-japan_cover.png b/public/coderdojo-japan_cover.png
new file mode 100644
index 000000000..de8c7d3ad
Binary files /dev/null and b/public/coderdojo-japan_cover.png differ
diff --git a/public/dojocon-japan_cover.jpg b/public/dojocon-japan_cover.jpg
new file mode 100644
index 000000000..49cd02cc2
Binary files /dev/null and b/public/dojocon-japan_cover.jpg differ
diff --git a/public/dojocon-japan_cover.png b/public/dojocon-japan_cover.png
new file mode 100644
index 000000000..cd78336a5
Binary files /dev/null and b/public/dojocon-japan_cover.png differ
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 000000000..f3a992d0f
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 000000000..2b22c3243
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon-96x96.png b/public/favicon-96x96.png
new file mode 100644
index 000000000..bb305a870
Binary files /dev/null and b/public/favicon-96x96.png differ
diff --git a/public/favicon-original.png b/public/favicon-original.png
new file mode 100644
index 000000000..b1c274591
Binary files /dev/null and b/public/favicon-original.png differ
diff --git a/public/favicon-original.pxm b/public/favicon-original.pxm
new file mode 100644
index 000000000..7e9bd5ff3
Binary files /dev/null and b/public/favicon-original.pxm differ
diff --git a/public/favicon.ico b/public/favicon.ico
index e69de29bb..5434cd1aa 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/public/img/android-icon-144x144.png b/public/img/android-icon-144x144.png
new file mode 100644
index 000000000..1c5bdf858
Binary files /dev/null and b/public/img/android-icon-144x144.png differ
diff --git a/public/img/android-icon-192x192.png b/public/img/android-icon-192x192.png
new file mode 100644
index 000000000..b1c274591
Binary files /dev/null and b/public/img/android-icon-192x192.png differ
diff --git a/public/img/android-icon-36x36.png b/public/img/android-icon-36x36.png
new file mode 100644
index 000000000..c071725c9
Binary files /dev/null and b/public/img/android-icon-36x36.png differ
diff --git a/public/img/android-icon-48x48.png b/public/img/android-icon-48x48.png
new file mode 100644
index 000000000..5160137a1
Binary files /dev/null and b/public/img/android-icon-48x48.png differ
diff --git a/public/img/android-icon-72x72.png b/public/img/android-icon-72x72.png
new file mode 100644
index 000000000..7204f4a46
Binary files /dev/null and b/public/img/android-icon-72x72.png differ
diff --git a/public/img/android-icon-96x96.png b/public/img/android-icon-96x96.png
new file mode 100644
index 000000000..bb305a870
Binary files /dev/null and b/public/img/android-icon-96x96.png differ
diff --git a/public/img/apple-icon-114x114.png b/public/img/apple-icon-114x114.png
new file mode 100644
index 000000000..11e7efa1a
Binary files /dev/null and b/public/img/apple-icon-114x114.png differ
diff --git a/public/img/apple-icon-120x120.png b/public/img/apple-icon-120x120.png
new file mode 100644
index 000000000..70c9a2642
Binary files /dev/null and b/public/img/apple-icon-120x120.png differ
diff --git a/public/img/apple-icon-144x144.png b/public/img/apple-icon-144x144.png
new file mode 100644
index 000000000..e0111a644
Binary files /dev/null and b/public/img/apple-icon-144x144.png differ
diff --git a/public/img/apple-icon-152x152.png b/public/img/apple-icon-152x152.png
new file mode 100644
index 000000000..0b766655e
Binary files /dev/null and b/public/img/apple-icon-152x152.png differ
diff --git a/public/img/apple-icon-180x180.png b/public/img/apple-icon-180x180.png
new file mode 100644
index 000000000..d0dea11a3
Binary files /dev/null and b/public/img/apple-icon-180x180.png differ
diff --git a/public/img/apple-icon-57x57.png b/public/img/apple-icon-57x57.png
new file mode 100644
index 000000000..8c7234b80
Binary files /dev/null and b/public/img/apple-icon-57x57.png differ
diff --git a/public/img/apple-icon-60x60.png b/public/img/apple-icon-60x60.png
new file mode 100644
index 000000000..81ff26af7
Binary files /dev/null and b/public/img/apple-icon-60x60.png differ
diff --git a/public/img/apple-icon-72x72.png b/public/img/apple-icon-72x72.png
new file mode 100644
index 000000000..129edc9ca
Binary files /dev/null and b/public/img/apple-icon-72x72.png differ
diff --git a/public/img/apple-icon-76x76.png b/public/img/apple-icon-76x76.png
new file mode 100644
index 000000000..66f2bab36
Binary files /dev/null and b/public/img/apple-icon-76x76.png differ
diff --git a/public/img/apple-icon-precomposed.png b/public/img/apple-icon-precomposed.png
new file mode 100644
index 000000000..c80a9cd38
Binary files /dev/null and b/public/img/apple-icon-precomposed.png differ
diff --git a/public/img/apple-icon.png b/public/img/apple-icon.png
new file mode 100644
index 000000000..d0dea11a3
Binary files /dev/null and b/public/img/apple-icon.png differ
diff --git a/public/img/bg_hr.png b/public/img/bg_hr.png
new file mode 100644
index 000000000..7973bd698
Binary files /dev/null and b/public/img/bg_hr.png differ
diff --git a/public/img/body-bg.jpg b/public/img/body-bg.jpg
new file mode 100644
index 000000000..719fb8863
Binary files /dev/null and b/public/img/body-bg.jpg differ
diff --git a/public/img/coderdojo-japan_cover.png b/public/img/coderdojo-japan_cover.png
new file mode 100644
index 000000000..fd2cfc5e6
Binary files /dev/null and b/public/img/coderdojo-japan_cover.png differ
diff --git a/public/img/download-button.png b/public/img/download-button.png
new file mode 100644
index 000000000..c5ffb3a89
Binary files /dev/null and b/public/img/download-button.png differ
diff --git a/public/img/favicon-16x16.png b/public/img/favicon-16x16.png
new file mode 100644
index 000000000..f3a992d0f
Binary files /dev/null and b/public/img/favicon-16x16.png differ
diff --git a/public/img/favicon-32x32.png b/public/img/favicon-32x32.png
new file mode 100644
index 000000000..2b22c3243
Binary files /dev/null and b/public/img/favicon-32x32.png differ
diff --git a/public/img/favicon-96x96.png b/public/img/favicon-96x96.png
new file mode 100644
index 000000000..bb305a870
Binary files /dev/null and b/public/img/favicon-96x96.png differ
diff --git a/public/img/favicon-original.png b/public/img/favicon-original.png
new file mode 100644
index 000000000..b1c274591
Binary files /dev/null and b/public/img/favicon-original.png differ
diff --git a/public/img/favicon-original.pxm b/public/img/favicon-original.pxm
new file mode 100644
index 000000000..7e9bd5ff3
Binary files /dev/null and b/public/img/favicon-original.pxm differ
diff --git a/public/img/favicon.ico b/public/img/favicon.ico
new file mode 100644
index 000000000..5434cd1aa
Binary files /dev/null and b/public/img/favicon.ico differ
diff --git a/public/img/github-button.png b/public/img/github-button.png
new file mode 100644
index 000000000..cd4158023
Binary files /dev/null and b/public/img/github-button.png differ
diff --git a/public/img/header-bg.jpg b/public/img/header-bg.jpg
new file mode 100644
index 000000000..d16497a40
Binary files /dev/null and b/public/img/header-bg.jpg differ
diff --git a/public/img/highlight-bg.jpg b/public/img/highlight-bg.jpg
new file mode 100644
index 000000000..355e089b2
Binary files /dev/null and b/public/img/highlight-bg.jpg differ
diff --git a/public/img/ms-icon-144x144.png b/public/img/ms-icon-144x144.png
new file mode 100644
index 000000000..41a72d8a1
Binary files /dev/null and b/public/img/ms-icon-144x144.png differ
diff --git a/public/img/ms-icon-150x150.png b/public/img/ms-icon-150x150.png
new file mode 100644
index 000000000..056b623a6
Binary files /dev/null and b/public/img/ms-icon-150x150.png differ
diff --git a/public/img/ms-icon-310x150.png b/public/img/ms-icon-310x150.png
new file mode 100644
index 000000000..97b78c456
Binary files /dev/null and b/public/img/ms-icon-310x150.png differ
diff --git a/public/img/ms-icon-310x310.png b/public/img/ms-icon-310x310.png
new file mode 100644
index 000000000..e06e6d45d
Binary files /dev/null and b/public/img/ms-icon-310x310.png differ
diff --git a/public/img/ms-icon-70x70.png b/public/img/ms-icon-70x70.png
new file mode 100644
index 000000000..4c69af887
Binary files /dev/null and b/public/img/ms-icon-70x70.png differ
diff --git a/public/img/sidebar-bg.jpg b/public/img/sidebar-bg.jpg
new file mode 100644
index 000000000..536ead91e
Binary files /dev/null and b/public/img/sidebar-bg.jpg differ
diff --git a/public/manifest.json b/public/manifest.json
new file mode 100755
index 000000000..11a6f5898
--- /dev/null
+++ b/public/manifest.json
@@ -0,0 +1,41 @@
+{
+ "name": "CoderDojo Japan",
+ "icons": [
+ {
+ "src": "\/img\/android-icon-36x36.png",
+ "sizes": "36x36",
+ "type": "image\/png",
+ "density": "0.75"
+ },
+ {
+ "src": "\/img\/android-icon-48x48.png",
+ "sizes": "48x48",
+ "type": "image\/png",
+ "density": "1.0"
+ },
+ {
+ "src": "\/img\/android-icon-72x72.png",
+ "sizes": "72x72",
+ "type": "image\/png",
+ "density": "1.5"
+ },
+ {
+ "src": "\/img\/android-icon-96x96.png",
+ "sizes": "96x96",
+ "type": "image\/png",
+ "density": "2.0"
+ },
+ {
+ "src": "\/img\/android-icon-144x144.png",
+ "sizes": "144x144",
+ "type": "image\/png",
+ "density": "3.0"
+ },
+ {
+ "src": "\/img\/android-icon-192x192.png",
+ "sizes": "192x192",
+ "type": "image\/png",
+ "density": "4.0"
+ }
+ ]
+}
diff --git a/public/og-image.original.png b/public/og-image.original.png
new file mode 100644
index 000000000..34ffc29c6
Binary files /dev/null and b/public/og-image.original.png differ
diff --git a/public/og-image.png b/public/og-image.png
new file mode 100644
index 000000000..d055a09e8
Binary files /dev/null and b/public/og-image.png differ
diff --git a/public/og-image.pxm b/public/og-image.pxm
new file mode 100644
index 000000000..78d22d3d6
Binary files /dev/null and b/public/og-image.pxm differ
diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg
new file mode 100644
index 000000000..973ba060c
--- /dev/null
+++ b/public/safari-pinned-tab.svg
@@ -0,0 +1,21 @@
+
+
+