elixir-toolkit-theme 4.2.0 → 6.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -5
  3. data/_includes/affiliation-logo.html +10 -0
  4. data/_includes/affiliation-tiles-page.html +27 -27
  5. data/_includes/citation-page.html +19 -17
  6. data/_includes/contributor-avatar.html +16 -0
  7. data/_includes/contributor-card.html +33 -0
  8. data/_includes/contributor-carousel-selection.html +19 -69
  9. data/_includes/contributor-minitiles-page.html +18 -108
  10. data/_includes/contributor-tiles-all.html +8 -61
  11. data/_includes/events.html +1 -1
  12. data/_includes/footer.html +16 -6
  13. data/_includes/github-buttons.html +18 -22
  14. data/_includes/head.html +36 -30
  15. data/_includes/more-information-tiles.html +5 -5
  16. data/_includes/news.html +1 -1
  17. data/_includes/page-metadata-tabs.html +92 -0
  18. data/_includes/pageids-overview.html +1 -1
  19. data/_includes/related-pages.html +1 -1
  20. data/_includes/resource-table-all.html +29 -17
  21. data/_includes/resource-table-page.html +2 -2
  22. data/_includes/scroll-top.html +1 -1
  23. data/_includes/section-navigation-tiles.html +12 -7
  24. data/_includes/sidebar.html +58 -42
  25. data/_includes/toc.html +1 -1
  26. data/_includes/topnav.html +2 -1
  27. data/_layouts/default.html +3 -3
  28. data/_layouts/page.html +5 -5
  29. data/_sass/_bootstrap_variables.scss +2 -1
  30. data/_sass/_variables.scss +11 -17
  31. data/assets/css/main.scss +287 -146
  32. data/assets/img/apple-touch-icon.png +0 -0
  33. data/assets/img/favicon.svg +24 -0
  34. data/assets/img/site.webmanifest +19 -17
  35. data/assets/img/web-app-manifest-192x192.png +0 -0
  36. data/assets/img/web-app-manifest-512x512.png +0 -0
  37. data/assets/js/custom.js +0 -0
  38. data/assets/js/main.js +133 -22
  39. data/assets/js/toc.js +66 -35
  40. metadata +12 -8
  41. data/assets/img/android-chrome-192x192.png +0 -0
  42. data/assets/img/android-chrome-512x512.png +0 -0
  43. data/assets/img/safari-pinned-tab.svg +0 -29
  44. data/assets/js/jquery.navgoco.js +0 -314
@@ -1,5 +1,12 @@
1
+ {%- assign EMPTY = "" | split: "" %}
2
+ {%- assign footer_columns = site.data.footer.columns | default: EMPTY %}
3
+ {%- assign footer_copyright = site.data.footer.copyright %}
4
+ {%- assign footer_extra_line = site.data.footer.extra_line %}
5
+ {%- if footer_columns != EMPTY or footer_copyright or footer_extra_line %}
1
6
  <footer id="footer">
7
+ {%- if footer_columns != EMPTY or footer_extra_line %}
2
8
  <div class="container py-4 g-lg-5">
9
+ {%- if footer_columns != EMPTY %}
3
10
  <div class="row g-4 d-flex justify-content-between">
4
11
  {%- for column in site.data.footer.columns %}
5
12
  {%- if column.type == "image" %}
@@ -32,19 +39,21 @@
32
39
  {%- endif %}
33
40
  {%- endfor %}
34
41
  </div>
35
- {%- unless site.data.footer.extra_line == nil %}
42
+ {%- endif %}
43
+ {%- if footer_extra_line %}
36
44
  <div class="row">
37
45
  <div class="text-center pt-4 mb-0">
38
- {{site.data.footer.extra_line | markdownify }}
46
+ {{footer_extra_line | markdownify }}
39
47
  </div>
40
48
  </div>
41
- {%- endunless %}
49
+ {%- endif %}
42
50
  </div>
51
+ {%- endif %}
43
52
  <div class="copyright py-4">
44
53
  <div class="container g-lg-5 d-flex justify-content-between flex-column flex-lg-row">
45
- {%- unless site.data.footer.copyright == nil %}
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>
47
- {%- endunless %}
54
+ {%- if footer_copyright %}
55
+ <div class="d-flex align-items-center mb-3 mb-lg-0 mx-auto mx-lg-0 text-center">{{ footer_copyright | markdownify }}</div>
56
+ {%- endif %}
48
57
  <div class="d-flex align-items-center mx-auto ms-lg-4 me-lg-0">
49
58
  <a id="ett-logo" class="text-nowrap me-lg-5 me-xxlg-0" href="https://elixir-belgium.github.io/elixir-toolkit-theme">Built with
50
59
  <svg data-name="ETT logo" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 77.2 77.12">
@@ -72,3 +81,4 @@
72
81
  </div>
73
82
  </div>
74
83
  </footer>
84
+ {%- endif %}
@@ -1,30 +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
-
5
- {%- 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 %}
6
5
  <div id="edit-me" class="btn-group">
7
- {% if show_github_edit_button %}
8
- {% assign repo_url = page.custom_repo_url | default: site.github.repository_url %}
9
- {% if page.custom_editme %}
10
- {% assign file_path = page.custom_editme %}
11
- {% else %}
12
- {% assign file_path = page.custom_file_path | default: page.path %}
13
- {% endif %}
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 %}
14
10
  <a role="button" data-bs-toggle="tooltip"
15
11
  title="Propose changes to the content of this page on {{site.theme_variables.git_host | default: 'GitHub' }}"
16
- href="{{repo_url}}/blob/{{site.github.source.branch}}/{{file_path}}"
17
- class="btn btn-sm hover-primary text-primary"><i class="fa-solid fa-pencil-alt"></i></a>
18
- {%- endif %}
19
- {%- if show_github_open_issue_button %}
12
+ href="{{repo_url}}/blob/{{repo_branch}}/{{file_path}}" class="btn btn-sm hover-primary text-primary"><i
13
+ class="fa-solid fa-pencil-alt"></i></a>
14
+ {%- endunless %}
15
+ {%- unless show_github_open_issue_button == false %}
20
16
  <a role="button" data-bs-toggle="tooltip" title="Report an issue"
21
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 }}"
22
18
  class="btn btn-sm hover-primary text-primary"><i class="fa-solid fa-exclamation"></i></a>
23
- {%- endif %}
24
- {%- if show_github_history_button %}
19
+ {%- endunless %}
20
+ {%- unless show_github_history_button == false %}
25
21
  <a role="button" data-bs-toggle="tooltip" title="Check out the history of this page"
26
- href="{{repo_url}}/commits/{{site.github.source.branch}}/{{file_path}}"
27
- class="btn btn-sm hover-primary text-primary"><i class="fa-solid fa-history"></i></a>
28
- {%- endif %}
22
+ href="{{repo_url}}/commits/{{repo_branch}}/{{file_path}}" class="btn btn-sm hover-primary text-primary"><i
23
+ class="fa-solid fa-history"></i></a>
24
+ {%- endunless %}
29
25
  </div>
30
- {%- endif %}
26
+ {%- endunless %}
data/_includes/head.html CHANGED
@@ -1,38 +1,42 @@
1
+ {%- capture keywords %}
2
+ {%- if page.related_pages %}
3
+ {%- for section in page.related_pages %}
4
+ {%- unless section[1].size == 0 %}
5
+ {%- for keywordstr in section[1] %}
6
+ {%- assign keywordpage = site.pages | where: "page_id", keywordstr | first %}
7
+ {%- if allkeywords %}
8
+ {%- assign allkeywords = allkeywords | append: ", " | append: keywordstr | append: ", " | append: keywordpage.title %}
9
+ {%- else %}
10
+ {%- assign allkeywords = allkeywords | append: keywordstr | append: ", " | append: keywordpage.title %}
11
+ {%- endif %}
12
+ {%- endfor %}
13
+ {%- endunless %}
14
+ {%- endfor %}{{allkeywords}}
15
+ {%- endif %}
16
+ {%- endcapture %}
17
+ {%- if page.type %}
18
+ {%- assign subtitle = page.type | replace: "_", " " %}
19
+ {%- endif %}
20
+ {%- capture title %}{% if page.url == "/" %}{{site.title}}{% elsif page.title %}{% if subtitle %}{{subtitle}}: {% endif %}{{ page.title }} | {{ site.title }}{%- else %}{{ site.title }}{% endif %}{% endcapture %}
21
+ {%- capture description %}{% if page.url == "/" %}{{site.description}}{% elsif page.description %}{{ page.description | strip_html | replace: '\n', ' ' | truncatewords: 30, '...' }}{% elsif page.summary %}{{ page.summary | strip_html | replace: '\n', ' ' | truncatewords: 30, '...' }}{% else %}{{ page.content | strip_html | replace: '\n', ' ' | truncatewords: 30, '...' }}{% endif %}{% endcapture %}
1
22
  <head>
2
23
  <meta charset="utf-8">
3
24
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
25
+ <title>{{title}}</title>
4
26
  <meta name="viewport" content="width=device-width, initial-scale=1">
5
- <meta name="description" content="{% if page.description %}{{ page.description | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
6
- {%- capture keywords %}
7
- {%- if page.related_pages %}
8
- {%- for section in page.related_pages %}
9
- {%- unless section[1].size == 0 %}
10
- {%- for keywordstr in section[1] %}
11
- {%- assign keywordpage = site.pages | where: "page_id", keywordstr | first %}
12
- {%- if allkeywords %}
13
- {%- assign allkeywords = allkeywords | append: ", " | append: keywordstr | append: ", " | append: keywordpage.title %}
14
- {%- else %}
15
- {%- assign allkeywords = allkeywords | append: keywordstr | append: ", " | append: keywordpage.title %}
16
- {%- endif %}
17
- {%- endfor %}
18
- {%- endunless %}
19
- {%- endfor %}{{allkeywords}}
20
- {%- endif %}
21
- {%- endcapture %}
27
+ <meta name="description" content="{{description}}">
22
28
  <meta name="keywords" content="{{keywords}}">
23
- <meta property="og:title" content="{{ site.title }}" />
24
- <meta property="og:description" content="{{ site.description }}" />
29
+ <meta property="og:title" content="{{title}}" />
30
+ <meta property="og:description" content="{{description}}" />
31
+ <meta property="og:type" content="article">
32
+ <meta property="og:url" content="{{ page.url | absolute_url }}">
25
33
  <meta property="og:image" content="//{{site.github.url | remove: 'https://' | remove: 'http://'}}/assets/img/apple-touch-icon.png" />
26
- <meta name="apple-mobile-web-app-title" content="{{site.title}}">
27
- <meta name="msapplication-TileColor" content="#{{site.theme_variables.theme_color | default: 0d6efd }}">
34
+ <meta property="og:logo" content="//{{site.github.url | remove: 'https://' | remove: 'http://'}}/assets/img/apple-touch-icon.png" />
35
+ <meta name="apple-mobile-web-app-title" content="{{title}}">
28
36
  <meta name="theme-color" content="#{{site.theme_variables.theme_color | default: 0d6efd }}">
29
37
  {%- if page.no_robots %}
30
38
  <meta name="robots" content="noindex" />
31
39
  {%- endif %}
32
- {%- if page.type %}
33
- {%- assign subtitle = page.type | replace: "_", " " | capitalize %}
34
- {%- endif %}
35
- <title>{% if page.title %}{% if subtitle %}{{subtitle}}: {% endif %}{{ page.title }} | {{ site.title }}{%- else %}{{ site.title }}{% endif %}</title>
36
40
  <!-- Syntax highlighting -->
37
41
  <link rel="stylesheet" href="{{ 'assets/css/syntax.css' | relative_url }}">
38
42
  <!-- Country flags -->
@@ -53,9 +57,10 @@
53
57
  <script src="{{ 'assets/js/bootstrap.bundle.min.js' | relative_url }}"></script>
54
58
  <script src="{{ 'assets/js/anchor.min.js' | relative_url }}"></script>
55
59
  {% if page.toc or page.toc == nil %}<script src="{{ 'assets/js/toc.js' | relative_url }}?{{site.time | date: '%s'}}"></script>{% endif %}
56
- <script src="{{ 'assets/js/jquery.navgoco.js' | relative_url }}"></script>
57
60
  <script src="{{ 'assets/js/main.js' | relative_url }}?{{site.time | date: '%s'}}"></script>
61
+ {%- unless site.theme_variables.topnav.search == false %}
58
62
  <script src="{{ 'assets/js/search.js' | relative_url }}"></script>
63
+ {%- endunless %}
59
64
  <script src="{{ 'assets/js/clipboard.min.js' | relative_url }}"></script>
60
65
  {%- if page.datatable == true %}
61
66
  <!-- Include the standard DataTables bits -->
@@ -69,11 +74,12 @@
69
74
  <script type="text/javascript" charset="utf8" src="{{ 'assets/js/dataTables.dateTime.min.js' | relative_url }}"></script>
70
75
  <script type="text/javascript" charset="utf8" src="{{ 'assets/js/searchBuilder.bootstrap5.min.js' | relative_url }}"></script>
71
76
  {%- endif %}
77
+ {%- assign pagelength = site.theme_variables.datatables.pagelength | default: 10 %}
72
78
  <script type="text/javascript">
73
79
  $(document).ready(function () {
74
80
  $('table.display').each(function() {
75
81
  $(this).DataTable({
76
- lengthMenu: [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
82
+ lengthMenu: [[{{ pagelength }}, {{ pagelength | times: 2 }}, {{ pagelength | times: 5 }}, {{ pagelength | times: 10 }}, -1], [{{ pagelength }}, {{ pagelength | times: 2 }}, {{ pagelength | times: 5 }}, {{ pagelength | times: 10 }}, "All"]],
77
83
  stateSave: true,
78
84
  searching: true,
79
85
  {%- if site.theme_variables.datatables.searchbuilder %}
@@ -82,13 +88,13 @@
82
88
  },
83
89
  {%- endif %}
84
90
  info: true,
85
- pageLength: 10,
91
+ pageLength: {{ pagelength }},
86
92
  language: {
87
93
  searchPlaceholder: "Type here..."
88
94
  },
89
95
  "drawCallback": function ( settings ){
90
96
  var tableId = settings.nTable.id;
91
- if(settings.fnRecordsTotal() < 10){
97
+ if(settings.fnRecordsTotal() < {{ pagelength }}){
92
98
  $('#'+tableId+'_wrapper .dt-length').hide();
93
99
  $('#'+tableId+'_wrapper .dt-paging').hide();
94
100
  $('#'+tableId+'_wrapper .dt-search').hide();
@@ -101,12 +107,12 @@
101
107
  });
102
108
  </script>
103
109
  {%- endif %}
110
+ <script src="{{ 'assets/js/custom.js' | relative_url }}?{{site.time | date: '%s'}}"></script>
104
111
  <!-- favicon -->
105
112
  <link rel="apple-touch-icon" sizes="180x180" href="{{ 'assets/img/apple-touch-icon.png' | relative_url }}">
106
113
  <link rel="icon" type="image/png" sizes="32x32" href="{{ 'assets/img/favicon-32x32.png' | relative_url }}">
107
114
  <link rel="icon" type="image/png" sizes="16x16" href="{{ 'assets/img/favicon-16x16.png' | relative_url }}">
108
115
  <link rel="manifest" href="{{ 'assets/img/site.webmanifest' | relative_url }}">
109
- <link rel="mask-icon" href="{{ 'assets/img/safari-pinned-tab.svg' | relative_url }}" color="#{{site.theme_variables.theme_color | default: 0d6efd }}">
110
116
  <link rel="shortcut icon" href="{{ 'assets/img/favicon.ico' | relative_url }}">
111
117
  <!-- Schema.org metadata -->
112
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">
data/_includes/news.html CHANGED
@@ -8,7 +8,7 @@
8
8
  {%- for new in news reversed%}
9
9
  <li>
10
10
  <span class="title mb-1">{{ new.name | escape }}</span>
11
- <p class="text-muted"><i class="far fa-calendar me-2"></i><time>{{ new.date | date_to_long_string }}</time>{% if new.linked_pr %} - <i class="fa-solid fa-code-branch me-2"></i><a href="{{ site.github.repository_url | append: '/pull/' | append: new.linked_pr }}">{{new.linked_pr }}</a>{% endif %}</p>
11
+ <p class="text-muted"><i class="far fa-calendar me-2"></i><time>{{ new.date | date_to_long_string }}</time>{% if new.linked_pr %} - <i class="fa-solid fa-code-branch me-2"></i><a href="{{ site.github.repository_url | append: '/pull/' | append: new.linked_pr }}"><span>{{new.linked_pr }}</span></a>{% endif %}</p>
12
12
  {%- if new.description %}
13
13
  {%- assign word_count = new.description | split: " " | size %}
14
14
  {%- if include.truncate == true and word_count > 40 %}
@@ -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 %}
@@ -1,6 +1,6 @@
1
1
  {%- assign sidebar = site.data.sidebars[include.sidebar]['subitems'] -%}
2
2
  {%- for sections in sidebar %}
3
- {%- assign section = sections.title | downcase | replace: " ", "_" %}
3
+ {%- assign section = sections.title | replace: " ", "_" %}
4
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>
@@ -23,7 +23,7 @@
23
23
  <img src="{{page_hit.type_img | relative_url}}" class="type-icon me-2" alt="{{page_hit.type}} icon">
24
24
  {%- endif %}
25
25
  {%- if page_hit.type %}
26
- <span class=""><small>{{page_hit.type | replace: "_", " " | capitalize }}</small></span>
26
+ <span class=""><small>{{page_hit.type | replace: "_", " " }}</small></span>
27
27
  {%- endif %}
28
28
  </div>
29
29
  <a class="stretched-link section-title" aria-label="Go to the {{page_hit.title}} page" href="{{ page_hit.url | relative_url }}">
@@ -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>
@@ -92,7 +104,7 @@
92
104
  {%- for tag in tool.related_pages %}
93
105
  {%- unless tag == page.page_id %}
94
106
  {%- assign related_page = site.pages | where:"page_id",tag | first %}
95
- <a href="{{related_page.url | relative_url }}" data-bs-toggle="tooltip" title="{{related_page.type | replace: '_', ' ' | capitalize }}"><span class="badge default-badge">{{ related_page.title | truncate: 25 }}</span></a>
107
+ <a href="{{related_page.url | relative_url }}" data-bs-toggle="tooltip" title="{{related_page.type | replace: '_', ' ' }}"><span class="badge default-badge">{{ related_page.title | truncate: 25 }}</span></a>
96
108
  {%- endunless %}
97
109
  {%- endfor %}
98
110
  {%- endcapture %}
@@ -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 %}
@@ -47,7 +47,7 @@
47
47
  {%- for tag in section[1] %}
48
48
  {%- unless tag == page.page_id %}
49
49
  {%- assign related_page = site.pages | where:"page_id",tag | first %}
50
- <a class="nohover" href="{{related_page.url | relative_url }}" data-bs-toggle="tooltip" title="{{related_page.type | replace: '_', ' ' | capitalize}}"><span class="badge default-badge">{{ related_page.title | truncate: 25 }}</span></a>
50
+ <a class="nohover" href="{{related_page.url | relative_url }}" data-bs-toggle="tooltip" title="{{related_page.type | replace: '_', ' ' }}"><span class="badge default-badge">{{ related_page.title | truncate: 25 }}</span></a>
51
51
  {%- endunless %}
52
52
  {%- endfor %}
53
53
  {%- endunless %}
@@ -126,7 +126,7 @@
126
126
  {%- for tag in tool.related_pages %}
127
127
  {%- unless tag == page.page_id %}
128
128
  {%- assign related_page = site.pages | where:"page_id",tag | first %}
129
- <a href="{{related_page.url | relative_url }}" data-bs-toggle="tooltip" title="{{related_page.type | replace: '_', ' ' | capitalize}}"><span class="badge default-badge">{{ related_page.title | truncate: 25 }}</span></a>
129
+ <a href="{{related_page.url | relative_url }}" data-bs-toggle="tooltip" title="{{related_page.type | replace: '_', ' ' }}"><span class="badge default-badge">{{ related_page.title | truncate: 25 }}</span></a>
130
130
  {%- endunless %}
131
131
  {%- endfor %}
132
132
  {%- endcapture %}
@@ -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 %}
@@ -37,7 +37,7 @@
37
37
  <div class="col">
38
38
  <div class="input-group">
39
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">
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>
@@ -90,7 +90,7 @@
90
90
  <img src="{{current_page.type_img | relative_url}}" class="type-icon me-2" alt="{{current_page.type}} icon">
91
91
  {%- endif %}
92
92
  {%- if current_page.type %}
93
- <span class=""><small>{{current_page.type | replace: "_", " " | capitalize }}</small></span>
93
+ <span class=""><small>{{current_page.type | replace: "_", " " }}</small></span>
94
94
  {%- endif %}
95
95
  </div>
96
96
  <a class="stretched-link section-title" aria-label="Go to the {{current_page.title}} page" href="{{ current_page.url | relative_url }}">
@@ -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) {