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

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: ceefdf4d5b672fca7545e8deb75320797480fc6fbc294ee96347f0d62c21151a
4
- data.tar.gz: 0d35573c0e1260b9147960c8ad7bd06e13e64e0c1b74674413fc23b5c6eae8d6
3
+ metadata.gz: 5654a68beed4ad710113092cec8394be7e2c65fc15f0bfbc5af24ce2b236470e
4
+ data.tar.gz: a87c3f11413e9d05b39c05e2cd95c347a5a73cc151fd810d530c7c0020fa66d7
5
5
  SHA512:
6
- metadata.gz: f5b0b266b09dff6038540e0fae8db93867d24680083b92926a928f06949070f2e5892890b292a6aaacc4e16f86e01eec60658ca707d1baa74a8897460a6db4cf
7
- data.tar.gz: ba23ed6a8b4232107b32714bb0c472b7d4776a1f1da7de64279bd023a70990e6397e028cec3410a7b8043c71e69b8d46f9b1bc0e080db472cedc8054bbca4601
6
+ metadata.gz: 6ada7c3d822ff780bf3d7a6ef5fad6dfce6a1798dd1e6e61712f3b0735a9b5192f63eb25e566124342d8a995d2225a29a09b425324da39d953113981f6058791
7
+ data.tar.gz: f68fc6ddf37e60581f13401db8a26c731a6d0e92a76d9f85da623bedd3b805353e2eea233b938f42621e8c2dd4b2d07da743e3a44e3b84ff8c7132bb0d165711
@@ -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-0063'
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
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.theme011
4
+ version: 1.6.1.pre.PullRequest0137.pre.0063
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-08-21 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,35 +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'
54
- type: :runtime
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
- - !ruby/object:Gem::Dependency
62
- name: jekyll-material-icon-tag
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
47
+ version: '3.7'
48
+ - - "<"
66
49
  - !ruby/object:Gem::Version
67
- version: '0'
50
+ version: '5.0'
68
51
  type: :runtime
69
52
  prerelease: false
70
53
  version_requirements: !ruby/object:Gem::Requirement
71
54
  requirements:
72
55
  - - ">="
73
56
  - !ruby/object:Gem::Version
74
- version: '0'
57
+ version: '3.7'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '5.0'
75
61
  - !ruby/object:Gem::Dependency
76
- name: jekyll_asset_pipeline
62
+ name: jekyll-github-metadata
77
63
  requirement: !ruby/object:Gem::Requirement
78
64
  requirements:
79
65
  - - ">="
@@ -87,7 +73,7 @@ dependencies:
87
73
  - !ruby/object:Gem::Version
88
74
  version: '0'
89
75
  - !ruby/object:Gem::Dependency
90
- name: jemoji
76
+ name: jekyll-material-icon-tag
91
77
  requirement: !ruby/object:Gem::Requirement
92
78
  requirements:
93
79
  - - ">="
@@ -101,7 +87,7 @@ dependencies:
101
87
  - !ruby/object:Gem::Version
102
88
  version: '0'
103
89
  - !ruby/object:Gem::Dependency
104
- name: sass
90
+ name: jemoji
105
91
  requirement: !ruby/object:Gem::Requirement
106
92
  requirements:
107
93
  - - ">="
@@ -115,21 +101,7 @@ dependencies:
115
101
  - !ruby/object:Gem::Version
116
102
  version: '0'
117
103
  - !ruby/object:Gem::Dependency
118
- name: faraday
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: 1.0.1
124
- type: :runtime
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- version: 1.0.1
131
- - !ruby/object:Gem::Dependency
132
- name: html-proofer
104
+ name: kramdown-plantuml
133
105
  requirement: !ruby/object:Gem::Requirement
134
106
  requirements:
135
107
  - - ">="
@@ -143,19 +115,19 @@ dependencies:
143
115
  - !ruby/object:Gem::Version
144
116
  version: '0'
145
117
  - !ruby/object:Gem::Dependency
146
- name: kramdown-plantuml
118
+ name: nokogiri
147
119
  requirement: !ruby/object:Gem::Requirement
148
120
  requirements:
149
- - - ">="
121
+ - - "~>"
150
122
  - !ruby/object:Gem::Version
151
- version: '0'
123
+ version: '1.10'
152
124
  type: :runtime
153
125
  prerelease: false
154
126
  version_requirements: !ruby/object:Gem::Requirement
155
127
  requirements:
156
- - - ">="
128
+ - - "~>"
157
129
  - !ruby/object:Gem::Version
158
- version: '0'
130
+ version: '1.10'
159
131
  - !ruby/object:Gem::Dependency
160
132
  name: rake
161
133
  requirement: !ruby/object:Gem::Requirement
@@ -171,19 +143,19 @@ dependencies:
171
143
  - !ruby/object:Gem::Version
172
144
  version: '13.0'
173
145
  - !ruby/object:Gem::Dependency
174
- name: nokogiri
146
+ name: sass
175
147
  requirement: !ruby/object:Gem::Requirement
176
148
  requirements:
177
- - - "~>"
149
+ - - ">="
178
150
  - !ruby/object:Gem::Version
179
- version: '1.10'
151
+ version: '0'
180
152
  type: :runtime
181
153
  prerelease: false
182
154
  version_requirements: !ruby/object:Gem::Requirement
183
155
  requirements:
184
- - - "~>"
156
+ - - ">="
185
157
  - !ruby/object:Gem::Version
186
- version: '1.10'
158
+ version: '0'
187
159
  - !ruby/object:Gem::Dependency
188
160
  name: bundler
189
161
  requirement: !ruby/object:Gem::Requirement
@@ -200,7 +172,7 @@ dependencies:
200
172
  version: '0'
201
173
  description:
202
174
  email:
203
- - asbjorn@ulsberg.no
175
+ - opensource@swedbankpay.com
204
176
  executables: []
205
177
  extensions: []
206
178
  extra_rdoc_files: []
@@ -242,7 +214,6 @@ files:
242
214
  - _includes/sidebar.html
243
215
  - _includes/toc.html
244
216
  - _layouts/default.html
245
- - _plugins/jekyll_asset_pipeline.rb
246
217
  - _plugins/sidebar.rb
247
218
  - _sass/card.scss
248
219
  - _sass/code-view.scss
@@ -268,6 +239,8 @@ files:
268
239
  - assets/tipuesearch/tipuesearch.min.js
269
240
  - assets/tipuesearch/tipuesearch_content.js
270
241
  - assets/tipuesearch/tipuesearch_set.js
242
+ - lib/gem_version.rb
243
+ - lib/sidebar.rb
271
244
  homepage: https://github.com/SwedbankPay/swedbank-pay-design-guide-jekyll-theme
272
245
  licenses:
273
246
  - Apache-2.0
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'jekyll_asset_pipeline'
4
-
5
- module JekyllAssetPipeline
6
- # Converts .scss files to CSS.
7
- class SassConverter < JekyllAssetPipeline::Converter
8
- require 'sass'
9
-
10
- def self.filetype
11
- '.scss'
12
- end
13
-
14
- def convert
15
- load_paths = [
16
- @dirname,
17
- File.join(__dir__, '_sass'),
18
- File.join(__dir__, '..', '_sass')
19
- ]
20
- Sass::Engine.new(@content, syntax: :scss, load_paths: load_paths).render
21
- end
22
- end
23
- end