elixir-toolkit-theme 3.1.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +21 -12
  3. data/_includes/contributor-carousel-selection.html +71 -72
  4. data/_includes/contributor-tiles-all.html +7 -4
  5. data/_includes/footer.html +23 -21
  6. data/_includes/head.html +22 -9
  7. data/_includes/pageids-overview.html +1 -3
  8. data/_includes/scroll-top.html +5 -0
  9. data/_includes/section-navigation-tiles-simple.html +1 -1
  10. data/_includes/section-navigation-tiles.html +15 -3
  11. data/_includes/toc.html +45 -2
  12. data/_includes/topnav.html +4 -4
  13. data/_layouts/default.html +7 -11
  14. data/_layouts/page.html +4 -4
  15. data/_sass/bootstrap/_accordion.scss +11 -11
  16. data/_sass/bootstrap/_buttons.scss +9 -0
  17. data/_sass/bootstrap/_carousel.scss +2 -10
  18. data/_sass/bootstrap/_modal.scss +0 -1
  19. data/_sass/bootstrap/_offcanvas.scss +1 -4
  20. data/_sass/bootstrap/_tables.scss +1 -1
  21. data/_sass/bootstrap/_variables.scss +7 -3
  22. data/_sass/bootstrap/forms/_form-check.scss +1 -1
  23. data/_sass/bootstrap/mixins/_banner.scss +2 -2
  24. data/_sass/bootstrap/mixins/_forms.scss +12 -2
  25. data/_sass/bootstrap/mixins/_grid.scss +1 -1
  26. data/_sass/bootstrap/tests/mixins/_auto-import-of-variables-dark.test.scss +7 -0
  27. data/_sass/bootstrap/tests/mixins/_utilities.test.scss +1 -1
  28. data/assets/css/all.min.css +5 -5
  29. data/assets/css/dataTables.bootstrap5.min.css +2 -2
  30. data/assets/css/dataTables.dateTime.min.css +1 -0
  31. data/assets/css/main.scss +17 -4
  32. data/assets/css/searchBuilder.bootstrap5.min.css +1 -0
  33. data/assets/js/bootstrap.bundle.min.js +3 -3
  34. data/assets/js/bootstrap.bundle.min.js.map +1 -1
  35. data/assets/js/dataTables.bootstrap5.min.js +2 -2
  36. data/assets/js/dataTables.dateTime.min.js +6 -0
  37. data/assets/js/dataTables.searchBuilder.min.js +4 -0
  38. data/assets/js/jquery.dataTables.min.js +3 -3
  39. data/assets/js/jquery.min.js +2 -2
  40. data/assets/js/jquery.min.map +1 -1
  41. data/assets/js/searchBuilder.bootstrap5.min.js +4 -0
  42. data/assets/js/toc.js +38 -54
  43. data/assets/webfonts/fa-brands-400.ttf +0 -0
  44. data/assets/webfonts/fa-brands-400.woff2 +0 -0
  45. data/assets/webfonts/fa-regular-400.ttf +0 -0
  46. data/assets/webfonts/fa-regular-400.woff2 +0 -0
  47. data/assets/webfonts/fa-solid-900.ttf +0 -0
  48. data/assets/webfonts/fa-solid-900.woff2 +0 -0
  49. data/assets/webfonts/fa-v4compatibility.ttf +0 -0
  50. data/assets/webfonts/fa-v4compatibility.woff2 +0 -0
  51. metadata +19 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 835542e6c518dcc697a20243eb8c8303a8fa1d98b5117ce937bfe958cc51ac0e
4
- data.tar.gz: 52b5a026310216076d6cf9785ff0b1ca2a4fac57c4237ca872671d129924c776
3
+ metadata.gz: a07e1cb623cc5fb4841e057ef9883239b178a68e3f136c0bddc2859ce8bef101
4
+ data.tar.gz: 7d0c44d9b271d3ebefd6910576338490ec30dfa752b2343b10c2bccc3f19eba8
5
5
  SHA512:
6
- metadata.gz: '094092b18afb88f57338879cf1bd51de9c213bc4510fbecc60da757496d5e819cff6dd78874c5f575f7c7992cfd13c08a34ad345f96736855c17c7872a473572'
7
- data.tar.gz: 8ed3aecd937f496cf845edea7085541ee5debe33204c1a8acbda42177295131e49e830eb7b0560005ec0ac87d6d7da78d472a863acd80068c6cc96b125744204
6
+ metadata.gz: f5edebe68e889102d4e0e1dbbd2002067e957d9747ad0b4549f93d8414baa7a332c257130ac9b95e9b88a849f5209e21e3654af071467e7d9a26ca4731a81d2b
7
+ data.tar.gz: 51a9028a3e61ace267ef51620dfde4bedaf0e499dc0b239e0a8da0a023265128b9d4aa00ecc60551a9f2e6548cddcee12421ffdd17994371f9afba94ca1e66b0
data/README.md CHANGED
@@ -37,7 +37,7 @@ remote_theme: ELIXIR-Belgium/elixir-toolkit-theme
37
37
  You can lock it onto a specific version using:
38
38
 
39
39
  ```yaml
40
- remote_theme: ELIXIR-Belgium/elixir-toolkit-theme@3.0.1
40
+ remote_theme: ELIXIR-Belgium/elixir-toolkit-theme@4.0.0
41
41
  ```
42
42
 
43
43
  ### Using Ruby Gems (alternative)
@@ -50,7 +50,7 @@ gem "elixir-toolkit-theme"
50
50
  You can lock it onto a specific version like this:
51
51
 
52
52
  ```ruby
53
- gem "elixir-toolkit-theme", "~> 3.0.1"
53
+ gem "elixir-toolkit-theme", "~> 4.0.0"
54
54
  ```
55
55
 
56
56
  And add this line to your Jekyll site's `_config.yml`:
@@ -149,16 +149,25 @@ This will start the docker container and serve the website locally. Make sure th
149
149
 
150
150
  ## This theme is known to be used in
151
151
 
152
- - [RDMkit](https://rdmkit.elixir-europe.org/)
153
- - [WorkflowHub project](https://about.workflowhub.eu/)
154
- - [RDM Guide](https://rdm.elixir-belgium.org/)
155
- - [Infectious Diseases Toolkit](https://www.infectious-diseases-toolkit.org/)
156
- - [Applied Bioinformatics and Biostatistics intranet page](https://intranet.psb.ugent.be/abb/)
157
- - [FAIRDOM](https://fair-dom.org/)
158
- - [Australian BioCommons How-to-Guides](https://australianbiocommons.github.io/how-to-guides/)
159
- - [Norwegian Life Science RDM LookUp](https://elixir.no/rdm-lookup)
160
- - [ERIM Research Toolbox](https://eur-nl.github.io/erim-research-toolbox/)
161
-
152
+ - [RDMkit](https://rdmkit.elixir-europe.org/) (CONVERGE)
153
+ - [WorkflowHub](https://about.workflowhub.eu/) (EOSC-life project)
154
+ - [RO-crate](https://www.researchobject.org/ro-crate-2024) (EOSC)
155
+ - [Infectious Diseases Toolkit](https://www.infectious-diseases-toolkit.org/) (BY-COVID)
156
+ - [FAIRDOM](https://fair-dom.org/) (FAIRDOM community)
157
+ - [ABB intranet page at PSB](https://intranet.psb.ugent.be/abb/) (VIB department)
158
+ - [How-to-Guides](https://australianbiocommons.github.io/how-to-guides/) (Australian BioCommons)
159
+ - [SPLASH](https://elixir-europe-training.github.io/ELIXIR-Training-SPLASH/) (ELIXIR Training platform)
160
+ - [1+MG Framework](https://framework.onemilliongenomes.eu/) (GDI)
161
+ - [Human 'Omics Data Sharing Field Guide](https://australianbiocommons.github.io/human-omics-data-sharing-field-guide/) (Australian BioCommons)
162
+ - [ERIM RDM Toolbox](https://eur-nl.github.io/erim-research-toolbox/) (ERIM NL)
163
+ - [ABLeS](https://australianbiocommons.github.io/ables) (Australian BioCommons)
164
+ - [TRE-FX](https://trefx.uk/) (DARE UK, HDR UK)
165
+ - [Norwegian Life Science RDM LookUp](https://elixir.no/rdm-lookup/) (ELIXIR Norway)
166
+ - [RSQkit: Research Software Quality kit](https://everse.software/RSQKit/) (EOSC-EVERSE)
167
+ - [dHMp norge](https://dhp-stottepakke.github.io/pages/) (ELIXIR Norway)
168
+ - [Learning-Library](https://patcapon39.github.io/Learning-Library/) (Australian BioCommons)
169
+ - [ELIXIR-IT Training Platform](https://elixir-iib-training.github.io/site/training_courses) (ELIXIR IT)
170
+ - Want your instance here? [Open an issue](https://github.com/ELIXIR-Belgium/elixir-toolkit-theme/issues)
162
171
 
163
172
  ## Dependencies
164
173
 
@@ -1,4 +1,5 @@
1
1
  {%- assign contributors = site.data.CONTRIBUTORS %}
2
+ {%- assign allcontrstr = nil %}
2
3
  {%- assign nr = include.col | default: 5 %}
3
4
  {%- if include.custom %}
4
5
  {%- assign allcontrstr = include.custom %}
@@ -6,11 +7,11 @@
6
7
  {%- assign rolefilter = include.role | downcase %}
7
8
  {%- for contr in contributors %}
8
9
  {%- assign contrrole = contr[1]['role'] | downcase %}
9
- {%- if include.role == contrrole %}
10
+ {%- if rolefilter == contrrole %}
10
11
  {%- if allcontrstr %}
11
12
  {%- assign allcontrstr = allcontrstr | append: ", " | append: contr[0] %}
12
13
  {%- else %}
13
- {%- assign allcontrstr = allcontrstr | append: contr[0] %}
14
+ {%- assign allcontrstr = contr[0] %}
14
15
  {%- endif %}
15
16
  {%- endif %}
16
17
  {%- endfor %}
@@ -21,7 +22,7 @@
21
22
  {%- if allcontrstr %}
22
23
  {%- assign allcontrstr = allcontrstr | append: ", " | append: pagecontr %}
23
24
  {%- else %}
24
- {%- assign allcontrstr = allcontrstr | append: pagecontr %}
25
+ {%- assign allcontrstr = pagecontr %}
25
26
  {%- endif %}
26
27
  {%- endif %}
27
28
  {%- endfor %}
@@ -29,7 +30,7 @@
29
30
  {%- if allcontrstr %}
30
31
  {%- assign allcontrstr = allcontrstr | append: ", " | append: contr[0] %}
31
32
  {%- else %}
32
- {%- assign allcontrstr = allcontrstr | append: contr[0] %}
33
+ {%- assign allcontrstr = contr[0] %}
33
34
  {%- endif %}
34
35
  {%- endfor %}
35
36
  {%- endif %}
@@ -37,89 +38,87 @@
37
38
  {%- unless include.sort == false %}
38
39
  {%- assign allcontributors = allcontributors | sort %}
39
40
  {%- endunless %}
41
+ {%- unless allcontributors.size == 0 %}
40
42
  <div id="contributors-carousel" class="carousel carousel-dark slide my-4" data-ride="carousel" data-bs-interval="7000">
41
43
  <div class="carousel-inner">
42
- {%- assign counter = 0 %}
43
- {%- for contributor in allcontributors %}
44
- {%- capture modulo %}{{ counter | modulo:nr }}{% endcapture %}
45
- {%- if modulo == '0' or counter == 0 %}
46
- {%- if counter != 0 %}
47
- </div>
48
- </div>
49
- {%- endif %}
50
- <div class="carousel-item {% if counter == 0 %}active{% endif %}">
51
- <div class="row row-cols-{{nr}} contributor-cards g-1 g-xl-4 ">
52
- {%- endif %}
53
- <div class="col">
54
- <div class="card h-100">
55
- {%- assign id = contributors[contributor].git | default: 'no_github' %}
56
- <div class="position-relative">
57
- {%- if contributors[contributor].image_url %}
58
- <div class="p-3">
59
- <div class="ratio ratio-1x1">
60
- <div class="contr-placeholder rounded-circle" style="background-image: url({{ contributors[contributor].image_url }});">
44
+ {%- assign counter = 0 %}
45
+ {%- for contributor in allcontributors %}
46
+ {%- if modulo == '0' or counter == 0 %}
47
+ <div class="carousel-item {% if counter == 0 %}active{% endif %}">
48
+ <div class="row row-cols-{{nr}} contributor-cards g-1 g-xl-4 ">
49
+ {%- endif %}
50
+ <div class="col">
51
+ <div class="card h-100">
52
+ {%- assign id = contributors[contributor].git | default: 'no_github' %}
53
+ <div class="position-relative">
54
+ {%- if contributors[contributor].image_url %}
55
+ <div class="p-3">
56
+ <div class="ratio ratio-1x1">
57
+ <div class="contr-placeholder rounded-circle" style="background-image: url({{ contributors[contributor].image_url }});">
58
+ </div>
61
59
  </div>
62
60
  </div>
63
- </div>
64
- {%- else %}
65
- {%- if contributors[contributor].git %}
66
- <img src="https://avatars.githubusercontent.com/{{id}}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
67
- {%- else %}
68
- <div class="p-3">
69
- <div class="ratio ratio-1x1">
70
- <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center">
71
- {%- assign contr_name = contributor | split: " " %}
72
- {%- assign initials = "" %}
73
- {%- for name in contr_name %}
74
- {%- assign initial = name | slice: 0,1 | capitalize %}
75
- {%- assign initials = initials | append: initial %}
76
- {%- endfor %}
77
- <span class="fs-2 fw-bold">{{ initials }}</span>
61
+ {%- else %}
62
+ {%- if contributors[contributor].git %}
63
+ <img src="https://avatars.githubusercontent.com/{{id}}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
64
+ {%- else %}
65
+ <div class="p-3">
66
+ <div class="ratio ratio-1x1">
67
+ <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center">
68
+ {%- assign contr_name = contributor | split: " " %}
69
+ {%- assign initials = "" %}
70
+ {%- for name in contr_name %}
71
+ {%- assign initial = name | slice: 0,1 | capitalize %}
72
+ {%- assign initials = initials | append: initial %}
73
+ {%- endfor %}
74
+ <span class="fs-2 fw-bold">{{ initials }}</span>
75
+ </div>
78
76
  </div>
79
77
  </div>
80
- </div>
81
- {%- endif %}
82
- {%- endif %}
83
- {%- if contributors[contributor].role %}
84
- <span class="badge position-absolute top-0 end-0">{{ contributors[contributor].role | capitalize }}</span>
85
- {%- endif %}
86
- </div>
87
- <div class="card-body text-center py-0">
88
- <p class="card-title">{{ contributor }}</p>
89
- {%- if contributors[contributor].affiliation %}
90
- <p class="card-affiliation">{{ contributors[contributor].affiliation }}</p>
91
- {%- endif %}
92
- </div>
93
- {%- if contributors[contributor].git or contributors[contributor].email or contributors[contributor].orcid %}
94
- <div class="card-footer">
95
- <div class="d-flex justify-content-center gap-1 gap-md-2">
96
- {%- if contributors[contributor].git %}
97
- <a class="btn bg-white text-primary hover-primary rounded-circle social-icons p-0" href="https://github.com/{{id}}"><i class="fa-brands fa-github"></i></a>
98
78
  {%- endif %}
99
- {%- if contributors[contributor].email %}
100
- <a class="btn bg-white text-primary hover-primary rounded-circle social-icons p-0" href="mailto:{{contributors[contributor].email}}"><i class="fa-solid fa-envelope"></i></a>
101
79
  {%- endif %}
102
- {%- if contributors[contributor].orcid %}
103
- <a class="btn bg-white text-primary hover-primary rounded-circle social-icons p-0" href="https://orcid.org/{{contributors[contributor].orcid}}"><i class="fa-brands fa-orcid"></i></a>
80
+ {%- if contributors[contributor].role %}
81
+ <span class="badge position-absolute top-0 end-0">{{ contributors[contributor].role | capitalize }}</span>
82
+ {%- endif %}
83
+ </div>
84
+ <div class="card-body text-center py-0">
85
+ <p class="card-title">{{ contributor }}</p>
86
+ {%- if contributors[contributor].affiliation %}
87
+ <p class="card-affiliation">{{ contributors[contributor].affiliation }}</p>
104
88
  {%- endif %}
105
89
  </div>
90
+ {%- if contributors[contributor].git or contributors[contributor].email or contributors[contributor].orcid %}
91
+ <div class="card-footer">
92
+ <div class="d-flex justify-content-center gap-1 gap-md-2">
93
+ {%- if contributors[contributor].git %}
94
+ <a class="btn bg-white text-primary hover-primary rounded-circle social-icons p-0" href="https://github.com/{{id}}"><i class="fa-brands fa-github"></i></a>
95
+ {%- endif %}
96
+ {%- if contributors[contributor].email %}
97
+ <a class="btn bg-white text-primary hover-primary rounded-circle social-icons p-0" href="mailto:{{contributors[contributor].email}}"><i class="fa-solid fa-envelope"></i></a>
98
+ {%- endif %}
99
+ {%- if contributors[contributor].orcid %}
100
+ <a class="btn bg-white text-primary hover-primary rounded-circle social-icons p-0" href="https://orcid.org/{{contributors[contributor].orcid}}"><i class="fa-brands fa-orcid"></i></a>
101
+ {%- endif %}
102
+ </div>
103
+ </div>
104
+ {%- endif %}
106
105
  </div>
107
- {%- endif %}
108
106
  </div>
107
+ {%- assign counter = counter | plus:1 %}
108
+ {%- capture modulo %}{{ counter | modulo:nr }}{% endcapture %}
109
+ {%- if forloop.last or modulo == '0' and counter != 0 %}
109
110
  </div>
110
- {%- assign counter = counter | plus:1 %}
111
- {%- if forloop.last %}
112
111
  </div>
113
112
  {%- endif %}
114
113
  {%- endfor %}
115
- </div>
116
- <button class="carousel-control-prev" type="button" data-bs-target="#contributors-carousel" data-bs-slide="prev">
117
- <span class="carousel-control-prev-icon" aria-hidden="true"></span>
118
- <span class="visually-hidden">Previous</span>
119
- </button>
120
- <button class="carousel-control-next" type="button" data-bs-target="#contributors-carousel" data-bs-slide="next">
121
- <span class="carousel-control-next-icon" aria-hidden="true"></span>
122
- <span class="visually-hidden">Next</span>
123
- </button>
114
+ <button class="carousel-control-prev" type="button" data-bs-target="#contributors-carousel" data-bs-slide="prev">
115
+ <span class="carousel-control-prev-icon" aria-hidden="true"></span>
116
+ <span class="visually-hidden">Previous</span>
117
+ </button>
118
+ <button class="carousel-control-next" type="button" data-bs-target="#contributors-carousel" data-bs-slide="next">
119
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
120
+ <span class="visually-hidden">Next</span>
121
+ </button>
124
122
  </div>
125
123
  </div>
124
+ {%- endunless %}
@@ -1,4 +1,5 @@
1
1
  {%- assign contributors = site.data.CONTRIBUTORS %}
2
+ {%- assign allcontrstr = nil %}
2
3
  {%- assign nr = include.col | default: 5 %}
3
4
  {%- if include.custom %}
4
5
  {%- assign allcontrstr = include.custom %}
@@ -6,11 +7,11 @@
6
7
  {%- assign rolefilter = include.role | downcase %}
7
8
  {%- for contr in contributors %}
8
9
  {%- assign contrrole = contr[1]['role'] | downcase %}
9
- {%- if include.role == contrrole %}
10
+ {%- if rolefilter == contrrole %}
10
11
  {%- if allcontrstr %}
11
12
  {%- assign allcontrstr = allcontrstr | append: ", " | append: contr[0] %}
12
13
  {%- else %}
13
- {%- assign allcontrstr = allcontrstr | append: contr[0] %}
14
+ {%- assign allcontrstr = contr[0] %}
14
15
  {%- endif %}
15
16
  {%- endif %}
16
17
  {%- endfor %}
@@ -21,7 +22,7 @@
21
22
  {%- if allcontrstr %}
22
23
  {%- assign allcontrstr = allcontrstr | append: ", " | append: pagecontr %}
23
24
  {%- else %}
24
- {%- assign allcontrstr = allcontrstr | append: pagecontr %}
25
+ {%- assign allcontrstr = pagecontr %}
25
26
  {%- endif %}
26
27
  {%- endif %}
27
28
  {%- endfor %}
@@ -29,7 +30,7 @@
29
30
  {%- if allcontrstr %}
30
31
  {%- assign allcontrstr = allcontrstr | append: ", " | append: contr[0] %}
31
32
  {%- else %}
32
- {%- assign allcontrstr = allcontrstr | append: contr[0] %}
33
+ {%- assign allcontrstr = contr[0] %}
33
34
  {%- endif %}
34
35
  {%- endfor %}
35
36
  {%- endif %}
@@ -37,6 +38,7 @@
37
38
  {%- unless include.sort == false %}
38
39
  {%- assign allcontributors = allcontributors | sort %}
39
40
  {%- endunless %}
41
+ {%- unless allcontributors.size == 0 %}
40
42
  <div class="row row-cols-2 row-cols-sm-3 row-cols-md-4 row-cols-xl-{{nr}} g-4 contributor-cards mb-4">
41
43
  {%- for contributor in allcontributors %}
42
44
  <div class="col">
@@ -98,3 +100,4 @@
98
100
  </div>
99
101
  {%- endfor %}
100
102
  </div>
103
+ {%- endunless %}
@@ -1,30 +1,32 @@
1
1
  <footer id="footer">
2
- <div class="container py-1 py-4">
2
+ <div class="container py-4 g-lg-5">
3
3
  <div class="row g-4 d-flex justify-content-between">
4
4
  {%- for column in site.data.footer.columns %}
5
5
  {%- if column.type == "image" %}
6
- <div class="col-lg-{{column.width}} col-sm-6 d-flex justify-content-center">
7
- <img class="my-auto" width="{{column.image_width}}" src="{{ column.src | relative_url }}" alt="{{column.alt}}" />
6
+ <div class="col-6 col-lg-{{column.width}} d-flex justify-content-lg-{% if forloop.first == true %}start{% elsif forloop.last == true %}end{% else %}center{% endif %}">
7
+ <img class="my-auto" width="{{column.image_width}}" src="{{ column.src | relative_url }}" alt="{{column.alt}}"/>
8
8
  </div>
9
9
  {%- elsif column.type == "links" %}
10
- <div class="col-lg-{{column.width}} col-sm-6">
11
- {%- if column.title != nil %}
12
- <span class="footer-title">{{column.title}}</span>
13
- {%- endif %}
14
- <ul class="mb-0 list-unstyled">
15
- {%- for link in column.children %}
16
- {%- if link.url != nil and link.external_url == nil%}
17
- <li><a href="{{ link.url | relative_url }}">{{link.url_text}}</a></li>
18
- {%- elsif link.external_url != nil and link.url == nil %}
19
- <li><a href="{{link.external_url}}">{{link.url_text}}</a></li>
20
- {%- else %}
21
- <li>{{link.url_text}}</li>
10
+ <div class="col-6 col-lg-{{column.width}} d-flex justify-content-lg-{% if forloop.first == true %}start{% elsif forloop.last == true %}end{% else %}center{% endif %}">
11
+ <div>
12
+ {%- if column.title != nil %}
13
+ <span class="footer-title">{{column.title}}</span>
22
14
  {%- endif %}
23
- {%- endfor %}
24
- </ul>
15
+ <ul class="mb-0 list-unstyled">
16
+ {%- for link in column.children %}
17
+ {%- if link.url != nil and link.external_url == nil%}
18
+ <li><a href="{{ link.url | relative_url }}">{{link.url_text}}</a></li>
19
+ {%- elsif link.external_url != nil and link.url == nil %}
20
+ <li><a href="{{link.external_url}}">{{link.url_text}}</a></li>
21
+ {%- else %}
22
+ <li>{{link.url_text}}</li>
23
+ {%- endif %}
24
+ {%- endfor %}
25
+ </ul>
26
+ </div>
25
27
  </div>
26
28
  {%- elsif column.type == "text" %}
27
- <div class="col-lg-{{column.width}} col-sm-6 d-flex justify-content-center">
29
+ <div class="col-6 col-lg-{{column.width}} d-flex justify-content-lg-{% if forloop.first == true %}start{% elsif forloop.last == true %}end{% else %}center{% endif %}">
28
30
  {{column.content | markdownify }}
29
31
  </div>
30
32
  {%- endif %}
@@ -38,13 +40,13 @@
38
40
  </div>
39
41
  {%- endunless %}
40
42
  </div>
41
- <div class="copyright p-4">
42
- <div class="container d-flex justify-content-between flex-column flex-lg-row">
43
+ <div class="copyright py-4">
44
+ <div class="container g-lg-5 d-flex justify-content-between flex-column flex-lg-row">
43
45
  {%- unless site.data.footer.copyright == nil %}
44
46
  <div class="d-flex align-items-center mb-3 mb-lg-0 mx-auto mx-lg-0 text-center">{{ site.data.footer.copyright | markdownify }}</div>
45
47
  {%- endunless %}
46
48
  <div class="d-flex align-items-center mx-auto ms-lg-4 me-lg-0">
47
- <a id="ett-logo" class="text-nowrap me-lg-5 me-xxxl-0" href="https://elixir-belgium.github.io/elixir-toolkit-theme">Built with
49
+ <a id="ett-logo" class="text-nowrap me-lg-5 me-xxlg-0" href="https://elixir-belgium.github.io/elixir-toolkit-theme">Built with
48
50
  <svg data-name="ETT logo" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 77.2 77.12">
49
51
  <defs>
50
52
  <style>
data/_includes/head.html CHANGED
@@ -52,9 +52,9 @@
52
52
  <script src="{{ 'assets/js/lunr.min.js' | relative_url }}"></script>
53
53
  <script src="{{ 'assets/js/bootstrap.bundle.min.js' | relative_url }}"></script>
54
54
  <script src="{{ 'assets/js/anchor.min.js' | relative_url }}"></script>
55
- {% unless page.toc == false %}<script src="{{ 'assets/js/toc.js' | relative_url }}"></script>{% endunless %}
55
+ {% if page.toc or page.toc == nil %}<script src="{{ 'assets/js/toc.js' | relative_url }}?{{site.time | date: '%s'}}"></script>{% endif %}
56
56
  <script src="{{ 'assets/js/jquery.navgoco.js' | relative_url }}"></script>
57
- <script src="{{ 'assets/js/main.js' | relative_url }}"></script>
57
+ <script src="{{ 'assets/js/main.js' | relative_url }}?{{site.time | date: '%s'}}"></script>
58
58
  <script src="{{ 'assets/js/search.js' | relative_url }}"></script>
59
59
  <script src="{{ 'assets/js/clipboard.min.js' | relative_url }}"></script>
60
60
  {%- if page.datatable == true %}
@@ -62,6 +62,13 @@
62
62
  <link rel="stylesheet" type="text/css" href="{{ 'assets/css/dataTables.bootstrap5.min.css' | relative_url }}">
63
63
  <script type="text/javascript" charset="utf8" src="{{ 'assets/js/jquery.dataTables.min.js' | relative_url }}"></script>
64
64
  <script type="text/javascript" charset="utf8" src="{{ 'assets/js/dataTables.bootstrap5.min.js' | relative_url }}"></script>
65
+ {%- if site.theme_variables.datatables.searchbuilder %}
66
+ <link rel="stylesheet" type="text/css" href="{{ 'assets/css/dataTables.dateTime.min.css' | relative_url }}">
67
+ <link rel="stylesheet" type="text/css" href="{{ 'assets/css/searchBuilder.bootstrap5.min.css' | relative_url }}">
68
+ <script type="text/javascript" charset="utf8" src="{{ 'assets/js/dataTables.searchBuilder.min.js' | relative_url }}"></script>
69
+ <script type="text/javascript" charset="utf8" src="{{ 'assets/js/dataTables.dateTime.min.js' | relative_url }}"></script>
70
+ <script type="text/javascript" charset="utf8" src="{{ 'assets/js/searchBuilder.bootstrap5.min.js' | relative_url }}"></script>
71
+ {%- endif %}
65
72
  <script type="text/javascript">
66
73
  $(document).ready(function () {
67
74
  $('table.display').each(function() {
@@ -69,19 +76,25 @@
69
76
  lengthMenu: [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
70
77
  stateSave: true,
71
78
  searching: true,
79
+ {%- if site.theme_variables.datatables.searchbuilder %}
80
+ layout: {
81
+ top1Start: 'searchBuilder'
82
+ },
83
+ {%- endif %}
72
84
  info: true,
73
85
  pageLength: 10,
74
86
  language: {
75
87
  searchPlaceholder: "Type here..."
76
88
  },
77
- "fnDrawCallback": function ( oSettings ){
78
- var tableId = oSettings.nTable.id;
79
- if(oSettings.fnRecordsTotal() < 10){
80
- $('#'+tableId+'_length').hide();
81
- $('#'+tableId+'_paginate').hide();
82
- $('#'+tableId+'_filter').hide();
83
- $('#'+tableId+'_info').hide();
89
+ "drawCallback": function ( settings ){
90
+ var tableId = settings.nTable.id;
91
+ if(settings.fnRecordsTotal() < 10){
92
+ $('#'+tableId+'_wrapper .dt-length').hide();
93
+ $('#'+tableId+'_wrapper .dt-paging').hide();
94
+ $('#'+tableId+'_wrapper .dt-search').hide();
95
+ $('#'+tableId+'_wrapper .dt-info').hide();
84
96
  }
97
+ $('.dt-layout-table .dt-layout-full').addClass('table-responsive');
85
98
  }
86
99
  });
87
100
  })
@@ -1,7 +1,7 @@
1
1
  {%- assign sidebar = site.data.sidebars[include.sidebar]['subitems'] -%}
2
2
  {%- for sections in sidebar %}
3
3
  {%- assign section = sections.title | downcase | replace: " ", "_" %}
4
- {%- assign section_pages = site.pages | where:"type", section %}
4
+ {%- assign section_pages = site.pages | where:"type", section | where_exp: "item", "item.search_exclude != true" | where_exp: "item", "item.page_id != nil" %}
5
5
  {%- unless section_pages.size == 0 %}
6
6
  <h2>{{sections.title}}</h2>
7
7
  <div class="table-responsive">
@@ -16,14 +16,12 @@
16
16
  </thead>
17
17
  <tbody>
18
18
  {%- for section_page in section_pages %}
19
- {%- if section_page.page_id and section_page.search_exclude != true %}
20
19
  <tr>
21
20
  <td><a href="{{ section_page.url | relative_url }}">{{section_page.title}}</a></td>
22
21
  <td>{{section_page.page_id}}</td>
23
22
  <td>{{section_page.description | default: "no description"}}</td>
24
23
  <td>{{section_page.url}}</td>
25
24
  </tr>
26
- {%- endif %}
27
25
  {%- endfor %}
28
26
  </tbody>
29
27
  </table>
@@ -0,0 +1,5 @@
1
+ {%- if site.theme_variables.back_to_top or site.theme_variables.back_to_top == nil %}
2
+ <button id="back-to-top" class="btn btn-primary btn-sm rounded-pill" type="button" aria-hidden="true" onclick="topFunction()">
3
+ <i class="fa-solid fa-arrow-up"></i>
4
+ </button>
5
+ {%- endif %}
@@ -1,6 +1,6 @@
1
1
  {%- assign allcountries = site.data.countries %}
2
2
  {%- assign except = include.except | split: ", " %}
3
- <div class="row row-cols-1 row-cols-md-2 row-cols-lg-{{ include.col | default: 2 }} gy-2 gx-4 my-4 navigation-tiles">
3
+ <div class="row row-cols-1 row-cols-md-2 row-cols-lg-{{ include.col | default: 2 }} gy-4 navigation-tiles">
4
4
  {%- for current_page in site.pages | sorted %}
5
5
  {%- if current_page.title and current_page.search_exclude != true and current_page.type == include.type %}
6
6
  {%- unless except contains current_page.name %}
@@ -36,8 +36,8 @@
36
36
  {%- if include.search == true %}
37
37
  <div class="col">
38
38
  <div class="input-group">
39
- <span class="input-group-text" id="search-label">Search</span>
40
- <input type="text" id="title-search" class="form-control" onkeyup="StartSearch();" placeholder="Type here..." aria-label="{{page.type | replace: '_', ' ' |}}" aria-describedby="search-label">
39
+ <span class="input-group-text" id="search-label-tiles"><i class="fa-solid fa-magnifying-glass"></i></span>
40
+ <input type="text" id="title-search" class="form-control" onkeyup="StartSearch();" placeholder="Find your page..." aria-label="{{page.type | replace: '_', ' ' |}}" aria-describedby="search-label-tiles">
41
41
  <button class="btn btn-primary" title="Button to clear search" type="button" id="clearsearch">
42
42
  <i class="fa-solid fa-backspace"></i>
43
43
  </button>
@@ -81,6 +81,9 @@
81
81
  {%- endif %}
82
82
  <div class="col" data-affiliations="{{affiliations_classes}}">
83
83
  <div class="card h-100">
84
+ {%- if current_page.page_img %}
85
+ <div class="d-flex">
86
+ {%- endif %}
84
87
  <div class="card-body d-flex flex-column">
85
88
  <div class="d-flex align-items-center">
86
89
  {%- if current_page.type_img %}
@@ -99,7 +102,7 @@
99
102
  {%- if current_page.affiliations %}
100
103
  {%- assign alllogos = site.data.affiliations %}
101
104
  {%- assign allcountries = site.data.countries %}
102
- <div class="d-flex align-items-center gap-2">
105
+ <div class="d-flex align-items-center flex-wrap gap-2">
103
106
  <span><b><small>Affiliations:</small></b></span>
104
107
  {%- for affiliation in current_page.affiliations %}
105
108
  {%- assign filter_affiliation = alllogos | where: "name", affiliation | first %}
@@ -129,6 +132,13 @@
129
132
  </div>
130
133
  {%- endif %}
131
134
  </div>
135
+ {%- if current_page.page_img %}
136
+ {%- capture file_url -%}
137
+ {{ "/images/" | append: current_page.page_img | relative_url }}
138
+ {%- endcapture -%}
139
+ <img alt="logo of {{current_page.title}}" src="{{ file_url }}" class="page-img-sm pt-3 pe-3" />
140
+ </div>
141
+ {%- endif %}
132
142
  </div>
133
143
  </div>
134
144
  {% endunless %}
@@ -137,6 +147,7 @@
137
147
  </div>
138
148
 
139
149
 
150
+ {%- if include.affiliations == true or include.search == true %}
140
151
  <script type="text/javascript">
141
152
  /**
142
153
  * Filter cards by affiliation
@@ -218,3 +229,4 @@
218
229
  });
219
230
 
220
231
  </script>
232
+ {%- endif %}
data/_includes/toc.html CHANGED
@@ -1,9 +1,52 @@
1
+
2
+ {%- if page.page_img %}
3
+ <div id="page-img" class="d-flex flex-column">
4
+ {%- capture file_url -%}
5
+ {{ "/images/" | append: page.page_img | relative_url }}
6
+ {%- endcapture -%}
7
+ <div class="mb-4"><img src="{{ file_url }}" alt="Page image" class="page-img-lg"/></div>
8
+ {% endif %}
9
+ {%- if page.page_img %}
10
+ </div>
11
+ {% endif %}
12
+ {%- if page.toc or page.toc == nil %}
1
13
  <script>
2
14
  $(document).ready(function () {
3
- $('#toc-contents').toc({ minimumHeaders: {{site.theme_variables.toc.min_headings | default: 2 }}, listType: 'ul', classes: { list: 'list-unstyled' }, noBackToTopLinks: true, showSpeed: 0, headers: '{{site.theme_variables.toc.headings | default: 'main h2' }}' , title: '<strong class="my-2">On this page</strong><hr class="my-2">' });
15
+ // Ensure that the TOC is generated after the document is fully loaded
16
+ $('#toc-contents').toc({
17
+ minimumHeaders: {{ site.theme_variables.toc.min_headings | default: 1 }},
18
+ listType: 'ul',
19
+ classes: { list: 'list-unstyled mb-4' },
20
+ showSpeed: 0,
21
+ headers: '{{site.theme_variables.toc.headings | default: "main h2" }}',
22
+ title: '<strong class="my-2">On this page</strong><hr class="my-2">'
23
+ });
24
+ // After generating the TOC, check the hash in the URL and scroll to the anchor if present
25
+ if (window.location.hash) {
26
+ var target = $(window.location.hash);
27
+ if (target.length) {
28
+ $('html, body').animate({
29
+ scrollTop: target.offset().top
30
+ }, 0);
31
+ }
32
+ }
33
+ // Allow the browser to handle the scrolling to the anchor
34
+ $('#toc-contents a').on('click', function (e) {
35
+ e.preventDefault(); // Prevent the default link click behavior
36
+
37
+ var target = this.hash; // Get the hash (e.g., #heading-id)
38
+ var $target = $(target); // Find the element with the corresponding ID
39
+
40
+ if ($target.length) {
41
+ // Change the URL hash
42
+ window.location.hash = target;
43
+ }
44
+ });
45
+
4
46
  });
5
47
  </script>
6
- <button id="btn-toc-hide" class="btn bg-light d-xl-none hover-primary mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#toc-contents" aria-expanded="true" aria-controls="toc-contents">
48
+ <button id="btn-toc-hide" class="btn bg-light me-auto d-xl-none hover-primary mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#toc-contents" aria-expanded="true" aria-controls="toc-contents">
7
49
  <i class="fa-solid fa-up-right-and-down-left-from-center me-2"></i>On this page
8
50
  </button>
9
51
  <nav id="toc-contents" class="collapse" aria-label="Table of contents"></nav>
52
+ {% endif %}
@@ -3,8 +3,8 @@
3
3
  <a class="visually-hidden-focusable" href='#main'>Skip to content</a>
4
4
  <a class="visually-hidden-focusable" href='#footer'>Skip to footer</a>
5
5
  <nav class="navbar navbar-{{ site.theme_variables.topnav.theme | default: 'light' }} navbar-expand-lg mb-3 mb-lg-5">
6
- <div class="container">
7
- <a class="navbar-brand overflow-x-auto" href="{{ '/' | relative_url }}"><img class="{% if site.topnav_title %}me-3 {% endif %}img-fluid" alt="{{site.title}} logo" src="{{ site.theme_variables.topnav.brand_logo | default: 'assets/img/main_logo.svg' | relative_url }}">{% if site.topnav_title %}<span class="me-0 me-lg-3">{{site.topnav_title}}</span>{% endif %}</a>
6
+ <div class="container g-lg-5">
7
+ <a class="navbar-brand flex-grow-1 overflow-x-auto" href="{{ '/' | relative_url }}"><img class="{% if site.topnav_title %}me-3 {% endif %}img-fluid" alt="{{site.title}} logo" src="{{ site.theme_variables.topnav.brand_logo | default: 'assets/img/main_logo.svg' | relative_url }}">{% if site.topnav_title %}<span class="me-0 me-lg-3">{{site.topnav_title}}</span>{% endif %}</a>
8
8
  <button class="navbar-toggler text-primary" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
9
9
  <i title="navbar-toggler" class="fa-solid fa-bars"></i>
10
10
  </button>
@@ -53,7 +53,7 @@
53
53
  {%- endif %}
54
54
  {%- if site.theme_variables.topnav.twitter %}
55
55
  <li class="nav-item">
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>
56
+ <a class="nav-link ps-2 d-flex align-items-center" href="{{site.theme_variables.topnav.twitter}}"><i class="fa-brands fa-x-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 %}
@@ -74,7 +74,7 @@
74
74
  <li class="nav-item">
75
75
  <div class="position-relative">
76
76
  <form role="search" class="input-group">
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">
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..." aria-label="Search..." autocomplete="off">
78
78
  </form>
79
79
  <div id="search-results" class="search-results"></div>
80
80
  </div>