jekyll-default-layout 0.1.0 → 0.1.5
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 +5 -5
- data/lib/jekyll-default-layout.rb +2 -0
- data/lib/jekyll-default-layout/generator.rb +15 -3
- data/lib/jekyll-default-layout/version.rb +3 -1
- metadata +49 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 87b96296c5c9b4f2d7636b2e73bd81eb20875b1ac6eed98cb3646250265e36e3
|
4
|
+
data.tar.gz: 9050dd9845e091c2fb4d32e09b2ec5ada1b73c1756e110e4d7e7a7912f3f2414
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf42ffb89768c67581b82129f9aad6204cedf98ff13fd043e257825a154ac396002013d1d66ef7ea603112425b47a3b628063d85038d897aeb71a89190d7f104
|
7
|
+
data.tar.gz: ddeae6172ff10fc5c91b12bc406a3ef8ea5ac6418603108d9e4206c1415b14e7828a03468d7bb695eaa937eb62a9424a327c9d9417dfeebd0b1dd07ebf92cf77
|
@@ -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 :
|
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.
|
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
|
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
|
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.
|
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:
|
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: '
|
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.
|
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.
|
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.
|
60
|
+
version: '0.8'
|
41
61
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
62
|
+
name: rubocop-jekyll
|
43
63
|
requirement: !ruby/object:Gem::Requirement
|
44
64
|
requirements:
|
45
65
|
- - "~>"
|
46
66
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
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: '
|
55
|
-
|
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
|
-
|
85
|
-
|
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: []
|