elixir-toolkit-theme 3.1.1 → 4.0.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.
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>