jekyll-theme-open-project 1.1.22 → 1.1.23

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7b32212dcad5f501fa4f6ebf677abc5b1617f265
4
- data.tar.gz: d07256ea4108273acd9671565d008d585dc4e8fd
2
+ SHA256:
3
+ metadata.gz: 743ef6f6997140f43beb6d9735795c56fee28d897bcb80e081f10a5921625d36
4
+ data.tar.gz: bdd6142500f0b231311451a231c1cbd89a40d63288d1a20a603a20e38d2e975b
5
5
  SHA512:
6
- metadata.gz: 20b7a7c6054966854a1a65cd67fc5803dc1ef6c88eb135bcf499e296a82e5d93f423cbb5b009cccffb92f4c5df61e5893340567d15cfe7a9a2b3e31d8d5a9a58
7
- data.tar.gz: a833f8ef9b4fa07d493bbfac3e518da679b8a08198a7aa7be44a3358e51f4e9a6c68d08b232e591a0ca018d23c8d244e0af0f82afac5caf1a7c6dd96236ad676
6
+ metadata.gz: 733f3a2dcc8e506dc07d8c7830e91b57ba06417554edcd11e77158e9a59fca3a900ca91597bc4e55bced039f119feee23ab05a763b71ebafb0608f2da4a70ada
7
+ data.tar.gz: bfd487f407634ee6bddafe018256d1f0f61dd8a4b81d51c1809f87237637d82d4e7dfc536fb149532c86fff0813753cc49c31da9359022567daa5ecbdc2f87bd
data/README.md CHANGED
@@ -45,6 +45,10 @@ and it hasn’t been tested on newer versions.
45
45
 
46
46
  jekyll new my-open-site
47
47
 
48
+ If you use Git for site source version management,
49
+ see the “Extra .gitignore rules” section below
50
+ for additional lines you should add to your `.gitignore`.
51
+
48
52
  ### Installing theme
49
53
 
50
54
  Add this line to your Jekyll site's `Gemfile`,
@@ -63,6 +67,7 @@ Also in the `Gemfile`, add two important plugins to the `:jekyll_plugins` group.
63
67
  group :jekyll_plugins do
64
68
  gem "jekyll-seo-tag"
65
69
  gem "jekyll-data"
70
+ gem "jekyll-asciidoc"
66
71
  gem "jekyll-theme-open-project-helpers"
67
72
  # ...other plugins, if you use any
68
73
  end
@@ -105,6 +110,10 @@ These settings apply to both site types (hub and project).
105
110
  (and don’t forget to remove default theme requirement there):
106
111
 
107
112
  ```yaml
113
+ url: https://example.com/
114
+ # Site’s URL with protocol and without optional www. prefix.
115
+ # Used e.g. for marking external links in docs and blog posts.
116
+
108
117
  title: Site title
109
118
  description: Site description
110
119
  # The above two are used by jekyll-seo-tag for things such as
@@ -328,6 +337,11 @@ author: "Company or Individual Name Goes Here"
328
337
  parent_hub:
329
338
  git_repo_url: git@example.com:path/to-repo.git
330
339
  home_url: https://www.example.com/
340
+
341
+ algolia_search:
342
+ api_key: '<your Algolia API key>'
343
+ index_name: '<your Algolia index name>'
344
+ # Only add this if you want to use Algolia’s search on your project site.
331
345
  ```
332
346
 
333
347
  File layout is the same as described in the section
@@ -511,6 +525,7 @@ and then in `<theme root>/_includes/<include_name>`. Consequently,
511
525
  you put your include overrides directly in site root, **not** inside
512
526
  `_includes/` directory of your side.
513
527
 
528
+
514
529
  ## Theme layouts
515
530
 
516
531
  Normally you don’t need to specify layouts manually, except where
@@ -624,6 +639,21 @@ $hub-specs--hero-background: $hub-specs--primary-dark-color !default;
624
639
  ```
625
640
 
626
641
 
642
+ ## Extra .gitignore rules
643
+
644
+ Add these lines to your .gitignore to prevent
645
+ theme-generated files and directories from adding chaos to your Git staging.
646
+
647
+ ```
648
+ _software/*/.git
649
+ _software/*/docs
650
+ _software/_*_repo
651
+ _specs/*/.git
652
+ _specs/*/docs
653
+ parent-hub/*
654
+ ```
655
+
656
+
627
657
  ## Contributing
628
658
 
629
659
  Bug reports and pull requests are welcome on GitHub
data/_config.yml CHANGED
@@ -4,6 +4,12 @@ includes_dir: .
4
4
 
5
5
  permalink: /blog/:month-:day-:year/:title/
6
6
 
7
+ # algolia_search:
8
+ # api_key: ''
9
+ # index_name: ''
10
+ # Uncomment this if you want to use Algolia’s search.
11
+ # It’s free for open-source projects.
12
+
7
13
  exclude:
8
14
  - /**/.git/*
9
15
  - /_projects/**/_*_repo/*
@@ -29,7 +29,7 @@
29
29
  </header>
30
30
 
31
31
  <section class="external-links">
32
- {% include item-external-links.html item_type=include.item_type item_data=include.item_data %}
32
+ {% include item-external-links.html item_type=include.item_type item_data=item_data %}
33
33
  </section>
34
34
 
35
35
  {% elsif num_nav_sections > 0 %}
@@ -60,8 +60,8 @@
60
60
  {{ linked_page.title }}
61
61
  </span>
62
62
  {% else %}
63
- <li class="item disabled">
64
- <span>
63
+ <li class="item">
64
+ <span class="tbd">
65
65
  {{ item }}
66
66
  </span>
67
67
  {% endif %}
@@ -85,13 +85,20 @@
85
85
  <h1 class="text">{{ page.title }}</h1>
86
86
  </div>
87
87
 
88
+ {% if is_docs_landing == false %}
89
+ <nav>
90
+ <button class="docs-nav-toggle">Show table of contents</button>
91
+ <a href="{{ item_data.docs.git_repo_url }}/edit/master/docs/{{ page.path | split: "/" | last }}" class="docs-suggest-edits">Suggest edits to this page</a>
92
+ </nav>
93
+ {% endif %}
94
+
88
95
  <div>
89
96
  <h3 class="lead">{{ page.description }}</h3>
90
97
  </div>
91
98
 
92
99
  {% if is_docs_landing %}
93
100
  <div class="external-links">
94
- {% include item-external-links.html item_type=include.item_type item_data=include.item_data %}
101
+ {% include item-external-links.html item_type=include.item_type item_data=item_data %}
95
102
  </div>
96
103
  {% endif %}
97
104
  </header>
@@ -100,5 +107,14 @@
100
107
  {{ content }}
101
108
  </div>
102
109
 
110
+ {% if is_docs_landing == false %}
111
+ <footer>
112
+ <nav>
113
+ <button class="docs-nav-toggle">Show table of contents</button>
114
+ <a href="{{ item_data.docs.git_repo_url }}/edit/master/docs/{{ page.path | split: "/" | last }}" class="docs-suggest-edits">Suggest edits to this page</a>
115
+ </nav>
116
+ </footer>
117
+ {% endif %}
118
+
103
119
  </article>
104
120
  </section>
@@ -18,9 +18,6 @@
18
18
  Source Repository
19
19
  </span>
20
20
  {% endif %}
21
- <span class="ico-ext">
22
- <i class="fas fa-external-link-square-alt"></i>
23
- </span>
24
21
  </a> {% endif %}
25
22
  {% if item_data.docs_url %}
26
23
  <li class="item">
@@ -47,9 +44,6 @@
47
44
  Documentation
48
45
  </span>
49
46
  {% endif %}
50
- <span class="ico-ext">
51
- <i class="fas fa-external-link-square-alt"></i>
52
- </span>
53
47
  </a> {% endif %}
54
48
  </ul>
55
49
  {% else if include.item_type == 'specs' and item_data.rfc_id or item_data.ietf_datatracker_id or item_data.source_url %}
@@ -60,9 +54,6 @@
60
54
  <span class="lbl">
61
55
  IETF RFC {{ item_data.rfc_id }}
62
56
  </span>
63
- <span class="ico-ext">
64
- <i class="fas fa-external-link-square-alt"></i>
65
- </span>
66
57
  </a> {% endif %}
67
58
  {% if item_data.ietf_datatracker_id %}
68
59
  <li class="item">
@@ -70,9 +61,6 @@
70
61
  <span class="lbl">
71
62
  IETF document
72
63
  </span>
73
- <span class="ico-ext">
74
- <i class="fas fa-external-link-square-alt"></i>
75
- </span>
76
64
  </a> {% endif %}
77
65
  {% if item_data.source_url %}
78
66
  <li class="item">
@@ -92,9 +80,6 @@
92
80
  Source Markup
93
81
  </span>
94
82
  {% endif %}
95
- <span class="ico-ext">
96
- <i class="fas fa-external-link-square-alt"></i>
97
- </span>
98
83
  </a> {% endif %}
99
84
  </ul>
100
85
  {% endif %}
@@ -15,6 +15,13 @@
15
15
  {% endif %}
16
16
 
17
17
  {% else %}
18
+
19
+ {% if site.algolia_search %}
20
+ <div class="search-widget">
21
+ <input type="search" id="siteSearchInput" placeholder="Type to search…">
22
+ </div>
23
+ {% endif %}
24
+
18
25
  {% if site.num_all_software > 0 %}
19
26
  {% include nav-page-link.html url="/software/" title="Software ecosystem" active_for_nested=true %}
20
27
  {% endif %}
@@ -28,5 +35,7 @@
28
35
  {% include nav-page-link.html url="/blog/" title="Blog" active_for_nested=true %}
29
36
  {% endif %}
30
37
 
31
- {% include nav-page-link.html url=contact_link title="Contact" %}
38
+ {% if site.algolia_search %}
39
+ <a href="javascript: void 0;" class="search"><i class="fas fa-search"></i></a>
40
+ {% endif %}
32
41
  {% endif %}
@@ -11,6 +11,10 @@
11
11
  <link id="themeCSS" rel="stylesheet" href="{{ "assets/css/style.css" | relative_url }}">
12
12
  <script defer src="https://pro.fontawesome.com/releases/v5.1.0/js/all.js" integrity="sha384-E5SpgaZcbSJx0Iabb3Jr2AfTRiFnrdOw1mhO19DzzrT9L+wCpDyHUG2q07aQdO6E" crossorigin="anonymous"></script>
13
13
 
14
+ {% if site.is_hub == false and site.algolia_search %}
15
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css">
16
+ {% endif %}
17
+
14
18
  {% seo %}
15
19
  </head>
16
20
 
@@ -36,10 +40,6 @@
36
40
  <h1 class="site-logo"><a href="/">{% include logo.html %}</a></h1>
37
41
  </div>
38
42
 
39
- <nav>
40
- {% include nav-links.html %}
41
- </nav>
42
-
43
43
  {% include social-links.html %}
44
44
  </div>
45
45
  </header>
@@ -72,6 +72,25 @@
72
72
  </footer>
73
73
  </div>
74
74
 
75
+ {% if site.is_hub == false and site.algolia_search %}
76
+ <script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
77
+
78
+ {% comment %}
79
+ This would break a strict CSP, but Jekyll refuses to Liquid-process JS files
80
+ without also adding HTML wrapping. Eek.
81
+ {% endcomment %}
82
+ <script>
83
+ window.initAlgolia = function () {
84
+ docsearch({
85
+ apiKey: '{{ site.algolia_search.api_key }}',
86
+ indexName: '{{ site.algolia_search.index_name }}',
87
+ inputSelector: 'input[type=search]',
88
+ debug: false,
89
+ });
90
+ };
91
+ </script>
92
+ {% endif %}
93
+
75
94
  <script src="{{ "assets/js/headroom.min.js" | relative_url }}"></script>
76
95
  <script src="{{ "assets/js/opf.js" | relative_url }}"></script>
77
96
 
@@ -173,7 +173,8 @@ body > .underlay.footer {
173
173
  body > .underlay > header {
174
174
  padding-top: 26px;
175
175
  padding-bottom: 26px;
176
- z-index: 2;
176
+ z-index: 5;
177
+ // Higher than hero, otherwise Algolia search pop-up might have stuff over it
177
178
 
178
179
  align-items: flex-start;
179
180
  flex-flow: row nowrap;
@@ -216,10 +217,10 @@ body > .underlay > header {
216
217
 
217
218
  > nav,
218
219
  > .social-links {
219
- span, a {
220
+ a {
220
221
  &:link, &:visited, &:hover {
221
- color: white;
222
222
  font-size: 1.3em;
223
+ color: white;
223
224
  }
224
225
  }
225
226
  }
@@ -228,11 +229,21 @@ body > .underlay > header {
228
229
  flex: 1;
229
230
  display: flex;
230
231
  flex-flow: column nowrap;
231
- align-items: center;
232
- justify-content: center;
232
+ align-items: flex-start;
233
+ justify-content: flex-start;
234
+ align-self: stretch;
235
+
236
+ a.search {
237
+ display: none;
238
+ }
239
+ .search-widget {
240
+ margin-top: 2em;
241
+ margin-bottom: 1em;
242
+ }
233
243
 
234
244
  > * {
235
245
  margin: .25em;
246
+ margin-left: 2em;
236
247
  }
237
248
  > .active {
238
249
  font-weight: bold;
@@ -249,16 +260,46 @@ body > .underlay > header {
249
260
  }
250
261
  }
251
262
 
263
+ > .top-menu > .search-widget,
264
+ > .hamburger-menu > nav > .search-widget {
265
+ input[type=search] {
266
+ padding: 6px 10px 6px 10px;
267
+ border-radius: 1em;
268
+ font-size: inherit;
269
+ line-height: inherit;
270
+ border: 0;
271
+ background-color: white;
272
+ }
273
+ }
274
+
252
275
  > .top-menu {
253
276
  flex: 1;
254
277
 
255
- > * {
278
+ > :not(.search-widget) {
256
279
  display: inline-block;
257
280
  font-weight: 600;
258
281
  margin-right: 20px;
259
282
  padding: 6px 10px 6px 10px;
260
283
  white-space: nowrap;
261
284
  }
285
+ > .search-widget {
286
+ width: 0;
287
+ display: none;
288
+ position: relative;
289
+
290
+ > * {
291
+ flex: 1;
292
+ }
293
+ }
294
+ &.with-expanded-search {
295
+ > a {
296
+ display: none;
297
+ }
298
+ > .search-widget {
299
+ width: 90%;
300
+ display: inline-flex;
301
+ }
302
+ }
262
303
  }
263
304
 
264
305
  > .top-menu,
@@ -1,6 +1,4 @@
1
1
  @mixin tbd($color: red) {
2
- // TODO: Refactor disabled item doc navigation links with this mixin in mind
3
-
4
2
  position: relative;
5
3
  padding: 0 .3em;
6
4
  border: 1px dashed lighten($main-font-color, 70);
@@ -234,6 +232,46 @@
234
232
 
235
233
  > .docs-nav {
236
234
  padding-top: 50px;
235
+ background: transparent;
236
+
237
+ &.top-expandable {
238
+ border-bottom: 1px solid silver;
239
+ z-index: 4;
240
+
241
+ position: fixed;
242
+ left: 0;
243
+ right: 0;
244
+
245
+ padding-top: 0;
246
+ padding-left: 2em;
247
+ padding-right: 2em;
248
+
249
+ transition:
250
+ background 200ms cubic-bezier(0.23, 1, 0.32, 1),
251
+ transform 200ms linear;
252
+
253
+ overflow: hidden;
254
+
255
+ .sidebar-header {
256
+ background: white;
257
+ cursor: pointer;
258
+ padding-top: 10px;
259
+ padding-bottom: 10px;
260
+ }
261
+
262
+ &.expanded {
263
+ box-shadow: 0px -10px 30px 0 rgba(black, 0.8);
264
+ z-index: 6;
265
+ overflow-y: scroll;
266
+ background: white;
267
+ border-bottom: none;
268
+ }
269
+ }
270
+
271
+ &.pinned {
272
+ z-index: 4;
273
+ transform: translateY(0);
274
+ }
237
275
 
238
276
  > .sidebar-header, > section {
239
277
  margin-bottom: 15px;
@@ -281,22 +319,6 @@
281
319
  font-size: 15px;
282
320
  font-weight: normal;
283
321
 
284
- &.disabled {
285
- span {
286
- $disabled-label-width: 50px;
287
- opacity: 0.5;
288
- position: relative;
289
-
290
- &:before {
291
- opacity: 0.4;
292
- position: absolute;
293
- width: $disabled-label-width;
294
- left: -$disabled-label-width;;
295
- content: "TBD";
296
- font-weight: bold;
297
- }
298
- }
299
- }
300
322
  &.selected {
301
323
  span {
302
324
  font-weight: bold;
@@ -316,6 +338,46 @@
316
338
  background: white;
317
339
  z-index: 1;
318
340
 
341
+ > header > nav,
342
+ > footer > nav {
343
+ line-height: 1;
344
+
345
+ button, a {
346
+ border: 0;
347
+ padding: 0;
348
+ margin-right: 1em;
349
+
350
+ font-family: inherit;
351
+ font-size: 80%;
352
+ font-weight: bold;
353
+
354
+ background: white;
355
+ color: $primary-dark-color;
356
+ cursor: pointer;
357
+
358
+ text-decoration: none;
359
+
360
+ &:last-child {
361
+ margin-right: 0;
362
+ }
363
+
364
+ .ico-ext {
365
+ margin-left: .5em;
366
+ }
367
+ }
368
+ }
369
+
370
+ > header > nav {
371
+ margin-top: -2em;
372
+ }
373
+
374
+ > footer > nav {
375
+ margin-top: 2em;
376
+ @media screen and (min-width: $bigscreen-breakpoint) {
377
+ margin-left: 2em;
378
+ }
379
+ }
380
+
319
381
  > header {
320
382
  > .title {
321
383
  @media screen and (min-width: $bigscreen-breakpoint) {
@@ -372,7 +434,7 @@
372
434
  }
373
435
 
374
436
  > article {
375
- max-width: none;
437
+ max-width: none; // Overrides .main-article base style
376
438
 
377
439
  > header > .title {
378
440
  border-bottom-width: 0;
data/assets/js/opf.js CHANGED
@@ -6,10 +6,34 @@
6
6
 
7
7
 
8
8
 
9
+ /* Search box in top bar */
10
+
11
+ var initSearchWidget = function(containerEl, triggerEl, inputEl) {
12
+ var showSearch = function() {
13
+ containerEl.classList.add('with-expanded-search');
14
+ inputEl.focus();
15
+ };
16
+ var hideSearch = function() {
17
+ containerEl.classList.remove('with-expanded-search');
18
+ };
19
+ triggerEl.addEventListener('click', showSearch);
20
+
21
+ window.initAlgolia();
22
+ };
23
+
24
+
25
+
26
+ var topMenuEl = body.querySelector('.top-menu');
27
+ var triggerEl = topMenuEl.querySelector('.search');
28
+ var inputEl = topMenuEl.querySelector('input[type=search]');
29
+
30
+
31
+
9
32
  /* Topmost hamburger menu */
10
33
 
11
- var initCollapsibleMenu = function(triggerEl, menuEl) {
34
+ var initCollapsibleMenu = function(origNavEl, triggerEl, menuEl) {
12
35
  var hasOpened = false;
36
+ var origNavNextSiblingEl = origNavEl.nextSibling;
13
37
 
14
38
  if (triggerEl != null && menuEl != null) {
15
39
  triggerEl.addEventListener('click', function (evt) {
@@ -17,6 +41,13 @@
17
41
  if (hasOpened) {
18
42
  triggerEl.setAttribute('aria-expanded', true);
19
43
  menuEl.setAttribute('aria-hidden', false);
44
+ origNavEl.classList.remove('top-menu');
45
+ origNavEl.remove();
46
+ menuEl.insertBefore(origNavEl, menuEl.querySelector('.site-logo-container').nextSibling);
47
+ } else {
48
+ origNavEl.remove();
49
+ origNavNextSiblingEl.parentNode.insertBefore(origNavEl, origNavNextSiblingEl);
50
+ origNavEl.classList.add('top-menu');
20
51
  }
21
52
  });
22
53
  }
@@ -85,27 +116,15 @@
85
116
  var docsNavH = docsNav.offsetHeight;
86
117
  var docsNavSections = docsNav.querySelectorAll('section');
87
118
 
88
- // Offet represents the top header height; meaning it is offset
89
- // of documentation menu from the topmost edge of viewport
90
- var offset = collapsibleHeader.getHeaderHeight();
119
+ // Used to offset expandable documentation menu from the topmost edge of viewport
120
+ // to account for top header height
121
+ var topHeaderHeight = collapsibleHeader.getHeaderHeight();
91
122
 
92
123
  article.style.paddingTop = '2em';
124
+
125
+ docsNav.classList.add('top-expandable');
93
126
  docsNav.style.zIndex = '4';
94
- docsNav.style.position = 'fixed';
95
- docsNav.style.top = '' + offset + 'px';
96
- docsNav.style.left = '0';
97
- docsNav.style.right = '0';
98
- docsNav.style.paddingTop = '0';
99
- docsNav.style.paddingLeft = '2em';
100
- docsNav.style.paddingRight = '2em';
101
- docsNav.style.transition = 'background 200ms cubic-bezier(0.23, 1, 0.32, 1), transform 200ms linear';
102
- docsNav.style.background = 'transparent';
103
- docsNav.style.overflow = 'hidden';
104
-
105
- docsNavHeader.style.background = 'white';
106
- docsNavHeader.style.paddingTop = '10px';
107
- docsNavHeader.style.paddingBottom = '10px';
108
- docsNavHeader.style.cursor = 'pointer';
127
+ docsNav.style.top = '' + topHeaderHeight + 'px';
109
128
 
110
129
  docsNavHeader.innerHTML = docsNavHeader.innerHTML + ' ▼';
111
130
 
@@ -120,34 +139,27 @@
120
139
 
121
140
  var collapse = function (docsNav) {
122
141
  hasOpened = false;
123
- docsNav.style.background = 'transparent';
142
+
143
+ docsNav.classList.remove('expanded');
144
+
124
145
  docsNavSections.forEach(function (el) {
125
146
  el.style.opacity = '0';
126
147
  });
127
148
 
128
149
  closingTransition = window.setTimeout(function () {
129
- docsNav.style.overflowY = 'hidden';
130
150
  docsNav.style.height = '' + docsNavHeaderH + 'px';
131
151
  docsNav.style.bottom = 'unset';
132
152
  docsNav.scrollTop = 0;
133
- docsNav.style.borderBottom = '1px solid silver';
134
153
  }, 2);
135
154
  };
136
155
  var open = function (docsNav) {
137
156
  hasOpened = true;
138
157
  window.clearTimeout(closingTransition);
139
158
 
140
- docsNav.style.overflowY = 'scroll';
159
+ docsNav.classList.add('expanded');
141
160
  docsNav.style.height = 'auto';
161
+ docsNav.style.bottom = '' + 100 + 'px';
142
162
 
143
- if (collapsibleHeader.isPinned()) {
144
- docsNav.style.bottom = '0';
145
- } else {
146
- docsNav.style.bottom = '-' + offset + 'px';
147
- }
148
-
149
- docsNav.style.background = 'white';
150
- docsNav.style.borderBottom = 'none';
151
163
  docsNavSections.forEach(function (el) {
152
164
  el.style.opacity = '1';
153
165
  });
@@ -173,14 +185,12 @@
173
185
  if (hasOpened) {
174
186
  this.pin();
175
187
  } else {
176
- docsNav.style.transform = 'translateY(-' + offset + 'px)';
188
+ docsNav.style.transform = 'translateY(-' + topHeaderHeight + 'px)';
177
189
  }
178
190
  },
179
191
  onPin: function () {
180
- docsNav.style.top = '' + offset + 'px';
181
- docsNav.style.zIndex = '4';
192
+ docsNav.style.top = '' + topHeaderHeight + 'px';
182
193
  docsNav.style.transform = 'translateY(0)';
183
- docsNav.style.borderBottom = '1px solid silver';
184
194
  },
185
195
  });
186
196
 
@@ -190,6 +200,7 @@
190
200
  hasOpened: function () {
191
201
  return hasOpened;
192
202
  },
203
+ toggle: toggle,
193
204
  }
194
205
  };
195
206
 
@@ -197,6 +208,7 @@
197
208
 
198
209
  // Initializing stuff
199
210
  var hamburgerMenu = initCollapsibleMenu(
211
+ document.querySelector('header nav.top-menu'),
200
212
  document.getElementById('hamburgerButton'),
201
213
  document.getElementById('hamburgerMenu'));
202
214
 
@@ -216,5 +228,13 @@
216
228
  collapsibleHeader.assignCollapsibleDocsNav(collapsibleDocsNav);
217
229
  }
218
230
 
231
+ var docArticleSelectorPrefix = 'body.layout--product .documentation:not(.docs-landing) > article ';
232
+ var docArticleHeaderNavToggle = document.querySelector(docArticleSelectorPrefix + '> header > nav > button.docs-nav-toggle');
233
+ var docArticleFooterNavToggle = document.querySelector(docArticleSelectorPrefix + '> footer > nav > button.docs-nav-toggle');
234
+ for (var el of [docArticleFooterNavToggle, docArticleHeaderNavToggle]) {
235
+ if (el) { el.addEventListener('click', collapsibleDocsNav.toggle); }
236
+ }
237
+
238
+ initSearchWidget(topMenuEl, triggerEl, inputEl);
219
239
 
220
240
  }());
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-open-project
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.22
4
+ version: 1.1.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-05 00:00:00.000000000 Z
11
+ date: 2018-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 1.1.22
75
+ version: 1.1.23
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 1.1.22
82
+ version: 1.1.23
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -226,7 +226,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
226
  version: '0'
227
227
  requirements: []
228
228
  rubyforge_project:
229
- rubygems_version: 2.6.14.1
229
+ rubygems_version: 2.7.6
230
230
  signing_key:
231
231
  specification_version: 4
232
232
  summary: Open Project Jekyll theme