swedbank-pay-design-guide-jekyll-theme 1.9.0 → 1.9.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 +4 -4
- data/_includes/accordion-table.html +11 -0
- data/_includes/apple-touch-startup-image.html +1 -1
- data/_includes/github.html +11 -0
- data/_includes/iterator.html +2 -2
- data/_includes/release_notes.html +11 -10
- data/_includes/title-header.html +34 -0
- data/_layouts/default.html +31 -46
- data/_layouts/front-page.html +26 -21
- data/_layouts/search.html +5 -0
- data/_plugins/swedbank-pay-design-guide-jekyll-theme.rb +3 -0
- data/_sass/accordion-table.scss +96 -0
- data/_sass/breakpoints.scss +5 -0
- data/_sass/card.scss +1 -0
- data/_sass/front-page.scss +108 -71
- data/_sass/sidebar.scss +33 -3
- data/_sass/swedbank-pay-design-guide-theme.scss +22 -1
- data/_sass/title-header.scss +3 -0
- data/_sass/variables.scss +1 -1
- data/assets/css/pygments-autumn.css +1 -1
- data/lib/gem_version.rb +1 -1
- data/lib/regex_capture_filter.rb +18 -0
- data/lib/sidebar.rb +14 -22
- data/lib/sidebar_html_builder.rb +55 -42
- data/lib/sidebar_page.rb +87 -23
- data/lib/sidebar_page_collection.rb +1 -2
- data/lib/sidebar_page_title.rb +71 -6
- data/lib/sidebar_parser.rb +53 -20
- data/lib/sidebar_renderer.rb +26 -10
- data/lib/sidebar_text_builder.rb +5 -4
- data/lib/sidebar_tree_builder.rb +17 -4
- data/lib/swedbank-pay-design-guide-jekyll-theme.rb +1 -0
- metadata +11 -4
- data/_plugins/sidebar.rb +0 -3
data/lib/sidebar_html_builder.rb
CHANGED
@@ -21,36 +21,31 @@ module SwedbankPay
|
|
21
21
|
def build_markup(pages, current_page)
|
22
22
|
return '' if pages.empty?
|
23
23
|
|
24
|
-
current_path = current_path(current_page)
|
25
24
|
markup = ''
|
26
25
|
|
27
26
|
pages.each do |page|
|
28
|
-
|
27
|
+
current_page_name = current_page.respond_to?(:name) ? current_page.name : current_page.to_s
|
29
28
|
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
if page.hidden_for?(current_page)
|
30
|
+
Jekyll.logger.debug(" Sidebar: #{page.name} is hidden for #{current_page_name}")
|
31
|
+
next
|
32
|
+
elsif page.hidden?
|
33
|
+
Jekyll.logger.debug(" Sidebar: Hidden page #{page.name} is not hidden for #{current_page_name}")
|
34
|
+
end
|
33
35
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
def current_path(current_page)
|
38
|
-
if current_page.nil?
|
39
|
-
Jekyll.logger.warn(' Sidebar: Nil current_page')
|
40
|
-
return ''
|
36
|
+
sub_items_markup = sub_items_markup(page, current_page)
|
37
|
+
markup << item_markup(page, current_page, sub_items_markup, false)
|
41
38
|
end
|
42
39
|
|
43
|
-
|
44
|
-
return current_page.path if current_page.respond_to?(:path)
|
45
|
-
|
46
|
-
Jekyll.logger.warn(" Sidebar: #{current_page.class} ('#{current_page}') does not respond to :path.")
|
47
|
-
|
48
|
-
''
|
40
|
+
markup
|
49
41
|
end
|
50
42
|
|
51
|
-
def item_markup(page,
|
52
|
-
|
53
|
-
|
43
|
+
def item_markup(page, current_page, sub_items_markup, is_leaf)
|
44
|
+
# If we're rendering a leaf node, just set the level to a non-zero value
|
45
|
+
# to get the 'nav-subgroup' class and such.
|
46
|
+
level = is_leaf ? -1 : page.level
|
47
|
+
title_markup = title_markup(page, level, is_leaf)
|
48
|
+
item_class = item_class(page, current_page, level, is_leaf)
|
54
49
|
group_heading_class = group_heading_class(level)
|
55
50
|
|
56
51
|
"<li class=\"#{item_class}\">
|
@@ -62,8 +57,8 @@ module SwedbankPay
|
|
62
57
|
</li>"
|
63
58
|
end
|
64
59
|
|
65
|
-
def item_class(page,
|
66
|
-
active = active?(
|
60
|
+
def item_class(page, current_page, level, is_leaf)
|
61
|
+
active = page.active?(current_page, is_leaf: is_leaf)
|
67
62
|
item_class = group_class(level)
|
68
63
|
item_class += ' active' if active
|
69
64
|
item_class
|
@@ -78,17 +73,18 @@ module SwedbankPay
|
|
78
73
|
"#{group_class}-heading"
|
79
74
|
end
|
80
75
|
|
81
|
-
def title_markup(page, level)
|
82
|
-
|
83
|
-
return "<span>#{
|
76
|
+
def title_markup(page, level, is_leaf)
|
77
|
+
lead_title = lead_title(page)
|
78
|
+
return "<span>#{lead_title}</span>" if level.zero?
|
79
|
+
|
80
|
+
main_title = main_title(page, is_leaf)
|
84
81
|
|
85
|
-
|
86
|
-
"<a href=\"#{page.path}\">#{item_title}</a>"
|
82
|
+
"<a href=\"#{page.path}\">#{main_title}</a>"
|
87
83
|
end
|
88
84
|
|
89
|
-
def sub_items_markup(page,
|
90
|
-
headers_markup = headers_markup(page,
|
91
|
-
child_markup = build_markup(page.children,
|
85
|
+
def sub_items_markup(page, current_page)
|
86
|
+
headers_markup = headers_markup(page, current_page)
|
87
|
+
child_markup = build_markup(page.children, current_page)
|
92
88
|
|
93
89
|
return '' if headers_markup.empty? && child_markup.empty?
|
94
90
|
|
@@ -98,17 +94,18 @@ module SwedbankPay
|
|
98
94
|
</ul>"
|
99
95
|
end
|
100
96
|
|
101
|
-
def headers_markup(page,
|
97
|
+
def headers_markup(page, current_page)
|
102
98
|
# If there's no page headers, only return a leaf item for the page itself.
|
103
|
-
|
99
|
+
main_title = page.title.nil? ? nil : page.title.main
|
100
|
+
return leaf_markup(page.path, main_title, page.level) unless page.headers?
|
104
101
|
|
105
102
|
# If there's no children, only return the headers as leaf node items.
|
106
|
-
return page.headers.map { |h| header_markup(page, h) }.join('')
|
103
|
+
return page.headers.map { |h| header_markup(page, h) }.join('') unless page.children?
|
107
104
|
|
108
105
|
headers_markup = page.headers.map { |h| header_markup(page, h) }.join('')
|
109
106
|
headers_markup = "<ul class=\"nav-ul\">#{headers_markup}</ul>"
|
110
107
|
|
111
|
-
item_markup(page,
|
108
|
+
item_markup(page, current_page, headers_markup, true)
|
112
109
|
end
|
113
110
|
|
114
111
|
def header_markup(page, header)
|
@@ -123,19 +120,35 @@ module SwedbankPay
|
|
123
120
|
"<li class=\"#{leaf_class}\"><a href=\"#{href}\">#{title}</a></li>"
|
124
121
|
end
|
125
122
|
|
126
|
-
def
|
127
|
-
|
123
|
+
def lead_title(page)
|
124
|
+
return page.title.lead unless page.title.nil? || page.title.lead.nil?
|
125
|
+
return page.parent.title.to_s unless page.parent.nil? || page.parent.title.nil?
|
126
|
+
|
127
|
+
''
|
128
128
|
end
|
129
129
|
|
130
|
-
def
|
131
|
-
|
132
|
-
|
130
|
+
def main_title(page, is_leaf)
|
131
|
+
unless page.nil? || page.title.nil?
|
132
|
+
lead_title = lead_title(page)
|
133
|
+
parent_lead_title = parent_lead_title(page)
|
134
|
+
main_title = page.title.main
|
135
|
+
|
136
|
+
# If the lead title is different to the parent's or we're not on a leaf
|
137
|
+
# node item, use the lead title as the main title. This causes 'section: Card'
|
138
|
+
# to be used as title for the Card item, but allows the nav-subgroup-heading
|
139
|
+
# 'Introduction' item to use the main title 'Introduction'.
|
140
|
+
main_title = lead_title unless lead_title == parent_lead_title || is_leaf
|
141
|
+
|
142
|
+
return main_title || page.title.to_s
|
143
|
+
end
|
133
144
|
|
134
145
|
''
|
135
146
|
end
|
136
147
|
|
137
|
-
def
|
138
|
-
page.title.
|
148
|
+
def parent_lead_title(page)
|
149
|
+
return page.parent.title.lead unless page.parent.nil? || page.parent.title.nil?
|
150
|
+
|
151
|
+
nil
|
139
152
|
end
|
140
153
|
end
|
141
154
|
end
|
data/lib/sidebar_page.rb
CHANGED
@@ -1,50 +1,77 @@
|
|
1
|
-
# frozen_string_literal:
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'jekyll'
|
4
|
+
require 'nokogiri'
|
4
5
|
require_relative 'sidebar_path'
|
5
6
|
require_relative 'sidebar_page_title'
|
6
7
|
require_relative 'sidebar_page_collection'
|
7
8
|
require_relative 'sidebar_text_builder'
|
8
9
|
|
9
10
|
module SwedbankPay
|
10
|
-
# Represents a
|
11
|
+
# Represents a jekyll_page in the Sidebar
|
11
12
|
class SidebarPage
|
12
13
|
FIXNUM_MAX = (2**(0.size * 8 - 2) - 1)
|
13
14
|
|
14
|
-
attr_reader :path, :title, :level, :order, :children, :name
|
15
|
-
attr_accessor :headers, :
|
15
|
+
attr_reader :path, :title, :level, :order, :children, :name, :filename, :doc
|
16
|
+
attr_accessor :headers, :sidebar_container, :number, :parent
|
16
17
|
|
17
|
-
def initialize(
|
18
|
-
raise ArgumentError, '
|
18
|
+
def initialize(jekyll_page)
|
19
|
+
raise ArgumentError, 'jekyll_page cannot be nil' if jekyll_page.nil?
|
20
|
+
raise ArgumentError, 'jekyll_page must be a Jekyll::Page' unless jekyll_page.is_a? Jekyll::Page
|
19
21
|
|
20
|
-
|
22
|
+
@filename = jekyll_page.destination('')
|
23
|
+
@jekyll_page = jekyll_page
|
24
|
+
sidebar_path = SidebarPath.new(jekyll_page['url'])
|
21
25
|
@path = sidebar_path.to_s
|
22
26
|
@parent = sidebar_path.parent
|
23
27
|
@level = sidebar_path.level
|
24
28
|
@name = sidebar_path.name
|
25
|
-
@hide_from_sidebar =
|
26
|
-
@title =
|
27
|
-
@order = menu_order(
|
29
|
+
@hide_from_sidebar = jekyll_page['hide_from_sidebar'].nil? ? false : jekyll_page['hide_from_sidebar']
|
30
|
+
@title = SidebarPageTitle.parse(jekyll_page, self)
|
31
|
+
@order = menu_order(jekyll_page)
|
28
32
|
@children = SidebarPageCollection.new(self)
|
29
33
|
end
|
30
34
|
|
31
|
-
def active?(
|
35
|
+
def active?(current, is_leaf: false)
|
36
|
+
current_path = find_path(current)
|
37
|
+
|
32
38
|
return true if @path == current_path
|
33
39
|
|
34
|
-
|
35
|
-
|
40
|
+
# If we're on a leaf node item, such as when rendering the first header
|
41
|
+
# item of a sub-group, its children's active state must be disregarded.
|
42
|
+
unless is_leaf
|
43
|
+
@children.each do |child|
|
44
|
+
return true if child.active?(current_path, is_leaf: is_leaf)
|
45
|
+
end
|
36
46
|
end
|
37
47
|
|
38
48
|
false
|
39
49
|
end
|
40
50
|
|
41
|
-
def
|
51
|
+
def hidden?
|
42
52
|
return true if @title.nil?
|
43
53
|
return true if @hide_from_sidebar
|
44
54
|
|
45
55
|
false
|
46
56
|
end
|
47
57
|
|
58
|
+
def hidden_for?(other_page)
|
59
|
+
# The current page should be hidden for the other page unless the
|
60
|
+
# other page is also hidden.
|
61
|
+
hidden = hidden?
|
62
|
+
|
63
|
+
if other_page.nil? || !other_page.is_a?(SidebarPage)
|
64
|
+
Jekyll.logger.debug(" Sidebar: Other page '#{other_page}' is nil or not a SidebarPage")
|
65
|
+
return hidden
|
66
|
+
end
|
67
|
+
|
68
|
+
# If the other page is hidden, the current page should not be hidden
|
69
|
+
# from it.
|
70
|
+
return false if other_page.hidden? && in_same_section_as?(other_page)
|
71
|
+
|
72
|
+
hidden
|
73
|
+
end
|
74
|
+
|
48
75
|
def children=(children)
|
49
76
|
@children = SidebarPageCollection.new(self, children)
|
50
77
|
end
|
@@ -71,6 +98,18 @@ module SwedbankPay
|
|
71
98
|
@order <=> other.order
|
72
99
|
end
|
73
100
|
|
101
|
+
def enrich_jekyll
|
102
|
+
if @title.nil?
|
103
|
+
Jekyll.logger.debug(" Sidebar: No title for #{@name}")
|
104
|
+
return
|
105
|
+
end
|
106
|
+
|
107
|
+
Jekyll.logger.debug(" Sidebar: <#{@path}>.lead_title('#{@title.lead}').main_title('#{@title.main}')")
|
108
|
+
|
109
|
+
@jekyll_page.data['lead_title'] = @title.lead
|
110
|
+
@jekyll_page.data['main_title'] = @title.main
|
111
|
+
end
|
112
|
+
|
74
113
|
def save
|
75
114
|
Jekyll.logger.debug(" Writing Sidebar: #{filename}")
|
76
115
|
|
@@ -80,27 +119,30 @@ module SwedbankPay
|
|
80
119
|
end
|
81
120
|
end
|
82
121
|
|
122
|
+
def children?
|
123
|
+
!children.nil? && children.any?
|
124
|
+
end
|
125
|
+
|
83
126
|
def headers?
|
84
127
|
!headers.nil? && headers.any?
|
85
128
|
end
|
86
129
|
|
87
130
|
def coordinate
|
88
131
|
return @number.to_s if @parent.nil?
|
132
|
+
return @number.to_s unless @parent.respond_to? :coordinate
|
89
133
|
|
90
134
|
"#{@parent.coordinate}.#{@number}"
|
91
135
|
end
|
92
136
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
title = page['title']
|
97
|
-
return nil if title.nil?
|
98
|
-
|
99
|
-
SidebarPageTitle.new(title)
|
137
|
+
def load
|
138
|
+
@doc = File.open(@filename) { |f| Nokogiri::HTML(f) }
|
139
|
+
@doc
|
100
140
|
end
|
101
141
|
|
102
|
-
|
103
|
-
|
142
|
+
private
|
143
|
+
|
144
|
+
def menu_order(jekyll_page)
|
145
|
+
order = jekyll_page['menu_order']
|
104
146
|
return FIXNUM_MAX if order.nil? || order.to_s.empty?
|
105
147
|
|
106
148
|
order.to_i
|
@@ -113,5 +155,27 @@ module SwedbankPay
|
|
113
155
|
def child_of?(path)
|
114
156
|
@path.split('/').length > @level && path.start_with?(@path)
|
115
157
|
end
|
158
|
+
|
159
|
+
def find_path(current)
|
160
|
+
if current.nil?
|
161
|
+
Jekyll.logger.warn(' Sidebar: Nil current_page')
|
162
|
+
return ''
|
163
|
+
end
|
164
|
+
|
165
|
+
return current if current.is_a? String
|
166
|
+
return current.path if current.respond_to?(:path)
|
167
|
+
|
168
|
+
Jekyll.logger.warn(" Sidebar: #{current.class} ('#{current}') does not respond to :path.")
|
169
|
+
|
170
|
+
''
|
171
|
+
end
|
172
|
+
|
173
|
+
def in_same_section_as?(other_page)
|
174
|
+
# If this or the other page is the root index page, just ignore the
|
175
|
+
# hidden state completely
|
176
|
+
return false if other_page.path == '/' || @path == '/'
|
177
|
+
|
178
|
+
other_page.path.start_with?(@path) || @path.start_with?(other_page.path)
|
179
|
+
end
|
116
180
|
end
|
117
181
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# frozen_string_literal:
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'forwardable'
|
4
4
|
|
@@ -17,7 +17,6 @@ module SwedbankPay
|
|
17
17
|
pages.each_with_index do |page, index|
|
18
18
|
page.number = index
|
19
19
|
page.parent = parent
|
20
|
-
page.freeze
|
21
20
|
@pages.push(page)
|
22
21
|
end
|
23
22
|
end
|
data/lib/sidebar_page_title.rb
CHANGED
@@ -1,15 +1,32 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'jekyll'
|
4
|
+
require_relative 'sidebar_page'
|
5
|
+
|
3
6
|
module SwedbankPay
|
4
7
|
# Represents the title of a SidebarPage
|
5
8
|
class SidebarPageTitle
|
6
|
-
attr_reader :
|
9
|
+
attr_reader :main, :section
|
7
10
|
|
8
|
-
def
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
11
|
+
def self.parse(jekyll_page, sidebar_page)
|
12
|
+
raise ArgumentError, 'jekyll_page cannot be nil' if jekyll_page.nil?
|
13
|
+
raise ArgumentError, 'jekyll_page must be a Jekyll::Page' unless jekyll_page.is_a? Jekyll::Page
|
14
|
+
raise ArgumentError, 'sidebar_page cannot be nil' if sidebar_page.nil?
|
15
|
+
raise ArgumentError, 'sidebar_page must be a SidebarPage' unless sidebar_page.is_a? SidebarPage
|
16
|
+
|
17
|
+
title = jekyll_page['title']
|
18
|
+
section = jekyll_page['section']
|
19
|
+
|
20
|
+
return nil if title.nil? && section.nil?
|
21
|
+
|
22
|
+
SidebarPageTitle.new(title, section, sidebar_page)
|
23
|
+
end
|
24
|
+
|
25
|
+
def lead
|
26
|
+
section = find_section(@page)
|
27
|
+
return section unless section.nil?
|
28
|
+
|
29
|
+
@lead
|
13
30
|
end
|
14
31
|
|
15
32
|
def to_s
|
@@ -25,5 +42,53 @@ module SwedbankPay
|
|
25
42
|
|
26
43
|
@title <=> other.to_s
|
27
44
|
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def initialize(title, section, page)
|
49
|
+
raise ArgumentError, 'Both title and section cannot be nil' if title.nil? && section.nil?
|
50
|
+
raise ArgumentError, 'page cannot be nil' if page.nil?
|
51
|
+
raise ArgumentError, 'page must be a SidebarPage' unless page.is_a? SidebarPage
|
52
|
+
|
53
|
+
if title.nil?
|
54
|
+
raise ArgumentError, 'section must be a String' unless section.is_a? String
|
55
|
+
|
56
|
+
title = section
|
57
|
+
elsif section.nil?
|
58
|
+
raise ArgumentError, 'title must be a String' unless title.is_a? String
|
59
|
+
end
|
60
|
+
|
61
|
+
@page = page
|
62
|
+
@title = title
|
63
|
+
parts = title.split('–')
|
64
|
+
@section = section
|
65
|
+
@lead = parts.first.strip
|
66
|
+
@main = parts.last.strip
|
67
|
+
end
|
68
|
+
|
69
|
+
def find_section(page)
|
70
|
+
raise ArgumentError, 'page cannot be nil' if page.nil?
|
71
|
+
raise ArgumentError, 'page must be a SidebarPage' unless page.is_a? SidebarPage
|
72
|
+
|
73
|
+
# Return the 'section' front matter if it can be found on the current page.
|
74
|
+
section = section_from_front_matter(page)
|
75
|
+
|
76
|
+
return section unless section.nil?
|
77
|
+
|
78
|
+
# Recurse upwards to the root (until there is no parent).
|
79
|
+
section_from_parent(page)
|
80
|
+
end
|
81
|
+
|
82
|
+
def section_from_front_matter(page)
|
83
|
+
return nil if page.nil? || page.title.nil? || page.title.section.nil? || page.title.section.empty?
|
84
|
+
|
85
|
+
page.title.section
|
86
|
+
end
|
87
|
+
|
88
|
+
def section_from_parent(page)
|
89
|
+
return nil if page.nil? || page.parent.nil?
|
90
|
+
|
91
|
+
find_section(page.parent) unless page.nil? || page.parent.nil?
|
92
|
+
end
|
28
93
|
end
|
29
94
|
end
|
data/lib/sidebar_parser.rb
CHANGED
@@ -1,39 +1,65 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'jekyll'
|
4
|
+
require 'jekyll-redirect-from'
|
3
5
|
require_relative 'sidebar_path'
|
4
6
|
|
5
7
|
module SwedbankPay
|
6
8
|
# The Sidebar renderer
|
7
9
|
class SidebarParser
|
10
|
+
attr_reader :pages
|
11
|
+
|
8
12
|
def initialize(site)
|
9
|
-
|
13
|
+
raise ArgumentError, 'Site cannot be nil' if site.nil?
|
14
|
+
raise ArgumentError, 'Site must be a Jekyll::Site' unless site.is_a? Jekyll::Site
|
15
|
+
|
16
|
+
@pages = convert(site.pages)
|
10
17
|
end
|
11
18
|
|
12
|
-
def parse(
|
13
|
-
|
19
|
+
def parse(tree)
|
20
|
+
raise ArgumentError, 'tree cannot be nil' if tree.nil?
|
21
|
+
raise ArgumentError, 'tree must be a SidebarTreeBuilder' unless tree.is_a? SidebarTreeBuilder
|
14
22
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
23
|
+
parse_html(tree)
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
19
27
|
|
20
|
-
|
28
|
+
def convert(pages)
|
29
|
+
pages_hash = {}
|
21
30
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
31
|
+
pages.each do |jekyll_page|
|
32
|
+
if skippable? jekyll_page
|
33
|
+
Jekyll.logger.debug(" Sidebar: Skipping <#{jekyll_page['url']}>")
|
34
|
+
next
|
35
|
+
end
|
36
|
+
|
37
|
+
sidebar_page = SidebarPage.new(jekyll_page)
|
38
|
+
pages_hash[sidebar_page.path] = sidebar_page
|
26
39
|
end
|
27
40
|
|
28
|
-
|
41
|
+
pages_hash
|
29
42
|
end
|
30
43
|
|
31
|
-
|
44
|
+
def parse_html(pages)
|
45
|
+
return if pages.nil? || pages.empty?
|
46
|
+
|
47
|
+
pages.each do |page|
|
48
|
+
page.load
|
49
|
+
page.headers = find_headers(page)
|
50
|
+
page.sidebar_container = find_sidebar_container(page)
|
51
|
+
page.freeze
|
32
52
|
|
33
|
-
|
53
|
+
parse_html(page.children)
|
54
|
+
end
|
55
|
+
|
56
|
+
pages
|
57
|
+
end
|
58
|
+
|
59
|
+
def find_headers(page)
|
34
60
|
headers = []
|
35
61
|
|
36
|
-
doc.xpath('//h2').each do |header|
|
62
|
+
page.doc.xpath('//h2').each do |header|
|
37
63
|
next unless header['id']
|
38
64
|
|
39
65
|
child_markup = header.last_element_child
|
@@ -48,15 +74,22 @@ module SwedbankPay
|
|
48
74
|
headers
|
49
75
|
end
|
50
76
|
|
51
|
-
def find_sidebar_container(
|
52
|
-
sidebar_containers = doc.xpath('//*[@id="dx-sidebar-main-nav-ul"]')
|
77
|
+
def find_sidebar_container(page)
|
78
|
+
sidebar_containers = page.doc.xpath('//*[@id="dx-sidebar-main-nav-ul"]')
|
53
79
|
|
54
|
-
|
55
|
-
Jekyll.logger.
|
80
|
+
if sidebar_containers.empty?
|
81
|
+
Jekyll.logger.error(" Sidebar: No sidebar container found in <#{page.filename}>!")
|
56
82
|
return nil
|
57
83
|
end
|
58
84
|
|
59
85
|
sidebar_containers.first
|
60
86
|
end
|
87
|
+
|
88
|
+
def skippable?(jekyll_page)
|
89
|
+
return true if jekyll_page.is_a? JekyllRedirectFrom::RedirectPage
|
90
|
+
return true if jekyll_page.is_a? JekyllRedirectFrom::PageWithoutAFile
|
91
|
+
|
92
|
+
false
|
93
|
+
end
|
61
94
|
end
|
62
95
|
end
|