diff --git a/Gemfile b/Gemfile
index c8ab155..3326883 100644
--- a/Gemfile
+++ b/Gemfile
@@ -2,7 +2,6 @@ source 'https://rubygems.org'
ruby '2.1.2'
gem 'rails', '4.1.4'
-
gem 'pg'
gem 'active_admin_editor'
@@ -15,11 +14,12 @@ gem 'devise'
gem 'friendly_id'
gem 'haml-rails'
gem 'jquery-rails' # , '~> 2.3.0'
+gem 'kaminari'
+gem 'paperclip' # , '~> 3.0'
gem 'rails_12factor', group: :production
+gem 'react-rails', '~> 0.13.0.0'
gem 'sass-rails'
gem 'uglifier' # , '>= 1.0.3'
-gem 'paperclip' # , '~> 3.0'
-gem 'kaminari'
group :development, :test do
gem 'pry-rails'
diff --git a/Gemfile.lock b/Gemfile.lock
index 5ef439e..60ee263 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,20 +1,21 @@
GIT
remote: git://github.com/gregbell/active_admin.git
- revision: 99d76711783c229965095d4b818d02b46093ba5e
+ revision: f7483e3b8fcd74437b03c18fb658dac62a9fc62e
specs:
- activeadmin (1.0.0.pre)
+ activeadmin (1.0.0.pre2)
arbre (~> 1.0, >= 1.0.2)
bourbon
coffee-rails
- formtastic (~> 3.0)
+ formtastic (~> 3.1)
formtastic_i18n
- inherited_resources (~> 1.4, != 1.5.0)
+ inherited_resources (~> 1.6)
jquery-rails
- jquery-ui-rails (~> 5.0)
+ jquery-ui-rails
kaminari (~> 0.15)
- rails (>= 3.2, < 4.2)
+ rails (>= 3.2, < 5.0)
ransack (~> 1.3)
sass-rails
+ sprockets (< 4)
GEM
remote: https://rubygems.org/
@@ -49,174 +50,192 @@ GEM
minitest (~> 5.1)
thread_safe (~> 0.1)
tzinfo (~> 1.1)
- acts_as_list (0.4.0)
+ acts_as_list (0.7.2)
activerecord (>= 3.0)
- arbre (1.0.2)
+ addressable (2.4.0)
+ arbre (1.0.3)
activesupport (>= 3.0.0)
arel (5.0.1.20140414130214)
- ast (2.0.0)
- astrolabe (1.3.0)
- parser (>= 2.2.0.pre.3, < 3.0)
- awesome_print (1.2.0)
- aws-sdk (1.5.8)
- httparty (~> 0.7)
- json (~> 1.4)
- nokogiri (>= 1.4.4)
- uuidtools (~> 2.1)
+ ast (2.2.0)
+ aws-sdk (2.2.24)
+ aws-sdk-resources (= 2.2.24)
+ aws-sdk-core (2.2.24)
+ jmespath (~> 1.0)
+ aws-sdk-resources (2.2.24)
+ aws-sdk-core (= 2.2.24)
axiom-types (0.1.1)
descendants_tracker (~> 0.0.4)
ice_nine (~> 0.11.0)
thread_safe (~> 0.3, >= 0.3.1)
- bcrypt (3.1.7)
- better_errors (1.1.0)
+ bcrypt (3.1.10)
+ better_errors (2.1.1)
coderay (>= 1.0.0)
erubis (>= 2.6.6)
- bourbon (3.2.3)
- sass (~> 3.2)
- thor
- brakeman (2.6.1)
+ rack (>= 0.9.0)
+ bourbon (4.2.6)
+ sass (~> 3.4)
+ thor (~> 0.19)
+ brakeman (3.2.1)
erubis (~> 2.6)
- fastercsv (~> 1.5)
haml (>= 3.0, < 5.0)
- highline (~> 1.6.20)
- multi_json (~> 1.2)
- ruby2ruby (~> 2.0.5)
- ruby_parser (~> 3.5.0)
+ highline (>= 1.6.20, < 2.0)
+ ruby2ruby (~> 2.3.0)
+ ruby_parser (~> 3.8.1)
+ safe_yaml (>= 1.0)
sass (~> 3.0)
- slim (>= 1.3.6, < 3.0)
+ slim (>= 1.3.6, < 4.0)
terminal-table (~> 1.4)
builder (3.2.2)
- bullet (4.14.0)
+ bullet (5.0.0)
activesupport (>= 3.0.0)
- uniform_notifier (>= 1.6.0)
- chunky_png (1.3.1)
+ uniform_notifier (~> 1.9.0)
+ chunky_png (1.3.5)
climate_control (0.0.3)
activesupport (>= 3.0)
- cocaine (0.5.4)
+ cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0)
code_analyzer (0.4.5)
sexp_processor
- coderay (1.1.0)
+ codeclimate-engine-rb (0.3.1)
+ virtus (~> 1.0)
+ coderay (1.1.1)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
- coffee-rails (4.1.0)
+ coffee-rails (4.1.1)
coffee-script (>= 2.2.0)
- railties (>= 4.0.0, < 5.0)
- coffee-script (2.3.0)
+ railties (>= 4.0.0, < 5.1.x)
+ coffee-script (2.4.1)
coffee-script-source
execjs
- coffee-script-source (1.8.0)
- colored (1.2)
- compass (0.12.7)
+ coffee-script-source (1.10.0)
+ colorize (0.7.7)
+ compass (1.0.3)
chunky_png (~> 1.2)
- fssm (>= 0.2.7)
- sass (~> 3.2.19)
- compass-rails (2.0.0)
- compass (>= 0.12.2)
- database_cleaner (1.3.0)
+ compass-core (~> 1.0.2)
+ compass-import-once (~> 1.0.5)
+ rb-fsevent (>= 0.9.3)
+ rb-inotify (>= 0.9)
+ sass (>= 3.3.13, < 3.5)
+ compass-core (1.0.3)
+ multi_json (~> 1.0)
+ sass (>= 3.3.0, < 3.5)
+ compass-import-once (1.0.5)
+ sass (>= 3.2, < 3.5)
+ compass-rails (3.0.2)
+ compass (~> 1.0.0)
+ sass-rails (< 5.1)
+ sprockets (< 4.0)
+ concurrent-ruby (1.0.1)
+ database_cleaner (1.5.1)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
- devise (3.2.4)
+ devise (3.5.6)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 3.2.6, < 5)
+ responders
thread_safe (~> 0.1)
warden (~> 1.2.3)
diff-lcs (1.2.5)
docile (1.1.5)
ejs (1.1.1)
- equalizer (0.0.9)
+ equalizer (0.0.11)
erubis (2.7.0)
- execjs (2.2.2)
- factory_girl (4.4.0)
+ execjs (2.6.0)
+ factory_girl (4.5.0)
activesupport (>= 3.0.0)
- factory_girl_rails (4.4.1)
- factory_girl (~> 4.4.0)
+ factory_girl_rails (4.6.0)
+ factory_girl (~> 4.5.0)
railties (>= 3.0.0)
- faker (1.4.2)
+ faker (1.6.3)
i18n (~> 0.5)
- fastercsv (1.5.5)
- flay (2.4.0)
+ ffi (1.9.10)
+ flay (2.7.0)
+ erubis (~> 2.7.0)
ruby_parser (~> 3.0)
sexp_processor (~> 4.0)
- flog (4.2.1)
+ flog (4.3.2)
ruby_parser (~> 3.1, > 3.1.0)
sexp_processor (~> 4.4)
- formtastic (3.1.2)
+ formtastic (3.1.3)
actionpack (>= 3.2.13)
- formtastic_i18n (0.1.1)
- friendly_id (5.0.4)
+ formtastic_i18n (0.5.0)
+ friendly_id (5.1.0)
activerecord (>= 4.0.0)
- fssm (0.2.10)
- haml (4.0.5)
+ haml (4.0.7)
tilt
- haml-rails (0.5.3)
+ haml-rails (0.9.0)
actionpack (>= 4.0.1)
activesupport (>= 4.0.1)
- haml (>= 3.1, < 5.0)
+ haml (>= 4.0.6, < 5.0)
+ html2haml (>= 1.0.1)
railties (>= 4.0.1)
- has_scope (0.6.0.rc)
+ has_scope (0.6.0)
actionpack (>= 3.2, < 5)
activesupport (>= 3.2, < 5)
- highline (1.6.21)
- hike (1.2.3)
- httparty (0.13.1)
- json (~> 1.8)
- multi_xml (>= 0.5.2)
- i18n (0.6.11)
- ice_nine (0.11.0)
- inherited_resources (1.5.1)
- actionpack (>= 3.2, < 4.2)
+ highline (1.7.8)
+ html2haml (2.0.0)
+ erubis (~> 2.7.0)
+ haml (~> 4.0.0)
+ nokogiri (~> 1.6.0)
+ ruby_parser (~> 3.5)
+ i18n (0.7.0)
+ ice_nine (0.11.2)
+ inherited_resources (1.6.0)
+ actionpack (>= 3.2, < 5)
has_scope (~> 0.6.0.rc)
- railties (>= 3.2, < 4.2)
- responders (~> 1.0)
- jquery-rails (3.1.2)
+ railties (>= 3.2, < 5)
+ responders
+ jmespath (1.1.3)
+ jquery-rails (3.1.4)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
- jquery-ui-rails (5.0.2)
+ jquery-ui-rails (5.0.5)
railties (>= 3.2.16)
- json (1.8.1)
- kaminari (0.16.1)
+ json (1.8.3)
+ kaminari (0.16.3)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
+ launchy (2.4.3)
+ addressable (~> 2.3)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
method_source (0.8.2)
mime-types (1.25.1)
- mini_portile (0.6.0)
- minitest (5.4.3)
- multi_json (1.10.1)
- multi_xml (0.5.5)
- nokogiri (1.6.2.1)
- mini_portile (= 0.6.0)
+ mimemagic (0.3.0)
+ mini_portile2 (2.0.0)
+ minitest (5.8.4)
+ multi_json (1.11.2)
+ nokogiri (1.6.7.2)
+ mini_portile2 (~> 2.0.0.rc2)
orm_adapter (0.5.0)
- paperclip (4.2.0)
- activemodel (>= 3.0.0)
- activesupport (>= 3.0.0)
- cocaine (~> 0.5.3)
+ paperclip (4.3.5)
+ activemodel (>= 3.2.0)
+ activesupport (>= 3.2.0)
+ cocaine (~> 0.5.5)
mime-types
- parser (2.2.0.pre.7)
- ast (>= 1.1, < 3.0)
- slop (~> 3.4, >= 3.4.5)
- pg (0.17.1)
- polyamorous (1.1.0)
+ mimemagic (= 0.3.0)
+ parser (2.3.0.6)
+ ast (~> 2.2)
+ pg (0.18.4)
+ polyamorous (1.3.0)
activerecord (>= 3.0)
polyglot (0.3.5)
- powerpack (0.0.9)
- pry (0.10.0)
+ powerpack (0.1.1)
+ pry (0.10.3)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
- pry-rails (0.3.2)
+ pry-rails (0.3.4)
pry (>= 0.9.10)
pry-remote (0.1.8)
pry (~> 0.9)
slop (~> 3.0)
- rack (1.5.2)
- rack-mini-profiler (0.9.2)
+ rack (1.5.5)
+ rack-mini-profiler (0.9.8)
rack (>= 1.1.3)
- rack-test (0.6.2)
+ rack-test (0.6.3)
rack (>= 1.0)
rails (4.1.4)
actionmailer (= 4.1.4)
@@ -228,124 +247,133 @@ GEM
bundler (>= 1.3.0, < 2.0)
railties (= 4.1.4)
sprockets-rails (~> 2.0)
- rails_12factor (0.0.2)
+ rails_12factor (0.0.3)
rails_serve_static_assets
rails_stdout_logging
- rails_best_practices (1.15.4)
+ rails_best_practices (1.16.0)
activesupport
- awesome_print
code_analyzer (>= 0.4.3)
- colored
erubis
i18n
json
require_all
ruby-progressbar
- rails_serve_static_assets (0.0.2)
- rails_stdout_logging (0.0.3)
+ rails_serve_static_assets (0.0.5)
+ rails_stdout_logging (0.0.4)
railties (4.1.4)
actionpack (= 4.1.4)
activesupport (= 4.1.4)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
- rainbow (2.0.0)
- rake (10.3.2)
- ransack (1.5.1)
+ rainbow (2.1.0)
+ rake (10.5.0)
+ ransack (1.7.0)
actionpack (>= 3.0)
activerecord (>= 3.0)
activesupport (>= 3.0)
i18n
- polyamorous (~> 1.1)
- reek (1.3.8)
- rainbow (>= 1.99, < 3.0)
- ruby2ruby (>= 2.0.8, < 3.0)
- ruby_parser (~> 3.3)
- sexp_processor
- require_all (1.3.2)
+ polyamorous (~> 1.2)
+ rb-fsevent (0.9.7)
+ rb-inotify (0.9.7)
+ ffi (>= 0.5.0)
+ react-rails (0.13.0.0)
+ execjs
+ rails (>= 3.1)
+ react-source (= 0.13.0)
+ react-source (0.13.0)
+ reek (3.11)
+ codeclimate-engine-rb (~> 0.3.1)
+ parser (~> 2.3, >= 2.3.0.6)
+ rainbow (~> 2.0)
+ require_all (1.3.3)
responders (1.1.2)
railties (>= 3.2, < 4.2)
- rspec-core (3.1.7)
- rspec-support (~> 3.1.0)
- rspec-expectations (3.1.2)
+ rspec-core (3.4.3)
+ rspec-support (~> 3.4.0)
+ rspec-expectations (3.4.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.1.0)
- rspec-mocks (3.1.3)
- rspec-support (~> 3.1.0)
- rspec-rails (3.1.0)
- actionpack (>= 3.0)
- activesupport (>= 3.0)
- railties (>= 3.0)
- rspec-core (~> 3.1.0)
- rspec-expectations (~> 3.1.0)
- rspec-mocks (~> 3.1.0)
- rspec-support (~> 3.1.0)
- rspec-support (3.1.2)
- rubocop (0.27.1)
- astrolabe (~> 1.3)
- parser (>= 2.2.0.pre.7, < 3.0)
- powerpack (~> 0.0.6)
+ rspec-support (~> 3.4.0)
+ rspec-mocks (3.4.1)
+ diff-lcs (>= 1.2.0, < 2.0)
+ rspec-support (~> 3.4.0)
+ rspec-rails (3.4.2)
+ actionpack (>= 3.0, < 4.3)
+ activesupport (>= 3.0, < 4.3)
+ railties (>= 3.0, < 4.3)
+ rspec-core (~> 3.4.0)
+ rspec-expectations (~> 3.4.0)
+ rspec-mocks (~> 3.4.0)
+ rspec-support (~> 3.4.0)
+ rspec-support (3.4.1)
+ rubocop (0.37.2)
+ parser (>= 2.3.0.4, < 3.0)
+ powerpack (~> 0.1)
rainbow (>= 1.99.1, < 3.0)
- ruby-progressbar (~> 1.4)
- ruby-progressbar (1.5.1)
- ruby2ruby (2.0.8)
+ ruby-progressbar (~> 1.7)
+ unicode-display_width (~> 0.3)
+ ruby-progressbar (1.7.5)
+ ruby2ruby (2.3.0)
ruby_parser (~> 3.1)
sexp_processor (~> 4.0)
- ruby_parser (3.5.0)
+ ruby_parser (3.8.1)
sexp_processor (~> 4.1)
- rubycritic (1.0.1)
- flay (= 2.4.0)
- flog (= 4.2.1)
- parser (~> 2.1)
- reek (= 1.3.8)
+ rubycritic (2.8.0)
+ colorize
+ flay (= 2.7.0)
+ flog (= 4.3.2)
+ launchy (= 2.4.3)
+ parser (~> 2.3)
+ reek (= 3.11)
+ ruby_parser (~> 3.8)
virtus (~> 1.0)
- sass (3.2.19)
- sass-rails (4.0.4)
+ safe_yaml (1.0.4)
+ sass (3.4.21)
+ sass-rails (5.0.4)
railties (>= 4.0.0, < 5.0)
- sass (~> 3.2.2)
- sprockets (~> 2.8, < 2.12)
- sprockets-rails (~> 2.0)
- sexp_processor (4.4.3)
- simplecov (0.9.0)
+ sass (~> 3.1)
+ sprockets (>= 2.8, < 4.0)
+ sprockets-rails (>= 2.0, < 4.0)
+ tilt (>= 1.1, < 3)
+ sexp_processor (4.7.0)
+ simplecov (0.11.2)
docile (~> 1.1.0)
- multi_json
- simplecov-html (~> 0.8.0)
- simplecov-html (0.8.0)
- slim (2.0.3)
- temple (~> 0.6.6)
+ json (~> 1.8)
+ simplecov-html (~> 0.10.0)
+ simplecov-html (0.10.0)
+ slim (3.0.6)
+ temple (~> 0.7.3)
tilt (>= 1.3.3, < 2.1)
- slop (3.5.0)
- sprockets (2.11.3)
- hike (~> 1.2)
- multi_json (~> 1.0)
- rack (~> 1.0)
- tilt (~> 1.1, != 1.3.0)
- sprockets-rails (2.2.0)
+ slop (3.6.0)
+ sprockets (3.5.2)
+ concurrent-ruby (~> 1.0)
+ rack (> 1, < 3)
+ sprockets-rails (2.3.3)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
- temple (0.6.8)
- terminal-table (1.4.5)
+ temple (0.7.6)
+ terminal-table (1.5.2)
thor (0.19.1)
- thread_safe (0.3.4)
- tilt (1.4.1)
- traceroute (0.4.0)
+ thread_safe (0.3.5)
+ tilt (2.0.2)
+ traceroute (0.5.0)
rails (>= 3.0.0)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
tzinfo (1.2.2)
thread_safe (~> 0.1)
- uglifier (2.5.1)
+ uglifier (2.7.2)
execjs (>= 0.3.0)
json (>= 1.8.0)
- uniform_notifier (1.6.2)
- uuidtools (2.1.4)
- virtus (1.0.3)
+ unicode-display_width (0.3.1)
+ uniform_notifier (1.9.0)
+ virtus (1.0.5)
axiom-types (~> 0.1)
coercible (~> 1.0)
descendants_tracker (~> 0.0, >= 0.0.3)
equalizer (~> 0.0, >= 0.0.9)
- warden (1.2.3)
+ warden (1.2.6)
rack (>= 1.0)
PLATFORMS
@@ -377,6 +405,7 @@ DEPENDENCIES
rails (= 4.1.4)
rails_12factor
rails_best_practices
+ react-rails (~> 0.13.0.0)
rspec-rails
rubocop
rubycritic
diff --git a/app/admin/people.rb b/app/admin/people.rb
index d6df0ad..1e85185 100644
--- a/app/admin/people.rb
+++ b/app/admin/people.rb
@@ -43,7 +43,7 @@
end
# Add New Person button to show page, for quick editing
- action_item only: [:show] do
+ action_item(:show) do
link_to t('admin.person.new'), new_admin_person_path
end
diff --git a/app/admin/stories.rb b/app/admin/stories.rb
index aa4187f..aa5b76f 100644
--- a/app/admin/stories.rb
+++ b/app/admin/stories.rb
@@ -71,12 +71,12 @@
# pf.input :image,
# image_preview: true,
# hint: t('admin.page.image_hint')
- pf.input :image,
+ pf.input :image,
as: :file,
image_preview: true,
hint: t('admin.page.image_hint')
# hint: (f.template.image_tag(f.object.image.url(:thumb)) if f.object.image?)
-
+
end
end
end
@@ -112,9 +112,9 @@
# Return to index after create, update
controller do
def create
- @story = Story.new(permitted_params[:story])
+ story = Story.new(permitted_params[:story])
respond_to do |format|
- if @story.save
+ if story.save
format.html do
redirect_to admin_stories_url, notice: 'Story successfully created.'
end
@@ -125,9 +125,9 @@ def create
end
def update
- @story = Story.friendly.find(params[:id])
+ story = Story.friendly.find(params[:id])
respond_to do |format|
- if @story.update_attributes(permitted_params[:story])
+ if story.update_attributes(permitted_params[:story])
format.html do
redirect_to admin_stories_url, notice: 'Story successfully updated.'
end
diff --git a/app/assets/images/logo.svg b/app/assets/images/logo.svg
index b61d4bd..d710e29 100644
--- a/app/assets/images/logo.svg
+++ b/app/assets/images/logo.svg
@@ -4,6 +4,7 @@
+
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index faef821..818c30e 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -13,3 +13,4 @@
//= require jquery
//= require jquery_ujs
//= require bootstrap
+//= require react
diff --git a/app/assets/javascripts/bootstrap.js.coffee b/app/assets/javascripts/bootstrap.js.coffee
index b7f17b7..d360b39 100644
--- a/app/assets/javascripts/bootstrap.js.coffee
+++ b/app/assets/javascripts/bootstrap.js.coffee
@@ -10,12 +10,11 @@ jQuery ->
$('#carousel-pages').carousel('next')
$('#carousel-pages').on 'slid.bs.carousel', ->
- active_page_index = $('#carousel-pages .carousel-inner .item.active').index()
- new_active_page = $('ol.pages li[data-slide-to="' + active_page_index + '"]')
- $('ol.pages li').removeClass("active")
- new_active_page.addClass("active")
-
-
+ active_page_index = $('#carousel-pages .carousel-inner .item.active').index()
+ new_active_page = $('ol.pages li[data-slide-to="' + active_page_index + '"]')
+ $('ol.pages li').removeClass("active")
+ new_active_page.addClass("active")
+
$(document).keydown (e) ->
switch e.which
when 37 #left arrow
diff --git a/app/assets/javascripts/helloworld.js.jsx b/app/assets/javascripts/helloworld.js.jsx
new file mode 100644
index 0000000..f53aec9
--- /dev/null
+++ b/app/assets/javascripts/helloworld.js.jsx
@@ -0,0 +1,5 @@
+alert('foo');
+React.render(
+
Hello, world!
,
+ document.getElementById('example')
+);
diff --git a/app/assets/stylesheets/_variables.css.sass b/app/assets/stylesheets/_variables.css.sass
index a6a7740..edec4c1 100644
--- a/app/assets/stylesheets/_variables.css.sass
+++ b/app/assets/stylesheets/_variables.css.sass
@@ -4,12 +4,13 @@ $colour-rating_yellow: #ffff99
$colour-rating_red: #ff9999
$colour-rating_blue: #9999ff
$default-border-radius: 5px
-$colour-link-normal: #1e7944
-$colour-link-hover: #1e7944
-$colour-link-active: #1e7944
-$colour-link-visited: #1e7944
-$colour-link-focus: #1e7944
-$colour-highlight: #e6e546
+$colour-link-normal: #3e3b82
+$colour-link-hover: #3e3b82
+$colour-link-active: #3e3b82
+$colour-link-visited: #3e3b82
+$colour-link-focus: #3e3b82
+// $colour-highlight: #e6e546
+$colour-highlight: #8fd2d7
// $colour-background: #f3f0f1
$colour-background: red
$colour-navbar: #231f20
diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css
index 5449645..aa2d5e2 100644
--- a/app/assets/stylesheets/application.css
+++ b/app/assets/stylesheets/application.css
@@ -10,5 +10,6 @@
*= require promo
*= require static
*= require active_admin/editor/wysiwyg
+ *= require promo
*= require_self
*/
diff --git a/app/assets/stylesheets/scaffolds.css.sass b/app/assets/stylesheets/scaffolds.css.sass
index 1e101fd..95b8c56 100644
--- a/app/assets/stylesheets/scaffolds.css.sass
+++ b/app/assets/stylesheets/scaffolds.css.sass
@@ -25,7 +25,6 @@ a
&:hover
color: #fff
- background-color: #000
div
@@ -61,4 +60,3 @@ div
ul li
font-size: 12px
list-style: square
-
diff --git a/app/assets/stylesheets/screen.css.sass b/app/assets/stylesheets/screen.css.sass
index 1ce4330..8b265e9 100644
--- a/app/assets/stylesheets/screen.css.sass
+++ b/app/assets/stylesheets/screen.css.sass
@@ -11,7 +11,7 @@
body
// background: $colour-background url(image_path('greyfloral.png')) 0 0 repeat
- background: red, yellow
+ color: #222222
font-family: 'Archivo Narrow', sans-serif
font-size: 16px
line-height: 1.25
@@ -19,8 +19,8 @@ body
a
+link-colors($colour-link-normal, $colour-link-hover, $colour-link-active, $colour-link-visited, $colour-link-focus)
- &:hover
- background: transparent
+ // &:hover
+ // background: transparent
ul
padding: 0
@@ -36,15 +36,24 @@ ul
@include border-radius(0)
border: none
background: $colour-navbar
- margin: 30px 0 20px 0
+ height: 200px
+ background: transparent
font-family: 'Mouse Memoirs', sans-serif
font-size: 24px
line-height: 1
letter-spacing: 1px
+ clear: both
+ position: relative
@media screen and (min-width: 768px)
- margin: 80px 0 70px 0
+ padding: 0 0 70px 0
+ .ribbon
+ position: absolute
+ z-index: -1
+ width: 100%
+ min-height: 100%
.navbar-nav>li>a
color: white
+ margin-top: 80px
&:hover
color: $colour-highlight
.navbar-nav>.active>a
@@ -56,30 +65,22 @@ ul
.navbar-brand
height: 0
.logo
- margin-top: -33px
+ margin-right: 40px
width: 100px
@media screen and (min-width: 768px)
- margin-top: -63px
width: 150px
@media screen and (min-width: 992px)
- margin-top: -85px
width: 200px
.navbar-collapse
border: 0
header
- margin-top: -200px
- margin-bottom: 2em
- min-height: 170px
- max-height: 500px
- overflow: hidden
- h1
- text-align: center
- margin: 150px 0 0 0
- line-height: 1
- .header_image
- img
- width: 100%
+ position: relative
+ z-index: 0
+
+.section
+ position: relative
+ z-index: 100
footer
margin-top: 2em
diff --git a/app/controllers/people_controller.rb b/app/controllers/people_controller.rb
index 501b7d9..5faa56b 100644
--- a/app/controllers/people_controller.rb
+++ b/app/controllers/people_controller.rb
@@ -1,25 +1,36 @@
# Front-end controller for people
-class PeopleController < InheritedResources::Base
- # GET /people
- # GET /people.json
+class PeopleController < ApplicationController
def index
- @people = Person.alphabetical.page params[:page]
-
+ people = repo.all.page params[:page]
respond_to do |format|
- format.html # index.html.erb
- format.json { render json: @people }
+ format.html { render_index(people) }
+ format.json { render json: people }
end
end
- # GET /people/1
- # GET /people/1.json
def show
- @person = Person.friendly.find(params[:id])
- @stories = @person.stories.with_pages.alphabetical.includes(:people)
-
+ person = repo.find(params[:id])
respond_to do |format|
- format.html # show.html.erb
- format.json { render json: @person }
+ format.html { render_show(person) }
+ format.json { render json: person }
end
end
+
+ private
+
+ def repo
+ @people_repo ||= PeopleRepo.new
+ end
+
+ def render_index(people)
+ render 'people/index', locals: { people: people }
+ end
+
+ def render_show(person)
+ render 'people/show',
+ locals: {
+ person: person,
+ stories: person.stories.with_pages.alphabetical.includes(:people)
+ }
+ end
end
diff --git a/app/controllers/site_controller.rb b/app/controllers/site_controller.rb
index 1293352..ce913be 100644
--- a/app/controllers/site_controller.rb
+++ b/app/controllers/site_controller.rb
@@ -1,15 +1,24 @@
# Front-end controller for home page
-class SiteController < InheritedResources::Base
- # GET /pages
- # GET /pages.json
+class SiteController < ApplicationController
def index
- @recent_stories = Story.with_pages.recent(4).includes(:people)
- @stories = Story.with_pages.recent(24).offset(4).alphabetical.includes(:people)
- @people = Person.recent(24).alphabetical
+ recent_stories = Story.with_pages.recent(4).includes(:people)
+ stories = Story.with_pages.recent(24).offset(4).alphabetical.includes(:people)
+ people = Person.recent(24).alphabetical
respond_to do |format|
- format.html # index.html.erb
- format.json { render json: @stories }
+ format.html { render_index(recent_stories, stories, people) }
+ format.json { render json: stories }
end
end
+
+ private
+
+ def render_index(recent_stories, stories, people)
+ render 'site/index',
+ locals: {
+ recent_stories: recent_stories,
+ stories: stories,
+ people: people
+ }
+ end
end
diff --git a/app/controllers/stories_controller.rb b/app/controllers/stories_controller.rb
index ca383c3..d8b0202 100644
--- a/app/controllers/stories_controller.rb
+++ b/app/controllers/stories_controller.rb
@@ -1,34 +1,48 @@
# Front-end controller for stories
-class StoriesController < InheritedResources::Base
+class StoriesController < ApplicationController
# GET /stories
# GET /stories.json
def index
- @stories ||= stories
- @rating = params[:rating]
- @starts_with = params[:starts_with]
+ rating = params[:rating]
+ starts_with = params[:starts_with]
+ stories = repo.filter(rating: rating, starts_with: starts_with).page params[:page]
respond_to do |format|
- format.html # index.html.erb
- format.json { render json: @stories }
+ format.html { render_index(stories, rating, starts_with) }
+ format.json { render json: stories }
end
end
# GET /stories/1
# GET /stories/1.json
def show
- @story = Story.friendly.find(params[:id])
- @pages = @story.pages.ordered
- @people = @story.people.alphabetical.includes(:stories)
-
+ story = repo.find(params[:id])
respond_to do |format|
- format.html # show.html.erb
- format.json { render json: @story }
+ format.html { render_show(story) }
+ format.json { render json: story }
end
end
private
- def stories
- stories = Story.filter(params.slice(:rating, :starts_with))
- stories.with_pages.alphabetical.page params[:page]
+ def repo
+ @stories_repo ||= StoriesRepo.new
+ end
+
+ def render_index(stories, rating, starts_with)
+ render 'stories/index',
+ locals: {
+ stories: stories,
+ rating: rating,
+ starts_with: starts_with
+ }
+ end
+
+ def render_show(story)
+ render 'stories/show',
+ locals: {
+ story: story,
+ pages: story.pages.ordered,
+ people: story.people.alphabetical.includes(:stories)
+ }
end
end
diff --git a/app/repos/people_repo.rb b/app/repos/people_repo.rb
new file mode 100644
index 0000000..031e92c
--- /dev/null
+++ b/app/repos/people_repo.rb
@@ -0,0 +1,9 @@
+class PeopleRepo
+ def all
+ Person.alphabetical
+ end
+
+ def find(person_id)
+ Person.friendly.find(person_id)
+ end
+end
diff --git a/app/repos/stories_repo.rb b/app/repos/stories_repo.rb
new file mode 100644
index 0000000..bf0c046
--- /dev/null
+++ b/app/repos/stories_repo.rb
@@ -0,0 +1,9 @@
+class StoriesRepo
+ def filter(filtering_params)
+ Story.filter(filtering_params).with_pages.alphabetical
+ end
+
+ def find(story_id)
+ Story.friendly.find(story_id)
+ end
+end
diff --git a/app/views/_nav.html.haml b/app/views/_nav.html.haml
new file mode 100644
index 0000000..8522906
--- /dev/null
+++ b/app/views/_nav.html.haml
@@ -0,0 +1,20 @@
+.navbar.navbar-inverse
+ = image_tag "ribbon.svg", class: "ribbon"
+
+ .container
+ .navbar-header
+ %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", :type => "button"}
+ Menu
+ %a.navbar-brand{:href => "/"}
+ = image_tag "logo.svg", class: "logo"
+ .navbar-collapse.collapse
+ %ul.nav.navbar-nav
+ = nav_link "Home", root_path
+ = nav_link "Stories", stories_path
+ = nav_link "People", people_path
+ = nav_link "Workshops", "/workshops"
+ = nav_link "Submissions", "/submissions"
+ = nav_link "Issue 27", "/issue-27"
+
+ - flash.each do |name, msg|
+ = content_tag :div, msg, class: name
diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 0c9b572..1657a13 100644
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -1,23 +1,23 @@
-%html{:lang => "en"}
+%html{lang: "en"}
%head
%meta(charset="utf-8")
%meta(http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1")
%meta(name="viewport" content="width=device-width, initial-scale=1.0")
%title= content_for?(:title) ? yield(:title) + "| Funtime Comics" : "Funtime Comics"
- %meta{:content => "", :name => "description"}/
- %meta{:content => "", :name => "author"}/
+ %meta{content: "", name: "description"}/
+ %meta{content: "", name: "author"}/
= csrf_meta_tags
= stylesheet_link_tag "application", 'http://fonts.googleapis.com/css?family=Archivo+Narrow', media: "all"
= stylesheet_link_tag "application", 'https://fonts.googleapis.com/css?family=Mouse+Memoirs', media: "all"
- =# favicon_link_tag 'apple-touch-icon-144x144-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '144x144'
- =# favicon_link_tag 'apple-touch-icon-114x114-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '114x114'
- =# favicon_link_tag 'apple-touch-icon-72x72-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png', :sizes => '72x72'
- =# favicon_link_tag 'apple-touch-icon-precomposed.png', :rel => 'apple-touch-icon-precomposed', :type => 'image/png'
- =# favicon_link_tag 'favicon.ico', :rel => 'shortcut icon'
+ =# favicon_link_tag 'apple-touch-icon-144x144-precomposed.png', rel: 'apple-touch-icon-precomposed', type: 'image/png', sizes: '144x144'
+ =# favicon_link_tag 'apple-touch-icon-114x114-precomposed.png', rel: 'apple-touch-icon-precomposed', type: 'image/png', sizes: '114x114'
+ =# favicon_link_tag 'apple-touch-icon-72x72-precomposed.png', rel: 'apple-touch-icon-precomposed', type: 'image/png', sizes: '72x72'
+ =# favicon_link_tag 'apple-touch-icon-precomposed.png', rel: 'apple-touch-icon-precomposed', type: 'image/png'
+ =# favicon_link_tag 'favicon.ico', rel: 'shortcut icon'
- %link{:href=>"//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css", :rel=>"stylesheet"}
+ %link{href: "//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css", rel: "stylesheet"}
/ Le HTML5 shim, for IE6-8 support of HTML elements
/[if lt IE 9]
= javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.1/html5shiv.js"
@@ -27,25 +27,10 @@
- if notice
#notice= notice
- .navbar.navbar-inverse
- .container
- .navbar-header
- %button.navbar-toggle{"data-target" => ".navbar-collapse", "data-toggle" => "collapse", :type => "button"}
- Menu
- %a.navbar-brand{:href => "/"}
- = image_tag "logo.svg", class: "logo"
- .navbar-collapse.collapse
- %ul.nav.navbar-nav
- = nav_link "Home", root_path
- = nav_link "Stories", stories_path
- = nav_link "People", people_path
- = nav_link "Workshops", "/workshops"
- = nav_link "Submissions", "/submissions"
-
- - flash.each do |name, msg|
- = content_tag :div, msg, class: name
+ %header
+ = render '/nav'
= yield
= javascript_include_tag "application"
- %script{:src=>"//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"}
+ %script{src: "//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"}
diff --git a/app/views/people/_people.html.haml b/app/views/people/_people.html.haml
index 6a74f19..63d3893 100644
--- a/app/views/people/_people.html.haml
+++ b/app/views/people/_people.html.haml
@@ -1,3 +1,5 @@
.people
%ul.people
- = render partial: "people/person", collection: people
\ No newline at end of file
+ = render partial: "people/person", collection: people
+ %h2.subtitle
+ = link_to "See All Artists", people_path
diff --git a/app/views/people/index.html.haml b/app/views/people/index.html.haml
index 248fe16..b53cbb6 100644
--- a/app/views/people/index.html.haml
+++ b/app/views/people/index.html.haml
@@ -10,13 +10,13 @@
.row
.col-md-12
.pagination-wrapper
- = paginate @people
+ = paginate people
.row
.col-md-12
- = render partial: "people/people", object: @people
+ = render partial: "people/people", object: people
.row
.col-md-12
.pagination-wrapper
- = paginate @people
+ = paginate people
= render partial: "site/footer"
diff --git a/app/views/people/show.html.haml b/app/views/people/show.html.haml
index ff35284..44c6921 100644
--- a/app/views/people/show.html.haml
+++ b/app/views/people/show.html.haml
@@ -1,22 +1,22 @@
- content_for :title do
- = @person.name
+ = person.name
%header
.container
.row
.col-md-12
- %h1= @person.name
+ %h1= person.name
.container
.row
.col-md-6
.person-image.original
- = image_tag @person.image.url(:original)
+ = image_tag person.image.url(:original)
.col-md-6
- = @person.bio.html_safe
+ = person.bio.html_safe
.row
.col-md-12
%h3 Stories
- = render partial: "stories/stories", object: @stories, locals: {person: @person}
+ = render partial: "stories/stories", object: stories, locals: {person: person}
-= render partial: "site/footer"
\ No newline at end of file
+= render partial: "site/footer"
diff --git a/app/views/site/index.html.haml b/app/views/site/index.html.haml
index 02c0399..d539fba 100644
--- a/app/views/site/index.html.haml
+++ b/app/views/site/index.html.haml
@@ -1,28 +1,18 @@
.section.stories
.container
.row
- .col-md-2.col-sm-12
- .subtitle
- %h2 Stories
- = link_to "See All Stories", stories_path
- .col-md-10.col-sm-12
- .row
- .col-md-8
- = render partial: "stories/featured_stories", object: @recent_stories, person: nil
- .col-md-4.col-sm-12
- = render partial: "/promo"
- .row
- .col-md-12
- = render partial: "stories/stories", object: @stories, person: nil
+ .col-md-8
+ = render partial: "stories/featured_stories", object: recent_stories, person: nil
+ .col-md-4.col-sm-12
+ = render partial: "/promo"
+ .row
+ .col-md-12
+ = render partial: "stories/stories", object: stories, person: nil
.section.people
.container
.row
- .col-md-2.col-sm-12
- .subtitle
- %h2 People
- = link_to "See All People", people_path
- .col-md-10.col-sm-12
- = render partial: "people/people", object: @people
+ .col-md-12
+ = render partial: "people/people", object: people
= render partial: "site/footer"
diff --git a/app/views/static/issue-27.html.haml b/app/views/static/issue-27.html.haml
new file mode 100644
index 0000000..52e6041
--- /dev/null
+++ b/app/views/static/issue-27.html.haml
@@ -0,0 +1,15 @@
+- content_for :title do
+ Ratings
+
+%header
+ .container
+ .row
+ .col-md-12
+ %h1 Issue 27
+.section
+ .container
+ .row
+ .col-md-12
+ Info about Issue 27
+
+= render partial: "site/footer"
diff --git a/app/views/stories/_stories.html.haml b/app/views/stories/_stories.html.haml
index a3d1ee7..4b11ec8 100644
--- a/app/views/stories/_stories.html.haml
+++ b/app/views/stories/_stories.html.haml
@@ -1,2 +1,4 @@
%ul.stories
- = render partial: "stories/story", collection: stories, locals: {person: person ||= nil}
\ No newline at end of file
+ = render partial: "stories/story", collection: stories, locals: {person: person ||= nil}
+%h2.subtitle
+ = link_to "See All Stories", stories_path
diff --git a/app/views/stories/index.html.haml b/app/views/stories/index.html.haml
index d23974f..0f4fe2d 100644
--- a/app/views/stories/index.html.haml
+++ b/app/views/stories/index.html.haml
@@ -12,22 +12,22 @@
.filters
= form_tag stories_path, :method => :get, class: 'form-inline' do
Show me
- = select_tag :rating, options_for_select(Story.ratings.keys + ["unrated"], @rating), prompt: 'all', class: 'form-control input-sm'
+ = select_tag :rating, options_for_select(Story.ratings.keys + ["unrated"], rating), prompt: 'all', class: 'form-control input-sm'
stories
= submit_tag 'Filter', class: 'btn btn-default'
.row
.col-md-12
.pagination-wrapper
- = paginate @stories
+ = paginate stories
.row
.col-md-12
- - if @stories.any?
- = render partial: "stories/stories", object: @stories, person: nil
+ - if stories.any?
+ = render partial: "stories/stories", object: stories, person: nil
- else
= "There are no stories like that."
.row
.col-md-12
.pagination-wrapper
- = paginate @stories
+ = paginate stories
= render partial: "site/footer"
diff --git a/app/views/stories/show.html.haml b/app/views/stories/show.html.haml
index fe0d3d7..faa5186 100644
--- a/app/views/stories/show.html.haml
+++ b/app/views/stories/show.html.haml
@@ -1,29 +1,32 @@
- content_for :title do
- = @story.name
+ = story.name
+
+%script{:type=>"text/jsx", :src=>asset_path('helloworld.js')}
%header
.container
.row
.col-md-12
- %h1= @story.name
+ %h1= story.name
.section
.container
.row
.col-md-9
- - if @story.page_count == 1
- = image_tag @story.pages.first.image.url(:original), class: "img-responsive"
+ #example
+ - if story.page_count == 1
+ = image_tag story.pages.first.image.url(:original), class: "img-responsive"
- else
#carousel-pages.carousel.slide
.carousel-inner
- - if @story.blue?
+ - if story.blue?
.item.active.warning_page
%h2 Warning
This story is rated blue, and is suitable for adults only.
- - @pages.each_with_index do |page, i|
- .item{:class => ("active" if i==0 && !@story.blue?)}
+ - pages.each_with_index do |page, i|
+ .item{:class => ("active" if i==0 && !story.blue?)}
= image_tag page.image.url(:original), class: "img-responsive"
- - if @story.unfinished?
+ - if story.unfinished?
.item.to_be_continued
%h2 To be continued…
%a.left.carousel-control{"data-slide" => "prev", :href => "#carousel-pages"}
@@ -34,23 +37,23 @@
.row
.col-md-12
.rating-box
- = rating_dot(@story)
- = rating_info(@story)
- - unless @story.page_count == 1
+ = rating_dot(story)
+ = rating_info(story)
+ - unless story.page_count == 1
.row
.col-md-12
- = render partial: "pages/pages", object: @pages, locals: {story: @story}
+ = render partial: "pages/pages", object: pages, locals: {story: story}
.row
.col-md-12
- - if @story.description?
+ - if story.description?
.description
- = @story.description.html_safe
+ = story.description.html_safe
.row.creators
.col-md-12
%h2 Creators
.people
%ul.people
- - @people.each do |person|
+ - people.each do |person|
%li.person
= link_to person do
.person-image.thumb
@@ -60,7 +63,7 @@
.col-md-12
%h3 More by the same creators
.stories
- - Story.by_same_creators(@story).each do |story|
+ - Story.by_same_creators(story).each do |story|
%li.story
= link_to story do
.story-image.thumb
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 4fbf56d..0d03447 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -34,7 +34,7 @@
# Expands the lines which load the assets
config.assets.debug = true
-
+
config.after_initialize do
Bullet.enable = true
# Bullet.alert = true
@@ -51,4 +51,6 @@
Bullet.add_footer = true
# Bullet.stacktrace_includes = [ 'your_gem', 'your_middleware' ]
end
+
+ config.react.variant = :development
end
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 7ffb76c..db1044c 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -79,4 +79,6 @@
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
}
}
+
+ config.react.variant = :production
end
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 14cc4aa..e549d71 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -36,4 +36,6 @@
# Print deprecation notices to the stderr
config.active_support.deprecation = :stderr
+
+ config.react.variant = :development
end
diff --git a/db/schema.rb b/db/schema.rb
index 7e50bd2..a6174de 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -14,108 +14,109 @@
ActiveRecord::Schema.define(version: 20141020061254) do
# These are extensions that must be enabled in order to support this database
- enable_extension 'plpgsql'
-
- create_table 'active_admin_comments', force: true do |t|
- t.string 'resource_id', null: false
- t.string 'resource_type', null: false
- t.integer 'author_id'
- t.string 'author_type'
- t.text 'body'
- t.datetime 'created_at'
- t.datetime 'updated_at'
- t.string 'namespace'
+ enable_extension "plpgsql"
+ enable_extension "hstore"
+
+ create_table "active_admin_comments", force: true do |t|
+ t.string "resource_id", null: false
+ t.string "resource_type", null: false
+ t.integer "author_id"
+ t.string "author_type"
+ t.text "body"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ t.string "namespace"
end
- add_index 'active_admin_comments', ['author_type', 'author_id'], name: 'index_active_admin_comments_on_author_type_and_author_id', using: :btree
- add_index 'active_admin_comments', ['namespace'], name: 'index_active_admin_comments_on_namespace', using: :btree
- add_index 'active_admin_comments', ['resource_type', 'resource_id'], name: 'index_active_admin_comments_on_resource_type_and_resource_id', using: :btree
-
- create_table 'admin_users', force: true do |t|
- t.string 'email', default: '', null: false
- t.string 'encrypted_password', default: '', null: false
- t.string 'reset_password_token'
- t.datetime 'reset_password_sent_at'
- t.datetime 'remember_created_at'
- t.integer 'sign_in_count', default: 0
- t.datetime 'current_sign_in_at'
- t.datetime 'last_sign_in_at'
- t.string 'current_sign_in_ip'
- t.string 'last_sign_in_ip'
- t.datetime 'created_at'
- t.datetime 'updated_at'
+ add_index "active_admin_comments", ["author_type", "author_id"], name: "index_active_admin_comments_on_author_type_and_author_id", using: :btree
+ add_index "active_admin_comments", ["namespace"], name: "index_active_admin_comments_on_namespace", using: :btree
+ add_index "active_admin_comments", ["resource_type", "resource_id"], name: "index_active_admin_comments_on_resource_type_and_resource_id", using: :btree
+
+ create_table "admin_users", force: true do |t|
+ t.string "email", default: "", null: false
+ t.string "encrypted_password", default: "", null: false
+ t.string "reset_password_token"
+ t.datetime "reset_password_sent_at"
+ t.datetime "remember_created_at"
+ t.integer "sign_in_count", default: 0
+ t.datetime "current_sign_in_at"
+ t.datetime "last_sign_in_at"
+ t.string "current_sign_in_ip"
+ t.string "last_sign_in_ip"
+ t.datetime "created_at"
+ t.datetime "updated_at"
end
- add_index 'admin_users', ['email'], name: 'index_admin_users_on_email', unique: true, using: :btree
- add_index 'admin_users', ['reset_password_token'], name: 'index_admin_users_on_reset_password_token', unique: true, using: :btree
+ add_index "admin_users", ["email"], name: "index_admin_users_on_email", unique: true, using: :btree
+ add_index "admin_users", ["reset_password_token"], name: "index_admin_users_on_reset_password_token", unique: true, using: :btree
- create_table 'controllers', force: true do |t|
- t.string 'Pages'
- t.datetime 'created_at'
- t.datetime 'updated_at'
+ create_table "controllers", force: true do |t|
+ t.string "Pages"
+ t.datetime "created_at"
+ t.datetime "updated_at"
end
- create_table 'friendly_id_slugs', force: true do |t|
- t.string 'slug', null: false
- t.integer 'sluggable_id', null: false
- t.string 'sluggable_type', limit: 40
- t.datetime 'created_at'
+ create_table "friendly_id_slugs", force: true do |t|
+ t.string "slug", null: false
+ t.integer "sluggable_id", null: false
+ t.string "sluggable_type", limit: 40
+ t.datetime "created_at"
end
- add_index 'friendly_id_slugs', ['slug', 'sluggable_type'], name: 'index_friendly_id_slugs_on_slug_and_sluggable_type', unique: true, using: :btree
- add_index 'friendly_id_slugs', ['sluggable_id'], name: 'index_friendly_id_slugs_on_sluggable_id', using: :btree
- add_index 'friendly_id_slugs', ['sluggable_type'], name: 'index_friendly_id_slugs_on_sluggable_type', using: :btree
-
- create_table 'pages', force: true do |t|
- t.integer 'story_id'
- t.datetime 'created_at'
- t.datetime 'updated_at'
- t.string 'image_file_name'
- t.string 'image_content_type'
- t.integer 'image_file_size'
- t.datetime 'image_updated_at'
- t.integer 'position'
+ add_index "friendly_id_slugs", ["slug", "sluggable_type"], name: "index_friendly_id_slugs_on_slug_and_sluggable_type", unique: true, using: :btree
+ add_index "friendly_id_slugs", ["sluggable_id"], name: "index_friendly_id_slugs_on_sluggable_id", using: :btree
+ add_index "friendly_id_slugs", ["sluggable_type"], name: "index_friendly_id_slugs_on_sluggable_type", using: :btree
+
+ create_table "pages", force: true do |t|
+ t.integer "story_id"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ t.string "image_file_name"
+ t.string "image_content_type"
+ t.integer "image_file_size"
+ t.datetime "image_updated_at"
+ t.integer "position"
end
- add_index 'pages', ['story_id'], name: 'index_pages_on_story_id', using: :btree
-
- create_table 'people', force: true do |t|
- t.string 'name'
- t.text 'bio'
- t.datetime 'created_at'
- t.datetime 'updated_at'
- t.string 'image_file_name'
- t.string 'image_content_type'
- t.integer 'image_file_size'
- t.datetime 'image_updated_at'
- t.string 'slug'
+ add_index "pages", ["story_id"], name: "index_pages_on_story_id", using: :btree
+
+ create_table "people", force: true do |t|
+ t.string "name"
+ t.text "bio"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ t.string "image_file_name"
+ t.string "image_content_type"
+ t.integer "image_file_size"
+ t.datetime "image_updated_at"
+ t.string "slug"
end
- add_index 'people', ['slug'], name: 'index_people_on_slug', using: :btree
+ add_index "people", ["slug"], name: "index_people_on_slug", using: :btree
- create_table 'people_stories', force: true do |t|
- t.integer 'story_id'
- t.integer 'person_id'
+ create_table "people_stories", force: true do |t|
+ t.integer "story_id"
+ t.integer "person_id"
end
- add_index 'people_stories', ['person_id'], name: 'index_people_stories_on_person_id', using: :btree
- add_index 'people_stories', ['story_id'], name: 'index_people_stories_on_story_id', using: :btree
-
- create_table 'stories', force: true do |t|
- t.string 'name'
- t.datetime 'created_at'
- t.datetime 'updated_at'
- t.string 'cover_image_file_name'
- t.string 'cover_image_content_type'
- t.integer 'cover_image_file_size'
- t.datetime 'cover_image_updated_at'
- t.string 'slug'
- t.text 'description'
- t.integer 'pages_count'
- t.integer 'rating'
- t.boolean 'unfinished'
+ add_index "people_stories", ["person_id"], name: "index_people_stories_on_person_id", using: :btree
+ add_index "people_stories", ["story_id"], name: "index_people_stories_on_story_id", using: :btree
+
+ create_table "stories", force: true do |t|
+ t.string "name"
+ t.datetime "created_at"
+ t.datetime "updated_at"
+ t.string "cover_image_file_name"
+ t.string "cover_image_content_type"
+ t.integer "cover_image_file_size"
+ t.datetime "cover_image_updated_at"
+ t.string "slug"
+ t.text "description"
+ t.integer "pages_count"
+ t.integer "rating"
+ t.boolean "unfinished"
end
- add_index 'stories', ['slug'], name: 'index_stories_on_slug', using: :btree
+ add_index "stories", ["slug"], name: "index_stories_on_slug", using: :btree
end
diff --git a/public/images/funtime27_cover.jpg b/public/images/funtime27_cover.jpg
new file mode 100644
index 0000000..f666d98
Binary files /dev/null and b/public/images/funtime27_cover.jpg differ