blogelator 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
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