jekyll-default-layout 0.1.5 → 0.2.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87b96296c5c9b4f2d7636b2e73bd81eb20875b1ac6eed98cb3646250265e36e3
4
- data.tar.gz: 9050dd9845e091c2fb4d32e09b2ec5ada1b73c1756e110e4d7e7a7912f3f2414
3
+ metadata.gz: 3941bb67044e8bae733eab9d5ec785d72dab1076fcbfbb1274ad521111d4dfbe
4
+ data.tar.gz: 92d3902543dc52d3ad3464c907ce17765b9fb52f0921207ad88ac42caaa8e3b6
5
5
  SHA512:
6
- metadata.gz: bf42ffb89768c67581b82129f9aad6204cedf98ff13fd043e257825a154ac396002013d1d66ef7ea603112425b47a3b628063d85038d897aeb71a89190d7f104
7
- data.tar.gz: ddeae6172ff10fc5c91b12bc406a3ef8ea5ac6418603108d9e4206c1415b14e7828a03468d7bb695eaa937eb62a9424a327c9d9417dfeebd0b1dd07ebf92cf77
6
+ metadata.gz: 20ccc3597e3fcd6883edc794b32a88b2680658de39c65131e4648f3c3ff6f08b63e71ac1256a59c0dc52f92f4bd71fdb3e48eabac31c88de1b2a3a0a0fc52604
7
+ data.tar.gz: 8353beb0873a5907cde5e30511131ba514db3222c1f8606956b13b493854d638a16196d0bd4bd9ccf97a606ec593574bc882ef8c08cd4b019de9b851bd4e5f7e
@@ -22,7 +22,8 @@ module JekyllDefaultLayout
22
22
  end
23
23
 
24
24
  def should_set_layout?(document)
25
- markdown?(document) && !layout_specified?(document)
25
+ !layout_specified?(document) &&
26
+ (markdown?(document) || (html?(document) && html_pages_enabled?))
26
27
  end
27
28
 
28
29
  # Does the given layout exist for the site?
@@ -40,8 +41,19 @@ module JekyllDefaultLayout
40
41
  markdown_converter.matches(document.extname)
41
42
  end
42
43
 
44
+ def html?(document)
45
+ document.extname == ".html"
46
+ end
47
+
48
+ # HTML pages are only given a default layout when the user opts in via
49
+ # `jekyll-default-layout: { html_pages: true }` in _config.yml.
50
+ def html_pages_enabled?
51
+ config = site.config["jekyll-default-layout"]
52
+ config.is_a?(Hash) && config["html_pages"] == true
53
+ end
54
+
43
55
  # What layout is appropriate for this document, if any
44
- # rubocop:disable Metrics/PerceivedComplexity
56
+ # rubocop:disable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
45
57
  def layout_for(document)
46
58
  if index?(document) && layout_exists?("home")
47
59
  "home"
@@ -49,14 +61,16 @@ module JekyllDefaultLayout
49
61
  "page"
50
62
  elsif post?(document) && layout_exists?("post")
51
63
  "post"
64
+ elsif collection?(document) && layout_exists?(document.collection.label)
65
+ document.collection.label
52
66
  elsif layout_exists?("default")
53
67
  "default"
54
68
  end
55
69
  end
56
- # rubocop:enable Metrics/PerceivedComplexity
70
+ # rubocop:enable Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
57
71
 
58
72
  def documents
59
- [site.pages, site.posts.docs].flatten
73
+ [site.pages, site.collections.values.map(&:docs)].flatten
60
74
  end
61
75
 
62
76
  def markdown_converter
@@ -71,6 +85,10 @@ module JekyllDefaultLayout
71
85
  document.is_a?(Jekyll::Page)
72
86
  end
73
87
 
88
+ def collection?(document)
89
+ document.is_a?(Jekyll::Document) && !post?(document)
90
+ end
91
+
74
92
  def index?(document)
75
93
  document.url == "/"
76
94
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module JekyllDefaultLayout
4
- VERSION = "0.1.5"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-default-layout
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Balter
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2020-10-06 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: jekyll
@@ -30,6 +29,20 @@ dependencies:
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
31
  version: '5.0'
32
+ - !ruby/object:Gem::Dependency
33
+ name: kramdown-parser-gfm
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '1.0'
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '1.0'
33
46
  - !ruby/object:Gem::Dependency
34
47
  name: rspec
35
48
  requirement: !ruby/object:Gem::Requirement
@@ -50,14 +63,28 @@ dependencies:
50
63
  requirements:
51
64
  - - "~>"
52
65
  - !ruby/object:Gem::Version
53
- version: '0.8'
66
+ version: '1.0'
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '1.0'
74
+ - !ruby/object:Gem::Dependency
75
+ name: rubocop-factory_bot
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: 2.26.0
54
81
  type: :development
55
82
  prerelease: false
56
83
  version_requirements: !ruby/object:Gem::Requirement
57
84
  requirements:
58
85
  - - "~>"
59
86
  - !ruby/object:Gem::Version
60
- version: '0.8'
87
+ version: 2.26.0
61
88
  - !ruby/object:Gem::Dependency
62
89
  name: rubocop-jekyll
63
90
  requirement: !ruby/object:Gem::Requirement
@@ -86,7 +113,76 @@ dependencies:
86
113
  - - "~>"
87
114
  - !ruby/object:Gem::Version
88
115
  version: '1.6'
89
- description:
116
+ - !ruby/object:Gem::Dependency
117
+ name: rubocop-rspec
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '3.0'
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '3.0'
130
+ - !ruby/object:Gem::Dependency
131
+ name: base64
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ type: :development
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ - !ruby/object:Gem::Dependency
145
+ name: benchmark
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: ostruct
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ type: :development
166
+ prerelease: false
167
+ version_requirements: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ - !ruby/object:Gem::Dependency
173
+ name: tsort
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ type: :development
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
90
186
  email:
91
187
  - ben.balter@github.com
92
188
  executables: []
@@ -100,7 +196,6 @@ homepage: https://github.com/benbalter/jekyll-default-layout
100
196
  licenses:
101
197
  - MIT
102
198
  metadata: {}
103
- post_install_message:
104
199
  rdoc_options: []
105
200
  require_paths:
106
201
  - lib
@@ -108,15 +203,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
108
203
  requirements:
109
204
  - - ">="
110
205
  - !ruby/object:Gem::Version
111
- version: '0'
206
+ version: '3.0'
112
207
  required_rubygems_version: !ruby/object:Gem::Requirement
113
208
  requirements:
114
209
  - - ">="
115
210
  - !ruby/object:Gem::Version
116
211
  version: '0'
117
212
  requirements: []
118
- rubygems_version: 3.1.4
119
- signing_key:
213
+ rubygems_version: 4.0.16
120
214
  specification_version: 4
121
215
  summary: Silently sets default layouts for Jekyll pages and posts
122
216
  test_files: []