bookshout-theme 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 19d1bbd3a5f6e90ff66097d2dc177da6d5572ee9
4
+ data.tar.gz: f3aefdb4534449e15ac0ddb048abca8f9d8897a8
5
+ SHA512:
6
+ metadata.gz: bb00aeab46126357a937eeabe62299e3bd81ce8ec2946f1e213b6d79d57934ddcb41b43db550c7280a0905d8e780787938ecfaeee55734921ccd7a7a63386afb
7
+ data.tar.gz: 71560bf5b0ad3f60086ea1d2918944e9760f4613e223d0ccc2da67eb9983be55c684b87575b9fda48a56ef9ab57f5d06ebee9c21cfe2d625558b3aded8a67c40
data/Gemfile ADDED
@@ -0,0 +1,20 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', '>= 4.2.1'
4
+
5
+ group :development do
6
+ gem 'jeweler', '~> 2.0.1'
7
+ end
8
+
9
+ group :assets do
10
+ gem 'haml'
11
+ gem 'haml-rails'
12
+ gem 'foundation-rails'
13
+ gem 'font-awesome-sass'
14
+ gem 'compass'
15
+ gem 'sass-rails'
16
+ gem 'sass'
17
+ gem 'uglifier'
18
+ gem 'coffee-rails'
19
+ gem 'jquery-rails'
20
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,207 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ actionmailer (4.2.1)
5
+ actionpack (= 4.2.1)
6
+ actionview (= 4.2.1)
7
+ activejob (= 4.2.1)
8
+ mail (~> 2.5, >= 2.5.4)
9
+ rails-dom-testing (~> 1.0, >= 1.0.5)
10
+ actionpack (4.2.1)
11
+ actionview (= 4.2.1)
12
+ activesupport (= 4.2.1)
13
+ rack (~> 1.6)
14
+ rack-test (~> 0.6.2)
15
+ rails-dom-testing (~> 1.0, >= 1.0.5)
16
+ rails-html-sanitizer (~> 1.0, >= 1.0.1)
17
+ actionview (4.2.1)
18
+ activesupport (= 4.2.1)
19
+ builder (~> 3.1)
20
+ erubis (~> 2.7.0)
21
+ rails-dom-testing (~> 1.0, >= 1.0.5)
22
+ rails-html-sanitizer (~> 1.0, >= 1.0.1)
23
+ activejob (4.2.1)
24
+ activesupport (= 4.2.1)
25
+ globalid (>= 0.3.0)
26
+ activemodel (4.2.1)
27
+ activesupport (= 4.2.1)
28
+ builder (~> 3.1)
29
+ activerecord (4.2.1)
30
+ activemodel (= 4.2.1)
31
+ activesupport (= 4.2.1)
32
+ arel (~> 6.0)
33
+ activesupport (4.2.1)
34
+ i18n (~> 0.7)
35
+ json (~> 1.7, >= 1.7.7)
36
+ minitest (~> 5.1)
37
+ thread_safe (~> 0.3, >= 0.3.4)
38
+ tzinfo (~> 1.1)
39
+ addressable (2.3.8)
40
+ arel (6.0.0)
41
+ builder (3.2.2)
42
+ chunky_png (1.3.4)
43
+ coffee-rails (4.1.0)
44
+ coffee-script (>= 2.2.0)
45
+ railties (>= 4.0.0, < 5.0)
46
+ coffee-script (2.4.1)
47
+ coffee-script-source
48
+ execjs
49
+ coffee-script-source (1.9.1.1)
50
+ compass (1.0.3)
51
+ chunky_png (~> 1.2)
52
+ compass-core (~> 1.0.2)
53
+ compass-import-once (~> 1.0.5)
54
+ rb-fsevent (>= 0.9.3)
55
+ rb-inotify (>= 0.9)
56
+ sass (>= 3.3.13, < 3.5)
57
+ compass-core (1.0.3)
58
+ multi_json (~> 1.0)
59
+ sass (>= 3.3.0, < 3.5)
60
+ compass-import-once (1.0.5)
61
+ sass (>= 3.2, < 3.5)
62
+ descendants_tracker (0.0.4)
63
+ thread_safe (~> 0.3, >= 0.3.1)
64
+ erubis (2.7.0)
65
+ execjs (2.5.2)
66
+ faraday (0.9.1)
67
+ multipart-post (>= 1.2, < 3)
68
+ ffi (1.9.8)
69
+ font-awesome-sass (4.3.2.1)
70
+ sass (~> 3.2)
71
+ foundation-rails (5.5.1.2)
72
+ railties (>= 3.1.0)
73
+ sass (>= 3.3.0, < 3.5)
74
+ git (1.2.9.1)
75
+ github_api (0.12.3)
76
+ addressable (~> 2.3)
77
+ descendants_tracker (~> 0.0.4)
78
+ faraday (~> 0.8, < 0.10)
79
+ hashie (>= 3.3)
80
+ multi_json (>= 1.7.5, < 2.0)
81
+ nokogiri (~> 1.6.3)
82
+ oauth2
83
+ globalid (0.3.5)
84
+ activesupport (>= 4.1.0)
85
+ haml (4.0.6)
86
+ tilt
87
+ haml-rails (0.9.0)
88
+ actionpack (>= 4.0.1)
89
+ activesupport (>= 4.0.1)
90
+ haml (>= 4.0.6, < 5.0)
91
+ html2haml (>= 1.0.1)
92
+ railties (>= 4.0.1)
93
+ hashie (3.4.1)
94
+ highline (1.7.2)
95
+ html2haml (2.0.0)
96
+ erubis (~> 2.7.0)
97
+ haml (~> 4.0.0)
98
+ nokogiri (~> 1.6.0)
99
+ ruby_parser (~> 3.5)
100
+ i18n (0.7.0)
101
+ jeweler (2.0.1)
102
+ builder
103
+ bundler (>= 1.0)
104
+ git (>= 1.2.5)
105
+ github_api
106
+ highline (>= 1.6.15)
107
+ nokogiri (>= 1.5.10)
108
+ rake
109
+ rdoc
110
+ jquery-rails (4.0.3)
111
+ rails-dom-testing (~> 1.0)
112
+ railties (>= 4.2.0)
113
+ thor (>= 0.14, < 2.0)
114
+ json (1.8.2)
115
+ jwt (1.4.1)
116
+ loofah (2.0.1)
117
+ nokogiri (>= 1.5.9)
118
+ mail (2.6.3)
119
+ mime-types (>= 1.16, < 3)
120
+ mime-types (2.4.3)
121
+ mini_portile (0.6.2)
122
+ minitest (5.6.0)
123
+ multi_json (1.11.0)
124
+ multi_xml (0.5.5)
125
+ multipart-post (2.0.0)
126
+ nokogiri (1.6.6.2)
127
+ mini_portile (~> 0.6.0)
128
+ oauth2 (1.0.0)
129
+ faraday (>= 0.8, < 0.10)
130
+ jwt (~> 1.0)
131
+ multi_json (~> 1.3)
132
+ multi_xml (~> 0.5)
133
+ rack (~> 1.2)
134
+ rack (1.6.0)
135
+ rack-test (0.6.3)
136
+ rack (>= 1.0)
137
+ rails (4.2.1)
138
+ actionmailer (= 4.2.1)
139
+ actionpack (= 4.2.1)
140
+ actionview (= 4.2.1)
141
+ activejob (= 4.2.1)
142
+ activemodel (= 4.2.1)
143
+ activerecord (= 4.2.1)
144
+ activesupport (= 4.2.1)
145
+ bundler (>= 1.3.0, < 2.0)
146
+ railties (= 4.2.1)
147
+ sprockets-rails
148
+ rails-deprecated_sanitizer (1.0.3)
149
+ activesupport (>= 4.2.0.alpha)
150
+ rails-dom-testing (1.0.6)
151
+ activesupport (>= 4.2.0.beta, < 5.0)
152
+ nokogiri (~> 1.6.0)
153
+ rails-deprecated_sanitizer (>= 1.0.1)
154
+ rails-html-sanitizer (1.0.2)
155
+ loofah (~> 2.0)
156
+ railties (4.2.1)
157
+ actionpack (= 4.2.1)
158
+ activesupport (= 4.2.1)
159
+ rake (>= 0.8.7)
160
+ thor (>= 0.18.1, < 2.0)
161
+ rake (10.4.2)
162
+ rb-fsevent (0.9.4)
163
+ rb-inotify (0.9.5)
164
+ ffi (>= 0.5.0)
165
+ rdoc (4.2.0)
166
+ json (~> 1.4)
167
+ ruby_parser (3.6.6)
168
+ sexp_processor (~> 4.1)
169
+ sass (3.4.13)
170
+ sass-rails (5.0.3)
171
+ railties (>= 4.0.0, < 5.0)
172
+ sass (~> 3.1)
173
+ sprockets (>= 2.8, < 4.0)
174
+ sprockets-rails (>= 2.0, < 4.0)
175
+ tilt (~> 1.1)
176
+ sexp_processor (4.5.0)
177
+ sprockets (3.0.1)
178
+ rack (~> 1.0)
179
+ sprockets-rails (2.2.4)
180
+ actionpack (>= 3.0)
181
+ activesupport (>= 3.0)
182
+ sprockets (>= 2.8, < 4.0)
183
+ thor (0.19.1)
184
+ thread_safe (0.3.5)
185
+ tilt (1.4.1)
186
+ tzinfo (1.2.2)
187
+ thread_safe (~> 0.1)
188
+ uglifier (2.7.1)
189
+ execjs (>= 0.3.0)
190
+ json (>= 1.8.0)
191
+
192
+ PLATFORMS
193
+ ruby
194
+
195
+ DEPENDENCIES
196
+ coffee-rails
197
+ compass
198
+ font-awesome-sass
199
+ foundation-rails
200
+ haml
201
+ haml-rails
202
+ jeweler (~> 2.0.1)
203
+ jquery-rails
204
+ rails (>= 4.2.1)
205
+ sass
206
+ sass-rails
207
+ uglifier
data/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # Bookshout Theme #
2
+
3
+ A Rails gem / engine to make any Rails app look like bookshout.com. Provides a generator for static assets via helper methods.
4
+
5
+ ## Installation ##
6
+
7
+ Add `bookshout-theme` to your Gemfile
8
+
9
+ gem 'bookshout-theme'
10
+
11
+ ## Usage ##
12
+
13
+ Wrap your application.html `yield` with the header and footer helpers:
14
+
15
+ <% # application.html.erb %>
16
+ <%= header %>
17
+ <%= yield %>
18
+ <%= footer %>
19
+
20
+ If you want to add anything within the `<head></head>` tags or just before the `</body>` tag, you can pass a block to the helpers:
21
+
22
+ <%= header do %>
23
+ <%= stylesheet_link_tag 'additional_styles' %>
24
+ <% end %>
25
+ <%= yield %>
26
+ <%= footer do %>
27
+ <!-- this comment only appears on my sub-site -->
28
+ <% end %>
29
+
30
+ Default navigation links and default web service javascript (Google Analytics, Optimizely, etc.) can be disabled by setting values to false:
31
+
32
+ header(add_navigation,add_js)
33
+
34
+ The layout supports content overwritting by supplying defining `content_for` the following:
35
+
36
+ title, description, keywords, body_id, branding
37
+
38
+
39
+ ## Modifying / Testing ##
40
+
41
+ Inside this repo is a `example` folder, containing a Rails app configured to load the gem. You can use this to add any changes in styles. You can also run:
42
+
43
+ bundle exec cucumber features
44
+
45
+ ...within that folder to test the gem as though it was installed in a Rails app, so that you know it still works.
46
+
data/Rakefile ADDED
@@ -0,0 +1,31 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development, :test)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ PKG_FILES = FileList[
13
+ '[a-zA-Z]*',
14
+ 'app/**/*',
15
+ 'vendor/**/*',
16
+ 'lib/**/*'
17
+ ]
18
+
19
+ require 'jeweler'
20
+ Jeweler::Tasks.new do |gem|
21
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
22
+ gem.name = 'bookshout-theme'
23
+ gem.homepage = 'https://github.com/rethinkbooks/bookshout-theme'
24
+ gem.license = 'MIT'
25
+ gem.summary = %Q{A gem providing helper methods and assets to make any site look like http://bookshout.com}
26
+ gem.description = %Q{View helpers 'header' and 'footer', along with an assets generator to make any site look like http://bookshout.com}
27
+ gem.email = ['arturo@bookshout.com']
28
+ gem.authors = ['Arturo Contreras']
29
+ gem.files = PKG_FILES.to_a
30
+ end
31
+ Jeweler::RubygemsDotOrgTasks.new
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,28 @@
1
+ module BookshoutThemeHelper
2
+ def header(*args, &block)
3
+ add_navigation = args[0] || 'true'
4
+ add_js = args[1] || 'true'
5
+ additional_header = block_given? ? capture(&block) : ''
6
+ render :partial => 'bookshout-theme/header', :locals => {
7
+ :additional_header => additional_header,
8
+ :add_navigation => add_navigation,
9
+ :add_js => add_js
10
+ }
11
+ end
12
+
13
+ def footer(*args, &block)
14
+ additional_footer = block_given? ? capture(&block) : ''
15
+ add_navigation = args[0] || 'true'
16
+ add_js = args[1] || 'true'
17
+ render :partial => 'bookshout-theme/footer', :locals => {
18
+ :additional_footer => additional_footer,
19
+ :add_navigation => add_navigation,
20
+ :add_js => add_js
21
+ }
22
+ end
23
+
24
+ def main(*args, &block)
25
+ content = block_given? ? capture(&block) : ''
26
+ render :partial => 'bookshout-theme/main', :locals => {:content => content}
27
+ end
28
+ end
@@ -0,0 +1,18 @@
1
+ module StaticHelper
2
+
3
+ def selected?(regex)
4
+ if regex.is_a?(String)
5
+ regex = /#{regex}/
6
+ end
7
+ @selected = ''
8
+ if !params[:path].nil?
9
+ if params[:path] =~ regex
10
+ @selected = ' class="selected"'
11
+ end
12
+ elsif params[:controller] =~ regex
13
+ @selected = ' class="selected"'
14
+ end
15
+ @selected.html_safe
16
+ end
17
+
18
+ end
@@ -0,0 +1,4 @@
1
+ #footer
2
+ - if add_navigation == 'true'
3
+ = additional_footer if additional_footer.present?
4
+ = yield :additional_scripts
@@ -0,0 +1,37 @@
1
+ !!! 5
2
+ %html{:lang => "en"}
3
+ %head
4
+ %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
5
+ %meta{:charset => "utf-8"}/
6
+ %meta{:content => "width=device-width, initial-scale=1.0", :name => "viewport"}/
7
+ %title= content_for?(:title) ? yield(:title) : "Bookshout"
8
+ = stylesheet_link_tag "bookshout-theme"
9
+ = javascript_include_tag "vendor/modernizr"
10
+ = csrf_meta_tags
11
+ %link{:href => "https://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css", :rel => "stylesheet"}/
12
+ %body{:id => content_for?(:body_id) ? yield(:body_id) : ''}
13
+ = javascript_include_tag "bookshout-theme"
14
+ .page
15
+ .off-canvas-wrap(data-offcanvas)
16
+ .inner-wrap
17
+ %nav.tab-bar
18
+ %section.left-small
19
+ %a.left-off-canvas-toggle.menu-icon(href="#")
20
+ %span
21
+
22
+ %section.middle.tab-bar-section
23
+ = image_tag content_for?(:image_url) ? yield(:image_url) : "http://s3.amazonaws.com/whitelabelepubsproduction/companies/logos/000/000/003/original/bs-logo2x-black.png", class: 'logo logo-nav'
24
+
25
+ = content_for?(:additional_toolbar) ? yield(:additional_toolbar) : ''
26
+
27
+ %aside.left-off-canvas-menu
28
+ %ul.off-canvas-list
29
+ %li
30
+ %label
31
+ Navigation
32
+ %li
33
+ %a(href="#{content_for?(:my_books_path) ? yield(:my_books_path) : 'https://bookshout.com'}")
34
+ %i.fa.fa-book.fa-2
35
+ My Books
36
+ = render('shared/global_nav')
37
+ = additional_header if additional_header.present?
@@ -0,0 +1,14 @@
1
+ %section.main-section
2
+ -if flash[:notice]
3
+ .row
4
+ .large-8.large-centered.columns
5
+ .alert-box.info.round{:data => { :alert => true}}
6
+ =flash[:notice]
7
+ %a.close(href="#") &times;
8
+ -if flash[:alert]
9
+ .row
10
+ .large-8.large-centered.columns
11
+ .alert-box.alert.round{:data => { :alert => true}}
12
+ =flash[:alert]
13
+ %a.close(href="#") &times;
14
+ = content
File without changes
File without changes
@@ -0,0 +1,67 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: bookshout-theme 1.0.0 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "bookshout-theme"
9
+ s.version = "1.0.0"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Arturo Contreras"]
14
+ s.date = "2015-04-22"
15
+ s.description = "View helpers 'header' and 'footer', along with an assets generator to make any site look like http://bookshout.com"
16
+ s.email = ["arturo@bookshout.com"]
17
+ s.extra_rdoc_files = [
18
+ "README.md"
19
+ ]
20
+ s.files = [
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "README.md",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "app/helpers/bookshout_theme_helper.rb",
27
+ "app/helpers/static_helper.rb",
28
+ "app/views/bookshout-theme/_footer.html.haml",
29
+ "app/views/bookshout-theme/_header.html.haml",
30
+ "app/views/bookshout-theme/_main.html.haml",
31
+ "app/views/shared/_global_nav.html.erb",
32
+ "app/views/shared/_tracking.html.erb",
33
+ "bookshout-theme.gemspec",
34
+ "lib/bookshout-theme.rb",
35
+ "lib/generators/bookshout_theme_generator.rb",
36
+ "vendor/assets/javascripts/bookshout-theme.js",
37
+ "vendor/assets/javascripts/spin.js",
38
+ "vendor/assets/stylesheets/books.scss",
39
+ "vendor/assets/stylesheets/bookshout-theme.scss",
40
+ "vendor/assets/stylesheets/footer.scss",
41
+ "vendor/assets/stylesheets/foundation_and_overrides.scss",
42
+ "vendor/assets/stylesheets/home.scss",
43
+ "vendor/assets/stylesheets/partials/icon_bar.scss",
44
+ "vendor/assets/stylesheets/partials/images.scss",
45
+ "vendor/assets/stylesheets/partials/nav.scss"
46
+ ]
47
+ s.homepage = "https://github.com/rethinkbooks/bookshout-theme"
48
+ s.licenses = ["MIT"]
49
+ s.rubygems_version = "2.2.2"
50
+ s.summary = "A gem providing helper methods and assets to make any site look like http://bookshout.com"
51
+
52
+ if s.respond_to? :specification_version then
53
+ s.specification_version = 4
54
+
55
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
+ s.add_runtime_dependency(%q<rails>, [">= 4.2.1"])
57
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
58
+ else
59
+ s.add_dependency(%q<rails>, [">= 4.2.1"])
60
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
61
+ end
62
+ else
63
+ s.add_dependency(%q<rails>, [">= 4.2.1"])
64
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
65
+ end
66
+ end
67
+
@@ -0,0 +1,12 @@
1
+ module BookshoutTheme
2
+ class Engine < Rails::Engine
3
+ initializer 'BookshoutTheme.helper' do |app|
4
+ ActionView::Base.send :include, BookshoutThemeHelper
5
+ ActionView::Base.send :include, StaticHelper
6
+ end
7
+
8
+ generators do
9
+ require 'generators/bookshout_theme_generator'
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,15 @@
1
+ require 'rails/generators'
2
+ module BookshoutTheme
3
+ class AssetsGenerator < Rails::Generators::Base
4
+ desc 'Generate the assets for bookshout.com to test your app'
5
+
6
+ def self.source_root
7
+ File.expand_path('../../example/public/', File.dirname(__FILE__))
8
+ end
9
+
10
+ def copy_assets
11
+ directory 'bookshout-theme', 'public/bookshout-theme'
12
+ end
13
+
14
+ end
15
+ end
@@ -0,0 +1,19 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require foundation
16
+ //= require spin
17
+ //= require_tree .
18
+ $(function(){ $(document).foundation(); });
19
+
@@ -0,0 +1,2 @@
1
+ //fgnass.github.com/spin.js#v2.0.1
2
+ !function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.Spinner=b()}(this,function(){"use strict";function a(a,b){var c,d=document.createElement(a||"div");for(c in b)d[c]=b[c];return d}function b(a){for(var b=1,c=arguments.length;c>b;b++)a.appendChild(arguments[b]);return a}function c(a,b,c,d){var e=["opacity",b,~~(100*a),c,d].join("-"),f=.01+c/d*100,g=Math.max(1-(1-a)/b*(100-f),a),h=j.substring(0,j.indexOf("Animation")).toLowerCase(),i=h&&"-"+h+"-"||"";return l[e]||(m.insertRule("@"+i+"keyframes "+e+"{0%{opacity:"+g+"}"+f+"%{opacity:"+a+"}"+(f+.01)+"%{opacity:1}"+(f+b)%100+"%{opacity:"+a+"}100%{opacity:"+g+"}}",m.cssRules.length),l[e]=1),e}function d(a,b){var c,d,e=a.style;for(b=b.charAt(0).toUpperCase()+b.slice(1),d=0;d<k.length;d++)if(c=k[d]+b,void 0!==e[c])return c;return void 0!==e[b]?b:void 0}function e(a,b){for(var c in b)a.style[d(a,c)||c]=b[c];return a}function f(a){for(var b=1;b<arguments.length;b++){var c=arguments[b];for(var d in c)void 0===a[d]&&(a[d]=c[d])}return a}function g(a,b){return"string"==typeof a?a:a[b%a.length]}function h(a){this.opts=f(a||{},h.defaults,n)}function i(){function c(b,c){return a("<"+b+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',c)}m.addRule(".spin-vml","behavior:url(#default#VML)"),h.prototype.lines=function(a,d){function f(){return e(c("group",{coordsize:k+" "+k,coordorigin:-j+" "+-j}),{width:k,height:k})}function h(a,h,i){b(m,b(e(f(),{rotation:360/d.lines*a+"deg",left:~~h}),b(e(c("roundrect",{arcsize:d.corners}),{width:j,height:d.width,left:d.radius,top:-d.width>>1,filter:i}),c("fill",{color:g(d.color,a),opacity:d.opacity}),c("stroke",{opacity:0}))))}var i,j=d.length+d.width,k=2*j,l=2*-(d.width+d.length)+"px",m=e(f(),{position:"absolute",top:l,left:l});if(d.shadow)for(i=1;i<=d.lines;i++)h(i,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(i=1;i<=d.lines;i++)h(i);return b(a,m)},h.prototype.opacity=function(a,b,c,d){var e=a.firstChild;d=d.shadow&&d.lines||0,e&&b+d<e.childNodes.length&&(e=e.childNodes[b+d],e=e&&e.firstChild,e=e&&e.firstChild,e&&(e.opacity=c))}}var j,k=["webkit","Moz","ms","O"],l={},m=function(){var c=a("style",{type:"text/css"});return b(document.getElementsByTagName("head")[0],c),c.sheet||c.styleSheet}(),n={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:.25,fps:20,zIndex:2e9,className:"spinner",top:"50%",left:"50%",position:"absolute"};h.defaults={},f(h.prototype,{spin:function(b){this.stop();{var c=this,d=c.opts,f=c.el=e(a(0,{className:d.className}),{position:d.position,width:0,zIndex:d.zIndex});d.radius+d.length+d.width}if(e(f,{left:d.left,top:d.top}),b&&b.insertBefore(f,b.firstChild||null),f.setAttribute("role","progressbar"),c.lines(f,c.opts),!j){var g,h=0,i=(d.lines-1)*(1-d.direction)/2,k=d.fps,l=k/d.speed,m=(1-d.opacity)/(l*d.trail/100),n=l/d.lines;!function o(){h++;for(var a=0;a<d.lines;a++)g=Math.max(1-(h+(d.lines-a)*n)%l*m,d.opacity),c.opacity(f,a*d.direction+i,g,d);c.timeout=c.el&&setTimeout(o,~~(1e3/k))}()}return c},stop:function(){var a=this.el;return a&&(clearTimeout(this.timeout),a.parentNode&&a.parentNode.removeChild(a),this.el=void 0),this},lines:function(d,f){function h(b,c){return e(a(),{position:"absolute",width:f.length+f.width+"px",height:f.width+"px",background:b,boxShadow:c,transformOrigin:"left",transform:"rotate("+~~(360/f.lines*k+f.rotate)+"deg) translate("+f.radius+"px,0)",borderRadius:(f.corners*f.width>>1)+"px"})}for(var i,k=0,l=(f.lines-1)*(1-f.direction)/2;k<f.lines;k++)i=e(a(),{position:"absolute",top:1+~(f.width/2)+"px",transform:f.hwaccel?"translate3d(0,0,0)":"",opacity:f.opacity,animation:j&&c(f.opacity,f.trail,l+k*f.direction,f.lines)+" "+1/f.speed+"s linear infinite"}),f.shadow&&b(i,e(h("#000","0 0 4px #000"),{top:"2px"})),b(d,b(i,h(g(f.color,k),"0 0 1px rgba(0,0,0,.1)")));return d},opacity:function(a,b,c){b<a.childNodes.length&&(a.childNodes[b].style.opacity=c)}});var o=e(a("group"),{behavior:"url(#default#VML)"});return!d(o,"transform")&&o.adj?i():j=d(o,"animation"),h});
@@ -0,0 +1,87 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
5
+ .book-form-container{
6
+ display: table;
7
+ width: 100%;
8
+ }
9
+ .title-content{
10
+ height: 150px;
11
+ display: table-cell;
12
+ width: 100vw;
13
+ vertical-align:middle;
14
+ position: relative;
15
+ }
16
+ .title-pane{
17
+ //box-shadow: 10px 10px 5px #888888;
18
+ a{
19
+ color: #333333;
20
+ }
21
+ }
22
+ .title-pane:hover{
23
+ //box-shadow: 8px 10px 5px #888888;
24
+ }
25
+ .read-book-link-container{
26
+ background-color: rgba(0,0,0,.1);
27
+ padding:5px;
28
+ }
29
+ .info-icon{
30
+ a,a:active{
31
+ color: #000;
32
+ position: absolute;
33
+ top: 0em;
34
+ left: 0em;
35
+ text-shadow: -1px -1px 0 #FFF, 1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px 1px 0;
36
+ }
37
+
38
+ a:hover{
39
+ color: #EFEFEF;
40
+ text-decoration: none;
41
+ }
42
+ }
43
+ .info-modal{
44
+ $font-size: 16px;
45
+ $line-height: 1.4;
46
+ @media(min-width: 320px){
47
+ $lines-to-show: 3;
48
+ }
49
+ @media(min-width: 720px){
50
+ $lines-to-show: 10;
51
+ }
52
+ h1{
53
+ font-size:larger;
54
+ font-weight:bold;
55
+ }
56
+ p{
57
+ text-align: left;
58
+ display: block; /* Fallback for non-webkit */
59
+ display: -webkit-box;
60
+ width:100%;
61
+ @media(min-width: 320px){
62
+ -webkit-line-clamp: 3;
63
+ height: $font-size*$line-height*3; /* Fallback for non-webkit */
64
+ }
65
+ @media(min-width: 667px){
66
+ -webkit-line-clamp: 10;
67
+ height: $font-size*$line-height*10; /* Fallback for non-webkit */
68
+ }
69
+ margin: 0 auto;
70
+ font-size: $font-size;
71
+ line-height: $line-height;
72
+ -webkit-box-orient: vertical;
73
+ overflow: hidden;
74
+ text-overflow: ellipsis;
75
+ }
76
+ }
77
+ #book-detail{
78
+ .book-synopsis{
79
+ text-align: justify;
80
+ }
81
+ img{
82
+ padding-bottom:20px;
83
+ }
84
+
85
+ }
86
+
87
+
@@ -0,0 +1,20 @@
1
+ @import "foundation_and_overrides";
2
+ @import "foundation/components/buttons";
3
+ @import "font-awesome-sprockets";
4
+ @import "font-awesome";
5
+ @import "books";
6
+ @import "home";
7
+ @import "footer";
8
+ @import "partials/nav";
9
+ @import "partials/images";
10
+ @import "partials/icon_bar";
11
+
12
+ .tab-bar{
13
+ border-bottom: 1px solid bottom;
14
+ }
15
+ .off-canvas-wrap, .inner-wrap, .main-section { height:100%; }
16
+ .main-section {
17
+ overflow-y: auto;
18
+ margin-top:50px;
19
+ }
20
+