tft_rails 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/.rvmrc +1 -0
- data/Gemfile +8 -0
- data/LICENSE +57 -0
- data/README.md +72 -0
- data/Rakefile +25 -0
- data/lib/generators/chapter07/begin/USAGE +27 -0
- data/lib/generators/chapter07/begin/begin_generator.rb +32 -0
- data/lib/generators/chapter07/begin/instructions.md +74 -0
- data/lib/generators/chapter07/begin/templates/app/controllers/application_controller.rb +8 -0
- data/lib/generators/chapter07/begin/templates/app/controllers/pages_controller.rb +11 -0
- data/lib/generators/chapter07/begin/templates/app/controllers/users_controller.rb +3 -0
- data/lib/generators/chapter07/begin/templates/app/helpers/application_helper.rb +12 -0
- data/lib/generators/chapter07/begin/templates/app/helpers/pages_helper.rb +2 -0
- data/lib/generators/chapter07/begin/templates/app/helpers/users_helper.rb +7 -0
- data/lib/generators/chapter07/begin/templates/app/models/user.rb +9 -0
- data/lib/generators/chapter07/begin/templates/app/views/layouts/_footer.html.erb +9 -0
- data/lib/generators/chapter07/begin/templates/app/views/layouts/_header.html.erb +10 -0
- data/lib/generators/chapter07/begin/templates/app/views/layouts/_stylesheets.html.erb +7 -0
- data/lib/generators/chapter07/begin/templates/app/views/layouts/application.html.erb +17 -0
- data/lib/generators/chapter07/begin/templates/app/views/pages/about.html.erb +7 -0
- data/lib/generators/chapter07/begin/templates/app/views/pages/contact.html.erb +5 -0
- data/lib/generators/chapter07/begin/templates/app/views/pages/home.html.erb +7 -0
- data/lib/generators/chapter07/begin/templates/app/views/users/show.html.erb +15 -0
- data/lib/generators/chapter07/begin/templates/config/initializers/devise.rb +194 -0
- data/lib/generators/chapter07/begin/templates/config/locales/devise.en.yml +50 -0
- data/lib/generators/chapter07/begin/templates/config/routes.rb.tt +17 -0
- data/lib/generators/chapter07/begin/templates/db/migrate/20110608224650_devise_create_users.rb +29 -0
- data/lib/generators/chapter07/begin/templates/db/schema.rb +34 -0
- data/lib/generators/chapter07/begin/templates/public/images/logo.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/ie.css +36 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/buttons/icons/cross.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/buttons/icons/key.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/buttons/icons/tick.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/buttons/readme.txt +32 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/buttons/screen.css +97 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/fancy-type/readme.txt +14 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/fancy-type/screen.css +71 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/doc.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/email.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/external.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/feed.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/im.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/lock.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/pdf.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/visited.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/icons/xls.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/readme.txt +18 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/link-icons/screen.css +42 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/rtl/readme.txt +10 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/rtl/screen.css +110 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/print.css +29 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/screen.css +265 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/src/forms.css +82 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/src/grid.css +280 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/src/grid.png +0 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/src/ie.css +79 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/src/print.css +92 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/src/reset.css +65 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/src/typography.css +123 -0
- data/lib/generators/chapter07/begin/templates/public/stylesheets/custom.css +137 -0
- data/lib/generators/chapter07/begin/templates/spec/controllers/pages_controller_07_spec.rb +48 -0
- data/lib/generators/chapter07/begin/templates/spec/controllers/users_controller_07_spec.rb +38 -0
- data/lib/generators/chapter07/begin/templates/spec/factories.rb +7 -0
- data/lib/generators/chapter07/begin/templates/spec/models/user_07_spec.rb +38 -0
- data/lib/generators/chapter07/begin/templates/spec/requests/layout_links_07_spec.rb +44 -0
- data/lib/generators/chapter07/begin/templates/spec/spec_helper.rb +29 -0
- data/lib/generators/chapter07/solutions/USAGE +21 -0
- data/lib/generators/chapter07/solutions/solutions_generator.rb +23 -0
- data/lib/generators/chapter07/solutions/templates/app/controllers/pages_controller.rb +18 -0
- data/lib/generators/chapter07/solutions/templates/app/controllers/users_controller.rb +8 -0
- data/lib/generators/chapter07/solutions/templates/app/models/user.rb +11 -0
- data/lib/generators/chapter07/solutions/templates/app/views/layouts/_footer.html.erb +10 -0
- data/lib/generators/chapter07/solutions/templates/app/views/layouts/_header.html.erb +11 -0
- data/lib/generators/chapter07/solutions/templates/app/views/pages/help.html.erb +4 -0
- data/lib/generators/chapter07/solutions/templates/app/views/pages/home.html.erb +7 -0
- data/lib/generators/chapter07/solutions/templates/app/views/users/show.html.erb +15 -0
- data/lib/generators/chapter08_09/begin/USAGE +24 -0
- data/lib/generators/chapter08_09/begin/begin_generator.rb +29 -0
- data/lib/generators/chapter08_09/begin/instructions.md +54 -0
- data/lib/generators/chapter08_09/begin/snippets/custom.css +49 -0
- data/lib/generators/chapter08_09/begin/templates/spec/controllers/devise/registrations_controller_08_spec.rb +83 -0
- data/lib/generators/chapter08_09/begin/templates/spec/requests/layout_links_09_spec.rb +35 -0
- data/lib/generators/chapter08_09/begin/templates/spec/requests/users_signup_08_spec.rb +36 -0
- data/lib/generators/chapter08_09/solutions/USAGE +18 -0
- data/lib/generators/chapter08_09/solutions/solutions_generator.rb +12 -0
- data/lib/generators/chapter08_09/solutions/templates/app/helpers/application_helper.rb +16 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/devise/passwords/edit.html.erb +16 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/devise/passwords/new.html.erb +12 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/devise/registrations/_fields.html.erb +16 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/devise/registrations/edit.html.erb +28 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/devise/registrations/new.html.erb +13 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/devise/sessions/new.html.erb +17 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/devise/shared/_links.erb +25 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/layouts/_header.html.erb +19 -0
- data/lib/generators/chapter08_09/solutions/templates/app/views/layouts/application.html.erb +20 -0
- data/lib/tft_rails.rb +2 -0
- metadata +160 -0
@@ -0,0 +1,50 @@
|
|
1
|
+
# Additional translations at http://github.com/plataformatec/devise/wiki/I18n
|
2
|
+
|
3
|
+
en:
|
4
|
+
errors:
|
5
|
+
messages:
|
6
|
+
expired: "has expired, please request a new one"
|
7
|
+
not_found: "not found"
|
8
|
+
already_confirmed: "was already confirmed, please try signing in"
|
9
|
+
not_locked: "was not locked"
|
10
|
+
not_saved:
|
11
|
+
one: "1 error prohibited this %{resource} from being saved:"
|
12
|
+
other: "%{count} errors prohibited this %{resource} from being saved:"
|
13
|
+
|
14
|
+
devise:
|
15
|
+
failure:
|
16
|
+
already_authenticated: 'You are already signed in.'
|
17
|
+
unauthenticated: 'You need to sign in or sign up before continuing.'
|
18
|
+
unconfirmed: 'You have to confirm your account before continuing.'
|
19
|
+
locked: 'Your account is locked.'
|
20
|
+
invalid: 'Invalid email or password.'
|
21
|
+
invalid_token: 'Invalid authentication token.'
|
22
|
+
timeout: 'Your session expired, please sign in again to continue.'
|
23
|
+
inactive: 'Your account was not activated yet.'
|
24
|
+
sessions:
|
25
|
+
signed_in: 'Signed in successfully.'
|
26
|
+
signed_out: 'Signed out successfully.'
|
27
|
+
passwords:
|
28
|
+
send_instructions: 'You will receive an email with instructions about how to reset your password in a few minutes.'
|
29
|
+
updated: 'Your password was changed successfully. You are now signed in.'
|
30
|
+
confirmations:
|
31
|
+
send_instructions: 'You will receive an email with instructions about how to confirm your account in a few minutes.'
|
32
|
+
confirmed: 'Your account was successfully confirmed. You are now signed in.'
|
33
|
+
registrations:
|
34
|
+
signed_up: 'Welcome! You have signed up successfully.'
|
35
|
+
inactive_signed_up: 'You have signed up successfully. However, we could not sign you in because your account is %{reason}.'
|
36
|
+
updated: 'You updated your account successfully.'
|
37
|
+
destroyed: 'Bye! Your account was successfully cancelled. We hope to see you again soon.'
|
38
|
+
unlocks:
|
39
|
+
send_instructions: 'You will receive an email with instructions about how to unlock your account in a few minutes.'
|
40
|
+
unlocked: 'Your account was successfully unlocked. You are now signed in.'
|
41
|
+
omniauth_callbacks:
|
42
|
+
success: 'Successfully authorized from %{kind} account.'
|
43
|
+
failure: 'Could not authorize you from %{kind} because "%{reason}".'
|
44
|
+
mailer:
|
45
|
+
confirmation_instructions:
|
46
|
+
subject: 'Confirmation instructions'
|
47
|
+
reset_password_instructions:
|
48
|
+
subject: 'Reset password instructions'
|
49
|
+
unlock_instructions:
|
50
|
+
subject: 'Unlock Instructions'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= Rails.application.class.parent_name %>::Application.routes.draw do
|
2
|
+
devise_for :users, :path_prefix => 'd' do
|
3
|
+
# Aliased routes to match Rails Tutorial
|
4
|
+
get 'signin', :to => 'devise/sessions#new'
|
5
|
+
get 'signout', :to => 'devise/sessions#destroy'
|
6
|
+
get 'signup', :to => 'devise/registrations#new'
|
7
|
+
end
|
8
|
+
|
9
|
+
# Additional user actions separated out into a new controller,
|
10
|
+
# Note that Devise's controllers already handle login/logou, sign-up, etc.
|
11
|
+
resources :users, :only => [:index, :show]
|
12
|
+
|
13
|
+
match '/contact', :to => 'pages#contact'
|
14
|
+
match '/about', :to => 'pages#about'
|
15
|
+
|
16
|
+
root :to => 'pages#home'
|
17
|
+
end
|
data/lib/generators/chapter07/begin/templates/db/migrate/20110608224650_devise_create_users.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
class DeviseCreateUsers < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table(:users) do |t|
|
4
|
+
t.database_authenticatable :null => false
|
5
|
+
t.recoverable
|
6
|
+
t.rememberable
|
7
|
+
t.trackable
|
8
|
+
|
9
|
+
# t.encryptable
|
10
|
+
# t.confirmable
|
11
|
+
# t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both
|
12
|
+
# t.token_authenticatable
|
13
|
+
|
14
|
+
t.string :name
|
15
|
+
|
16
|
+
t.timestamps
|
17
|
+
end
|
18
|
+
|
19
|
+
add_index :users, :email, :unique => true
|
20
|
+
add_index :users, :reset_password_token, :unique => true
|
21
|
+
# add_index :users, :confirmation_token, :unique => true
|
22
|
+
# add_index :users, :unlock_token, :unique => true
|
23
|
+
# add_index :users, :authentication_token, :unique => true
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.down
|
27
|
+
drop_table :users
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# This file is auto-generated from the current state of the database. Instead
|
2
|
+
# of editing this file, please use the migrations feature of Active Record to
|
3
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
4
|
+
#
|
5
|
+
# Note that this schema.rb definition is the authoritative source for your
|
6
|
+
# database schema. If you need to create the application database on another
|
7
|
+
# system, you should be using db:schema:load, not running all the migrations
|
8
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
9
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
10
|
+
#
|
11
|
+
# It's strongly recommended to check this file into your version control system.
|
12
|
+
|
13
|
+
ActiveRecord::Schema.define(:version => 20110608224650) do
|
14
|
+
|
15
|
+
create_table "users", :force => true do |t|
|
16
|
+
t.string "email", :default => "", :null => false
|
17
|
+
t.string "encrypted_password", :limit => 128, :default => "", :null => false
|
18
|
+
t.string "reset_password_token"
|
19
|
+
t.datetime "reset_password_sent_at"
|
20
|
+
t.datetime "remember_created_at"
|
21
|
+
t.integer "sign_in_count", :default => 0
|
22
|
+
t.datetime "current_sign_in_at"
|
23
|
+
t.datetime "last_sign_in_at"
|
24
|
+
t.string "current_sign_in_ip"
|
25
|
+
t.string "last_sign_in_ip"
|
26
|
+
t.string "name"
|
27
|
+
t.datetime "created_at"
|
28
|
+
t.datetime "updated_at"
|
29
|
+
end
|
30
|
+
|
31
|
+
add_index "users", ["email"], :name => "index_users_on_email", :unique => true
|
32
|
+
add_index "users", ["reset_password_token"], :name => "index_users_on_reset_password_token", :unique => true
|
33
|
+
|
34
|
+
end
|
Binary file
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/* -----------------------------------------------------------------------
|
2
|
+
|
3
|
+
|
4
|
+
Blueprint CSS Framework 1.0.1
|
5
|
+
http://blueprintcss.org
|
6
|
+
|
7
|
+
* Copyright (c) 2007-Present. See LICENSE for more info.
|
8
|
+
* See README for instructions on how to use Blueprint.
|
9
|
+
* For credits and origins, see AUTHORS.
|
10
|
+
* This is a compressed file. See the sources in the 'src' directory.
|
11
|
+
|
12
|
+
----------------------------------------------------------------------- */
|
13
|
+
|
14
|
+
/* ie.css */
|
15
|
+
body {text-align:center;}
|
16
|
+
.container {text-align:left;}
|
17
|
+
* html .column, * html .span-1, * html .span-2, * html .span-3, * html .span-4, * html .span-5, * html .span-6, * html .span-7, * html .span-8, * html .span-9, * html .span-10, * html .span-11, * html .span-12, * html .span-13, * html .span-14, * html .span-15, * html .span-16, * html .span-17, * html .span-18, * html .span-19, * html .span-20, * html .span-21, * html .span-22, * html .span-23, * html .span-24 {display:inline;overflow-x:hidden;}
|
18
|
+
* html legend {margin:0px -8px 16px 0;padding:0;}
|
19
|
+
sup {vertical-align:text-top;}
|
20
|
+
sub {vertical-align:text-bottom;}
|
21
|
+
html>body p code {*white-space:normal;}
|
22
|
+
hr {margin:-8px auto 11px;}
|
23
|
+
img {-ms-interpolation-mode:bicubic;}
|
24
|
+
.clearfix, .container {display:inline-block;}
|
25
|
+
* html .clearfix, * html .container {height:1%;}
|
26
|
+
fieldset {padding-top:0;}
|
27
|
+
legend {margin-top:-0.2em;margin-bottom:1em;margin-left:-0.5em;}
|
28
|
+
textarea {overflow:auto;}
|
29
|
+
label {vertical-align:middle;position:relative;top:-0.25em;}
|
30
|
+
input.text, input.title, textarea {background-color:#fff;border:1px solid #bbb;}
|
31
|
+
input.text:focus, input.title:focus {border-color:#666;}
|
32
|
+
input.text, input.title, textarea, select {margin:0.5em 0;}
|
33
|
+
input.checkbox, input.radio {position:relative;top:.25em;}
|
34
|
+
form.inline div, form.inline p {vertical-align:middle;}
|
35
|
+
form.inline input.checkbox, form.inline input.radio, form.inline input.button, form.inline button {margin:0.5em 0;}
|
36
|
+
button, input.button {position:relative;top:0.25em;}
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,32 @@
|
|
1
|
+
Buttons
|
2
|
+
|
3
|
+
* Gives you great looking CSS buttons, for both <a> and <button>.
|
4
|
+
* Demo: particletree.com/features/rediscovering-the-button-element
|
5
|
+
|
6
|
+
|
7
|
+
Credits
|
8
|
+
----------------------------------------------------------------
|
9
|
+
|
10
|
+
* Created by Kevin Hale [particletree.com]
|
11
|
+
* Adapted for Blueprint by Olav Bjorkoy [bjorkoy.com]
|
12
|
+
|
13
|
+
|
14
|
+
Usage
|
15
|
+
----------------------------------------------------------------
|
16
|
+
|
17
|
+
1) Add this plugin to lib/settings.yml.
|
18
|
+
See compress.rb for instructions.
|
19
|
+
|
20
|
+
2) Use the following HTML code to place the buttons on your site:
|
21
|
+
|
22
|
+
<button type="submit" class="button positive">
|
23
|
+
<img src="css/blueprint/plugins/buttons/icons/tick.png" alt=""/> Save
|
24
|
+
</button>
|
25
|
+
|
26
|
+
<a class="button" href="/password/reset/">
|
27
|
+
<img src="css/blueprint/plugins/buttons/icons/key.png" alt=""/> Change Password
|
28
|
+
</a>
|
29
|
+
|
30
|
+
<a href="#" class="button negative">
|
31
|
+
<img src="css/blueprint/plugins/buttons/icons/cross.png" alt=""/> Cancel
|
32
|
+
</a>
|
@@ -0,0 +1,97 @@
|
|
1
|
+
/* --------------------------------------------------------------
|
2
|
+
|
3
|
+
buttons.css
|
4
|
+
* Gives you some great CSS-only buttons.
|
5
|
+
|
6
|
+
Created by Kevin Hale [particletree.com]
|
7
|
+
* particletree.com/features/rediscovering-the-button-element
|
8
|
+
|
9
|
+
See Readme.txt in this folder for instructions.
|
10
|
+
|
11
|
+
-------------------------------------------------------------- */
|
12
|
+
|
13
|
+
a.button, button {
|
14
|
+
display:block;
|
15
|
+
float:left;
|
16
|
+
margin: 0.7em 0.5em 0.7em 0;
|
17
|
+
padding:5px 10px 5px 7px; /* Links */
|
18
|
+
|
19
|
+
border:1px solid #dedede;
|
20
|
+
border-top:1px solid #eee;
|
21
|
+
border-left:1px solid #eee;
|
22
|
+
|
23
|
+
background-color:#f5f5f5;
|
24
|
+
font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
|
25
|
+
font-size:100%;
|
26
|
+
line-height:130%;
|
27
|
+
text-decoration:none;
|
28
|
+
font-weight:bold;
|
29
|
+
color:#565656;
|
30
|
+
cursor:pointer;
|
31
|
+
}
|
32
|
+
button {
|
33
|
+
width:auto;
|
34
|
+
overflow:visible;
|
35
|
+
padding:4px 10px 3px 7px; /* IE6 */
|
36
|
+
}
|
37
|
+
button[type] {
|
38
|
+
padding:4px 10px 4px 7px; /* Firefox */
|
39
|
+
line-height:17px; /* Safari */
|
40
|
+
}
|
41
|
+
*:first-child+html button[type] {
|
42
|
+
padding:4px 10px 3px 7px; /* IE7 */
|
43
|
+
}
|
44
|
+
button img, a.button img{
|
45
|
+
margin:0 3px -3px 0 !important;
|
46
|
+
padding:0;
|
47
|
+
border:none;
|
48
|
+
width:16px;
|
49
|
+
height:16px;
|
50
|
+
float:none;
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
/* Button colors
|
55
|
+
-------------------------------------------------------------- */
|
56
|
+
|
57
|
+
/* Standard */
|
58
|
+
button:hover, a.button:hover{
|
59
|
+
background-color:#dff4ff;
|
60
|
+
border:1px solid #c2e1ef;
|
61
|
+
color:#336699;
|
62
|
+
}
|
63
|
+
a.button:active{
|
64
|
+
background-color:#6299c5;
|
65
|
+
border:1px solid #6299c5;
|
66
|
+
color:#fff;
|
67
|
+
}
|
68
|
+
|
69
|
+
/* Positive */
|
70
|
+
body .positive {
|
71
|
+
color:#529214;
|
72
|
+
}
|
73
|
+
a.positive:hover, button.positive:hover {
|
74
|
+
background-color:#E6EFC2;
|
75
|
+
border:1px solid #C6D880;
|
76
|
+
color:#529214;
|
77
|
+
}
|
78
|
+
a.positive:active {
|
79
|
+
background-color:#529214;
|
80
|
+
border:1px solid #529214;
|
81
|
+
color:#fff;
|
82
|
+
}
|
83
|
+
|
84
|
+
/* Negative */
|
85
|
+
body .negative {
|
86
|
+
color:#d12f19;
|
87
|
+
}
|
88
|
+
a.negative:hover, button.negative:hover {
|
89
|
+
background-color:#fbe3e4;
|
90
|
+
border:1px solid #fbc2c4;
|
91
|
+
color:#d12f19;
|
92
|
+
}
|
93
|
+
a.negative:active {
|
94
|
+
background-color:#d12f19;
|
95
|
+
border:1px solid #d12f19;
|
96
|
+
color:#fff;
|
97
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Fancy Type
|
2
|
+
|
3
|
+
* Gives you classes to use if you'd like some
|
4
|
+
extra fancy typography.
|
5
|
+
|
6
|
+
Credits and instructions are specified above each class
|
7
|
+
in the fancy-type.css file in this directory.
|
8
|
+
|
9
|
+
|
10
|
+
Usage
|
11
|
+
----------------------------------------------------------------
|
12
|
+
|
13
|
+
1) Add this plugin to lib/settings.yml.
|
14
|
+
See compress.rb for instructions.
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/* --------------------------------------------------------------
|
2
|
+
|
3
|
+
fancy-type.css
|
4
|
+
* Lots of pretty advanced classes for manipulating text.
|
5
|
+
|
6
|
+
See the Readme file in this folder for additional instructions.
|
7
|
+
|
8
|
+
-------------------------------------------------------------- */
|
9
|
+
|
10
|
+
/* Indentation instead of line shifts for sibling paragraphs. */
|
11
|
+
p + p { text-indent:2em; margin-top:-1.5em; }
|
12
|
+
form p + p { text-indent: 0; } /* Don't want this in forms. */
|
13
|
+
|
14
|
+
|
15
|
+
/* For great looking type, use this code instead of asdf:
|
16
|
+
<span class="alt">asdf</span>
|
17
|
+
Best used on prepositions and ampersands. */
|
18
|
+
|
19
|
+
.alt {
|
20
|
+
color: #666;
|
21
|
+
font-family: "Warnock Pro", "Goudy Old Style","Palatino","Book Antiqua", Georgia, serif;
|
22
|
+
font-style: italic;
|
23
|
+
font-weight: normal;
|
24
|
+
}
|
25
|
+
|
26
|
+
|
27
|
+
/* For great looking quote marks in titles, replace "asdf" with:
|
28
|
+
<span class="dquo">“</span>asdf”
|
29
|
+
(That is, when the title starts with a quote mark).
|
30
|
+
(You may have to change this value depending on your font size). */
|
31
|
+
|
32
|
+
.dquo { margin-left: -.5em; }
|
33
|
+
|
34
|
+
|
35
|
+
/* Reduced size type with incremental leading
|
36
|
+
(http://www.markboulton.co.uk/journal/comments/incremental_leading/)
|
37
|
+
|
38
|
+
This could be used for side notes. For smaller type, you don't necessarily want to
|
39
|
+
follow the 1.5x vertical rhythm -- the line-height is too much.
|
40
|
+
|
41
|
+
Using this class, it reduces your font size and line-height so that for
|
42
|
+
every four lines of normal sized type, there is five lines of the sidenote. eg:
|
43
|
+
|
44
|
+
New type size in em's:
|
45
|
+
10px (wanted side note size) / 12px (existing base size) = 0.8333 (new type size in ems)
|
46
|
+
|
47
|
+
New line-height value:
|
48
|
+
12px x 1.5 = 18px (old line-height)
|
49
|
+
18px x 4 = 72px
|
50
|
+
72px / 5 = 14.4px (new line height)
|
51
|
+
14.4px / 10px = 1.44 (new line height in em's) */
|
52
|
+
|
53
|
+
p.incr, .incr p {
|
54
|
+
font-size: 10px;
|
55
|
+
line-height: 1.44em;
|
56
|
+
margin-bottom: 1.5em;
|
57
|
+
}
|
58
|
+
|
59
|
+
|
60
|
+
/* Surround uppercase words and abbreviations with this class.
|
61
|
+
Based on work by Jørgen Arnor Gårdsø Lom [http://twistedintellect.com/] */
|
62
|
+
|
63
|
+
.caps {
|
64
|
+
font-variant: small-caps;
|
65
|
+
letter-spacing: 1px;
|
66
|
+
text-transform: lowercase;
|
67
|
+
font-size:1.2em;
|
68
|
+
line-height:1%;
|
69
|
+
font-weight:bold;
|
70
|
+
padding:0 2px;
|
71
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Link Icons
|
2
|
+
* Icons for links based on protocol or file type.
|
3
|
+
|
4
|
+
This is not supported in IE versions < 7.
|
5
|
+
|
6
|
+
|
7
|
+
Credits
|
8
|
+
----------------------------------------------------------------
|
9
|
+
|
10
|
+
* Marc Morgan
|
11
|
+
* Olav Bjorkoy [bjorkoy.com]
|
12
|
+
|
13
|
+
|
14
|
+
Usage
|
15
|
+
----------------------------------------------------------------
|
16
|
+
|
17
|
+
1) Add this line to your HTML:
|
18
|
+
<link rel="stylesheet" href="css/blueprint/plugins/link-icons/screen.css" type="text/css" media="screen, projection">
|
@@ -0,0 +1,42 @@
|
|
1
|
+
/* --------------------------------------------------------------
|
2
|
+
|
3
|
+
link-icons.css
|
4
|
+
* Icons for links based on protocol or file type.
|
5
|
+
|
6
|
+
See the Readme file in this folder for additional instructions.
|
7
|
+
|
8
|
+
-------------------------------------------------------------- */
|
9
|
+
|
10
|
+
/* Use this class if a link gets an icon when it shouldn't. */
|
11
|
+
body a.noicon {
|
12
|
+
background:transparent none !important;
|
13
|
+
padding:0 !important;
|
14
|
+
margin:0 !important;
|
15
|
+
}
|
16
|
+
|
17
|
+
/* Make sure the icons are not cut */
|
18
|
+
a[href^="http:"], a[href^="https:"],
|
19
|
+
a[href^="http:"]:visited, a[href^="https:"]:visited,
|
20
|
+
a[href^="mailto:"], a[href$=".pdf"], a[href$=".doc"], a[href$=".xls"],
|
21
|
+
a[href$=".rss"], a[href$=".rdf"], a[href^="aim:"] {
|
22
|
+
padding:2px 22px 2px 0;
|
23
|
+
margin:-2px 0;
|
24
|
+
background-repeat: no-repeat;
|
25
|
+
background-position: right center;
|
26
|
+
}
|
27
|
+
|
28
|
+
/* External links */
|
29
|
+
a[href^="http:"] { background-image: url(icons/external.png); }
|
30
|
+
a[href^="https:"] { background-image: url(icons/lock.png); }
|
31
|
+
a[href^="mailto:"] { background-image: url(icons/email.png); }
|
32
|
+
a[href^="http:"]:visited { background-image: url(icons/visited.png); }
|
33
|
+
|
34
|
+
/* Files */
|
35
|
+
a[href$=".pdf"] { background-image: url(icons/pdf.png); }
|
36
|
+
a[href$=".doc"] { background-image: url(icons/doc.png); }
|
37
|
+
a[href$=".xls"] { background-image: url(icons/xls.png); }
|
38
|
+
|
39
|
+
/* Misc */
|
40
|
+
a[href$=".rss"],
|
41
|
+
a[href$=".rdf"] { background-image: url(icons/feed.png); }
|
42
|
+
a[href^="aim:"] { background-image: url(icons/im.png); }
|
data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/rtl/readme.txt
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
RTL
|
2
|
+
* Mirrors Blueprint, so it can be used with Right-to-Left languages.
|
3
|
+
|
4
|
+
By Ran Yaniv Hartstein, ranh.co.il
|
5
|
+
|
6
|
+
Usage
|
7
|
+
----------------------------------------------------------------
|
8
|
+
|
9
|
+
1) Add this line to your HTML:
|
10
|
+
<link rel="stylesheet" href="css/blueprint/plugins/rtl/screen.css" type="text/css" media="screen, projection">
|
data/lib/generators/chapter07/begin/templates/public/stylesheets/blueprint/plugins/rtl/screen.css
ADDED
@@ -0,0 +1,110 @@
|
|
1
|
+
/* --------------------------------------------------------------
|
2
|
+
|
3
|
+
rtl.css
|
4
|
+
* Mirrors Blueprint for left-to-right languages
|
5
|
+
|
6
|
+
By Ran Yaniv Hartstein [ranh.co.il]
|
7
|
+
|
8
|
+
-------------------------------------------------------------- */
|
9
|
+
|
10
|
+
body .container { direction: rtl; }
|
11
|
+
body .column, body .span-1, body .span-2, body .span-3, body .span-4, body .span-5, body .span-6, body .span-7, body .span-8, body .span-9, body .span-10, body .span-11, body .span-12, body .span-13, body .span-14, body .span-15, body .span-16, body .span-17, body .span-18, body .span-19, body .span-20, body .span-21, body .span-22, body .span-23, body .span-24 {
|
12
|
+
float: right;
|
13
|
+
margin-right: 0;
|
14
|
+
margin-left: 10px;
|
15
|
+
text-align:right;
|
16
|
+
}
|
17
|
+
|
18
|
+
body div.last { margin-left: 0; }
|
19
|
+
body table .last { padding-left: 0; }
|
20
|
+
|
21
|
+
body .append-1 { padding-right: 0; padding-left: 40px; }
|
22
|
+
body .append-2 { padding-right: 0; padding-left: 80px; }
|
23
|
+
body .append-3 { padding-right: 0; padding-left: 120px; }
|
24
|
+
body .append-4 { padding-right: 0; padding-left: 160px; }
|
25
|
+
body .append-5 { padding-right: 0; padding-left: 200px; }
|
26
|
+
body .append-6 { padding-right: 0; padding-left: 240px; }
|
27
|
+
body .append-7 { padding-right: 0; padding-left: 280px; }
|
28
|
+
body .append-8 { padding-right: 0; padding-left: 320px; }
|
29
|
+
body .append-9 { padding-right: 0; padding-left: 360px; }
|
30
|
+
body .append-10 { padding-right: 0; padding-left: 400px; }
|
31
|
+
body .append-11 { padding-right: 0; padding-left: 440px; }
|
32
|
+
body .append-12 { padding-right: 0; padding-left: 480px; }
|
33
|
+
body .append-13 { padding-right: 0; padding-left: 520px; }
|
34
|
+
body .append-14 { padding-right: 0; padding-left: 560px; }
|
35
|
+
body .append-15 { padding-right: 0; padding-left: 600px; }
|
36
|
+
body .append-16 { padding-right: 0; padding-left: 640px; }
|
37
|
+
body .append-17 { padding-right: 0; padding-left: 680px; }
|
38
|
+
body .append-18 { padding-right: 0; padding-left: 720px; }
|
39
|
+
body .append-19 { padding-right: 0; padding-left: 760px; }
|
40
|
+
body .append-20 { padding-right: 0; padding-left: 800px; }
|
41
|
+
body .append-21 { padding-right: 0; padding-left: 840px; }
|
42
|
+
body .append-22 { padding-right: 0; padding-left: 880px; }
|
43
|
+
body .append-23 { padding-right: 0; padding-left: 920px; }
|
44
|
+
|
45
|
+
body .prepend-1 { padding-left: 0; padding-right: 40px; }
|
46
|
+
body .prepend-2 { padding-left: 0; padding-right: 80px; }
|
47
|
+
body .prepend-3 { padding-left: 0; padding-right: 120px; }
|
48
|
+
body .prepend-4 { padding-left: 0; padding-right: 160px; }
|
49
|
+
body .prepend-5 { padding-left: 0; padding-right: 200px; }
|
50
|
+
body .prepend-6 { padding-left: 0; padding-right: 240px; }
|
51
|
+
body .prepend-7 { padding-left: 0; padding-right: 280px; }
|
52
|
+
body .prepend-8 { padding-left: 0; padding-right: 320px; }
|
53
|
+
body .prepend-9 { padding-left: 0; padding-right: 360px; }
|
54
|
+
body .prepend-10 { padding-left: 0; padding-right: 400px; }
|
55
|
+
body .prepend-11 { padding-left: 0; padding-right: 440px; }
|
56
|
+
body .prepend-12 { padding-left: 0; padding-right: 480px; }
|
57
|
+
body .prepend-13 { padding-left: 0; padding-right: 520px; }
|
58
|
+
body .prepend-14 { padding-left: 0; padding-right: 560px; }
|
59
|
+
body .prepend-15 { padding-left: 0; padding-right: 600px; }
|
60
|
+
body .prepend-16 { padding-left: 0; padding-right: 640px; }
|
61
|
+
body .prepend-17 { padding-left: 0; padding-right: 680px; }
|
62
|
+
body .prepend-18 { padding-left: 0; padding-right: 720px; }
|
63
|
+
body .prepend-19 { padding-left: 0; padding-right: 760px; }
|
64
|
+
body .prepend-20 { padding-left: 0; padding-right: 800px; }
|
65
|
+
body .prepend-21 { padding-left: 0; padding-right: 840px; }
|
66
|
+
body .prepend-22 { padding-left: 0; padding-right: 880px; }
|
67
|
+
body .prepend-23 { padding-left: 0; padding-right: 920px; }
|
68
|
+
|
69
|
+
body .border {
|
70
|
+
padding-right: 0;
|
71
|
+
padding-left: 4px;
|
72
|
+
margin-right: 0;
|
73
|
+
margin-left: 5px;
|
74
|
+
border-right: none;
|
75
|
+
border-left: 1px solid #eee;
|
76
|
+
}
|
77
|
+
|
78
|
+
body .colborder {
|
79
|
+
padding-right: 0;
|
80
|
+
padding-left: 24px;
|
81
|
+
margin-right: 0;
|
82
|
+
margin-left: 25px;
|
83
|
+
border-right: none;
|
84
|
+
border-left: 1px solid #eee;
|
85
|
+
}
|
86
|
+
|
87
|
+
body .pull-1 { margin-left: 0; margin-right: -40px; }
|
88
|
+
body .pull-2 { margin-left: 0; margin-right: -80px; }
|
89
|
+
body .pull-3 { margin-left: 0; margin-right: -120px; }
|
90
|
+
body .pull-4 { margin-left: 0; margin-right: -160px; }
|
91
|
+
|
92
|
+
body .push-0 { margin: 0 18px 0 0; }
|
93
|
+
body .push-1 { margin: 0 18px 0 -40px; }
|
94
|
+
body .push-2 { margin: 0 18px 0 -80px; }
|
95
|
+
body .push-3 { margin: 0 18px 0 -120px; }
|
96
|
+
body .push-4 { margin: 0 18px 0 -160px; }
|
97
|
+
body .push-0, body .push-1, body .push-2,
|
98
|
+
body .push-3, body .push-4 { float: left; }
|
99
|
+
|
100
|
+
|
101
|
+
/* Typography with RTL support */
|
102
|
+
body h1,body h2,body h3,
|
103
|
+
body h4,body h5,body h6 { font-family: Arial, sans-serif; }
|
104
|
+
html body { font-family: Arial, sans-serif; }
|
105
|
+
body pre,body code,body tt { font-family: monospace; }
|
106
|
+
|
107
|
+
/* Mirror floats and margins on typographic elements */
|
108
|
+
body p img { float: right; margin: 1.5em 0 1.5em 1.5em; }
|
109
|
+
body dd, body ul, body ol { margin-left: 0; margin-right: 1.5em;}
|
110
|
+
body td, body th { text-align:right; }
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/* -----------------------------------------------------------------------
|
2
|
+
|
3
|
+
|
4
|
+
Blueprint CSS Framework 1.0.1
|
5
|
+
http://blueprintcss.org
|
6
|
+
|
7
|
+
* Copyright (c) 2007-Present. See LICENSE for more info.
|
8
|
+
* See README for instructions on how to use Blueprint.
|
9
|
+
* For credits and origins, see AUTHORS.
|
10
|
+
* This is a compressed file. See the sources in the 'src' directory.
|
11
|
+
|
12
|
+
----------------------------------------------------------------------- */
|
13
|
+
|
14
|
+
/* print.css */
|
15
|
+
body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
|
16
|
+
.container {background:none;}
|
17
|
+
hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
|
18
|
+
hr.space {background:#fff;color:#fff;visibility:hidden;}
|
19
|
+
h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
|
20
|
+
code {font:.9em "Courier New", Monaco, Courier, monospace;}
|
21
|
+
a img {border:none;}
|
22
|
+
p img.top {margin-top:0;}
|
23
|
+
blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
|
24
|
+
.small {font-size:.9em;}
|
25
|
+
.large {font-size:1.1em;}
|
26
|
+
.quiet {color:#999;}
|
27
|
+
.hide {display:none;}
|
28
|
+
a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
|
29
|
+
a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;}
|