jekyll-theme-open-project 1.1.22 → 1.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/README.md +30 -0
- data/_config.yml +6 -0
- data/_includes/item-doc-page.html +20 -4
- data/_includes/item-external-links.html +0 -15
- data/_includes/nav-links.html +10 -1
- data/_layouts/default.html +23 -4
- data/_sass/open-project-header-footer.scss +47 -6
- data/_sass/open-project-mixins.scss +81 -19
- data/assets/js/opf.js +55 -35
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 743ef6f6997140f43beb6d9735795c56fee28d897bcb80e081f10a5921625d36
|
|
4
|
+
data.tar.gz: bdd6142500f0b231311451a231c1cbd89a40d63288d1a20a603a20e38d2e975b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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=
|
|
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
|
|
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=
|
|
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 %}
|
data/_includes/nav-links.html
CHANGED
|
@@ -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
|
-
{%
|
|
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 %}
|
data/_layouts/default.html
CHANGED
|
@@ -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:
|
|
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
|
-
|
|
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:
|
|
232
|
-
justify-content:
|
|
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
|
-
//
|
|
89
|
-
//
|
|
90
|
-
var
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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(-' +
|
|
188
|
+
docsNav.style.transform = 'translateY(-' + topHeaderHeight + 'px)';
|
|
177
189
|
}
|
|
178
190
|
},
|
|
179
191
|
onPin: function () {
|
|
180
|
-
docsNav.style.top = '' +
|
|
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.
|
|
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-
|
|
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.
|
|
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.
|
|
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
|
|
229
|
+
rubygems_version: 2.7.6
|
|
230
230
|
signing_key:
|
|
231
231
|
specification_version: 4
|
|
232
232
|
summary: Open Project Jekyll theme
|