rails_admin_content_builder 1.0.4 → 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +1 -1
  4. data/.rubocop.yml +10 -0
  5. data/Gemfile +2 -1
  6. data/README.md +12 -1
  7. data/Rakefile +7 -7
  8. data/app/assets/images/cb-snippet-image-text.jpg +0 -0
  9. data/app/assets/images/cb-snippet-image-text.psd +0 -0
  10. data/app/assets/images/cb-snippet-image.jpg +0 -0
  11. data/app/assets/images/cb-snippet-image.psd +0 -0
  12. data/app/assets/images/cb-snippet-quote-text.jpg +0 -0
  13. data/app/assets/images/cb-snippet-quote-text.psd +0 -0
  14. data/app/assets/images/cb-snippet-quote.jpg +0 -0
  15. data/app/assets/images/cb-snippet-quote.psd +0 -0
  16. data/app/assets/images/cb-snippet-relational-text.jpg +0 -0
  17. data/app/assets/images/cb-snippet-relational-text.psd +0 -0
  18. data/app/assets/images/cb-snippet-text-image.jpg +0 -0
  19. data/app/assets/images/cb-snippet-text-image.psd +0 -0
  20. data/app/assets/images/cb-snippet-text-quote.jpg +0 -0
  21. data/app/assets/images/cb-snippet-text-quote.psd +0 -0
  22. data/app/assets/images/cb-snippet-text-relational.jpg +0 -0
  23. data/app/assets/images/cb-snippet-text-relational.psd +0 -0
  24. data/app/assets/images/cb-snippet-text.jpg +0 -0
  25. data/app/assets/images/cb-snippet-text.psd +0 -0
  26. data/app/assets/images/cb-snippet-video.jpg +0 -0
  27. data/app/assets/images/cb-snippet-video.psd +0 -0
  28. data/app/assets/javascripts/rails_admin/content_builder.js.erb +27 -20
  29. data/app/assets/stylesheets/rails_admin/content_builder.scss +174 -81
  30. data/app/controllers/rails_admin_content_builder/content_builder_controller.rb +7 -9
  31. data/app/helpers/rails_admin_content_builder/content_builder_helpers.rb +9 -3
  32. data/app/models/rails_admin_content_builder/content_builder.rb +21 -5
  33. data/app/views/rails_admin/main/content_builder.html.erb +3 -3
  34. data/bin/console +3 -3
  35. data/config/initializers/assets.rb +13 -13
  36. data/config/locales/content_builder.en.yml +4 -0
  37. data/config/locales/content_builder.pt-BR.yml +4 -0
  38. data/config/routes.rb +6 -6
  39. data/lib/generators/rails_admin_content_builder_generator.rb +17 -9
  40. data/lib/generators/templates/content_builder_image_uploader.rb +3 -13
  41. data/lib/rails_admin_content_builder.rb +3 -3
  42. data/lib/rails_admin_content_builder/engine.rb +1 -1
  43. data/lib/rails_admin_content_builder/version.rb +1 -1
  44. data/rails_admin_content_builder.gemspec +22 -20
  45. data/screenshot/image1.png +0 -0
  46. data/spec/controllers/rails_admin_content_builder/content_builder_controller_spec.rb +41 -5
  47. data/spec/dummy/Gemfile +0 -1
  48. data/spec/dummy/app/uploaders/content_builder_image_uploader.rb +2 -3
  49. data/spec/dummy/bin/setup +8 -8
  50. data/spec/dummy/config/application.rb +7 -7
  51. data/spec/dummy/config/initializers/rails_admin.rb +0 -1
  52. data/spec/dummy/config/initializers/simple_form.rb +1 -1
  53. data/spec/dummy/db/schema.rb +23 -25
  54. data/spec/factories/content_builder_categories.rb +2 -1
  55. data/spec/factories/content_builder_images.rb +7 -2
  56. data/spec/features/create_content_builder_category_spec.rb +4 -3
  57. data/spec/features/create_content_builder_spec.rb +5 -4
  58. data/spec/features/status_content_builder_spec.rb +8 -5
  59. data/spec/helpers/rails_admin_content_builder/content_builder_helper_spec.rb +15 -12
  60. data/spec/models/rails_admin_content_builder/content_builder_category_spec.rb +1 -1
  61. data/spec/models/rails_admin_content_builder/content_builder_image_spec.rb +1 -1
  62. data/spec/models/rails_admin_content_builder/content_builder_spec.rb +22 -8
  63. data/spec/spec_helper.rb +4 -4
  64. data/spec/version_spec.rb +1 -1
  65. data/vendor/assets/stylesheets/rails_admin_content_builder.scss +47 -30
  66. metadata +1726 -4
  67. data/spec/dummy/db/development.sqlite3 +0 -0
@@ -8,4 +8,3 @@ group :development, :test do
8
8
  gem 'shoulda-matchers', '~> 3.1'
9
9
  gem 'rails_admin_content_builder', path: '../../'
10
10
  end
11
-
@@ -32,11 +32,11 @@ class ContentBuilderImageUploader < CarrierWave::Uploader::Base
32
32
 
33
33
  # Create different versions of your uploaded files:
34
34
  version :left_or_right do
35
- process :resize_to_fit => [450, 450]
35
+ process resize_to_fit: [450, 450]
36
36
  end
37
37
 
38
38
  version :center do
39
- process :resize_to_fit => [900, 900]
39
+ process resize_to_fit: [900, 900]
40
40
  end
41
41
 
42
42
  # Add a white list of extensions which are allowed to be uploaded.
@@ -50,5 +50,4 @@ class ContentBuilderImageUploader < CarrierWave::Uploader::Base
50
50
  # def filename
51
51
  # "something.jpg" if original_filename
52
52
  # end
53
-
54
53
  end
@@ -2,15 +2,15 @@
2
2
  require 'pathname'
3
3
 
4
4
  # path to your application root.
5
- APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
5
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
6
 
7
7
  Dir.chdir APP_ROOT do
8
8
  # This script is a starting point to setup your application.
9
9
  # Add necessary setup steps to this file:
10
10
 
11
- puts "== Installing dependencies =="
12
- system "gem install bundler --conservative"
13
- system "bundle check || bundle install"
11
+ puts '== Installing dependencies =='
12
+ system 'gem install bundler --conservative'
13
+ system 'bundle check || bundle install'
14
14
 
15
15
  # puts "\n== Copying sample files =="
16
16
  # unless File.exist?("config/database.yml")
@@ -18,12 +18,12 @@ Dir.chdir APP_ROOT do
18
18
  # end
19
19
 
20
20
  puts "\n== Preparing database =="
21
- system "bin/rake db:setup"
21
+ system 'bin/rake db:setup'
22
22
 
23
23
  puts "\n== Removing old logs and tempfiles =="
24
- system "rm -f log/*"
25
- system "rm -rf tmp/cache"
24
+ system 'rm -f log/*'
25
+ system 'rm -rf tmp/cache'
26
26
 
27
27
  puts "\n== Restarting application server =="
28
- system "touch tmp/restart.txt"
28
+ system 'touch tmp/restart.txt'
29
29
  end
@@ -1,15 +1,15 @@
1
1
  require File.expand_path('../boot', __FILE__)
2
2
 
3
3
  # Pick the frameworks you want:
4
- require "active_record/railtie"
5
- require "action_controller/railtie"
6
- require "action_mailer/railtie"
7
- require "action_view/railtie"
8
- require "sprockets/railtie"
9
- # require "rails/test_unit/railtie"
4
+ require 'active_record/railtie'
5
+ require 'action_controller/railtie'
6
+ require 'action_mailer/railtie'
7
+ require 'action_view/railtie'
8
+ require 'sprockets/railtie'
9
+ require "rails/all"
10
10
 
11
11
  Bundler.require(*Rails.groups)
12
- require "rails_admin_content_builder"
12
+ require 'rails_admin_content_builder'
13
13
 
14
14
  module Dummy
15
15
  class Application < Rails::Application
@@ -1,5 +1,4 @@
1
1
  RailsAdmin.config do |config|
2
-
3
2
  ### Popular gems integration
4
3
 
5
4
  ## == Devise ==
@@ -6,7 +6,7 @@ SimpleForm.setup do |config|
6
6
  # stack. The options given below are used to wrap the
7
7
  # whole input.
8
8
  config.wrappers :default, class: :input,
9
- hint_class: :field_with_hint, error_class: :field_with_errors do |b|
9
+ hint_class: :field_with_hint, error_class: :field_with_errors do |b|
10
10
  ## Extensions enabled by default
11
11
  # Any of these extensions can be disabled for a
12
12
  # given input by passing: `f.input EXTENSION_NAME => false`.
@@ -11,36 +11,34 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20160713200804) do
15
-
16
- create_table "content_builder_categories", force: :cascade do |t|
17
- t.string "name"
18
- t.string "slug"
19
- t.datetime "created_at", null: false
20
- t.datetime "updated_at", null: false
14
+ ActiveRecord::Schema.define(version: 20_160_713_200_804) do
15
+ create_table 'content_builder_categories', force: :cascade do |t|
16
+ t.string 'name'
17
+ t.string 'slug'
18
+ t.datetime 'created_at', null: false
19
+ t.datetime 'updated_at', null: false
21
20
  end
22
21
 
23
- create_table "content_builder_images", force: :cascade do |t|
24
- t.string "image"
25
- t.integer "content_builder_id"
26
- t.datetime "created_at", null: false
27
- t.datetime "updated_at", null: false
22
+ create_table 'content_builder_images', force: :cascade do |t|
23
+ t.string 'image'
24
+ t.integer 'content_builder_id'
25
+ t.datetime 'created_at', null: false
26
+ t.datetime 'updated_at', null: false
28
27
  end
29
28
 
30
- add_index "content_builder_images", ["content_builder_id"], name: "index_content_builder_images_on_content_builder_id"
29
+ add_index 'content_builder_images', ['content_builder_id'], name: 'index_content_builder_images_on_content_builder_id'
31
30
 
32
- create_table "content_builders", force: :cascade do |t|
33
- t.string "title"
34
- t.string "written_by"
35
- t.datetime "date_publish"
36
- t.text "content"
37
- t.boolean "status", default: false
38
- t.string "slug"
39
- t.integer "content_builder_category_id"
40
- t.datetime "created_at", null: false
41
- t.datetime "updated_at", null: false
31
+ create_table 'content_builders', force: :cascade do |t|
32
+ t.string 'title'
33
+ t.string 'written_by'
34
+ t.datetime 'date_publish'
35
+ t.text 'content'
36
+ t.boolean 'status', default: false
37
+ t.string 'slug'
38
+ t.integer 'content_builder_category_id'
39
+ t.datetime 'created_at', null: false
40
+ t.datetime 'updated_at', null: false
42
41
  end
43
42
 
44
- add_index "content_builders", ["content_builder_category_id"], name: "index_content_builders_on_content_builder_category_id"
45
-
43
+ add_index 'content_builders', ['content_builder_category_id'], name: 'index_content_builders_on_content_builder_category_id'
46
44
  end
@@ -1,5 +1,6 @@
1
1
  FactoryGirl.define do
2
- factory :content_builder_category, class: RailsAdminContentBuilder::ContentBuilderCategory do
2
+ content_builder_category = RailsAdminContentBuilder::ContentBuilderCategory
3
+ factory :content_builder_category, class: content_builder_category do
3
4
  name { Faker::Lorem.characters }
4
5
  end
5
6
  end
@@ -1,6 +1,11 @@
1
1
  FactoryGirl.define do
2
- factory :content_builder_image, class: RailsAdminContentBuilder::ContentBuilderImage do
3
- image { Rack::Test::UploadedFile.new(File.join('spec', 'fixtures', 'assets', 'example.jpg')) }
2
+ content_builder_image = RailsAdminContentBuilder::ContentBuilderImage
3
+ factory :content_builder_image, class: content_builder_image do
4
+ image do
5
+ Rack::Test::UploadedFile.new(
6
+ File.join('spec', 'fixtures', 'assets', 'example.jpg')
7
+ )
8
+ end
4
9
  content_builder factory: :content_builder
5
10
  end
6
11
  end
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- feature 'create content builder category', :type => :feature do
4
-
3
+ feature 'create content builder category', type: :feature do
5
4
  before(:each) do
6
5
  @model_name = 'rails_admin_content_builder~content_builder_category'
7
6
  end
@@ -13,6 +12,8 @@ feature 'create content builder category', :type => :feature do
13
12
 
14
13
  click_button('Save')
15
14
 
16
- expect(page).to have_content('Content builder category successfully created')
15
+ expect(page).to have_content(
16
+ 'Content builder category successfully created'
17
+ )
17
18
  end
18
19
  end
@@ -1,7 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- feature 'create content builder', :type => :feature do
4
-
3
+ feature 'create content builder', type: :feature do
5
4
  before(:each) do
6
5
  @model_name = 'rails_admin_content_builder~content_builder'
7
6
  end
@@ -13,7 +12,7 @@ feature 'create content builder', :type => :feature do
13
12
  fill_in('Title', with: Faker::Lorem.characters)
14
13
  fill_in('Date publish', with: 'April 25, 2016 15:48')
15
14
  fill_in('Written by', with: Faker::Internet.url)
16
- select(category.name, :from => 'Content builder category')
15
+ select(category.name, from: 'Content builder category')
17
16
 
18
17
  click_button('Save')
19
18
 
@@ -22,7 +21,9 @@ feature 'create content builder', :type => :feature do
22
21
 
23
22
  scenario 'second step', js: false do
24
23
  content = FactoryGirl.create(:content_builder)
25
- visit rails_admin.content_builder_path(model_name: @model_name, id: content.id)
24
+ visit rails_admin.content_builder_path(
25
+ model_name: @model_name, id: content.id
26
+ )
26
27
 
27
28
  # find('a[href="#"][data-snippet="1"]').click
28
29
  # find('img[alt="Snippet text"]').click
@@ -1,14 +1,15 @@
1
1
  require 'spec_helper'
2
2
 
3
- feature 'change status content builder', :type => :feature do
4
-
3
+ feature 'change status content builder', type: :feature do
5
4
  before(:each) do
6
5
  @model_name = 'rails_admin_content_builder~content_builder'
7
6
  end
8
7
 
9
8
  scenario 'publish', js: false do
10
9
  content = FactoryGirl.create(:content_builder)
11
- visit rails_admin.content_builder_path(model_name: @model_name, id: content.id)
10
+ visit rails_admin.content_builder_path(
11
+ model_name: @model_name, id: content.id
12
+ )
12
13
 
13
14
  click_button('Publish')
14
15
 
@@ -18,11 +19,13 @@ feature 'change status content builder', :type => :feature do
18
19
 
19
20
  scenario 'unpublish', js: false do
20
21
  content = FactoryGirl.create(:content_builder, status: true)
21
- visit rails_admin.content_builder_path(model_name: @model_name, id: content.id)
22
+ visit rails_admin.content_builder_path(
23
+ model_name: @model_name, id: content.id
24
+ )
22
25
 
23
26
  click_button('Unpublish')
24
27
 
25
28
  expect(page).to have_content('Successfully updated')
26
29
  expect(page).to have_selector("input[type=submit][name='publish']")
27
30
  end
28
- end
31
+ end
@@ -1,33 +1,36 @@
1
- require "spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  describe RailsAdminContentBuilder::ContentBuilderHelpers, type: :helper do
4
- describe "#content_created" do
5
- it "return object content" do
6
- expect(helper.content_created).to eq(RailsAdminContentBuilder::ContentBuilder)
4
+ describe '#content_created' do
5
+ it 'return object content' do
6
+ content_builder = RailsAdminContentBuilder::ContentBuilder
7
+ expect(helper.content_created).to eq(content_builder)
7
8
  end
8
9
  end
9
10
 
10
- describe "#all_contents_created" do
11
- it "return all contents abjects with status true" do
11
+ describe '#all_contents_created' do
12
+ it 'return all contents abjects with status true' do
12
13
  content = FactoryGirl.create(:content_builder, status: true)
13
14
  expect(helper.all_contents_created).to include(content)
14
15
  end
15
16
 
16
- it "not return all contents objects with status false" do
17
+ it 'not return all contents objects with status false' do
17
18
  content = FactoryGirl.create(:content_builder, status: false)
18
19
  expect(helper.all_contents_created).not_to include(content)
19
20
  end
20
21
  end
21
22
 
22
- describe "#find_content_created_by_slug" do
23
- it "return contents objects by slug with status true" do
23
+ describe '#find_content_created_by_slug' do
24
+ it 'return contents objects by slug with status true' do
24
25
  content = FactoryGirl.create(:content_builder, status: true)
25
26
  expect(helper.find_content_created_by_slug(content.slug)).to eq(content)
26
27
  end
27
28
 
28
- it "return contents objects by slug with status true" do
29
+ it 'return contents objects by slug with status true' do
29
30
  content = FactoryGirl.create(:content_builder, status: false)
30
- expect(helper.find_content_created_by_slug(content.slug)).not_to eq(content)
31
+ expect(
32
+ helper.find_content_created_by_slug(content.slug)
33
+ ).not_to eq(content)
31
34
  end
32
35
  end
33
- end
36
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- RSpec.describe RailsAdminContentBuilder::ContentBuilderCategory, :type => :model do
3
+ RSpec.describe RailsAdminContentBuilder::ContentBuilderCategory, type: :model do
4
4
  describe 'validates' do
5
5
  it { should validate_presence_of(:name) }
6
6
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- RSpec.describe RailsAdminContentBuilder::ContentBuilderImage, :type => :model do
3
+ RSpec.describe RailsAdminContentBuilder::ContentBuilderImage, type: :model do
4
4
  describe 'validates' do
5
5
  it { should validate_presence_of(:image) }
6
6
  end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- RSpec.describe RailsAdminContentBuilder::ContentBuilder, :type => :model do
3
+ RSpec.describe RailsAdminContentBuilder::ContentBuilder, type: :model do
4
4
  describe 'validates' do
5
5
  it { should validate_presence_of(:title) }
6
6
  it { should validate_presence_of(:date_publish) }
@@ -14,29 +14,43 @@ RSpec.describe RailsAdminContentBuilder::ContentBuilder, :type => :model do
14
14
 
15
15
  describe 'search' do
16
16
  content = FactoryGirl.create(:content_builder)
17
+ content_builder = RailsAdminContentBuilder::ContentBuilder
17
18
 
18
19
  it 'should return a searched content by title' do
19
- output = RailsAdminContentBuilder::ContentBuilder.search(content.title).last
20
+ output = content_builder.search(content.title).last
20
21
  expect(output).to eq(content)
21
22
  end
22
23
 
23
24
  it 'should return a searched content by content' do
24
- output = RailsAdminContentBuilder::ContentBuilder.search(content.content).last
25
+ output = content_builder.search(content.content).last
25
26
  expect(output).to eq(content)
26
27
  end
27
28
  end
28
29
 
29
30
  describe 'content_sanitized' do
30
31
  it 'should return only tag "div p img figure figcaption a iframe"' do
31
- @content_input = '<div></div><input/><mytag myattr="teste"></mytag><p></p><img/><figure></figure><figcaption></figcaption><a></a><iframe></iframe><textarea>'
32
- @content_output = '<div></div><p></p><img><figure></figure><figcaption></figcaption><a></a><iframe></iframe>'
32
+ @content_input = '<div></div><input/><mytag myattr="teste"></mytag><p>'
33
+ @content_input << '</p><img/><figure></figure><figcaption></figcaption>'
34
+ @content_input << '<a></a><iframe></iframe><textarea>'
35
+
36
+ @content_output = '<div></div><p></p><img><figure></figure><figcaption>'
37
+ @content_output << '</figcaption><a></a><iframe></iframe>'
38
+
33
39
  content = FactoryGirl.create(:content_builder, content: @content_input)
34
40
  expect(content.content_sanitized).to eq(@content_output)
35
41
  end
36
42
 
37
- it 'should return only attrs "src class alt href allowfullscreen frameborder height width"' do
38
- @content_input = '<div class="test" data-method="test"></div><input/><p id="test"></p><img src="test" id="test"/><figure></figure><figcaption></figcaption><a href="#"></a><iframe></iframe><textarea>'
39
- @content_output = '<div class="test"></div><p></p><img src="test"><figure></figure><figcaption></figcaption><a href="#"></a><iframe></iframe>'
43
+ # Return src class alt href allowfullscreen frameborder height width
44
+ it 'should return only attrs' do
45
+ @content_input = '<div class="test" data-method="test"></div><input/>'
46
+ @content_input << '<p id="test"></p><img src="test" id="test"/><figure>'
47
+ @content_input << '</figure><figcaption></figcaption><a href="#"></a>'
48
+ @content_input << '<iframe></iframe><textarea>'
49
+
50
+ @content_output = '<div class="test"></div><p></p><img src="test">'
51
+ @content_output << '<figure></figure><figcaption></figcaption>'
52
+ @content_output << '<a href="#"></a><iframe></iframe>'
53
+
40
54
  content = FactoryGirl.create(:content_builder, content: @content_input)
41
55
  expect(content.content_sanitized).to eq(@content_output)
42
56
  end
@@ -1,16 +1,16 @@
1
1
  ENV['RAILS_ENV'] ||= 'test'
2
2
 
3
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
3
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
4
4
  require 'rspec/rails'
5
5
  require 'faker'
6
6
  require 'rails_admin/engine'
7
7
  require 'rails_admin/config'
8
8
  require 'shoulda-matchers'
9
9
  require 'factory_girl_rails'
10
- require "codeclimate-test-reporter"
10
+ require 'coveralls'
11
11
  require 'simplecov'
12
12
 
13
- CodeClimate::TestReporter.start
13
+ Coveralls.wear!
14
14
  SimpleCov.start
15
15
 
16
16
  Rails.backtrace_cleaner.remove_silencers!
@@ -25,7 +25,7 @@ RSpec.configure do |config|
25
25
  config.infer_base_class_for_anonymous_controllers = false
26
26
  config.include RailsAdmin::Engine.routes.url_helpers
27
27
  config.include RailsAdmin::Config
28
- config.order = "random"
28
+ config.order = 'random'
29
29
  end
30
30
 
31
31
  Shoulda::Matchers.configure do |config|
@@ -2,6 +2,6 @@ require 'spec_helper'
2
2
 
3
3
  describe RailsAdminContentBuilder do
4
4
  it 'has a version number' do
5
- expect(RailsAdminContentBuilder::VERSION).to eq('1.0.4')
5
+ expect(RailsAdminContentBuilder::VERSION).to eq('1.0.5')
6
6
  end
7
7
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  .cb,
4
4
  .news {
5
- font-size: 1rem;
5
+ font-size: 1em;
6
6
 
7
7
  a {
8
8
  color: inherit;
@@ -28,7 +28,7 @@
28
28
  margin: 0;
29
29
  line-height: 1.2;
30
30
 
31
- color: rgba(0,0,0,.72);
31
+ color: rgba(0,0,0,.65);
32
32
  font-size: 1.4em;
33
33
  letter-spacing: -.04em;
34
34
  }
@@ -78,7 +78,7 @@
78
78
  .news__content {
79
79
  line-height: 1.6;
80
80
 
81
- color: rgba(0,0,0,.7);
81
+ color: rgba(0,0,0,.6);
82
82
  font-family: sans-serif;
83
83
  font-size: .9em;
84
84
 
@@ -125,7 +125,6 @@
125
125
  background: rgba(0,0,0,.05);
126
126
  }
127
127
 
128
-
129
128
  .cb-video,
130
129
  .news__video {
131
130
  position: relative;
@@ -147,29 +146,29 @@
147
146
  margin-bottom: 1.5em;
148
147
  }
149
148
 
150
-
151
149
  .cb-blockquote {
152
150
  position: relative;
153
- margin: 0 0 1.5rem;
151
+ margin: 0 0 1.5em;
154
152
 
155
- padding: 1.5rem 0 0 1.5rem;
153
+ padding: 1.5em 0 0 1.5em;
156
154
  border: 0;
155
+
156
+ color: rgba(0,0,0,.5);
157
157
  }
158
158
 
159
159
  .cb-blockquote__text {
160
- margin: 0 0 1rem;
160
+ margin: 0 0 .5em;
161
161
 
162
162
  line-height: 1.4;
163
163
 
164
- color: rgba(0,0,0,.6);
165
164
  font-family: sans-serif;
166
- font-size: 1.1em;
165
+ font-size: 1em;
167
166
 
168
167
  &:before {
169
168
  content: "\“";
170
169
 
171
170
  position: absolute;
172
- top: -.5rem;
171
+ top: 0;
173
172
  left: 0;
174
173
 
175
174
  display: block;
@@ -186,9 +185,8 @@
186
185
 
187
186
  padding-left: 1.5em;
188
187
 
189
- color: rgba(0,0,0,.6);
190
188
  font-family: sans-serif;
191
- font-size: 1em;
189
+ font-size: .9em;
192
190
 
193
191
  &:before {
194
192
  content: "\2014 \00A0";
@@ -202,15 +200,15 @@
202
200
  }
203
201
 
204
202
  .cb-relational {
205
- margin: 0 0 1.5rem;
206
- padding-top: .3rem;
203
+ margin: 0 0 1.5em;
204
+ padding-top: .3em;
207
205
  }
208
206
 
209
207
  .cb-relational__title {
210
- margin: 0 0 .5rem;
208
+ margin: 0 0 .5em;
211
209
 
212
210
  line-height: 1;
213
- padding-top: .5rem;
211
+ padding-top: .5em;
214
212
  border-top: solid 4px rgba(0,0,0,.1);
215
213
 
216
214
  color: rgba(0,0,0,.3);
@@ -227,7 +225,7 @@
227
225
 
228
226
  .cb-relational__item {
229
227
  position: relative;
230
- padding: 1rem 0;
228
+ padding: 1em 0;
231
229
  border-bottom: solid 1px rgba(0,0,0,.05);
232
230
  }
233
231
 
@@ -274,13 +272,12 @@
274
272
 
275
273
  .cb-summary,
276
274
  .news__summary {
277
- margin: 1rem 0 0;
278
275
  font-size: 1em;
279
276
  }
280
277
 
281
278
  .cb-info,
282
279
  .news__info {
283
- margin: 1rem 0 0;
280
+ margin: 1em 0 0;
284
281
  font-size: .8em;
285
282
  }
286
283
 
@@ -315,23 +312,39 @@
315
312
  }
316
313
 
317
314
  .cb-blockquote {
318
- padding: 2rem 0 0 2rem;
315
+ padding: 2em 0 0 2em;
319
316
  }
320
317
 
321
318
  .cb-blockquote__text {
322
- font-size: 1.4em;
319
+ font-size: 1.2em;
323
320
  }
324
321
 
325
322
  .cb-blockquote--left {
326
323
  float: left;
327
324
  width: 50%;
328
- margin: 0 2rem 1.5rem 0;
325
+ margin: 0 2em 1.5em 0;
329
326
  }
330
327
 
331
328
  .cb-blockquote--right {
332
329
  float: right;
333
330
  width: 50%;
334
- margin: 0 0 1.5rem 2rem;
331
+ margin: 0 0 1.5em 2em;
332
+ }
333
+
334
+ .cb-relational--left {
335
+ float: left;
336
+ margin: 0 1.5em 1.5em 0;
337
+ width: 50%;
338
+ }
339
+
340
+ .cb-relational--right {
341
+ float: right;
342
+ margin: 0 0 1.5em 1.5em;
343
+ width: 50%;
344
+ }
345
+
346
+ .cb-relational__caption {
347
+ font-size: 1em;
335
348
  }
336
349
  }
337
350
 
@@ -349,18 +362,22 @@
349
362
  .cb-aside-title {
350
363
  font-size: 1.2em;
351
364
  }
365
+ }
352
366
 
353
- .cb-relational--left {
367
+ @media print {
368
+ .cb-blockquote--left {
354
369
  float: left;
355
- margin: 0 1.5rem 1.5rem 0;
356
-
357
370
  width: 50%;
371
+ margin: 0 2em 1.5em 0;
358
372
  }
359
373
 
360
- .cb-relational--right {
374
+ .cb-blockquote--right {
361
375
  float: right;
362
- margin: 0 0 1.5rem 1.5rem;
363
-
364
376
  width: 50%;
377
+ margin: 0 0 1.5em 2em;
378
+ }
379
+
380
+ .cb-relational {
381
+ display: none;
365
382
  }
366
383
  }