elixir-toolkit-theme 1.26.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +60 -25
- data/_includes/affiliation-tiles-page.html +1 -1
- data/_includes/contributor-carousel-selection.html +33 -10
- data/_includes/contributor-minitiles-page.html +8 -4
- data/_includes/contributor-tiles-all.html +24 -7
- data/_includes/footer.html +1 -1
- data/_includes/resource-table-all.html +25 -11
- data/_includes/resource-table-page.html +20 -9
- data/_includes/section-navigation-tiles-simple.html +1 -1
- data/_includes/section-navigation-tiles.html +1 -1
- data/_includes/sidebar.html +1 -1
- data/_includes/toc.html +7 -4
- data/_includes/topnav.html +6 -6
- data/_layouts/default.html +6 -10
- data/_layouts/page.html +37 -32
- data/_sass/_bootstrap_variables.scss +1 -3
- data/_sass/_variables.scss +0 -3
- data/assets/css/main.scss +164 -45
- data/assets/js/main.js +12 -1
- data/assets/js/toc.js +50 -47
- metadata +18 -4
data/_includes/topnav.html
CHANGED
@@ -9,11 +9,11 @@
|
|
9
9
|
<i title="navbar-toggler" class="fa-solid fa-bars"></i>
|
10
10
|
</button>
|
11
11
|
<div class="collapse navbar-collapse justify-content-end" id="navbarCollapse">
|
12
|
-
<ul class="navbar-nav">
|
12
|
+
<ul class="navbar-nav gap-2">
|
13
13
|
<!-- navigation entries -->
|
14
14
|
{%- assign topnav = site.data.topnav %}
|
15
15
|
{%- for item in topnav.subitems %}
|
16
|
-
<li class="nav-item {% if item.subitems %}dropdown {% endif %}
|
16
|
+
<li class="nav-item {% if item.subitems %}dropdown {% endif %}">
|
17
17
|
{%- assign page_sidebar = page.sidebar | downcase | replace: "-", "_" | replace: " ", "_" %}
|
18
18
|
{%- assign nav_title = item.title | downcase | replace: "-", "_" | replace: " ", "_" %}
|
19
19
|
{%- if item.external_url %}
|
@@ -49,15 +49,15 @@
|
|
49
49
|
{%- else %}
|
50
50
|
{%- assign break_color = "light" %}
|
51
51
|
{%- endif -%}
|
52
|
-
<li class="nav-item
|
52
|
+
<li class="nav-item nav-break bg-{{break_color}} opacity-25"></li>
|
53
53
|
{%- endif %}
|
54
54
|
{%- if site.theme_variables.topnav.twitter %}
|
55
|
-
<li class="nav-item
|
55
|
+
<li class="nav-item">
|
56
56
|
<a class="nav-link ps-2 d-flex align-items-center" href="{{site.theme_variables.topnav.twitter}}"><i class="fa-brands fa-twitter me-2"></i>Twitter</a>
|
57
57
|
</li>
|
58
58
|
{%- endif %}
|
59
59
|
{%- if site.theme_variables.topnav.github or site.theme_variables.topnav.github == nil %}
|
60
|
-
<li class="nav-item
|
60
|
+
<li class="nav-item">
|
61
61
|
<a class="nav-link ps-2 d-flex align-items-center" href="{{site.github.repository_url}}">
|
62
62
|
{%- assign git_host = site.theme_variables.git_host | downcase %}
|
63
63
|
{%- if git_host == 'gitlab' %}
|
@@ -71,7 +71,7 @@
|
|
71
71
|
{%- endif %}
|
72
72
|
{%- unless include.search == false %}
|
73
73
|
<!--start search-->
|
74
|
-
<li class="nav-item
|
74
|
+
<li class="nav-item">
|
75
75
|
<div class="position-relative">
|
76
76
|
<form role="search" class="input-group">
|
77
77
|
<span class="input-group-text" id="search-label"><i class="fa-solid fa-magnifying-glass"></i></span><input type="search" id="search-input" class="search-input form-control" tabindex="0" placeholder="Search {{ site.title }}" aria-label="Search {{ site.title }}" autocomplete="off">
|
data/_layouts/default.html
CHANGED
@@ -7,17 +7,13 @@
|
|
7
7
|
<!-- Page Content -->
|
8
8
|
<div class="container flex-grow-1">
|
9
9
|
<!-- Content Row -->
|
10
|
-
<div class="
|
11
|
-
|
12
|
-
|
13
|
-
<div class="col-lg-3 mb-0 mb-lg-4">
|
10
|
+
<div id="layout" class="gap-5">
|
11
|
+
<!-- Sidebar -->
|
12
|
+
<aside id="sidebar">
|
14
13
|
{% include sidebar.html %}
|
15
|
-
</
|
16
|
-
|
17
|
-
|
18
|
-
<div class="{{content_col_size}}">
|
19
|
-
{{content}}
|
20
|
-
</div>
|
14
|
+
</aside>
|
15
|
+
<!-- Content -->
|
16
|
+
{{content}}
|
21
17
|
</div>
|
22
18
|
</div>
|
23
19
|
{%- if site.theme_variables.back_to_top or site.theme_variables.back_to_top == nil %}
|
data/_layouts/page.html
CHANGED
@@ -1,38 +1,43 @@
|
|
1
1
|
---
|
2
2
|
layout: default
|
3
3
|
---
|
4
|
-
<main id="main" class="
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
4
|
+
<main id="main" class="order-1">
|
5
|
+
<div id="intro">
|
6
|
+
{%- if page.title %}
|
7
|
+
{%- if page.type %}
|
8
|
+
{%- assign subtitle = page.type | replace: "_", " " | capitalize %}
|
9
|
+
<h1 class="has-subtitle"><span class="d-block text-secondary fs-4 ff-body">{{subtitle}}</span><span class="visually-hidden">:</span> {{ page.title }}
|
10
|
+
{%- else %}
|
11
|
+
<h1>{{ page.title }}
|
12
|
+
{%- endif %}
|
13
|
+
{%- if site.theme_variables.github_buttons.position == "top" or site.theme_variables.github_buttons.position == nil %}
|
14
|
+
{% include github-buttons.html %}
|
15
|
+
{%- endif %}
|
16
|
+
</h1>
|
17
|
+
{%- endif %}
|
18
|
+
{%- if page.summary %}
|
19
|
+
<div class="summary">{{page.summary}}</div>
|
20
|
+
{%- endif %}
|
21
|
+
</div>
|
22
|
+
<div id="toc" class="text-muted sticky-lg-top">
|
23
|
+
{%- include toc.html %}
|
24
|
+
</div>
|
25
|
+
<div id="content" class="mb-5" data-bs-spy="scroll" data-bs-target="#toc-contents" data-bs-smooth-scroll="true" tabindex="0">
|
26
|
+
{{content}}
|
27
|
+
{% include resource-table-page.html %}
|
28
|
+
{% include related-pages.html %}
|
29
|
+
{% include more-information-tiles.html %}
|
30
|
+
{%- if page.page_id %}
|
31
|
+
{% include resource-table-all.html tag=page.page_id %}
|
32
|
+
{%- endif %}
|
33
|
+
{% include affiliation-tiles-page.html %}
|
34
|
+
{% include contributor-minitiles-page.html %}
|
35
|
+
{%- if site.theme_variables.github_buttons.position == "bottom" %}
|
36
|
+
<div id="github-buttons-wrapper" class="d-flex mt-5">
|
37
|
+
{% include github-buttons.html %}
|
38
|
+
</div>
|
39
|
+
{%- endif %}
|
35
40
|
</div>
|
36
|
-
{%- endif %}
|
37
41
|
</main>
|
38
42
|
|
43
|
+
|
data/_sass/_variables.scss
CHANGED
data/assets/css/main.scss
CHANGED
@@ -1,23 +1,34 @@
|
|
1
1
|
---
|
2
2
|
layout: none
|
3
|
-
permalink: assets/css/main
|
3
|
+
permalink: assets/css/main
|
4
4
|
---
|
5
5
|
|
6
6
|
/*-----Default theme variables-----*/
|
7
|
+
|
8
|
+
@import "bootstrap/functions";
|
7
9
|
$popover-max-width: 12em;
|
8
10
|
$enable-caret: false;
|
9
11
|
$card-border-width: 0;
|
12
|
+
$custom-container-max-widths: (
|
13
|
+
xxxl: 1500px,
|
14
|
+
);
|
10
15
|
|
11
|
-
/*-----
|
16
|
+
/*-----Initialize Bootstrap variables-----*/
|
12
17
|
|
13
18
|
@import "bootstrap_variables";
|
19
|
+
@import "bootstrap/variables";
|
20
|
+
|
21
|
+
/*-----Custom maps-----*/
|
22
|
+
$container-max-widths: map-merge($container-max-widths, $custom-container-max-widths);
|
23
|
+
|
24
|
+
/*-----Include other SASS files-----*/
|
14
25
|
@import "bootstrap/bootstrap";
|
15
26
|
@import "variables";
|
16
27
|
@import "custom_variables";
|
17
28
|
|
18
29
|
/*-----General styling-----*/
|
19
30
|
|
20
|
-
|
31
|
+
#content {
|
21
32
|
h1 {
|
22
33
|
font-family: $font-family-theme;
|
23
34
|
font-weight: 400;
|
@@ -67,10 +78,10 @@ main {
|
|
67
78
|
font-weight: 600;
|
68
79
|
}
|
69
80
|
}
|
81
|
+
}
|
70
82
|
|
71
|
-
|
72
|
-
|
73
|
-
}
|
83
|
+
body img {
|
84
|
+
@extend .img-fluid;
|
74
85
|
}
|
75
86
|
|
76
87
|
.ff-body {
|
@@ -81,6 +92,78 @@ main {
|
|
81
92
|
font-family: $font-family-theme !important;
|
82
93
|
}
|
83
94
|
|
95
|
+
/*-----Layout-----*/
|
96
|
+
|
97
|
+
#main {
|
98
|
+
grid-area: main;
|
99
|
+
}
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
@include media-breakpoint-up(md) {
|
104
|
+
#main {
|
105
|
+
display: grid;
|
106
|
+
grid-template-areas:
|
107
|
+
"intro"
|
108
|
+
"toc"
|
109
|
+
"content";
|
110
|
+
grid-template-rows: auto auto 1fr;
|
111
|
+
}
|
112
|
+
}
|
113
|
+
@include media-breakpoint-up(lg) {
|
114
|
+
#main {
|
115
|
+
grid-template-areas:
|
116
|
+
"intro toc"
|
117
|
+
"content toc";
|
118
|
+
grid-template-rows: auto 1fr;
|
119
|
+
}
|
120
|
+
|
121
|
+
.add-grid {
|
122
|
+
grid-template-columns: 5fr 2fr;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
#toc {
|
127
|
+
grid-area: toc;
|
128
|
+
display: none;
|
129
|
+
}
|
130
|
+
|
131
|
+
@include media-breakpoint-up(lg) {
|
132
|
+
#toc {
|
133
|
+
top: $spacer * 3;
|
134
|
+
right: 0;
|
135
|
+
z-index: 2;
|
136
|
+
height: calc(100vh - 7rem);
|
137
|
+
overflow-y: auto;
|
138
|
+
margin-left: $spacer * 3;
|
139
|
+
}
|
140
|
+
}
|
141
|
+
|
142
|
+
#intro {
|
143
|
+
grid-area: intro;
|
144
|
+
}
|
145
|
+
|
146
|
+
#sidebar {
|
147
|
+
grid-area: sidebar;
|
148
|
+
}
|
149
|
+
|
150
|
+
#content {
|
151
|
+
grid-area: content;
|
152
|
+
min-width: 1px;
|
153
|
+
position: relative;
|
154
|
+
h2:first-child {
|
155
|
+
margin-top: 0;
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
@include media-breakpoint-up(lg) {
|
160
|
+
#layout {
|
161
|
+
display: grid;
|
162
|
+
grid-template-areas: "sidebar main";
|
163
|
+
grid-template-columns: 2fr 9fr;
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
84
167
|
/*-----Blockquote-----*/
|
85
168
|
|
86
169
|
blockquote {
|
@@ -153,7 +236,7 @@ header .navbar {
|
|
153
236
|
color: $topnav-title-color;
|
154
237
|
|
155
238
|
img {
|
156
|
-
height: $topnav-brand-height;
|
239
|
+
max-height: $topnav-brand-height;
|
157
240
|
}
|
158
241
|
}
|
159
242
|
}
|
@@ -169,7 +252,7 @@ header .navbar {
|
|
169
252
|
font-weight: 900;
|
170
253
|
margin-left: 0.25rem;
|
171
254
|
content: "\f0d7";
|
172
|
-
transition: transform 0.
|
255
|
+
transition: transform 0.15s ease-in-out;
|
173
256
|
}
|
174
257
|
|
175
258
|
.dropdown-toggle[aria-expanded="true"]::after {
|
@@ -292,15 +375,14 @@ header .navbar {
|
|
292
375
|
/*-----Sidebar-----*/
|
293
376
|
|
294
377
|
@include media-breakpoint-up(lg) {
|
295
|
-
#
|
378
|
+
#sidebar > nav {
|
296
379
|
display: block !important;
|
297
380
|
}
|
298
381
|
}
|
299
382
|
|
300
|
-
#
|
383
|
+
#sidebar > nav .btn.sidebar-title {
|
301
384
|
color: $sidebar-color;
|
302
|
-
|
303
|
-
border-color: transparent;
|
385
|
+
border: 0;
|
304
386
|
}
|
305
387
|
|
306
388
|
.sidebar-collapse {
|
@@ -318,7 +400,7 @@ header .navbar {
|
|
318
400
|
background-color: $sidebar-bg-active;
|
319
401
|
}
|
320
402
|
|
321
|
-
#
|
403
|
+
#sidebar > nav > ul {
|
322
404
|
> li:not(.sidebar-title) > a {
|
323
405
|
background-color: $sidebar-bg;
|
324
406
|
color: $sidebar-color;
|
@@ -341,7 +423,7 @@ header .navbar {
|
|
341
423
|
font-family: "Font Awesome 6 Free";
|
342
424
|
font-weight: 900;
|
343
425
|
content: "\f078";
|
344
|
-
transition: transform 0.
|
426
|
+
transition: transform 0.15s ease-in-out;
|
345
427
|
}
|
346
428
|
}
|
347
429
|
|
@@ -391,25 +473,32 @@ header .navbar {
|
|
391
473
|
|
392
474
|
/*-----TOC-----*/
|
393
475
|
|
394
|
-
#toc {
|
395
|
-
|
396
|
-
|
397
|
-
|
476
|
+
#toc-contents {
|
477
|
+
@include media-breakpoint-up(lg) {
|
478
|
+
display: block !important;
|
479
|
+
} // Indent the lists and reset any other padding
|
398
480
|
ul {
|
399
|
-
|
481
|
+
// highlighting active links
|
482
|
+
a {
|
483
|
+
color: inherit;
|
484
|
+
padding-left: 0.25rem;
|
485
|
+
border-left: 0.125rem solid transparent;
|
486
|
+
display: block;
|
487
|
+
transition: border-left 0.15s ease-in-out;
|
488
|
+
&.active,
|
489
|
+
&:hover {
|
490
|
+
text-decoration: none !important;
|
491
|
+
border-left: 0.125rem solid $primary;
|
492
|
+
color: $primary;
|
493
|
+
}
|
494
|
+
}
|
400
495
|
}
|
401
496
|
|
402
497
|
// Consistent vertical space between list items
|
403
498
|
|
404
499
|
li,
|
405
500
|
ul ul li {
|
406
|
-
margin:
|
407
|
-
}
|
408
|
-
|
409
|
-
// Sublists
|
410
|
-
|
411
|
-
ul ul {
|
412
|
-
list-style: circle outside;
|
501
|
+
margin: 13px 0 0 0;
|
413
502
|
}
|
414
503
|
}
|
415
504
|
|
@@ -495,11 +584,11 @@ footer {
|
|
495
584
|
}
|
496
585
|
|
497
586
|
#ett-logo {
|
498
|
-
transition: color .15s ease-in-out;
|
587
|
+
transition: color 0.15s ease-in-out;
|
499
588
|
|
500
589
|
.cls-1 {
|
501
590
|
fill: $footer-ett;
|
502
|
-
transition: fill .15s ease-in-out;
|
591
|
+
transition: fill 0.15s ease-in-out;
|
503
592
|
}
|
504
593
|
&:hover {
|
505
594
|
.cls-1 {
|
@@ -552,17 +641,31 @@ footer {
|
|
552
641
|
}
|
553
642
|
|
554
643
|
@include media-breakpoint-down(md) {
|
555
|
-
#contributors-carousel
|
556
|
-
|
557
|
-
|
644
|
+
#contributors-carousel {
|
645
|
+
.card-title {
|
646
|
+
font-size: 0.5em;
|
647
|
+
}
|
558
648
|
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
649
|
+
.card-affiliation,
|
650
|
+
.badge {
|
651
|
+
font-size: 0.4em;
|
652
|
+
}
|
653
|
+
|
654
|
+
.card-body,
|
655
|
+
.card-footer {
|
656
|
+
padding: 0.5rem 0.25rem;
|
657
|
+
}
|
563
658
|
|
564
|
-
|
565
|
-
|
659
|
+
.social-icons {
|
660
|
+
line-height: 2ex;
|
661
|
+
width: 2.2ex;
|
662
|
+
height: 2.2ex;
|
663
|
+
i {
|
664
|
+
font-size: 0.625em;
|
665
|
+
line-height: 0.1em;
|
666
|
+
vertical-align: 0.225em;
|
667
|
+
}
|
668
|
+
}
|
566
669
|
}
|
567
670
|
}
|
568
671
|
|
@@ -587,14 +690,6 @@ footer {
|
|
587
690
|
text-align: center;
|
588
691
|
}
|
589
692
|
|
590
|
-
@include media-breakpoint-down(md) {
|
591
|
-
#contributors-carousel .social-icons {
|
592
|
-
line-height: 1.2ex;
|
593
|
-
width: 1.2ex;
|
594
|
-
height: 1.2ex;
|
595
|
-
}
|
596
|
-
}
|
597
|
-
|
598
693
|
/*--------Page contributors---------*/
|
599
694
|
.page-contributors {
|
600
695
|
background-color: $contr-bg;
|
@@ -669,6 +764,30 @@ footer {
|
|
669
764
|
transition-delay: 1000ms;
|
670
765
|
}
|
671
766
|
|
767
|
+
/*-----Tools-----*/
|
768
|
+
|
769
|
+
.tool {
|
770
|
+
cursor: pointer;
|
771
|
+
white-space: nowrap;
|
772
|
+
color: $link-color;
|
773
|
+
background-color: rgba($link-color, 0.05);
|
774
|
+
border-radius: $border-radius;
|
775
|
+
padding: 0.1rem 0.25rem;
|
776
|
+
|
777
|
+
&:hover {
|
778
|
+
text-decoration: none !important;
|
779
|
+
color: $primary;
|
780
|
+
}
|
781
|
+
}
|
782
|
+
|
783
|
+
.popover-tool {
|
784
|
+
max-width: 20rem;
|
785
|
+
|
786
|
+
h5 {
|
787
|
+
font-weight: bold;
|
788
|
+
}
|
789
|
+
}
|
790
|
+
|
672
791
|
/*-----Hoover classes-----*/
|
673
792
|
|
674
793
|
.hover-primary:hover,
|
data/assets/js/main.js
CHANGED
@@ -31,7 +31,7 @@ $(document).ready(function () {
|
|
31
31
|
*/
|
32
32
|
$(document).ready(function () {
|
33
33
|
// Initialize navgoco with default options
|
34
|
-
$("#
|
34
|
+
$("#sidebar>nav>ul").navgoco({
|
35
35
|
caretHtml: '',
|
36
36
|
accordion: true,
|
37
37
|
openClass: 'active', // open
|
@@ -163,3 +163,14 @@ $(function () {
|
|
163
163
|
})
|
164
164
|
})
|
165
165
|
})
|
166
|
+
|
167
|
+
/**
|
168
|
+
* Activate popovers
|
169
|
+
*/
|
170
|
+
|
171
|
+
$(function () {
|
172
|
+
var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
|
173
|
+
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
|
174
|
+
return new bootstrap.Popover(popoverTriggerEl)
|
175
|
+
})
|
176
|
+
})
|
data/assets/js/toc.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
// https://github.com/ghiculescu/jekyll-table-of-contents
|
2
|
-
(function($){
|
3
|
-
$.fn.toc = function(options) {
|
2
|
+
(function ($) {
|
3
|
+
$.fn.toc = function (options) {
|
4
4
|
var defaults = {
|
5
5
|
noBackToTopLinks: false,
|
6
6
|
title: '<i>Jump to...</i>',
|
@@ -9,36 +9,39 @@
|
|
9
9
|
listType: 'ol', // values: [ol|ul]
|
10
10
|
showEffect: 'show', // values: [show|slideDown|fadeIn|none]
|
11
11
|
showSpeed: 'slow', // set to 0 to deactivate effect
|
12
|
-
classes: {
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
classes: {
|
13
|
+
list: '',
|
14
|
+
item: '',
|
15
|
+
link: '',
|
16
|
+
toc: ''
|
17
|
+
}
|
17
18
|
},
|
18
|
-
|
19
|
+
settings = $.extend(defaults, options);
|
19
20
|
|
20
|
-
function fixedEncodeURIComponent
|
21
|
-
return encodeURIComponent(str).replace(/[!'()*]/g, function(c) {
|
21
|
+
function fixedEncodeURIComponent(str) {
|
22
|
+
return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
|
22
23
|
return '%' + c.charCodeAt(0).toString(16);
|
23
24
|
});
|
24
25
|
}
|
25
26
|
|
26
|
-
function createLink
|
27
|
+
function createLink(header) {
|
27
28
|
var innerText = (header.textContent === undefined) ? header.innerText : header.textContent;
|
28
|
-
return "<a class='"+settings.classes.link+"' href='#" + fixedEncodeURIComponent(header.id) + "'>" + innerText + "</a>";
|
29
|
+
return "<a class='" + settings.classes.link + "' href='#" + fixedEncodeURIComponent(header.id) + "'>" + innerText + "</a>";
|
29
30
|
}
|
30
31
|
|
31
|
-
var headers = $(settings.headers).filter(function() {
|
32
|
+
var headers = $(settings.headers).filter(function () {
|
32
33
|
// get all headers with an ID
|
33
|
-
var previousSiblingName = $(this).prev().attr(
|
34
|
+
var previousSiblingName = $(this).prev().attr("name");
|
34
35
|
if (!this.id && previousSiblingName) {
|
35
|
-
this.id = $(this).attr(
|
36
|
+
this.id = $(this).attr("id", previousSiblingName.replace(/\./g, "-"));
|
36
37
|
}
|
37
38
|
return this.id;
|
38
39
|
}), output = $(this);
|
39
40
|
if (!headers.length || headers.length < settings.minimumHeaders || !output.length) {
|
40
|
-
$(this).hide();
|
41
41
|
return;
|
42
|
+
} else {
|
43
|
+
$('#main').addClass("add-grid");
|
44
|
+
$("#toc").show();
|
42
45
|
}
|
43
46
|
|
44
47
|
if (0 === settings.showSpeed) {
|
@@ -48,50 +51,50 @@
|
|
48
51
|
$(this).addClass(settings.classes.toc)
|
49
52
|
|
50
53
|
var render = {
|
51
|
-
show: function() { output.hide().html(html).show(settings.showSpeed); },
|
52
|
-
slideDown: function() { output.hide().html(html).slideDown(settings.showSpeed); },
|
53
|
-
fadeIn: function() { output.hide().html(html).fadeIn(settings.showSpeed); },
|
54
|
-
none: function() { output.html(html); }
|
54
|
+
show: function () { output.hide().html(html).show(settings.showSpeed); },
|
55
|
+
slideDown: function () { output.hide().html(html).slideDown(settings.showSpeed); },
|
56
|
+
fadeIn: function () { output.hide().html(html).fadeIn(settings.showSpeed); },
|
57
|
+
none: function () { output.html(html); }
|
55
58
|
};
|
56
59
|
|
57
|
-
var get_level = function(ele) { return parseInt(ele.nodeName.replace("H", ""), 10); };
|
58
|
-
var highest_level = headers.map(function(_, ele) { return get_level(ele); }).get().sort()[0];
|
60
|
+
var get_level = function (ele) { return parseInt(ele.nodeName.replace("H", ""), 10); };
|
61
|
+
var highest_level = headers.map(function (_, ele) { return get_level(ele); }).get().sort()[0];
|
59
62
|
var return_to_top = '<i class="icon-arrow-up back-to-top"> </i>';
|
60
63
|
|
61
64
|
var level = get_level(headers[0]),
|
62
65
|
this_level,
|
63
|
-
html = settings.title + " <" +settings.listType + " class=\"" + settings.classes.list +"\">";
|
64
|
-
headers.on('click', function() {
|
66
|
+
html = settings.title + " <" + settings.listType + " class=\"" + settings.classes.list + "\">";
|
67
|
+
headers.on('click', function () {
|
65
68
|
if (!settings.noBackToTopLinks) {
|
66
69
|
window.location.hash = this.id;
|
67
70
|
}
|
68
71
|
})
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
}
|
75
|
-
if (this_level === level) // same level as before; same indenting
|
76
|
-
html += "<li class=\"" + settings.classes.item + "\">" + createLink(header);
|
77
|
-
else if (this_level <= level){ // higher level than before; end parent ol
|
78
|
-
for(var i = this_level; i < level; i++) {
|
79
|
-
html += "</li></"+settings.listType+">"
|
72
|
+
.addClass('clickable-header')
|
73
|
+
.each(function (_, header) {
|
74
|
+
this_level = get_level(header);
|
75
|
+
if (!settings.noBackToTopLinks && this_level === highest_level) {
|
76
|
+
$(header).addClass('top-level-header').after(return_to_top);
|
80
77
|
}
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
78
|
+
if (this_level === level) // same level as before; same indenting
|
79
|
+
html += "<li class=\"" + settings.classes.item + "\">" + createLink(header);
|
80
|
+
else if (this_level <= level) { // higher level than before; end parent ol
|
81
|
+
for (var i = this_level; i < level; i++) {
|
82
|
+
html += "</li></" + settings.listType + ">"
|
83
|
+
}
|
84
|
+
html += "<li class=\"" + settings.classes.item + "\">" + createLink(header);
|
87
85
|
}
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
86
|
+
else if (this_level > level) { // lower level than before; expand the previous to contain a ol
|
87
|
+
for (i = this_level; i > level; i--) {
|
88
|
+
html += "<" + settings.listType + " class=\"" + settings.classes.list + "\">" +
|
89
|
+
"<li class=\"" + settings.classes.item + "\">"
|
90
|
+
}
|
91
|
+
html += createLink(header);
|
92
|
+
}
|
93
|
+
level = this_level; // update for the next one
|
94
|
+
});
|
95
|
+
html += "</" + settings.listType + ">";
|
93
96
|
if (!settings.noBackToTopLinks) {
|
94
|
-
$(document).on('click', '.back-to-top', function() {
|
97
|
+
$(document).on('click', '.back-to-top', function () {
|
95
98
|
$(window).scrollTop(0);
|
96
99
|
window.location.hash = '';
|
97
100
|
});
|