jekyll-default-layout 0.1.0 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c3e0dc75157991dbdbb935c51815ebf3f94037f4
4
- data.tar.gz: 71ca7a1e4aedae982caff20fecc2a52a5f98f6c9
2
+ SHA256:
3
+ metadata.gz: 87b96296c5c9b4f2d7636b2e73bd81eb20875b1ac6eed98cb3646250265e36e3
4
+ data.tar.gz: 9050dd9845e091c2fb4d32e09b2ec5ada1b73c1756e110e4d7e7a7912f3f2414
5
5
  SHA512:
6
- metadata.gz: 8e68889b6595acd4986fcfbca2ee5f1395f9a2211c1831b5073799b7dbfca6b75dac9dcd0e510f6fd57233de9bbcd874bc8120b66f4429d825d69516acfdb8e6
7
- data.tar.gz: a93cea1445dd937c707c6138188cd73eb3178b095383c443ee925e15f498d5cac9aa915a5c173df237ccf0dd3a0d97d10b96dcbaa1a92e4aee2e883d58c4eacb
6
+ metadata.gz: bf42ffb89768c67581b82129f9aad6204cedf98ff13fd043e257825a154ac396002013d1d66ef7ea603112425b47a3b628063d85038d897aeb71a89190d7f104
7
+ data.tar.gz: ddeae6172ff10fc5c91b12bc406a3ef8ea5ac6418603108d9e4206c1415b14e7828a03468d7bb695eaa937eb62a9424a327c9d9417dfeebd0b1dd07ebf92cf77
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "jekyll"
2
4
  require "jekyll-default-layout/generator"
3
5
 
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllDefaultLayout
2
4
  # Injects front matter defaults to set default layouts, if they exist
3
5
  class Generator < Jekyll::Generator
4
6
  attr_accessor :site
5
7
 
6
8
  safe true
7
- priority :low
9
+ priority :lowest
8
10
 
9
11
  def initialize(site)
10
12
  @site = site
@@ -14,6 +16,7 @@ module JekyllDefaultLayout
14
16
  @site = site
15
17
  documents.each do |document|
16
18
  next unless should_set_layout?(document)
19
+
17
20
  document.data["layout"] = layout_for(document)
18
21
  end
19
22
  end
@@ -28,8 +31,9 @@ module JekyllDefaultLayout
28
31
  end
29
32
 
30
33
  # Has the user already specified a default for this layout?
34
+ # Note: We must use `to_liquid`, and not data, to ensure front matter defaults
31
35
  def layout_specified?(document)
32
- document.data.key? "layout"
36
+ document.to_liquid.key? "layout"
33
37
  end
34
38
 
35
39
  def markdown?(document)
@@ -37,8 +41,11 @@ module JekyllDefaultLayout
37
41
  end
38
42
 
39
43
  # What layout is appropriate for this document, if any
44
+ # rubocop:disable Metrics/PerceivedComplexity
40
45
  def layout_for(document)
41
- if page?(document) && layout_exists?("page")
46
+ if index?(document) && layout_exists?("home")
47
+ "home"
48
+ elsif page?(document) && layout_exists?("page")
42
49
  "page"
43
50
  elsif post?(document) && layout_exists?("post")
44
51
  "post"
@@ -46,6 +53,7 @@ module JekyllDefaultLayout
46
53
  "default"
47
54
  end
48
55
  end
56
+ # rubocop:enable Metrics/PerceivedComplexity
49
57
 
50
58
  def documents
51
59
  [site.pages, site.posts.docs].flatten
@@ -62,5 +70,9 @@ module JekyllDefaultLayout
62
70
  def page?(document)
63
71
  document.is_a?(Jekyll::Page)
64
72
  end
73
+
74
+ def index?(document)
75
+ document.url == "/"
76
+ end
65
77
  end
66
78
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module JekyllDefaultLayout
2
- VERSION = "0.1.0".freeze
4
+ VERSION = "0.1.5"
3
5
  end
metadata CHANGED
@@ -1,58 +1,92 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-default-layout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Balter
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-07 00:00:00.000000000 Z
11
+ date: 2020-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.0'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '3.3'
22
+ version: '5.0'
20
23
  type: :runtime
21
24
  prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '3.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: rspec
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.5'
40
+ type: :development
41
+ prerelease: false
22
42
  version_requirements: !ruby/object:Gem::Requirement
23
43
  requirements:
24
44
  - - "~>"
25
45
  - !ruby/object:Gem::Version
26
- version: '3.3'
46
+ version: '3.5'
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: rubocop
29
49
  requirement: !ruby/object:Gem::Requirement
30
50
  requirements:
31
51
  - - "~>"
32
52
  - !ruby/object:Gem::Version
33
- version: '0.43'
53
+ version: '0.8'
34
54
  type: :development
35
55
  prerelease: false
36
56
  version_requirements: !ruby/object:Gem::Requirement
37
57
  requirements:
38
58
  - - "~>"
39
59
  - !ruby/object:Gem::Version
40
- version: '0.43'
60
+ version: '0.8'
41
61
  - !ruby/object:Gem::Dependency
42
- name: rspec
62
+ name: rubocop-jekyll
43
63
  requirement: !ruby/object:Gem::Requirement
44
64
  requirements:
45
65
  - - "~>"
46
66
  - !ruby/object:Gem::Version
47
- version: '3.5'
67
+ version: '0.11'
48
68
  type: :development
49
69
  prerelease: false
50
70
  version_requirements: !ruby/object:Gem::Requirement
51
71
  requirements:
52
72
  - - "~>"
53
73
  - !ruby/object:Gem::Version
54
- version: '3.5'
55
- description:
74
+ version: '0.11'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rubocop-performance
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.6'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '1.6'
89
+ description:
56
90
  email:
57
91
  - ben.balter@github.com
58
92
  executables: []
@@ -66,7 +100,7 @@ homepage: https://github.com/benbalter/jekyll-default-layout
66
100
  licenses:
67
101
  - MIT
68
102
  metadata: {}
69
- post_install_message:
103
+ post_install_message:
70
104
  rdoc_options: []
71
105
  require_paths:
72
106
  - lib
@@ -81,9 +115,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
115
  - !ruby/object:Gem::Version
82
116
  version: '0'
83
117
  requirements: []
84
- rubyforge_project:
85
- rubygems_version: 2.6.7
86
- signing_key:
118
+ rubygems_version: 3.1.4
119
+ signing_key:
87
120
  specification_version: 4
88
121
  summary: Silently sets default layouts for Jekyll pages and posts
89
122
  test_files: []