swedbank-pay-design-guide-jekyll-theme 1.5.2.pre.conversion.pre.to.pre.gem.pre.theme012 → 1.6.1.pre.PullRequest0137.pre.0064

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: 3173e54178a485337c05fe85645be511ab115f13adfca9dda3d46c5669bfd537
4
- data.tar.gz: dd302ebcf2a3c05c70d2e0fba4b7df51c368714c3ffda26ec20213af95e159b7
3
+ metadata.gz: 42888091ccc955f38fa0242da4b03d4175f99e449b4aa238b48e97f6fead244c
4
+ data.tar.gz: 1c55a8d051cbcff4d2d7aff5998713d4146a865b7e520e31ae3f94234ff83ad7
5
5
  SHA512:
6
- metadata.gz: 9feed2f9b376732ea67d53a3ef1b87718433d3a54778626d270045fb3a7b2690e185caceb516b54eb68a4151647ebc430966d104ba2d097a991dfe5e36e233b1
7
- data.tar.gz: f50b502dab46a6f21c93bf647d2a7f676e73224142b88fb79674eb580cb686944c6b29593763a92336d7dad3a98890a098d0266ab163684a058df4a7ac97291b
6
+ metadata.gz: ffcd2a6b3d6e0ae90b56cd7945eca08a1ab61cabb93fe7fb35e42d4e48eb9d72e46d1e104c356c071c850a0a4a7aede9fb84150319a116992b9123aa261cb25a
7
+ data.tar.gz: a04785e165d25dfccb851beb20397abd6aa7fed6855587b1a1c0769d95a84cb6d23c4bc079322dc52ea76c0d2549179d8c728e7baf08631c0130d1614978c13f
@@ -1,9 +1,8 @@
1
-
2
1
  {%- comment -%}
3
2
  **Parameters
4
3
  card_col_class: Grid column class the cards should be wrapped in
5
4
  num_dates: Amount of rows (based on dates in release_notes) should be displayed
6
- in release-notes
5
+ in release-notes
7
6
  {%- endcomment -%}
8
7
 
9
8
  {% assign card_col_class = include.card_col_class | default: "col-xxl-3 col-xl-6 col-lg-6" %}
@@ -15,7 +14,7 @@ num_dates: Amount of rows (based on dates in release_notes) should be displayed
15
14
  <div class="front-page-hero">
16
15
  <h3>Welcome to the Swedbank Pay</h3>
17
16
  <div class="front-page-hero-name">
18
- {<span>developer portal</span>}
17
+ {<span>developer portal</span>}
19
18
  </div>
20
19
  <p>
21
20
  Our developer portal gives you the full tool box for integrating
@@ -24,7 +23,7 @@ num_dates: Amount of rows (based on dates in release_notes) should be displayed
24
23
  </p>
25
24
  </div>
26
25
  <div class="front-page-intro-cards">
27
- <h2 id="front-page-start" class="heading-line heading-line-white" >Start your integration</h2>
26
+ <h2 id="front-page-start" class="heading-line heading-line-white">Start your integration</h2>
28
27
  <div class="row mt-4">
29
28
  <div class="{{ card_col_class }}">
30
29
  {% include card.html title='Checkout'
@@ -47,19 +46,10 @@ num_dates: Amount of rows (based on dates in release_notes) should be displayed
47
46
  to='/payments'
48
47
  %}
49
48
  </div>
50
- <div class="{{ card_col_class }}">
51
- {% include card.html title='Gift Cards'
52
- title_type="h2"
53
- text='Our Gift Cards API allows your customers to pay with
54
- prepaid gift cards issued by Swedbank Pay in your Checkout.'
55
- icon_content='card_giftcard'
56
- to='/gift-cards'
57
- %}
58
- </div>
59
49
  </div>
60
50
  </div>
61
51
  </div>
62
-
52
+
63
53
  <div class="front-page-merchants">
64
54
  <h6>Trusted by</h6>
65
55
  <div class="merchants-container justify-content-xxl-between">
@@ -87,35 +77,29 @@ num_dates: Amount of rows (based on dates in release_notes) should be displayed
87
77
  </div>
88
78
  </div>
89
79
  </div>
90
-
91
- <a href="https://ecom.externalintegration.payex.com/pspdemoshop" class="front-page-demoshop">
92
- <span class="front-page-demoshop-text">
93
- <span class="h2">Try our Demoshop<span>.</span></span>
94
- <span class="demoshop-text-description">
95
- Unsure about how it all works? See how our checkout and payment methods are used
96
- in practice!
97
- </span>
80
+
81
+ <a href="https://ecom.externalintegration.payex.com/pspdemoshop" class="front-page-demoshop">
82
+ <span class="front-page-demoshop-text">
83
+ <span class="h2">Try our Demoshop<span>.</span></span>
84
+ <span class="demoshop-text-description">
85
+ Unsure about how it all works? See how our checkout and payment methods are used
86
+ in practice!
98
87
  </span>
99
- <span class="front-page-demoshop-link">
100
- <span class="h3">Go to the demoshop</span>
101
- <i class="material-icons">arrow_forward</i>
102
- <span class="demoshop-link-img">
103
- <img class="demoshop-link-img-mobile d-md-none d-lg-flex d-xl-none d-xxl-flex"
104
- src="/assets/img/demoshop-mobile.svg"
105
- alt="demoshop-mobile"
106
- />
107
- <img class="demoshop-link-img-mobile d-none d-md-none d-lg-flex d-xl-none"
108
- src="/assets/img/demoshop-mobile2.svg"
109
- alt="demoshop-mobile2"
110
- />
111
- <img class="demoshop-link-img-web d-none d-sm-none d-md-flex d-lg-none d-xl-flex"
112
- src="/assets/img/demoshop-web.svg"
113
- alt="demoshop-web"
114
- />
115
- </span>
88
+ </span>
89
+ <span class="front-page-demoshop-link">
90
+ <span class="h3">Go to the demoshop</span>
91
+ <i class="material-icons">arrow_forward</i>
92
+ <span class="demoshop-link-img">
93
+ <img class="demoshop-link-img-mobile d-md-none d-lg-flex d-xl-none d-xxl-flex"
94
+ src="/assets/img/demoshop-mobile.svg" alt="demoshop-mobile" />
95
+ <img class="demoshop-link-img-mobile d-none d-md-none d-lg-flex d-xl-none"
96
+ src="/assets/img/demoshop-mobile2.svg" alt="demoshop-mobile2" />
97
+ <img class="demoshop-link-img-web d-none d-sm-none d-md-flex d-lg-none d-xl-flex"
98
+ src="/assets/img/demoshop-web.svg" alt="demoshop-web" />
116
99
  </span>
117
- </a>
118
-
100
+ </span>
101
+ </a>
102
+
119
103
  <div class="front-page-container">
120
104
  <div class="front-page-cards-sdk">
121
105
  <h2 id="front-page-sdk" class="heading-line heading-line-sdk">Looking for SDKs?</h2>
@@ -158,7 +142,7 @@ num_dates: Amount of rows (based on dates in release_notes) should be displayed
158
142
  </div>
159
143
  </div>
160
144
  </div>
161
-
145
+
162
146
  <div class="front-page-cards-module">
163
147
  <h2 id="front-page-module" class="heading-line heading-line-module">Or perhaps modules?</h2>
164
148
  <div class="row mt-4">
@@ -191,13 +175,14 @@ num_dates: Amount of rows (based on dates in release_notes) should be displayed
191
175
  </div>
192
176
  </div>
193
177
  </div>
194
-
178
+
195
179
  <div class="front-page-release-notes">
196
- <h2 id="front-page-release-notes" class="heading-line heading-line-green">What's new in the documentation</h2>
180
+ <h2 id="front-page-release-notes" class="heading-line heading-line-green">What's new in the documentation
181
+ </h2>
197
182
  {% include release_notes.html num_dates=num_dates %}
198
183
  <a href="/resources/release-notes">See full release notes</a>
199
184
  </div>
200
-
185
+
201
186
  <div class="front-page-cards-extra">
202
187
  <h2 id="front-page-extra-resources" class="heading-line">Extra resources</h2>
203
188
  <div class="row mt-4">
@@ -232,12 +217,13 @@ num_dates: Amount of rows (based on dates in release_notes) should be displayed
232
217
  </div>
233
218
  </div>
234
219
  </div>
235
-
220
+
236
221
  <div class="front-page-contact">
237
222
  <div class="front-page-contact-content">
238
223
  <div class="row">
239
224
  <div class="col-xl-7">
240
- <h2 id="front-page-contact" class="heading-line heading-line-long">Can't find what you are looking for?</h2>
225
+ <h2 id="front-page-contact" class="heading-line heading-line-long">Can't find what you are
226
+ looking for?</h2>
241
227
  <p>
242
228
  We are always trying to make the developer portal as
243
229
  good as it can be please don’t hesitate to contact us.
@@ -249,7 +235,6 @@ num_dates: Amount of rows (based on dates in release_notes) should be displayed
249
235
  </div>
250
236
  </div>
251
237
  </div>
252
-
253
- </div>
254
- </div>
255
238
 
239
+ </div>
240
+ </div>
@@ -130,4 +130,4 @@
130
130
  {%- endif %}
131
131
  </body>
132
132
 
133
- </html>
133
+ </html>
@@ -1,211 +1,2 @@
1
1
  # frozen_string_literal: false
2
-
3
- require 'jekyll'
4
- require 'nokogiri'
5
- require 'json'
6
-
7
- module Jekyll
8
- class Sidebar
9
- attr_accessor :hash_pre_render
10
- attr_accessor :filename_with_headers
11
-
12
- def initialize
13
- @hash_pre_render = {}
14
- @filename_with_headers = {}
15
- end
16
-
17
- def pre_render(page)
18
- menu_order = page['menu-order'].nil? ? 0 : page['menu-order']
19
- hide_from_sidebar = page['hide_from_sidebar'].nil? ? false : page['hide_from_sidebar']
20
- url = page['url'].gsub('index.html', '').gsub('.html', '')
21
- @hash_pre_render[url] = {
22
- title: page['title'],
23
- url: page['url'].gsub('.html', ''),
24
- name: page['name'],
25
- menu_order: menu_order,
26
- hide_from_sidebar: hide_from_sidebar
27
- }
28
- end
29
-
30
- def post_write(site)
31
- files = []
32
- Dir.glob("#{site.config['destination']}/**/*.html") do |filename|
33
- doc = File.open(filename) { |f| Nokogiri::HTML(f) }
34
- files.push(doc)
35
-
36
- headers = []
37
- doc.xpath('//h2 ').each do |header|
38
- next unless header['id']
39
-
40
- child = header.last_element_child
41
- header = {
42
- id: header['id'],
43
- title: header.content.strip,
44
- hash: (child['href']).to_s
45
- }
46
- headers.push(header)
47
- end
48
- sanitized_filename = sanitize_filename(filename)
49
- @filename_with_headers[sanitized_filename] = { headers: headers }
50
- end
51
-
52
- Dir.glob("#{site.config['destination']}/**/*.html") do |filename|
53
- sanitized_filename = sanitize_filename(filename)
54
- sidebar = render(sanitized_filename)
55
- file = File.open(filename) { |f| Nokogiri::HTML(f) }
56
- file.xpath('//*[@id="dx-sidebar-main-nav-ul"]').each do |location|
57
- location.inner_html = sidebar
58
- end
59
- File.open(filename, 'w') { |f| f.write(file.to_html(encoding: 'UTF-8')) }
60
- end
61
-
62
- # File.open('_site/sidebar.html', 'w') { |f| f.write(sidebar) }
63
- end
64
-
65
- private
66
-
67
- def sanitize_filename(filename)
68
- sanitized_filename = filename.match(/(?m)(?<=\b_site).*$/)[0]
69
- sanitized_filename = sanitized_filename.gsub('index.html', '')
70
- sanitized_filename.gsub('.html', '')
71
- end
72
-
73
- def generateSubgroup(filename, key, value, all_subgroups, level)
74
- title = value[:title].split('–').last
75
- subsubgroup_list = all_subgroups.select do |subsubgroup_key, _subsubgroup_value|
76
- subsubgroup_key.include? key and subsubgroup_key != key and \
77
- key.split('/').length > level
78
- end
79
-
80
- subgroup = ''
81
- has_subgroups = !all_subgroups.empty?
82
- if value[:headers].any? || !subsubgroup_list.empty?
83
- if has_subgroups
84
- url = value[:url]
85
- active = active?(filename, url, true)
86
- # puts "#{url}, #{filename}, #{key}" if active
87
- item_class = active || (url.split('/').length > level && filename.start_with?(url)) ? 'nav-subgroup active' : 'nav-subgroup'
88
- subgroup << "<li class=\"#{item_class}\">"
89
- subgroup << "<div class=\"nav-subgroup-heading\"><i class=\"material-icons\">arrow_right</i><a href=\"#{url}\">#{title}</a></div>"
90
- subgroup << '<ul class="nav-ul">'
91
-
92
- if subsubgroup_list.empty?
93
- value[:headers].each do |header|
94
- subgroup << "<li class=\"nav-leaf\"><a href=\"#{value[:url]}#{header[:hash]}\">#{header[:title]}</a></li>"
95
- end
96
- else
97
- subgroup_leaf_class = active ? 'nav-leaf nav-subgroup-leaf active' : 'nav-leaf nav-subgroup-leaf'
98
- subgroup << "<li class=\"#{subgroup_leaf_class}\"><a href=\"#{value[:url]}\">#{title} overview</a></li>"
99
-
100
- subsubgroup_list.each do |subsubgroup_key, subsubgroup_value|
101
- subgroup << generateSubgroup(filename, subsubgroup_key, subsubgroup_value, subsubgroup_list, 3)
102
- end
103
- end
104
-
105
- subgroup << '</ul>'
106
- subgroup << '</li>'
107
- else
108
- value[:headers].each do |header|
109
- subgroup << "<li class=\"nav-leaf\"><a href=\"#{value[:url]}#{header[:hash]}\">#{header[:title]}</a></li>"
110
- end
111
- end
112
- else
113
- subgroup << if has_subgroups
114
- "<li class=\"nav-leaf nav-subgroup-leaf\"><a href=\"#{value[:url]}\">#{title}</a></li>"
115
- else
116
- "<li class=\"nav-leaf\"><a href=\"#{value[:url]}\">#{title}</a></li>"
117
- end
118
- end
119
-
120
- subgroup
121
- end
122
-
123
- def render(filename)
124
- sidebar = ''
125
-
126
- merged = merge(@hash_pre_render, @filename_with_headers).sort_by { |_key, value| value[:menu_order] }
127
- merged.select { |key, _value| key.split('/').length <= 2 }.each do |key, value|
128
- next if value[:title].nil?
129
- next if value[:hide_from_sidebar]
130
-
131
- subgroups = merged.select { |subgroup_key, _subgroup_value| subgroup_key.include? key and subgroup_key != key and key != '/' }
132
-
133
- active = active?(filename, key)
134
- # puts "#{filename}, #{key}" if active
135
- item_class = active ? 'nav-group active' : 'nav-group'
136
-
137
- child = "<li class=\"#{item_class}\">"
138
- child << "<div class=\"nav-group-heading\"><i class=\"material-icons\">arrow_right</i><span>#{value[:title].split('–').first}</span></div>"
139
-
140
- child << '<ul class="nav-ul">'
141
-
142
- subgroup = generateSubgroup(filename, key, value, subgroups, 2)
143
-
144
- child << subgroup
145
-
146
- if subgroups.any?
147
- subgroups.select { |subgroup_key, _subgroup_value| subgroup_key.split('/').length <= 3 }.each do |subgroup_key, subgroup_value|
148
- subgroup = generateSubgroup(filename, subgroup_key, subgroup_value, subgroups, 2)
149
- child << subgroup
150
- end
151
- end
152
-
153
- child << '</ul>'
154
- child << '</li>'
155
- sidebar << child
156
- end
157
-
158
- File.open('_site/sidebar.html', 'w') { |f| f.write(sidebar) }
159
- sidebar
160
- end
161
-
162
- def active?(filename, url, exact = false)
163
- if filename == '/' || url == '/'
164
- if filename == '/' && url == '/'
165
- return true
166
- else
167
- return false
168
- end
169
- end
170
-
171
- exact ? filename == url : filename.start_with?(url)
172
- end
173
-
174
- def merge(hash1, hash2)
175
- all_keys = hash1.keys | hash2.keys
176
- result_hash = {}
177
-
178
- all_keys.each do |key|
179
- hash_value = {}
180
-
181
- if hash1.key? key
182
- value = hash1[key]
183
-
184
- hash_value = value unless value.nil?
185
- end
186
-
187
- if hash2.key? key
188
- value = hash2[key]
189
-
190
- hash_value = hash_value.merge(value) unless value.nil?
191
- end
192
-
193
- result_hash[key] = hash_value
194
- end
195
-
196
- result_hash
197
- end
198
- end
199
- end
200
-
201
- sidebar = Jekyll::Sidebar.new
202
-
203
- Jekyll::Hooks.register :site, :pre_render do |site, _payload|
204
- site.pages.each do |page|
205
- sidebar.pre_render page
206
- end
207
- end
208
-
209
- Jekyll::Hooks.register :site, :post_write do |site|
210
- sidebar.post_write site
211
- end
2
+ require_relative '../lib/sidebar.rb'
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gem
4
+ # Gem Specification
5
+ class Specification
6
+ def self.gem_version
7
+ '1.6.1-PullRequest0137-0064'
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,211 @@
1
+ # frozen_string_literal: false
2
+
3
+ require 'jekyll'
4
+ require 'nokogiri'
5
+ require 'json'
6
+
7
+ module Jekyll
8
+ class Sidebar
9
+ attr_accessor :hash_pre_render
10
+ attr_accessor :filename_with_headers
11
+
12
+ def initialize
13
+ @hash_pre_render = {}
14
+ @filename_with_headers = {}
15
+ end
16
+
17
+ def pre_render(page)
18
+ menu_order = page['menu-order'].nil? ? 0 : page['menu-order']
19
+ hide_from_sidebar = page['hide_from_sidebar'].nil? ? false : page['hide_from_sidebar']
20
+ url = page['url'].gsub('index.html', '').gsub('.html', '')
21
+ @hash_pre_render[url] = {
22
+ title: page['title'],
23
+ url: page['url'].gsub('.html', ''),
24
+ name: page['name'],
25
+ menu_order: menu_order,
26
+ hide_from_sidebar: hide_from_sidebar
27
+ }
28
+ end
29
+
30
+ def post_write(site)
31
+ files = []
32
+ Dir.glob("#{site.config['destination']}/**/*.html") do |filename|
33
+ doc = File.open(filename) { |f| Nokogiri::HTML(f) }
34
+ files.push(doc)
35
+
36
+ headers = []
37
+ doc.xpath('//h2 ').each do |header|
38
+ next unless header['id']
39
+
40
+ child = header.last_element_child
41
+ header = {
42
+ id: header['id'],
43
+ title: header.content.strip,
44
+ hash: (child['href']).to_s
45
+ }
46
+ headers.push(header)
47
+ end
48
+ sanitized_filename = sanitize_filename(filename)
49
+ @filename_with_headers[sanitized_filename] = { headers: headers }
50
+ end
51
+
52
+ Dir.glob("#{site.config['destination']}/**/*.html") do |filename|
53
+ sanitized_filename = sanitize_filename(filename)
54
+ sidebar = render(sanitized_filename)
55
+ file = File.open(filename) { |f| Nokogiri::HTML(f) }
56
+ file.xpath('//*[@id="dx-sidebar-main-nav-ul"]').each do |location|
57
+ location.inner_html = sidebar
58
+ end
59
+ File.open(filename, 'w') { |f| f.write(file.to_html(encoding: 'UTF-8')) }
60
+ end
61
+
62
+ # File.open('_site/sidebar.html', 'w') { |f| f.write(sidebar) }
63
+ end
64
+
65
+ private
66
+
67
+ def sanitize_filename(filename)
68
+ sanitized_filename = filename.match(/(?m)(?<=\b_site).*$/)[0]
69
+ sanitized_filename = sanitized_filename.gsub('index.html', '')
70
+ sanitized_filename.gsub('.html', '')
71
+ end
72
+
73
+ def generateSubgroup(filename, key, value, all_subgroups, level)
74
+ title = value[:title].split('–').last
75
+ subsubgroup_list = all_subgroups.select do |subsubgroup_key, _subsubgroup_value|
76
+ subsubgroup_key.include? key and subsubgroup_key != key and \
77
+ key.split('/').length > level
78
+ end
79
+
80
+ subgroup = ''
81
+ has_subgroups = !all_subgroups.empty?
82
+ if value[:headers].any? || !subsubgroup_list.empty?
83
+ if has_subgroups
84
+ url = value[:url]
85
+ active = active?(filename, url, true)
86
+ # puts "#{url}, #{filename}, #{key}" if active
87
+ item_class = active || (url.split('/').length > level && filename.start_with?(url)) ? 'nav-subgroup active' : 'nav-subgroup'
88
+ subgroup << "<li class=\"#{item_class}\">"
89
+ subgroup << "<div class=\"nav-subgroup-heading\"><i class=\"material-icons\">arrow_right</i><a href=\"#{url}\">#{title}</a></div>"
90
+ subgroup << '<ul class="nav-ul">'
91
+
92
+ if subsubgroup_list.empty?
93
+ value[:headers].each do |header|
94
+ subgroup << "<li class=\"nav-leaf\"><a href=\"#{value[:url]}#{header[:hash]}\">#{header[:title]}</a></li>"
95
+ end
96
+ else
97
+ subgroup_leaf_class = active ? 'nav-leaf nav-subgroup-leaf active' : 'nav-leaf nav-subgroup-leaf'
98
+ subgroup << "<li class=\"#{subgroup_leaf_class}\"><a href=\"#{value[:url]}\">#{title} overview</a></li>"
99
+
100
+ subsubgroup_list.each do |subsubgroup_key, subsubgroup_value|
101
+ subgroup << generateSubgroup(filename, subsubgroup_key, subsubgroup_value, subsubgroup_list, 3)
102
+ end
103
+ end
104
+
105
+ subgroup << '</ul>'
106
+ subgroup << '</li>'
107
+ else
108
+ value[:headers].each do |header|
109
+ subgroup << "<li class=\"nav-leaf\"><a href=\"#{value[:url]}#{header[:hash]}\">#{header[:title]}</a></li>"
110
+ end
111
+ end
112
+ else
113
+ subgroup << if has_subgroups
114
+ "<li class=\"nav-leaf nav-subgroup-leaf\"><a href=\"#{value[:url]}\">#{title}</a></li>"
115
+ else
116
+ "<li class=\"nav-leaf\"><a href=\"#{value[:url]}\">#{title}</a></li>"
117
+ end
118
+ end
119
+
120
+ subgroup
121
+ end
122
+
123
+ def render(filename)
124
+ sidebar = ''
125
+
126
+ merged = merge(@hash_pre_render, @filename_with_headers).sort_by { |_key, value| value[:menu_order] }
127
+ merged.select { |key, _value| key.split('/').length <= 2 }.each do |key, value|
128
+ next if value[:title].nil?
129
+ next if value[:hide_from_sidebar]
130
+
131
+ subgroups = merged.select { |subgroup_key, _subgroup_value| subgroup_key.include? key and subgroup_key != key and key != '/' }
132
+
133
+ active = active?(filename, key)
134
+ # puts "#{filename}, #{key}" if active
135
+ item_class = active ? 'nav-group active' : 'nav-group'
136
+
137
+ child = "<li class=\"#{item_class}\">"
138
+ child << "<div class=\"nav-group-heading\"><i class=\"material-icons\">arrow_right</i><span>#{value[:title].split('–').first}</span></div>"
139
+
140
+ child << '<ul class="nav-ul">'
141
+
142
+ subgroup = generateSubgroup(filename, key, value, subgroups, 2)
143
+
144
+ child << subgroup
145
+
146
+ if subgroups.any?
147
+ subgroups.select { |subgroup_key, _subgroup_value| subgroup_key.split('/').length <= 3 }.each do |subgroup_key, subgroup_value|
148
+ subgroup = generateSubgroup(filename, subgroup_key, subgroup_value, subgroups, 2)
149
+ child << subgroup
150
+ end
151
+ end
152
+
153
+ child << '</ul>'
154
+ child << '</li>'
155
+ sidebar << child
156
+ end
157
+
158
+ File.open('_site/sidebar.html', 'w') { |f| f.write(sidebar) }
159
+ sidebar
160
+ end
161
+
162
+ def active?(filename, url, exact = false)
163
+ if filename == '/' || url == '/'
164
+ if filename == '/' && url == '/'
165
+ return true
166
+ else
167
+ return false
168
+ end
169
+ end
170
+
171
+ exact ? filename == url : filename.start_with?(url)
172
+ end
173
+
174
+ def merge(hash1, hash2)
175
+ all_keys = hash1.keys | hash2.keys
176
+ result_hash = {}
177
+
178
+ all_keys.each do |key|
179
+ hash_value = {}
180
+
181
+ if hash1.key? key
182
+ value = hash1[key]
183
+
184
+ hash_value = value unless value.nil?
185
+ end
186
+
187
+ if hash2.key? key
188
+ value = hash2[key]
189
+
190
+ hash_value = hash_value.merge(value) unless value.nil?
191
+ end
192
+
193
+ result_hash[key] = hash_value
194
+ end
195
+
196
+ result_hash
197
+ end
198
+ end
199
+ end
200
+
201
+ sidebar = Jekyll::Sidebar.new
202
+
203
+ Jekyll::Hooks.register :site, :pre_render do |site, _payload|
204
+ site.pages.each do |page|
205
+ sidebar.pre_render page
206
+ end
207
+ end
208
+
209
+ Jekyll::Hooks.register :site, :post_write do |site|
210
+ sidebar.post_write site
211
+ end
@@ -1,4 +1,3 @@
1
- require_relative "../_plugins/sidebar.rb"
1
+ # frozen_string_literal: true
2
2
 
3
- module SwedbankPayDesignGuideJekyllTheme
4
- end
3
+ require_relative 'sidebar'
metadata CHANGED
@@ -1,37 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swedbank-pay-design-guide-jekyll-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2.pre.conversion.pre.to.pre.gem.pre.theme012
4
+ version: 1.6.1.pre.PullRequest0137.pre.0064
5
5
  platform: ruby
6
6
  authors:
7
- - Asbjørn Ulsberg
7
+ - Swedbank Pay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-15 00:00:00.000000000 Z
11
+ date: 2020-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: jekyll
14
+ name: faraday
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.7'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '5.0'
19
+ version: 1.0.1
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: '3.7'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '5.0'
26
+ version: 1.0.1
33
27
  - !ruby/object:Gem::Dependency
34
- name: jekyll-assets
28
+ name: html-proofer
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
31
  - - ">="
@@ -45,21 +39,27 @@ dependencies:
45
39
  - !ruby/object:Gem::Version
46
40
  version: '0'
47
41
  - !ruby/object:Gem::Dependency
48
- name: jekyll-github-metadata
42
+ name: jekyll
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
45
  - - ">="
52
46
  - !ruby/object:Gem::Version
53
- version: '0'
47
+ version: '3.7'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '5.0'
54
51
  type: :runtime
55
52
  prerelease: false
56
53
  version_requirements: !ruby/object:Gem::Requirement
57
54
  requirements:
58
55
  - - ">="
59
56
  - !ruby/object:Gem::Version
60
- version: '0'
57
+ version: '3.7'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '5.0'
61
61
  - !ruby/object:Gem::Dependency
62
- name: jekyll-material-icon-tag
62
+ name: jekyll-github-metadata
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - ">="
@@ -73,7 +73,7 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0'
75
75
  - !ruby/object:Gem::Dependency
76
- name: jemoji
76
+ name: jekyll-material-icon-tag
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - ">="
@@ -87,7 +87,7 @@ dependencies:
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  - !ruby/object:Gem::Dependency
90
- name: sass
90
+ name: jemoji
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - ">="
@@ -101,21 +101,7 @@ dependencies:
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0'
103
103
  - !ruby/object:Gem::Dependency
104
- name: faraday
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: 1.0.1
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: 1.0.1
117
- - !ruby/object:Gem::Dependency
118
- name: html-proofer
104
+ name: kramdown-plantuml
119
105
  requirement: !ruby/object:Gem::Requirement
120
106
  requirements:
121
107
  - - ">="
@@ -129,19 +115,19 @@ dependencies:
129
115
  - !ruby/object:Gem::Version
130
116
  version: '0'
131
117
  - !ruby/object:Gem::Dependency
132
- name: kramdown-plantuml
118
+ name: nokogiri
133
119
  requirement: !ruby/object:Gem::Requirement
134
120
  requirements:
135
- - - ">="
121
+ - - "~>"
136
122
  - !ruby/object:Gem::Version
137
- version: '0'
123
+ version: '1.10'
138
124
  type: :runtime
139
125
  prerelease: false
140
126
  version_requirements: !ruby/object:Gem::Requirement
141
127
  requirements:
142
- - - ">="
128
+ - - "~>"
143
129
  - !ruby/object:Gem::Version
144
- version: '0'
130
+ version: '1.10'
145
131
  - !ruby/object:Gem::Dependency
146
132
  name: rake
147
133
  requirement: !ruby/object:Gem::Requirement
@@ -157,19 +143,19 @@ dependencies:
157
143
  - !ruby/object:Gem::Version
158
144
  version: '13.0'
159
145
  - !ruby/object:Gem::Dependency
160
- name: nokogiri
146
+ name: sass
161
147
  requirement: !ruby/object:Gem::Requirement
162
148
  requirements:
163
- - - "~>"
149
+ - - ">="
164
150
  - !ruby/object:Gem::Version
165
- version: '1.10'
151
+ version: '0'
166
152
  type: :runtime
167
153
  prerelease: false
168
154
  version_requirements: !ruby/object:Gem::Requirement
169
155
  requirements:
170
- - - "~>"
156
+ - - ">="
171
157
  - !ruby/object:Gem::Version
172
- version: '1.10'
158
+ version: '0'
173
159
  - !ruby/object:Gem::Dependency
174
160
  name: bundler
175
161
  requirement: !ruby/object:Gem::Requirement
@@ -186,7 +172,7 @@ dependencies:
186
172
  version: '0'
187
173
  description:
188
174
  email:
189
- - asbjorn@ulsberg.no
175
+ - opensource@swedbankpay.com
190
176
  executables: []
191
177
  extensions: []
192
178
  extra_rdoc_files: []
@@ -253,6 +239,8 @@ files:
253
239
  - assets/tipuesearch/tipuesearch.min.js
254
240
  - assets/tipuesearch/tipuesearch_content.js
255
241
  - assets/tipuesearch/tipuesearch_set.js
242
+ - lib/gem_version.rb
243
+ - lib/sidebar.rb
256
244
  - lib/swedbank-pay-design-guide-jekyll-theme.rb
257
245
  homepage: https://github.com/SwedbankPay/swedbank-pay-design-guide-jekyll-theme
258
246
  licenses: