elixir-toolkit-theme 5.0.0 → 6.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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -8
  3. data/_data/countries.yml +36 -36
  4. data/_includes/affiliation-logo.html +10 -0
  5. data/_includes/affiliation-tiles-page.html +27 -27
  6. data/_includes/citation-page.html +19 -17
  7. data/_includes/contributor-avatar.html +16 -0
  8. data/_includes/contributor-card.html +33 -0
  9. data/_includes/contributor-carousel-selection.html +17 -68
  10. data/_includes/contributor-minitiles-page.html +18 -107
  11. data/_includes/contributor-tiles-all.html +8 -61
  12. data/_includes/events.html +5 -0
  13. data/_includes/github-buttons.html +14 -14
  14. data/_includes/head.html +3 -3
  15. data/_includes/more-information-tiles.html +5 -5
  16. data/_includes/page-metadata-tabs.html +92 -0
  17. data/_includes/resource-table-all.html +30 -18
  18. data/_includes/resource-table-page.html +2 -2
  19. data/_includes/scroll-top.html +1 -1
  20. data/_includes/section-navigation-tiles.html +10 -5
  21. data/_includes/sidebar.html +58 -42
  22. data/_includes/toc.html +1 -1
  23. data/_includes/topnav.html +2 -1
  24. data/_layouts/default.html +3 -3
  25. data/_layouts/page.html +4 -4
  26. data/_sass/_bootstrap_variables.scss +2 -1
  27. data/_sass/_variables.scss +11 -17
  28. data/assets/css/main.scss +236 -108
  29. data/assets/img/apple-touch-icon.png +0 -0
  30. data/assets/img/favicon.svg +24 -0
  31. data/assets/img/site.webmanifest +19 -17
  32. data/assets/img/web-app-manifest-192x192.png +0 -0
  33. data/assets/img/web-app-manifest-512x512.png +0 -0
  34. data/assets/js/main.js +133 -22
  35. data/assets/js/toc.js +5 -3
  36. metadata +11 -8
  37. data/assets/img/android-chrome-192x192.png +0 -0
  38. data/assets/img/android-chrome-512x512.png +0 -0
  39. data/assets/img/safari-pinned-tab.svg +0 -29
  40. data/assets/js/jquery.navgoco.js +0 -314
@@ -1,111 +1,22 @@
1
- {%- assign EMPTY = "" | split: "" -%}
2
- {%- assign contrib_list = page.contributors | default: EMPTY -%}
3
- {%- assign coord_list = page.coordinators | default: EMPTY -%}
4
- {%- if contrib_list.size > 0 or coord_list.size > 0 -%}
5
- <span class="d-block h2-like fs-2">{{site.theme_variables.contributor-minitiles-page | default: 'Contributors' }}</span>
6
- <div class="p-4 rounded mt-4 page-contributors d-flex flex-wrap gap-2">
7
- {%- assign contributors = site.data.CONTRIBUTORS %}
8
- {%- assign page_contributors = contrib_list | concat: coord_list | uniq %}
9
- {%- unless include.sort == false %}
10
- {%- assign page_contributors = page_contributors | sort %}
11
- {%- endunless %}
12
- {%- for contributor in page_contributors %}
13
- {%- assign id = contributors[contributor].git | default: 'no_github' %}
1
+ {%- assign contributors_lookup = site.data.CONTRIBUTORS %}
2
+ {%- unless include.sort == false %}
3
+ {%- assign name_list = include.contributors_list | sort %}
4
+ {%- else %}
5
+ {%- assign name_list = include.contributors_list %}
6
+ {%- endunless %}
7
+ <div class="gap-1 rounded page-contributors d-flex flex-wrap">
8
+ {%- for contributor_name in name_list %}
9
+ {%- assign data = contributors_lookup[contributor_name] %}
14
10
  <div class="dropup-center dropup d-inline-block">
15
- <button class="btn btn-sm dropdown-toggle contributor-link d-flex gap-2 align-items-center hover-primary position-relative" type="button" data-bs-toggle="dropdown" aria-expanded="false" data-bs-auto-close="outside" data-bs-offset="0,10">
16
- <div>
17
- {%- if contributors[contributor].image_url %}
18
- <div class="ratio ratio-1x1 contributor-img-sm">
19
- <div class="contr-placeholder rounded-circle" style="background-image: url({{ contributors[contributor].image_url }});">
20
- </div>
21
- </div>
22
- {%- else %}
23
- {%- if contributors[contributor].git %}
24
- <img class="img-fluid rounded-circle contributor-img-sm" src="https://avatars.githubusercontent.com/{{ id }}" alt="Avatar of the contributor {{ contributor }}">
25
- {%- else %}
26
- <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center contributor-img-sm">
27
- {%- assign contr_name = contributor | split: " " %}
28
- {%- assign initials = "" %}
29
- {%- for name in contr_name %}
30
- {%- assign initial = name | slice: 0,1 | capitalize %}
31
- {%- assign initials = initials | append: initial %}
32
- {%- endfor %}
33
- <span class="fw-bold">{{ initials }}</span>
34
- </div>
35
- {%- endif %}
36
- {%- endif %}
37
- </div>
38
- <div>
39
- {{ contributor }}
40
- </div>
41
- {%- if page.coordinators.size != 0 and page.coordinators contains contributor %}
42
- <div class="position-absolute top-0 start-100 translate-middle">
43
- <div class="rounded-circle coordinator-crown">
44
- <a data-bs-toggle="tooltip" data-bs-original-title="Coordinator of the {{page.title}} page.">
45
- <i class="fa-solid fa-crown"></i>
46
- </a>
47
- </div>
11
+ <button class="btn btn-sm dropdown-toggle contributor-link d-flex gap-2 align-items-center hover-primary rounded-pill" type="button" data-bs-toggle="dropdown" aria-expanded="false" data-bs-auto-close="outside" data-bs-offset="0,10">
12
+ <div class="ratio ratio-1x1 contributor-img-sm">
13
+ {%- include contributor-avatar.html name=contributor_name image_url=data.image_url git=data.git small=true %}
48
14
  </div>
49
- {%- endif %}
15
+ <div>{{ contributor_name }}</div>
50
16
  </button>
51
- <div class="dropdown-menu shadow p-0 border-0 contributor-cards">
52
-
53
- <div class="card">
54
- {%- assign id = contributors[contributor].git | default: 'no_github' %}
55
- <div class="position-relative">
56
- {%- if contributors[contributor].image_url %}
57
- <div class="p-3">
58
- <div class="ratio ratio-1x1">
59
- <div class="contr-placeholder rounded-circle" style="background-image: url({{ contributors[contributor].image_url }});">
60
- </div>
61
- </div>
62
- </div>
63
- {%- else %}
64
- {%- if contributors[contributor].git %}
65
- <img src="https://avatars.githubusercontent.com/{{id}}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
66
- {%- else %}
67
- <div class="p-3">
68
- <div class="ratio ratio-1x1">
69
- <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center">
70
- {%- assign contr_name = contributor | split: " " %}
71
- {%- assign initials = "" %}
72
- {%- for name in contr_name %}
73
- {%- assign initial = name | slice: 0,1 | capitalize %}
74
- {%- assign initials = initials | append: initial %}
75
- {%- endfor %}
76
- <span class="fs-2 fw-bold">{{ initials }}</span>
77
- </div>
78
- </div>
79
- </div>
80
- {%- endif %}
81
- {%- endif %}
82
- {%- if contributors[contributor].role %}
83
- <span class="badge position-absolute top-0 end-0">{{ contributors[contributor].role | capitalize }}</span>
84
- {%- endif %}
85
- </div>
86
- <div class="card-body text-center py-0">
87
- <p class="card-title">{{ stripped_name }}</p>
88
- {%- if contributors[contributor].affiliation %}
89
- <p class="card-affiliation">{{ contributors[contributor].affiliation | join: " / " }}</p>
90
- {%- endif %}
91
- </div>
92
- {%- if contributors[contributor].git or contributors[contributor].email or contributors[contributor].orcid %}
93
- <div class="card-footer">
94
- <div class="d-flex justify-content-center gap-2">
95
- {%- if contributors[contributor].git %}
96
- <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>
97
- {%- endif %}
98
- {%- if contributors[contributor].email %}
99
- <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>
100
- {%- endif %}
101
- {%- if contributors[contributor].orcid %}
102
- <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>
103
- {%- endif %}
104
- </div>
105
- </div>
106
- {%- endif %}
107
- </div>
108
- </div>
109
- </div>{%- endfor %}
17
+ <div class="dropdown-menu shadow p-0 border-0 contributor-cards">
18
+ {%- include contributor-card.html name=contributor_name image_url=data.image_url git=data.git email=data.email orcid=data.orcid role=data.role affiliation=data.affiliation %}
19
+ </div>
20
+ </div>
21
+ {%- endfor %}
110
22
  </div>
111
- {%- endif %}
@@ -1,11 +1,11 @@
1
- {%- assign contributors = site.data.CONTRIBUTORS %}
1
+ {%- assign contributors_lookup = site.data.CONTRIBUTORS %}
2
2
  {%- assign allcontrstr = nil %}
3
- {%- assign nr = include.col | default: 5 %}
3
+ {%- assign nr = include.col | default: 4 %}
4
4
  {%- if include.custom %}
5
5
  {%- assign allcontrstr = include.custom %}
6
6
  {%- elsif include.role %}
7
7
  {%- assign rolefilter = include.role | downcase %}
8
- {%- for contr in contributors %}
8
+ {%- for contr in contributors_lookup %}
9
9
  {%- assign contrrole = contr[1]['role'] | downcase %}
10
10
  {%- if rolefilter == contrrole %}
11
11
  {%- if allcontrstr %}
@@ -26,7 +26,7 @@
26
26
  {%- endif %}
27
27
  {%- endif %}
28
28
  {%- endfor %}
29
- {%- for contr in contributors %}
29
+ {%- for contr in contributors_lookup %}
30
30
  {%- if allcontrstr %}
31
31
  {%- assign allcontrstr = allcontrstr | append: ", " | append: contr[0] %}
32
32
  {%- else %}
@@ -39,64 +39,11 @@
39
39
  {%- assign allcontributors = allcontributors | sort %}
40
40
  {%- endunless %}
41
41
  {%- unless allcontributors.size == 0 %}
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">
43
- {%- for contributor in allcontributors %}
42
+ <div class="row row-cols-2 row-cols-sm-3{%- if nr < 4 %} row-cols-md-4{%- endif %} row-cols-xl-{{nr}} g-4 contributor-cards mb-4">
43
+ {%- for contributor_name in allcontributors %}
44
+ {%- assign data = contributors_lookup[contributor_name] %}
44
45
  <div class="col">
45
- <div class="card h-100">
46
- {%- assign id = contributors[contributor].git | default: 'no_github' %}
47
- <div class="position-relative">
48
- {%- if contributors[contributor].image_url %}
49
- <div class="p-3">
50
- <div class="ratio ratio-1x1">
51
- <div class="contr-placeholder rounded-circle" style="background-image: url({{ contributors[contributor].image_url }});">
52
- </div>
53
- </div>
54
- </div>
55
- {%- else %}
56
- {%- if contributors[contributor].git %}
57
- <img src="https://avatars.githubusercontent.com/{{id}}" class="card-img-top p-3 rounded-circle" alt="{{ contributor }}">
58
- {%- else %}
59
- <div class="p-3">
60
- <div class="ratio ratio-1x1">
61
- <div class="contr-placeholder rounded-circle d-flex justify-content-center align-items-center">
62
- {%- assign contr_name = contributor | split: " " %}
63
- {%- assign initials = "" %}
64
- {%- for name in contr_name %}
65
- {%- assign initial = name | slice: 0,1 | capitalize %}
66
- {%- assign initials = initials | append: initial %}
67
- {%- endfor %}
68
- <span class="fs-2 fw-bold">{{ initials }}</span>
69
- </div>
70
- </div>
71
- </div>
72
- {%- endif %}
73
- {%- endif %}
74
- {%- if contributors[contributor].role %}
75
- <span class="badge position-absolute top-0 end-0">{{ contributors[contributor].role | capitalize }}</span>
76
- {%- endif %}
77
- </div>
78
- <div class="card-body text-center py-0">
79
- <p class="card-title">{{ contributor }}</p>
80
- {%- if contributors[contributor].affiliation %}
81
- <p class="card-affiliation">{{ contributors[contributor].affiliation | join: " / " }}</p>
82
- {%- endif %}
83
- </div>
84
- {%- if contributors[contributor].git or contributors[contributor].email or contributors[contributor].orcid %}
85
- <div class="card-footer">
86
- <div class="d-flex justify-content-center gap-2">
87
- {%- if contributors[contributor].git %}
88
- <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>
89
- {%- endif %}
90
- {%- if contributors[contributor].email %}
91
- <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>
92
- {%- endif %}
93
- {%- if contributors[contributor].orcid %}
94
- <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>
95
- {%- endif %}
96
- </div>
97
- </div>
98
- {%- endif %}
99
- </div>
46
+ {%- include contributor-card.html name=contributor_name image_url=data.image_url git=data.git email=data.email orcid=data.orcid role=data.role affiliation=data.affiliation %}
100
47
  </div>
101
48
  {%- endfor %}
102
49
  </div>
@@ -2,7 +2,12 @@
2
2
  {%- if include.title == true%}
3
3
  <h2>{{include.event_type | replace: "_", " " | capitalize}}s</h2>
4
4
  {%- endif %}
5
+ {%- if include.related_pages %}
6
+ {%- assign filtered = site.data.events | where_exp: "event", "event.related_pages contains include.related_pages" %}
7
+ {%- assign events = filtered | sort: "startDate" | reverse %}
8
+ {%- else %}
5
9
  {%- assign events = site.data.events | sort: "startDate" | reverse %}
10
+ {%- endif %}
6
11
  {%- assign count = 0 %}
7
12
  <ul class="list-unstyled mt-3">
8
13
  {%- for event in events %}
@@ -1,26 +1,26 @@
1
- {%- assign show_github_edit_button = site.theme_variables.github_buttons.edit_me | default: true %}
2
- {%- assign show_github_history_button = site.theme_variables.github_buttons.history | default: true %}
3
- {%- assign show_github_open_issue_button = site.theme_variables.github_buttons.open_issue | default: true %}
4
- {%- if show_github_edit_button or show_github_history_button or show_github_open_issue_button %}
1
+ {%- assign show_github_edit_button = site.theme_variables.github_buttons.edit_me %}
2
+ {%- assign show_github_history_button = site.theme_variables.github_buttons.history %}
3
+ {%- assign show_github_open_issue_button = site.theme_variables.github_buttons.open_issue %}
4
+ {%- unless show_github_edit_button and show_github_history_button and show_github_open_issue_button == false %}
5
5
  <div id="edit-me" class="btn-group">
6
- {% if show_github_edit_button %}
7
- {% assign repo_url = page.github.repository_url | default: site.github.repository_url %}
8
- {% assign repo_branch = page.github.branch | default: site.github.source.branch %}
9
- {% assign file_path = page.github.file_path | default: page.path %}
6
+ {%- unless show_github_edit_button == false %}
7
+ {%- assign repo_url = page.github.repository_url | default: site.github.repository_url %}
8
+ {%- assign repo_branch = page.github.branch | default: site.github.source.branch %}
9
+ {%- assign file_path = page.github.file_path | default: page.path %}
10
10
  <a role="button" data-bs-toggle="tooltip"
11
11
  title="Propose changes to the content of this page on {{site.theme_variables.git_host | default: 'GitHub' }}"
12
12
  href="{{repo_url}}/blob/{{repo_branch}}/{{file_path}}" class="btn btn-sm hover-primary text-primary"><i
13
13
  class="fa-solid fa-pencil-alt"></i></a>
14
- {%- endif %}
15
- {%- if show_github_open_issue_button %}
14
+ {%- endunless %}
15
+ {%- unless show_github_open_issue_button == false %}
16
16
  <a role="button" data-bs-toggle="tooltip" title="Report an issue"
17
17
  href="{{repo_url}}/issues/new?title={{'Issue on page: ' | url_encode }}{{page.title | url_encode }}&amp;body={{'I would like to report an issue on the ' | url_encode }}{{page.title | url_encode }}{{' page at `'| url_encode }}{{page.url | url_encode }}{{'`. Description of the issue:' | url_encode }}"
18
18
  class="btn btn-sm hover-primary text-primary"><i class="fa-solid fa-exclamation"></i></a>
19
- {%- endif %}
20
- {%- if show_github_history_button %}
19
+ {%- endunless %}
20
+ {%- unless show_github_history_button == false %}
21
21
  <a role="button" data-bs-toggle="tooltip" title="Check out the history of this page"
22
22
  href="{{repo_url}}/commits/{{repo_branch}}/{{file_path}}" class="btn btn-sm hover-primary text-primary"><i
23
23
  class="fa-solid fa-history"></i></a>
24
- {%- endif %}
24
+ {%- endunless %}
25
25
  </div>
26
- {%- endif %}
26
+ {%- endunless %}
data/_includes/head.html CHANGED
@@ -31,8 +31,8 @@
31
31
  <meta property="og:type" content="article">
32
32
  <meta property="og:url" content="{{ page.url | absolute_url }}">
33
33
  <meta property="og:image" content="//{{site.github.url | remove: 'https://' | remove: 'http://'}}/assets/img/apple-touch-icon.png" />
34
+ <meta property="og:logo" content="//{{site.github.url | remove: 'https://' | remove: 'http://'}}/assets/img/apple-touch-icon.png" />
34
35
  <meta name="apple-mobile-web-app-title" content="{{title}}">
35
- <meta name="msapplication-TileColor" content="#{{site.theme_variables.theme_color | default: 0d6efd }}">
36
36
  <meta name="theme-color" content="#{{site.theme_variables.theme_color | default: 0d6efd }}">
37
37
  {%- if page.no_robots %}
38
38
  <meta name="robots" content="noindex" />
@@ -57,9 +57,10 @@
57
57
  <script src="{{ 'assets/js/bootstrap.bundle.min.js' | relative_url }}"></script>
58
58
  <script src="{{ 'assets/js/anchor.min.js' | relative_url }}"></script>
59
59
  {% if page.toc or page.toc == nil %}<script src="{{ 'assets/js/toc.js' | relative_url }}?{{site.time | date: '%s'}}"></script>{% endif %}
60
- <script src="{{ 'assets/js/jquery.navgoco.js' | relative_url }}"></script>
61
60
  <script src="{{ 'assets/js/main.js' | relative_url }}?{{site.time | date: '%s'}}"></script>
61
+ {%- unless site.theme_variables.topnav.search == false %}
62
62
  <script src="{{ 'assets/js/search.js' | relative_url }}"></script>
63
+ {%- endunless %}
63
64
  <script src="{{ 'assets/js/clipboard.min.js' | relative_url }}"></script>
64
65
  {%- if page.datatable == true %}
65
66
  <!-- Include the standard DataTables bits -->
@@ -112,7 +113,6 @@
112
113
  <link rel="icon" type="image/png" sizes="32x32" href="{{ 'assets/img/favicon-32x32.png' | relative_url }}">
113
114
  <link rel="icon" type="image/png" sizes="16x16" href="{{ 'assets/img/favicon-16x16.png' | relative_url }}">
114
115
  <link rel="manifest" href="{{ 'assets/img/site.webmanifest' | relative_url }}">
115
- <link rel="mask-icon" href="{{ 'assets/img/safari-pinned-tab.svg' | relative_url }}" color="#{{site.theme_variables.theme_color | default: 0d6efd }}">
116
116
  <link rel="shortcut icon" href="{{ 'assets/img/favicon.ico' | relative_url }}">
117
117
  <!-- Schema.org metadata -->
118
118
  {% include schemasorg.html %}
@@ -63,7 +63,7 @@
63
63
  {%- if actual_fairsharing %}
64
64
  <!-- FAIRsharing -->
65
65
  <a data-bs-toggle="collapse" href="#fairsharing_collapse" role="button" aria-expanded="false" aria-controls="fairsharing_collapse" class="d-flex align-items-baseline pb-3 border-top info-collapse">
66
- <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Links to FAIRsharing</h3><i class="fa-solid fa-chevron-down fs-5"></i>
66
+ <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Links to FAIRsharing</h3><i class="fa-solid fa-chevron-right fs-5"></i>
67
67
  </a>
68
68
  <div class="collapse info-card" id="fairsharing_collapse">
69
69
  <div class="mt-2 p-3 pb-5">
@@ -85,7 +85,7 @@
85
85
  {%- if actual_faircookbook %}
86
86
  <!-- FAIR Cookbook -->
87
87
  <a data-bs-toggle="collapse" href="#faircookbook_collapse" role="button" aria-expanded="false" aria-controls="faircookbook_collapse" class="d-flex align-items-baseline pb-3 border-top info-collapse">
88
- <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Links to FAIR Cookbook</h3><i class="fa-solid fa-chevron-down fs-5"></i>
88
+ <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Links to FAIR Cookbook</h3><i class="fa-solid fa-chevron-right fs-5"></i>
89
89
  </a>
90
90
  <div class="collapse info-card" id="faircookbook_collapse">
91
91
  <div class="mt-2 p-3 pb-5">
@@ -107,7 +107,7 @@
107
107
  {%- if actual_dsw %}
108
108
  <!-- DSW -->
109
109
  <a data-bs-toggle="collapse" href="#dsw_collapse" role="button" aria-expanded="false" aria-controls="dsw_collapse" class="d-flex align-items-baseline pb-3 border-top info-collapse">
110
- <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Links to DSW</h3><i class="fa-solid fa-chevron-down fs-5"></i>
110
+ <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Links to DSW</h3><i class="fa-solid fa-chevron-right fs-5"></i>
111
111
  </a>
112
112
  <div class="collapse info-card" id="dsw_collapse">
113
113
  <div class="mt-2 p-3 pb-5">
@@ -129,7 +129,7 @@
129
129
  {%- if actual_rdmkit %}
130
130
  <!-- RDMkit -->
131
131
  <a data-bs-toggle="collapse" href="#rdmkit_collapse" role="button" aria-expanded="false" aria-controls="rdmkit_collapse" class="d-flex align-items-baseline pb-3 border-top info-collapse">
132
- <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Links to RDMkit</h3><i class="fa-solid fa-chevron-down fs-5"></i>
132
+ <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Links to RDMkit</h3><i class="fa-solid fa-chevron-right fs-5"></i>
133
133
  </a>
134
134
  <div class="collapse info-card" id="rdmkit_collapse">
135
135
  <div class="mt-2 p-3 pb-5">
@@ -152,7 +152,7 @@
152
152
  {%- if actual_training %}
153
153
  <!-- Training -->
154
154
  <a data-bs-toggle="collapse" href="#training_collapse" role="button" aria-expanded="false" aria-controls="training_collapse" class="d-flex align-items-baseline pb-3 border-top info-collapse">
155
- <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Training</h3><i class="fa-solid fa-chevron-down fs-5"></i>
155
+ <h3 class="mb-0 flex-grow-1 mt-3 text-dark">Training</h3><i class="fa-solid fa-chevron-right fs-5"></i>
156
156
  </a>
157
157
  <div class="collapse info-card" id="training_collapse">
158
158
  <div class="mt-2 p-3 pb-5">
@@ -0,0 +1,92 @@
1
+ {%- comment -%} Check if any tab has actual content (not empty arrays) {%- endcomment -%}
2
+ {%- assign has_contributors = false -%}
3
+ {%- assign has_coordinators = false -%}
4
+ {%- assign has_editors = false -%}
5
+ {%- assign has_affiliations = false -%}
6
+ {%- assign has_citations = false -%}
7
+
8
+ {%- if page.contributors and page.contributors.size > 0 -%}{%- assign has_contributors = true -%}{%- endif -%}
9
+ {%- if page.coordinators and page.coordinators.size > 0 -%}{%- assign has_coordinators = true -%}{%- endif -%}
10
+ {%- if page.editors and page.editors.size > 0 -%}{%- assign has_editors = true -%}{%- endif -%}
11
+ {%- if page.affiliations and page.affiliations.size > 0 -%}{%- assign has_affiliations = true -%}{%- endif -%}
12
+ {%- if page.page_citation -%}{%- assign has_citations = true -%}{%- endif -%}
13
+
14
+ {% if has_contributors or has_coordinators or has_editors or has_affiliations or has_citations %}
15
+
16
+ {%- comment -%} Determine which tab should be active by default {%- endcomment -%}
17
+ {%- assign first_tab = nil -%}
18
+ {%- unless first_tab -%}{%- if has_contributors -%}{%- assign first_tab = "contributors" -%}{%- endif -%}{%- endunless -%}
19
+ {%- unless first_tab -%}{%- if has_coordinators -%}{%- assign first_tab = "coordinators" -%}{%- endif -%}{%- endunless -%}
20
+ {%- unless first_tab -%}{%- if has_editors -%}{%- assign first_tab = "editors" -%}{%- endif -%}{%- endunless -%}
21
+ {%- unless first_tab -%}{%- if has_affiliations -%}{%- assign first_tab = "affiliations" -%}{%- endif -%}{%- endunless -%}
22
+ {%- unless first_tab -%}{%- if has_citations -%}{%- assign first_tab = "citations" -%}{%- endif -%}{%- endunless -%}
23
+
24
+ <div class="page-metadata p-4 mt-5 rounded">
25
+ <nav>
26
+ <div class="nav nav-tabs mb-3" id="nav-credits" role="tablist">
27
+ {%- if has_contributors %}
28
+ <button class="nav-link {% if first_tab == 'contributors' %}active{% endif %}" id="credits-contributors-tab" data-bs-toggle="tab" data-bs-target="#credits-contributors" type="button" role="tab" aria-controls="credits-contributors" aria-selected="{% if first_tab == 'contributors' %}true{% else %}false{% endif %}">
29
+ <i class="fa-solid fa-users me-2"></i>
30
+ Contributors
31
+ </button>
32
+ {%- endif %}
33
+ {%- if has_coordinators %}
34
+ <button class="nav-link {% if first_tab == 'coordinators' %}active{% endif %}" id="credits-coordinators-tab" data-bs-toggle="tab" data-bs-target="#credits-coordinators" type="button" role="tab" aria-controls="credits-coordinators" aria-selected="{% if first_tab == 'coordinators' %}true{% else %}false{% endif %}">
35
+ <i class="fa-solid fa-crown me-2"></i>
36
+ Coordinators
37
+ </button>
38
+ {%- endif %}
39
+ {%- if has_editors %}
40
+ <button class="nav-link {% if first_tab == 'editors' %}active{% endif %}" id="credits-editors-tab" data-bs-toggle="tab" data-bs-target="#credits-editors" type="button" role="tab" aria-controls="credits-editors" aria-selected="{% if first_tab == 'editors' %}true{% else %}false{% endif %}">
41
+ <i class="fa-solid fa-comment-dots me-2"></i>
42
+ Editors
43
+ </button>
44
+ {% endif %}
45
+ {%- if has_affiliations %}
46
+ <button class="nav-link {% if first_tab == 'affiliations' %}active{% endif %}" id="credits-affiliations-tab" data-bs-toggle="tab" data-bs-target="#credits-affiliations" type="button" role="tab" aria-controls="credits-affiliations" aria-selected="{% if first_tab == 'affiliations' %}true{% else %}false{% endif %}">
47
+ <i class="fa-solid fa-building-columns me-2"></i>
48
+ Affiliations
49
+ </button>
50
+ {%- endif %}
51
+ {%- if has_citations %}
52
+ <button class="nav-link {% if first_tab == 'citations' %}active{% endif %}" id="credits-cite-tab" data-bs-toggle="tab" data-bs-target="#credits-citations" type="button" role="tab" aria-controls="credits-cite" aria-selected="{% if first_tab == 'citations' %}true{% else %}false{% endif %}">
53
+ <i class="fa-solid fa-quote-left me-2"></i>
54
+ Citation
55
+ </button>
56
+ {%- endif %}
57
+ </div>
58
+ </nav>
59
+
60
+ <div class="tab-content" id="nav-creditsContent">
61
+ {%- if has_contributors %}
62
+ <div class="tab-pane {% if first_tab == 'contributors' %}show active{% endif %}" id="credits-contributors" role="tabpanel">
63
+ {% include contributor-minitiles-page.html contributors_list=page.contributors sort=site.theme_variables.page_metadata.contributors_sort %}
64
+ </div>
65
+ {%- endif %}
66
+ {%- if has_coordinators %}
67
+ <div class="tab-pane {% if first_tab == 'coordinators' %}show active{% endif %}" id="credits-coordinators" role="tabpanel">
68
+ <div class="coordinators">
69
+ {% include contributor-minitiles-page.html contributors_list=page.coordinators sort=site.theme_variables.page_metadata.coordinators_sort %}
70
+ </div>
71
+ </div>
72
+ {%- endif %}
73
+ {%- if has_editors %}
74
+ <div class="tab-pane {% if first_tab == 'editors' %}show active{% endif %}" id="credits-editors" role="tabpanel">
75
+ <div class="editors">
76
+ {% include contributor-minitiles-page.html contributors_list=page.editors sort=site.theme_variables.page_metadata.editors_sort %}
77
+ </div>
78
+ </div>
79
+ {%- endif %}
80
+ {%- if has_affiliations %}
81
+ <div class="tab-pane {% if first_tab == 'affiliations' %}show active{% endif %}" id="credits-affiliations" role="tabpanel">
82
+ {% include affiliation-tiles-page.html affiliations_list=page.affiliations sort=site.theme_variables.page_metadata.affiliations_sort %}
83
+ </div>
84
+ {%- endif %}
85
+ {%- if has_citations %}
86
+ <div class="tab-pane {% if first_tab == 'citations' %}show active{% endif %}" id="credits-citations" role="tabpanel">
87
+ {% include citation-page.html contributors_list=page.contributors sort=site.theme_variables.page_metadata.contributors_sort %}
88
+ </div>
89
+ {%- endif %}
90
+ </div>
91
+ </div>
92
+ {% endif %}
@@ -26,7 +26,7 @@
26
26
  {%- endif %}
27
27
  {% if site.theme_variables.headings.resource-table-all-collapse %}<h3 class="mb-0 mt-3 flex-grow-1 text-dark">{% else %}<h2 class="h2-like fs-2">{% endif %}{{site.theme_variables.headings.resource-table-all | default: 'Tools and resources on this page' }}{% if site.theme_variables.headings.resource-table-all-collapse %}</h3>{% else % %}</h2>{% endif %}
28
28
  {%- if site.theme_variables.headings.resource-table-all-collapse %}
29
- <i class="fa-solid fa-chevron-down fs-5"></i>
29
+ <i class="fa-solid fa-chevron-right fs-5"></i>
30
30
  </a>
31
31
  <div class="collapse info-card" id="tools_collapse">
32
32
  {%- endif %}
@@ -57,21 +57,14 @@
57
57
  <tbody>
58
58
  {%- for tool in tools %}
59
59
  <tr>
60
- {%- assign instances_tool = 0 %}
61
- {%- assign query = "related_pages." | append: page.type %}
62
- {%- for country_page in country_pages %}
63
- {%- assign instance_matches = country_page.national_resources | where: "instance_of", tool.id | where_exp:"resource","resource.related_pages != nil" | where: query, include.tag %}
64
- {%- unless instance_matches.size == 0 %}
65
- {%- assign instances_tool = instances_tool | plus: instance_matches.size %}
66
- {%- endunless %}
67
- {%- endfor %}
60
+ {%- assign instances_tool = tool.instances | size %}
68
61
  {% if tool.url %}
69
62
  <td><a href="{{tool.url}}">{{tool.name}}</a></td>
70
63
  {%- else %}
71
64
  <td>{{tool.name}}</td>
72
65
  {%- endif %}
73
66
  <td>{{tool.description}}
74
- {%- if tool.instance_of or tool.how_to_access or instances_tool != 0 != 0 and include.tag != nil %}
67
+ {%- if tool.instance_of or tool.how_to_access or instances_tool != 0 %}
75
68
  {%- assign linked_tool = site.data.tool_and_resource_list | where:"id", tool.instance_of | first %}
76
69
  <div class="d-block mt-1">
77
70
  {%- if linked_tool %}
@@ -80,11 +73,30 @@
80
73
  {%- if tool.how_to_access %}
81
74
  <span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" title="{{tool.how_to_access}}"><span class="badge text-primary border border-primary"> <i class="fa-solid fa-key"></i></span></span>
82
75
  {%- endif %}
83
- {%- unless instances_tool == 0 or include.tag == nil %}
84
- <!-- <a href="#national-resources-button">
85
- <span class="badge text-white bg-primary"><i class="fa-solid fa-arrow-circle-down me-2"></i>Different instances available</span>
86
- </a> -->
87
- {%- endunless %}
76
+ {%- if instances_tool > 0 %}
77
+ {%- assign dropdown_id = 'instances-dd-' | append: forloop.index0 %}
78
+ <div class="dropdown d-inline-block">
79
+ <button class="btn btn-badge btn-outline-primary dropdown-toggle"
80
+ type="button"
81
+ id="{{ dropdown_id }}"
82
+ data-bs-toggle="dropdown"
83
+ aria-expanded="false">
84
+ <i class="fa-solid fa-globe me-2"></i>Instances
85
+ </button>
86
+ <ul class="dropdown-menu" aria-labelledby="{{ dropdown_id }}">
87
+ {%- for inst in tool.instances %}
88
+ <li>
89
+ <a class="dropdown-item no-ext-icon" href="{{ inst.url }}">
90
+ {{ inst.name }}
91
+ {%- if inst.country_code.size != 0 %}
92
+ <span class="flag-icon ms-2 shadow-sm flag-icon-{{ inst.country_code | downcase }}"></span>
93
+ {%- endif %}
94
+ </a>
95
+ </li>
96
+ {%- endfor %}
97
+ </ul>
98
+ </div>
99
+ {%- endif %}
88
100
  </div>
89
101
  {%- endif %}
90
102
  </td>
@@ -108,7 +120,7 @@
108
120
  <a data-bs-toggle="tooltip" data-bs-original-title="FAIRsharing collection" href="https://fairsharing.org/{{tool.registry.fairsharing-coll}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-database me-2"></i>Standards/Databases</span></a>
109
121
  {%- endif %}
110
122
  {%- if tool.registry.tess and tool.registry.tess != "NA" %}
111
- <a data-bs-toggle="tooltip" data-bs-original-title="TeSS" href="https://tess.elixir-europe.org/search?q={{tool.registry.tess}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-graduation-cap me-2"></i>Training</span></a>
123
+ <a data-bs-toggle="tooltip" data-bs-original-title="TeSS" href='https://tess.elixir-europe.org/search?q="{{tool.registry.tess}}"'><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-graduation-cap me-2"></i>Training</span></a>
112
124
  {%- endif %}
113
125
  {%- if tool.registry.europmc and tool.registry.europmc != "NA" %}
114
126
  <a data-bs-toggle="tooltip" data-bs-original-title="EuroPMC" href="https://europepmc.org/article/MED/{{tool.registry.europmc}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-book me-2"></i>Publication</span></a>
@@ -137,7 +149,7 @@
137
149
  {%- endif %}
138
150
  <h3 class="{% if site.theme_variables.headings.resource-table-all-collapse %}mb-0 mt-3 flex-grow-1 text-dark {% endif %}">National resources</h3>
139
151
  {%- if site.theme_variables.headings.resource-table-all-collapse %}
140
- <i class="fa-solid fa-chevron-down fs-5"></i>
152
+ <i class="fa-solid fa-chevron-right fs-5"></i>
141
153
  </a>
142
154
  <div class="collapse info-card" id="nat_tools_collapse">
143
155
  {%- endif %}
@@ -213,7 +225,7 @@
213
225
  <a data-bs-toggle="tooltip" data-bs-original-title="FAIRsharing collection" href="https://fairsharing.org/{{tool.registry.fairsharing-coll}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-database me-2"></i>Standards/Databases</span></a>
214
226
  {%- endif %}
215
227
  {%- if tool.registry.tess and tool.registry.tess != "NA" %}
216
- <a data-bs-toggle="tooltip" data-bs-original-title="TeSS" href="https://tess.elixir-europe.org/search?q={{tool.registry.tess}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-graduation-cap me-2"></i>Training</span></a>
228
+ <a data-bs-toggle="tooltip" data-bs-original-title="TeSS" href='https://tess.elixir-europe.org/search?q="{{tool.registry.tess}}"'><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-graduation-cap me-2"></i>Training</span></a>
217
229
  {%- endif %}
218
230
  {%- if tool.registry.europmc and tool.registry.europmc != "NA" %}
219
231
  <a data-bs-toggle="tooltip" data-bs-original-title="EuroPMC" href="https://europepmc.org/article/MED/{{tool.registry.europmc}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-book me-2"></i>Publication</span></a>
@@ -68,7 +68,7 @@
68
68
  <a data-bs-toggle="tooltip" data-bs-original-title="FAIRsharing collection" href="https://fairsharing.org/{{tool.registry.fairsharing-coll}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-database me-2"></i>Standards/Databases</span></a>
69
69
  {%- endif %}
70
70
  {%- if tool.registry.tess %}
71
- <a data-bs-toggle="tooltip" data-bs-original-title="TeSS" href="https://tess.elixir-europe.org/search?q={{tool.registry.tess}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-graduation-cap me-2"></i>Training</span></a>
71
+ <a data-bs-toggle="tooltip" data-bs-original-title="TeSS" href='https://tess.elixir-europe.org/search?q="{{tool.registry.tess}}"'><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-graduation-cap me-2"></i>Training</span></a>
72
72
  {%- endif %}
73
73
  {%- if tool.registry.europmc %}
74
74
  <a data-bs-toggle="tooltip" data-bs-original-title="EuroPMC" href="https://europepmc.org/article/MED/{{tool.registry.europmc}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-book me-2"></i>Publication</span></a>
@@ -142,7 +142,7 @@
142
142
  <a data-bs-toggle="tooltip" data-bs-original-title="FAIRsharing collection" href="https://fairsharing.org/{{tool.registry.fairsharing-coll}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-database me-2"></i>Standards/Databases</span></a>
143
143
  {%- endif %}
144
144
  {%- if tool.registry.tess %}
145
- <a data-bs-toggle="tooltip" data-bs-original-title="TeSS" href="https://tess.elixir-europe.org/search?q={{tool.registry.tess}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-graduation-cap me-2"></i>Training</span></a>
145
+ <a data-bs-toggle="tooltip" data-bs-original-title="TeSS" href='https://tess.elixir-europe.org/search?q={{tool.registry.tess}}"'><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-graduation-cap me-2"></i>Training</span></a>
146
146
  {%- endif %}
147
147
  {%- if tool.registry.europmc %}
148
148
  <a data-bs-toggle="tooltip" data-bs-original-title="EuroPMC" href="https://europepmc.org/article/MED/{{tool.registry.europmc}}"><span class="badge bg-dark text-white hover-primary"><i class="fa-solid fa-book me-2"></i>Publication</span></a>
@@ -1,5 +1,5 @@
1
1
  {%- if site.theme_variables.back_to_top or site.theme_variables.back_to_top == nil %}
2
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>
3
+ <i class="fa-solid fa-arrow-up"></i><span class="visually-hidden">Back to top button</span>
4
4
  </button>
5
5
  {%- endif %}
@@ -164,7 +164,7 @@
164
164
  }
165
165
  const cols = document.querySelectorAll(".navigation-tiles .col");
166
166
  for (col of cols) {
167
- const colCategories = col.getAttribute("data-affiliations").split(" ");
167
+ const colCategories = (col.getAttribute("data-affiliations") ?? "").split(" ");
168
168
  if (colCategories.indexOf(this.value) != -1 || this.value === "reset") {
169
169
  col.classList.remove("d-none");
170
170
  } else {
@@ -181,7 +181,7 @@
181
181
  document.getElementById("affiliations-input").selectedIndex = null;
182
182
  const cols = document.querySelectorAll(".navigation-tiles .col");
183
183
  for (col of cols) {
184
- const colCategories = col.getAttribute("data-affiliations").split(" ");
184
+ const colCategories = (col.getAttribute("data-affiliations") ?? "").split(" ");
185
185
  col.classList.remove("d-none");
186
186
  }
187
187
  }
@@ -198,13 +198,17 @@
198
198
  const input = document.getElementById("title-search");
199
199
  if (input) {
200
200
  const cols = document.querySelectorAll(".navigation-tiles .col");
201
- let filter = input.value.toLowerCase();
201
+ const filter = input.value.toLowerCase();
202
+
202
203
  var affiliations = document.getElementById('affiliations-input');
203
204
  if (affiliations) {
204
205
  document.getElementById("affiliations-input").selectedIndex = null;
205
206
  }
207
+
206
208
  for (let i = 0; i < cols.length; i++) {
207
- let body = cols[i].querySelector(".card-body");
209
+ let body = cols[i].querySelector(".card-body") || cols[i].querySelector(".section-title");
210
+ if (!body) continue; // skip cols that don’t have searchable content
211
+
208
212
  if (body.innerText.toLowerCase().indexOf(filter) > -1) {
209
213
  cols[i].classList.remove("d-none");
210
214
  } else {
@@ -212,7 +216,8 @@
212
216
  }
213
217
  }
214
218
  }
215
- }
219
+ };
220
+
216
221
  $(document).ready(function () {
217
222
  var clearsearch = document.getElementById("clearsearch");
218
223
  if (clearsearch) {