blogelator 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/app/assets/javascripts/blog/components/link.js +22 -0
  4. data/app/assets/javascripts/blog/layout/progress_bar.js +5 -0
  5. data/app/assets/javascripts/blog.js +5 -0
  6. data/app/assets/stylesheets/blog/components/button.scss +6 -0
  7. data/app/assets/stylesheets/blog/components/headings.scss +28 -0
  8. data/app/assets/stylesheets/blog/components/link.scss +15 -0
  9. data/app/assets/stylesheets/blog/components/lists.scss +4 -0
  10. data/app/assets/stylesheets/blog/components/table.scss +24 -0
  11. data/app/assets/stylesheets/blog/layout/body.scss +15 -0
  12. data/app/assets/stylesheets/blog/layout/flash_messages.scss +47 -0
  13. data/app/assets/stylesheets/blog/layout/footer.scss +2 -0
  14. data/app/assets/stylesheets/blog/layout/header.scss +9 -0
  15. data/app/assets/stylesheets/blog/layout/progress_bar.scss +3 -0
  16. data/app/assets/stylesheets/blog/variables.scss +5 -0
  17. data/app/assets/stylesheets/blog/views/blogelator/authors/_author.scss +3 -0
  18. data/app/assets/stylesheets/blog/views/blogelator/posts/_post.scss +30 -0
  19. data/app/assets/stylesheets/blog/views/blogelator/posts/index.scss +7 -0
  20. data/app/assets/stylesheets/blog/views/blogelator/posts/show.scss +43 -0
  21. data/app/assets/stylesheets/blog.scss +3 -0
  22. data/app/controllers/blogelator/posts_controller.rb +3 -2
  23. data/app/models/blogelator/author.rb +8 -5
  24. data/app/models/blogelator/post.rb +3 -2
  25. data/app/views/blogelator/authors/_author.html.erb +24 -0
  26. data/app/views/blogelator/posts/_post.html.erb +14 -14
  27. data/app/views/blogelator/posts/show.html.erb +19 -6
  28. data/app/views/layouts/blog/_footer.html.erb +2 -0
  29. data/app/views/layouts/blog/_header.html.erb +3 -0
  30. data/app/views/layouts/blog.html.erb +24 -0
  31. data/lib/blogelator/version.rb +1 -1
  32. data/lib/blogelator.rb +2 -0
  33. data/lib/generators/blogelator/install_generator.rb +21 -0
  34. metadata +52 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6750073cbad742c8baea5a53ca97e74a90dfa4fb
4
- data.tar.gz: f9a1c83719dcce8b679d449c04aa1e4f5e2c3849
3
+ metadata.gz: c91c7a35981d2de4fa1221c1401f94fbde1081b8
4
+ data.tar.gz: a124a94d8efab981d85054a1a0acf0368628f2d8
5
5
  SHA512:
6
- metadata.gz: 0115225ae1a9619d5ffbef150833353303b45099dfcad96345b2ce5866c654f9b6cc627fcf99abdd0cc06cab6dfb4b4fb0cdaf788f617efcd43066600da3a2fb
7
- data.tar.gz: 0d3abeaa0429c17cc2dade796699154a563d860c893f62df5bd625a0c3a761a8170c7adbe5116dc3d6a869a079d46c1cf3f6e31184f0b60f69b0856f66f25a9c
6
+ metadata.gz: 07750f630b79d8084a35d13accacb9fcdeb8be6fa2a9d5db2b286e65328382e97f7984fedf833afb0a1883f34a895ef997d216280ce0892fbaf1c067e9deec05
7
+ data.tar.gz: 74e4366dc582abac0eb5dc9694ce88ff1b2d773b342825ee7471c043bd7a314cd3d8d97d5fc2a2b2a6ae1a83e307ef2ce26e7bf74cafef2a44d514121384317a
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2014-2015 Brian Pattison
1
+ Copyright 2014-2016 Brian Pattison
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -0,0 +1,22 @@
1
+ (function() {
2
+ "use strict";
3
+
4
+ var body, links;
5
+
6
+ App.register('component').enter(function() {
7
+ body = $('body');
8
+ links = $('a[href]:not([href^="#"]):not([target="_blank"])');
9
+
10
+ // Add 'loading' class to the body when a link is clicked,
11
+ // add add 'active' class to the clicked link.
12
+ links.click(function() {
13
+ links.removeClass('active');
14
+ body.addClass('loading');
15
+ $(this).addClass('active');
16
+ });
17
+ }).exit(function() {
18
+ // Remove the classes when the body is unloaded
19
+ body.removeClass('loading');
20
+ links.removeClass('active');
21
+ });
22
+ })();
@@ -0,0 +1,5 @@
1
+ /* global Turbolinks */
2
+
3
+ if (Turbolinks !== undefined) {
4
+ Turbolinks.enableProgressBar();
5
+ }
@@ -0,0 +1,5 @@
1
+ //= require jquery
2
+ //= require jquery_ujs
3
+ //= require codelation
4
+ //= require turbolinks
5
+ //= require_tree ./blog
@@ -0,0 +1,6 @@
1
+ .button,
2
+ button,
3
+ input[type="button"],
4
+ input[type="submit"] {
5
+ @include button($active-color: $white);
6
+ }
@@ -0,0 +1,28 @@
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5,
6
+ h6 {
7
+ text-rendering: optimizeLegibility; // Fix the character spacing for headings
8
+ }
9
+
10
+ h1 {
11
+ font-size: 34px;
12
+ }
13
+
14
+ h2 {
15
+ font-size: 28px;
16
+ }
17
+
18
+ h3 {
19
+ font-size: 22px;
20
+ }
21
+
22
+ h4 {
23
+ font-size: 18px;
24
+ }
25
+
26
+ h5 {
27
+ font-size: 16px;
28
+ }
@@ -0,0 +1,15 @@
1
+ $link-color: $accent-color;
2
+ $link-color-active: color($accent-color, 800);
3
+ $link-color-hover: color($accent-color, 700);
4
+
5
+ a {
6
+ color: $link-color;
7
+
8
+ &:hover {
9
+ color: $link-color-hover;
10
+ }
11
+
12
+ &:active {
13
+ color: $link-color-active;
14
+ }
15
+ }
@@ -0,0 +1,4 @@
1
+ ol,
2
+ ul {
3
+ padding-left: 1.5em;
4
+ }
@@ -0,0 +1,24 @@
1
+ $table-background-color: $white;
2
+ $table-border-color: color($grey, 300);
3
+ $table-header-background-color: color($grey, 100);
4
+ $table-header-color: color($grey, 700);
5
+
6
+ table {
7
+ min-width: 100%;
8
+
9
+ th {
10
+ background-color: $table-header-background-color;
11
+ border: 1px solid $table-border-color;
12
+ color: $table-header-color;
13
+ font-weight: 400;
14
+ padding: 1em;
15
+ text-align: center;
16
+ }
17
+
18
+ td {
19
+ background-color: $table-background-color;
20
+ border: 1px solid $table-border-color;
21
+ padding: 1em;
22
+ text-align: center;
23
+ }
24
+ }
@@ -0,0 +1,15 @@
1
+ $body-background-color: color($grey, 50);
2
+ $body-color: color($grey, 900);
3
+ $body-font-family: sans-serif;
4
+ $body-font-size: 16px;
5
+ $body-line-height: 1.6875;
6
+
7
+ body {
8
+ background-color: $body-background-color;
9
+ color: $body-color;
10
+ font-family: $body-font-family;
11
+ font-size: $body-font-size;
12
+ -webkit-font-smoothing: subpixel-antialiased;
13
+ line-height: $body-line-height;
14
+ text-rendering: optimizelegibility;
15
+ }
@@ -0,0 +1,47 @@
1
+ $alert-background-color: rgba($red, 0.85);
2
+ $alert-font-color: $white;
3
+ $notice-background-color: rgba($green, 0.85);
4
+ $notice-font-color: $white;
5
+
6
+ @include keyframes(flash-up) {
7
+ 0% {
8
+ @include transform(translateZ(0) translate3d(0, 100%, 0));
9
+ }
10
+
11
+ 5% {
12
+ @include transform(translateZ(0) translate3d(0, 0, 0));
13
+ }
14
+
15
+ 95% {
16
+ @include transform(translateZ(0) translate3d(0, 0, 0));
17
+ }
18
+
19
+ 100% {
20
+ @include transform(translateZ(0) translate3d(0, 100%, 0));
21
+ }
22
+ }
23
+
24
+ .flash-alert,
25
+ .flash-notice {
26
+ @include animation(flash-up 6s 1);
27
+ @include transform(translateZ(0) translate3d(0, 100%, 0));
28
+ bottom: 0;
29
+ font-size: 1.6em;
30
+ left: 0;
31
+ line-height: 1.2;
32
+ padding: 0.6em 0.9em;
33
+ position: fixed;
34
+ right: 0;
35
+ text-align: center;
36
+ z-index: 1000;
37
+ }
38
+
39
+ .flash-alert {
40
+ background-color: $alert-background-color;
41
+ color: $alert-font-color;
42
+ }
43
+
44
+ .flash-notice {
45
+ background-color: $notice-background-color;
46
+ color: $notice-font-color;
47
+ }
@@ -0,0 +1,2 @@
1
+ footer {
2
+ }
@@ -0,0 +1,9 @@
1
+ header {
2
+ margin: 0 auto;
3
+ max-width: $max-width;
4
+
5
+ a {
6
+ font-size: 1.5em;
7
+ text-decoration: none;
8
+ }
9
+ }
@@ -0,0 +1,3 @@
1
+ html.turbolinks-progress-bar::before {
2
+ background-color: $accent-color !important;
3
+ }
@@ -0,0 +1,5 @@
1
+ // Global variables
2
+ $accent-color: $blue;
3
+ $primary-color: $blue-grey;
4
+ $max-width: 1000px;
5
+ $transition-timing: cubic-bezier(0.25, 0.8, 0.25, 1);
@@ -0,0 +1,3 @@
1
+ body.posts.show .author {
2
+
3
+ }
@@ -0,0 +1,30 @@
1
+ body.posts.index .post {
2
+ border: 1px solid $grey;
3
+ border-radius: 2px;
4
+ text-align: center;
5
+
6
+ .post-link {
7
+ display: block;
8
+ font-weight: bold;
9
+ text-decoration: none;
10
+ }
11
+
12
+ .post-image {
13
+ display: block;
14
+ height: 120px;
15
+ overflow: hidden;
16
+ }
17
+
18
+ img {
19
+ max-width: 100%;
20
+ }
21
+
22
+ .published-at {
23
+ display: block;
24
+ font-size: 0.8em;
25
+ }
26
+
27
+ .tags {
28
+ font-size: 0.7em;
29
+ }
30
+ }
@@ -0,0 +1,7 @@
1
+ body.posts.index {
2
+ main {
3
+ @include has-grid(3, 1em);
4
+ margin: 1em auto;
5
+ max-width: $max-width;
6
+ }
7
+ }
@@ -0,0 +1,43 @@
1
+ body.posts.show {
2
+ main {
3
+ margin: 1em auto;
4
+ max-width: 1440px;
5
+ }
6
+
7
+ .post-image {
8
+ display: block;
9
+ max-height: 360px;
10
+ overflow: hidden;
11
+
12
+ img {
13
+ max-width: 100%;
14
+ }
15
+ }
16
+
17
+ .post-content {
18
+ margin: 0 auto;
19
+ max-width: $max-width;
20
+ }
21
+
22
+ .title {
23
+ color: $body-color;
24
+ text-decoration: none;
25
+
26
+ &:hover {
27
+ border-bottom: 1px solid $accent-color;
28
+ }
29
+ }
30
+
31
+ h1 {
32
+ margin-bottom: 0;
33
+ }
34
+
35
+ .published-at {
36
+ display: block;
37
+ font-size: 0.8em;
38
+ }
39
+
40
+ .tags {
41
+ font-size: 0.7em;
42
+ }
43
+ }
@@ -0,0 +1,3 @@
1
+ @import "codelation";
2
+ @import "blog/variables";
3
+ @import "blog/**/*";
@@ -1,5 +1,6 @@
1
1
  module Blogelator
2
2
  class PostsController < ApplicationController
3
+ layout "blog"
3
4
  before_action :set_tag, :set_posts, only: [:index]
4
5
  before_action :set_post, only: [:show]
5
6
  PER_PAGE = 5
@@ -35,9 +36,9 @@ module Blogelator
35
36
 
36
37
  def set_post
37
38
  if try(:current_admin_user)
38
- @post = Blogelator::Post.find_by(slug: params[:id])
39
+ @post = Blogelator::Post.includes(:author).find_by(slug: params[:id])
39
40
  else
40
- @post = Blogelator::Post.published.find_by(slug: params[:id])
41
+ @post = Blogelator::Post.includes(:author).published.find_by(slug: params[:id])
41
42
  end
42
43
  fail ActionController::RoutingError.new("Not Found") unless @post
43
44
  end
@@ -3,22 +3,25 @@ module Blogelator
3
3
  # Assocations
4
4
  belongs_to :user, polymorphic: true
5
5
  has_many :posts
6
-
6
+ # - 100x100 w/ 200x200 being retina
7
+ # - 200x200 w/ 400x400 being retina
7
8
  # Paperclip attached files
8
9
  # @see https://github.com/thoughtbot/paperclip
9
10
  has_attached_file(
10
11
  :cover_photo,
11
12
  styles: {
12
- retina: "242x116>",
13
- thumbnail: "121x58>"
13
+ small: "400x225#",
14
+ medium: "800x450#",
15
+ large: "1200x675#"
14
16
  }
15
17
  )
16
18
 
17
19
  has_attached_file(
18
20
  :profile_photo,
19
21
  styles: {
20
- retina: "242x116>",
21
- thumbnail: "121x58>"
22
+ small: "150x150#",
23
+ medium: "300x300#",
24
+ large: "600x600#"
22
25
  }
23
26
  )
24
27
 
@@ -10,8 +10,9 @@ module Blogelator
10
10
  has_attached_file(
11
11
  :image,
12
12
  styles: {
13
- retina: "242x116>",
14
- thumbnail: "121x58>"
13
+ small: "400x225#",
14
+ medium: "800x450#",
15
+ large: "1440x810#"
15
16
  }
16
17
  )
17
18
 
@@ -0,0 +1,24 @@
1
+ <div class="author">
2
+ <% if author.profile_photo.exists? %>
3
+ <div class="profile-photo">
4
+ <%= image_tag author.profile_photo.url(:small) %>
5
+ </div>
6
+ <% end %>
7
+
8
+ <div class="name">
9
+ <%= author.name %>
10
+ </div>
11
+
12
+ <div class="bio">
13
+ <%== author.bio_html %>
14
+ </div>
15
+
16
+ <div>
17
+ <small class="location">
18
+ <%= author.location %>
19
+ </small>
20
+ <small class="website">
21
+ <%= link_to author.website, author.website %>
22
+ </small>
23
+ </div>
24
+ </div>
@@ -1,21 +1,21 @@
1
1
  <% cache [Blogelator::VERSION, post, "index"] do %>
2
2
  <div class="post <%= post.status %>">
3
- <h2><%= link_to post.title, post %></h2>
4
- <div class="published-at">
5
- <%= local_time(post.published_at, format: "%B %e, %Y") %>
6
- </div>
3
+ <%= link_to post, class: "post-link" do %>
4
+ <% if post.image.exists? %>
5
+ <span class="post-image">
6
+ <%= image_tag post.image.url(:small) %>
7
+ </span>
8
+ <% end %>
9
+
10
+ <span class="title">
11
+ <%= post.title %>
12
+ </span>
13
+ <% end %>
14
+
15
+ <%= local_time(post.published_at, format: "%B %e, %Y", class: "published-at") %>
16
+
7
17
  <div class="tags">
8
18
  <%= render post.tags %>
9
19
  </div>
10
- <% if post.summary_html.blank? %>
11
- <div class="body">
12
- <%== post.body_html %>
13
- </div>
14
- <% else %>
15
- <div class="summary">
16
- <%== post.summary_html %>
17
- <%= link_to raw("Continue reading &raquo;"), post, class: "continue" %>
18
- </div>
19
- <% end %>
20
20
  </div>
21
21
  <% end %>
@@ -1,12 +1,25 @@
1
1
  <% cache [Blogelator::VERSION, @post, "show"] do %>
2
2
  <div class="post <%= @post.status %>">
3
- <h1><%= link_to @post.title, @post %></h1>
4
- <%= local_time(@post.published_at, format: "%B %e, %Y", class: "published-at") %>
5
- <div class="tags">
6
- <%= render @post.tags %>
3
+ <div class="post-image">
4
+ <%= image_tag @post.image.url(:large) %>
7
5
  </div>
8
- <div class="body">
9
- <%== @post.body_html %>
6
+
7
+ <div class="post-content">
8
+ <h1>
9
+ <%= link_to @post.title, @post, class: "title" %>
10
+ </h1>
11
+
12
+ <%= local_time(@post.published_at, format: "%B %e, %Y", class: "published-at") %>
13
+
14
+ <div class="tags">
15
+ <%= render @post.tags %>
16
+ </div>
17
+
18
+ <div class="body">
19
+ <%== @post.body_html %>
20
+ </div>
21
+
22
+ <%= render @post.author if @post.author %>
10
23
  </div>
11
24
  </div>
12
25
 
@@ -0,0 +1,2 @@
1
+ <footer>
2
+ </footer>
@@ -0,0 +1,3 @@
1
+ <header>
2
+ <%= link_to "My Blog", blogelator_posts_path %>
3
+ </header>
@@ -0,0 +1,24 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= @title || try(:title) %></title>
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/<%= ENV['FONT_AWESOME_VERSION'] || '4.5.0' %>/css/font-awesome.min.css">
7
+ <%= stylesheet_link_tag "blog", media: "all", "data-turbolinks-track" => true %>
8
+ <%= javascript_include_tag "blog", "data-turbolinks-track" => true %>
9
+ <%= csrf_meta_tags %>
10
+ <%= yield :head %>
11
+ </head>
12
+
13
+ <body class="<%= try(:body_class) %>">
14
+ <%= render partial: "layouts/blog/header" unless @hide_header %>
15
+
16
+ <main>
17
+ <%= yield %>
18
+ </main>
19
+
20
+ <%= render partial: "layouts/blog/footer" unless @hide_footer %>
21
+ <%= yield :scripts %>
22
+ </body>
23
+
24
+ </html>
@@ -1,3 +1,3 @@
1
1
  module Blogelator
2
- VERSION = "1.0.3".freeze
2
+ VERSION = "1.0.4".freeze
3
3
  end
data/lib/blogelator.rb CHANGED
@@ -1,7 +1,9 @@
1
+ require "codelation_assets"
1
2
  require "paperclip"
2
3
  require "pygments"
3
4
  require "rails"
4
5
  require "redcarpet"
6
+ require "turbolinks"
5
7
  require "blogelator/engine"
6
8
  require "blogelator/version"
7
9
 
@@ -7,6 +7,27 @@ module Blogelator
7
7
  copy_file posts_controller_path, posts_controller_path
8
8
  end
9
9
 
10
+ def copy_javascripts
11
+ blog_js_path = "app/assets/javascripts/blog.js"
12
+ copy_file blog_js_path, blog_js_path
13
+ blog_js_dir_path = "app/assets/javascripts/blog"
14
+ directory blog_js_dir_path, blog_js_dir_path
15
+ end
16
+
17
+ def copy_layout
18
+ blog_layout_path = "app/views/layouts/blog.html.erb"
19
+ copy_file blog_layout_path, blog_layout_path
20
+ blog_layout_dir_path = "app/views/layouts/blog"
21
+ directory blog_layout_dir_path, blog_layout_dir_path
22
+ end
23
+
24
+ def copy_stylesheets
25
+ blog_scss_path = "app/assets/stylesheets/blog.scss"
26
+ copy_file blog_scss_path, blog_scss_path
27
+ blog_scss_dir_path = "app/assets/stylesheets/blog"
28
+ directory blog_scss_dir_path, blog_scss_dir_path
29
+ end
30
+
10
31
  def copy_views
11
32
  blogelator_views_path = "app/views/blogelator"
12
33
  directory blogelator_views_path, blogelator_views_path
metadata CHANGED
@@ -1,16 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blogelator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Pattison
8
- - Matthew Sullivan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
11
  date: 2016-02-11 00:00:00.000000000 Z
13
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: codelation_assets
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.3'
14
27
  - !ruby/object:Gem::Dependency
15
28
  name: paperclip
16
29
  requirement: !ruby/object:Gem::Requirement
@@ -67,6 +80,20 @@ dependencies:
67
80
  - - "~>"
68
81
  - !ruby/object:Gem::Version
69
82
  version: '3.3'
83
+ - !ruby/object:Gem::Dependency
84
+ name: turbolinks
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2.5'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.5'
70
97
  - !ruby/object:Gem::Dependency
71
98
  name: rake
72
99
  requirement: !ruby/object:Gem::Requirement
@@ -84,7 +111,6 @@ dependencies:
84
111
  description: Blogelator is an easy way to add a blog to your Rails app.
85
112
  email:
86
113
  - brian@brianpattison.com
87
- - msull92@gmail.com
88
114
  executables: []
89
115
  extensions: []
90
116
  extra_rdoc_files: []
@@ -92,17 +118,40 @@ files:
92
118
  - LICENSE
93
119
  - README.md
94
120
  - Rakefile
121
+ - app/assets/javascripts/blog.js
122
+ - app/assets/javascripts/blog/components/link.js
123
+ - app/assets/javascripts/blog/layout/progress_bar.js
124
+ - app/assets/stylesheets/blog.scss
125
+ - app/assets/stylesheets/blog/components/button.scss
126
+ - app/assets/stylesheets/blog/components/headings.scss
127
+ - app/assets/stylesheets/blog/components/link.scss
128
+ - app/assets/stylesheets/blog/components/lists.scss
129
+ - app/assets/stylesheets/blog/components/table.scss
130
+ - app/assets/stylesheets/blog/layout/body.scss
131
+ - app/assets/stylesheets/blog/layout/flash_messages.scss
132
+ - app/assets/stylesheets/blog/layout/footer.scss
133
+ - app/assets/stylesheets/blog/layout/header.scss
134
+ - app/assets/stylesheets/blog/layout/progress_bar.scss
135
+ - app/assets/stylesheets/blog/variables.scss
136
+ - app/assets/stylesheets/blog/views/blogelator/authors/_author.scss
137
+ - app/assets/stylesheets/blog/views/blogelator/posts/_post.scss
138
+ - app/assets/stylesheets/blog/views/blogelator/posts/index.scss
139
+ - app/assets/stylesheets/blog/views/blogelator/posts/show.scss
95
140
  - app/controllers/blogelator/posts_controller.rb
96
141
  - app/models/blogelator/author.rb
97
142
  - app/models/blogelator/html_renderer.rb
98
143
  - app/models/blogelator/post.rb
99
144
  - app/models/blogelator/tag.rb
145
+ - app/views/blogelator/authors/_author.html.erb
100
146
  - app/views/blogelator/kaminari/_paginator.html.erb
101
147
  - app/views/blogelator/posts/_meta.html.erb
102
148
  - app/views/blogelator/posts/_post.html.erb
103
149
  - app/views/blogelator/posts/index.html.erb
104
150
  - app/views/blogelator/posts/show.html.erb
105
151
  - app/views/blogelator/tags/_tag.html.erb
152
+ - app/views/layouts/blog.html.erb
153
+ - app/views/layouts/blog/_footer.html.erb
154
+ - app/views/layouts/blog/_header.html.erb
106
155
  - config/locales/en.yml
107
156
  - db/migrate/20151018150314_create_blogelator_posts.rb
108
157
  - db/migrate/20151018151022_create_blogelator_authors.rb