eclipsefdn-hugo-solstice-theme 0.1.21 → 0.2.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 (33) hide show
  1. package/config.toml +698 -77
  2. package/exampleSite/config/_default/config.toml +3 -3
  3. package/exampleSite/config/_default/menus.en.toml +6 -0
  4. package/exampleSite/content/_index.md +1 -1
  5. package/exampleSite/content/single_page/index.md +6 -2
  6. package/exampleSite/data/doc_params.yml +5 -0
  7. package/layouts/_default/list.html +5 -3
  8. package/layouts/_default/summary.html +6 -7
  9. package/layouts/partials/astro/breadcrumbs.html +42 -0
  10. package/layouts/partials/astro/main_suffix.html +30 -0
  11. package/layouts/partials/breadcrumbs.html +2 -31
  12. package/layouts/partials/featured_footer.html +4 -4
  13. package/layouts/partials/featured_story.html +1 -1
  14. package/layouts/partials/main_suffix.html +2 -15
  15. package/layouts/partials/mobile_menu.html +1 -1
  16. package/layouts/partials/nav.html +2 -0
  17. package/layouts/partials/neptune/breadcrumbs.html +35 -0
  18. package/layouts/partials/neptune/footer.html +67 -0
  19. package/layouts/partials/neptune/header.html +24 -0
  20. package/layouts/partials/neptune/jumbotron.html +89 -0
  21. package/layouts/partials/neptune/main_prefix.html +38 -0
  22. package/layouts/partials/neptune/main_suffix.html +13 -0
  23. package/layouts/partials/neptune/mega_menu.html +61 -0
  24. package/layouts/partials/neptune/mobile_menu.html +54 -0
  25. package/layouts/partials/neptune/nav.html +62 -0
  26. package/layouts/partials/neptune/navbar.html +130 -0
  27. package/layouts/partials/neptune/sidebar.html +73 -0
  28. package/layouts/partials/neptune/socials.html +22 -0
  29. package/layouts/partials/neptune/toolbar.html +11 -0
  30. package/layouts/partials/quicksilver/breadcrumbs.html +42 -0
  31. package/layouts/partials/quicksilver/main_suffix.html +30 -0
  32. package/package.json +2 -2
  33. package/webpack.mix.js +10 -0
@@ -15,9 +15,9 @@ baseURL = "https://webdev.eclipse.org/docs/hugo"
15
15
  keywords = ["hugo", "solstice", "eclipse foundation"]
16
16
  # logo = "images/logo/eclipse-foundation-white.svg"
17
17
  # favicon = "images/favicon.ico"
18
- layout_style = "astro"
19
- styles = "css/astro.css"
20
- js = "js/astro.js"
18
+ layout_style = "neptune"
19
+ styles = "css/neptune.css"
20
+ js = "js/neptune.js"
21
21
  gcse = "011805775785170369411:p3ec0igo0qq"
22
22
  gcse_result_url = "/search"
23
23
  # eclipse_search_icon = "<i data-feather=\"search\" stroke-width=\"1\"></i>"
@@ -16,6 +16,7 @@
16
16
  weight = 1
17
17
  parent = "examples"
18
18
  identifier = "layouts"
19
+ pre = "<i class=\"fa-solid fa-ruler\" aria-hidden></i>"
19
20
 
20
21
  [[main]]
21
22
  name = "Features"
@@ -23,6 +24,7 @@
23
24
  weight = 2
24
25
  parent = "examples"
25
26
  identifier = "features"
27
+ pre = "<i class=\"fa-solid fa-gift\" aria-hidden></i>"
26
28
 
27
29
  [[main]]
28
30
  name = "Single Page"
@@ -102,6 +104,7 @@
102
104
  weight = 1
103
105
  parent = "components"
104
106
  identifier = "solstice"
107
+ pre = "<i class=\"fa-solid fa-sun\" aria-hidden></i>"
105
108
 
106
109
  [[main]]
107
110
  name = "Events Framework"
@@ -109,6 +112,7 @@
109
112
  weight = 2
110
113
  parent = "components"
111
114
  identifier = "events"
115
+ pre = "<i class=\"fa-solid fa-calendar\" aria-hidden></i>"
112
116
 
113
117
  [[main]]
114
118
  name = "Dynamic Content"
@@ -116,6 +120,7 @@
116
120
  weight = 3
117
121
  parent = "components"
118
122
  identifier = "dynamic"
123
+ pre = "<i class=\"fa-solid fa-bolt-lightning\" aria-hidden></i>"
119
124
 
120
125
  [[main]]
121
126
  name = "Deprecated"
@@ -123,6 +128,7 @@
123
128
  weight = 4
124
129
  parent = "components"
125
130
  identifier = "deprecated"
131
+ pre = "<i class=\"fa-solid fa-ban\" aria-hidden></i>"
126
132
 
127
133
  [[main]]
128
134
  name = "Meeting Minutes"
@@ -10,7 +10,7 @@ description: "This is an example of the Eclipse Foundation Solstice theme for Hu
10
10
  date: 2018-04-05T15:50:25-04:00
11
11
  hide_page_title: true
12
12
  hide_sidebar: false
13
- hide_breadcrumb: false
13
+ hide_breadcrumb: true
14
14
  ---
15
15
 
16
16
  # Hugo Solstice theme
@@ -1,9 +1,13 @@
1
1
  ---
2
2
  title: "Single Page Example"
3
- headline: "headline"
3
+ headline: "My headline"
4
+ preheadline: "My preheadline"
5
+ subtitle: "My subtitle"
4
6
  date: 2018-04-05T16:09:45-04:00
5
7
  description: |
6
8
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed imperdiet tortor id rhoncus pulvinar. Suspendisse nec aliquam ante. Sed vel convallis ex, ac elementum nisi. Nam eros lectus, tempus sit amet lorem at, laoreet blandit enim. Vestibulum metus justo, venenatis mollis ex quis, pretium ultricies orci. Pellentesque accumsan nulla ac leo convallis ornare. Cras rhoncus sapien lacus, vel tincidunt nibh lacinia ac. Vivamus vel egestas mi. Morbi nulla ante, rutrum quis congue non, luctus vehicula dui. Sed et nisi eu est egestas rhoncus.
9
+ tagline: "Tagline"
10
+ links: [[href: "about/", text: "About"], [href: "news/", text: "News", class: "btn btn-outline-default"]]
7
11
  ---
8
12
 
9
13
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed imperdiet tortor id rhoncus pulvinar. Suspendisse nec aliquam ante. Sed vel convallis ex, ac elementum nisi. Nam eros lectus, tempus sit amet lorem at, laoreet blandit enim. Vestibulum metus justo, venenatis mollis ex quis, pretium ultricies orci. Pellentesque accumsan nulla ac leo convallis ornare. Cras rhoncus sapien lacus, vel tincidunt nibh lacinia ac. Vivamus vel egestas mi. Morbi nulla ante, rutrum quis congue non, luctus vehicula dui. Sed et nisi eu est egestas rhoncus.
@@ -14,4 +18,4 @@ Etiam nec laoreet sapien. Nulla sit amet sollicitudin nunc. Aliquam turpis magna
14
18
 
15
19
  Nullam consequat nibh massa, quis fringilla leo faucibus eu. Praesent ut urna eleifend, pretium urna eget, accumsan turpis. Aliquam malesuada vehicula nunc, sed ultrices nunc tristique molestie. Nunc lectus lectus, mattis id finibus eu, mollis ut ligula. Etiam nunc leo, semper quis lobortis sit amet, dapibus congue nunc. Nunc a metus faucibus, sollicitudin magna vitae, volutpat libero. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce sit amet tellus pretium, ornare lectus rhoncus, faucibus sem. Vestibulum gravida sollicitudin ultrices. Pellentesque convallis metus lacus, quis blandit lectus euismod ut. Aliquam pellentesque porta velit ut tempor. Curabitur eget tempor odio.
16
20
 
17
- Donec bibendum massa sapien, ut sollicitudin neque sollicitudin id. Cras mattis sollicitudin enim sit amet lacinia. Curabitur accumsan ultrices elit ac rutrum. Donec convallis at arcu non mollis. Curabitur imperdiet commodo mi, sed aliquet diam egestas pellentesque. Suspendisse malesuada, libero ut vestibulum congue, nulla diam aliquet urna, quis posuere eros ligula et metus. Pellentesque et mollis neque.
21
+ Donec bibendum massa sapien, ut sollicitudin neque sollicitudin id. Cras mattis sollicitudin enim sit amet lacinia. Curabitur accumsan ultrices elit ac rutrum. Donec convallis at arcu non mollis. Curabitur imperdiet commodo mi, sed aliquet diam egestas pellentesque. Suspendisse malesuada, libero ut vestibulum congue, nulla diam aliquet urna, quis posuere eros ligula et metus. Pellentesque et mollis neque.
@@ -141,6 +141,11 @@ items:
141
141
  - Any valid email address value
142
142
  example: example@domain.com
143
143
 
144
+ - name: "breadcrumb_title"
145
+ description: "Custom title for the breadcrumb. If not set, the page title will be used. It will be trunacted at 32 characters."
146
+ values:
147
+ - Any string value
148
+
144
149
  -
145
150
  name: format_title
146
151
  description: Formats the page title in headings and breadcrumbs to title case. If there is no value set, will default to true.
@@ -2,9 +2,11 @@
2
2
  {{ .Content }}
3
3
  {{ $paginator := .Paginate .Data.Pages }}
4
4
  {{ if ne $paginator.NumberOfElements 0 }}
5
- {{ range $paginator.Pages }}
6
- {{ .Render "summary" }}
7
- {{ end }}
5
+ <div class="news-list">
6
+ {{ range $paginator.Pages }}
7
+ {{ .Render "summary" }}
8
+ {{ end }}
9
+ </div>
8
10
  {{ template "_internal/pagination.html" . }}
9
11
  {{ end }}
10
12
  {{ end }}
@@ -10,10 +10,9 @@
10
10
 
11
11
  SPDX-License-Identifier: EPL-2.0
12
12
  -->
13
- <div class="news-list">
14
- <a href="{{- with .Params.redirect_url | default .Params.link | default .RelPermalink }} {{.}} {{- end }}" class="media media-link{{ if eq .Section "news" }} match-height-item{{ end }}">
15
- <p class="media-date">{{ .Date.Format "Monday, Jan 2, 2006" }}</p>
16
- <h4 class="media-heading">{{ .Title | safeHTML }}</h4>
17
- <p class="media-text">{{ .Params.summary | default .Params.description | default (.Plain | replaceRE "{{[\\s\\S]*?}}" "" | truncate 300) }}</p>
18
- </a>
19
- </div>
13
+
14
+ <a href="{{- with .Params.redirect_url | default .Params.link | default .RelPermalink }} {{.}} {{- end }}" class="media media-link{{ if eq .Section "news" }} match-height-item{{ end }}">
15
+ <p class="media-date">{{ .Date.Format "Monday, Jan 2, 2006" }}</p>
16
+ <h4 class="media-heading">{{ .Title | safeHTML }}</h4>
17
+ <p class="media-text">{{ .Params.summary | default .Params.description | default (.Plain | replaceRE "{{[\\s\\S]*?}}" "" | truncate 300) }}</p>
18
+ </a>
@@ -0,0 +1,42 @@
1
+ {{/*
2
+ Copyright (c) 2018, 2023 Eclipse Foundation, Inc.
3
+ This program and the accompanying materials are made available under the
4
+ terms of the Eclipse Public License v. 2.0 which is available at
5
+ http://www.eclipse.org/legal/epl-2.0.
6
+
7
+ Contributors:
8
+ Christopher Guindon <chris.guindon@eclipse-foundation.org>
9
+ Olivier Goulet <olivier.goulet@eclipse-foundation.org>
10
+
11
+ SPDX-License-Identifier: EPL-2.0
12
+ */}}
13
+
14
+ {{ $breadcrumb_container := "" }}
15
+
16
+ {{ if and (eq $.Site.Params.layout_style "astro") (strings.Contains .Params.container "container-fluid") }}
17
+ {{ $breadcrumb_container = "container" }}
18
+ {{ end }}
19
+
20
+ <div class="default-breadcrumbs hidden-print" id="breadcrumb">
21
+ <div class="{{ $breadcrumb_container }}">
22
+ <div class="row">
23
+ <div class="col-sm-24">
24
+ <ol aria-label="Breadcrumb" class="breadcrumb">
25
+ {{ template "breadcrumbnav" (dict "p1" . "p2" . "site_params" $.Site.Params) }}
26
+ </ol>
27
+ {{ define "breadcrumbnav" }}
28
+ {{ if .p1.Parent }}
29
+ {{ template "breadcrumbnav" (dict "p1" .p1.Parent "p2" .p2 "site_params" .site_params) }}
30
+ {{ else if not .p1.IsHome }}
31
+ {{ template "breadcrumbnav" (dict "p1" .p1.Site.Home "p2" .p2 "site_params" .site_params) }}
32
+ {{ end }}
33
+ <li {{ if eq .p1 .p2 }} class="active" aria-current="page"{{ end }}>
34
+ <a href="{{ .p1.Permalink }}">{{ if eq (.p1.Params.format_title | default .site_params.format_title) false }}{{ .p1.Title | safeHTML }}{{ else }}{{ .p1.Title | safeHTML | title }}{{ end }}</a>
35
+ </li>
36
+ {{ end }}
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+
42
+
@@ -0,0 +1,30 @@
1
+ <!--
2
+ Copyright (c) 2019, 2024 Eclipse Foundation, Inc.
3
+
4
+ This program and the accompanying materials are made available under the
5
+ terms of the Eclipse Public License v. 2.0 which is available at
6
+ http://www.eclipse.org/legal/epl-2.0.
7
+
8
+ Contributors:
9
+ Eric Poirier <eric.poirier@eclipse-foundation.org>
10
+
11
+ SPDX-License-Identifier: EPL-2.0
12
+ -->
13
+
14
+ {{ partial "related_links.html" .}}
15
+
16
+ {{ if ne .Page.Params.hide_sidebar true }}
17
+ {{ $sidebarLayout := .Page.Params.sidebar_layout | default .Site.Params.sidebar_layout | default "default" }}
18
+ </div>
19
+ <div class="{{- .Params.main_sidebar_class | default .Site.Params.main_sidebar_class | default "col-md-6 padding-bottom-30"}}">
20
+ {{ if eq $sidebarLayout "default" }}
21
+ {{ partial "sidebar.html" . }}
22
+ {{ else if eq $sidebarLayout "sidebar_block" }}
23
+ {{ partial "sidebar-block.html" . }}
24
+ {{ end }}
25
+ </div>
26
+ </div>
27
+ {{ end }}
28
+ </div>
29
+ </main>
30
+
@@ -11,35 +11,6 @@
11
11
  SPDX-License-Identifier: EPL-2.0
12
12
  */}}
13
13
 
14
- {{ $breadcrumb_container := "" }}
15
-
16
- {{ if ne $.Site.Params.layout_style "astro" }}
17
- {{ $breadcrumb_container = "container" }}
18
- {{ end }}
19
-
20
- {{ if and (eq $.Site.Params.layout_style "astro") (strings.Contains .Params.container "container-fluid") }}
21
- {{ $breadcrumb_container = "container" }}
22
- {{ end }}
23
-
24
- <div class="default-breadcrumbs hidden-print" id="breadcrumb">
25
- <div class="{{ $breadcrumb_container }}">
26
- <div class="row">
27
- <div class="col-sm-24">
28
- <ol aria-label="Breadcrumb" class="breadcrumb">
29
- {{ template "breadcrumbnav" (dict "p1" . "p2" . "site_params" $.Site.Params) }}
30
- </ol>
31
- {{ define "breadcrumbnav" }}
32
- {{ if .p1.Parent }}
33
- {{ template "breadcrumbnav" (dict "p1" .p1.Parent "p2" .p2 "site_params" .site_params) }}
34
- {{ else if not .p1.IsHome }}
35
- {{ template "breadcrumbnav" (dict "p1" .p1.Site.Home "p2" .p2 "site_params" .site_params) }}
36
- {{ end }}
37
- <li {{ if eq .p1 .p2 }} class="active" aria-current="page"{{ end }}>
38
- <a href="{{ .p1.Permalink }}">{{ if eq (.p1.Params.format_title | default .site_params.format_title) false }}{{ .p1.Title | safeHTML }}{{ else }}{{ .p1.Title | safeHTML | title }}{{ end }}</a>
39
- </li>
40
- {{ end }}
41
- </div>
42
- </div>
43
- </div>
44
- </div>
14
+ {{ $layout_style := $.Site.Params.layout_style | default "quicksilver" }}
45
15
 
16
+ {{ partial (printf "%s/breadcrumbs.html" $layout_style) . }}
@@ -1,10 +1,10 @@
1
1
  {{ if ne .Page.Params.show_featured_footer false }}
2
- <div class="eclipsefdn-featured-footer featured-footer" id="featured-footer" data-publish-target="{{ .Page.Params.featured_content_publish_target | default .Site.Params.featured_content_publish_target | default "eclipse_org"}}">
3
- <div class="container">
2
+ <aside class="featured-footer" id="featured-footer" data-publish-target="{{ .Page.Params.featured_content_publish_target | default .Site.Params.featured_content_publish_target | default "eclipse_org"}}">
3
+ <div class="eclipsefdn-featured-footer container-fluid">
4
4
  <div class="row">
5
5
  <div class="col-sm-24 featured-container">
6
6
  </div>
7
7
  </div>
8
8
  </div>
9
- </div>
10
- {{ end }}
9
+ </aside>
10
+ {{ end }}
@@ -26,7 +26,7 @@
26
26
  */}}
27
27
 
28
28
  {{ if $show_featured_story }}
29
- {{ if or (eq $layout_style "quicksilver") (not $has_jumbotron) }}
29
+ {{ if and (or (eq $layout_style "quicksilver") (not $has_jumbotron)) (ne $layout_style "neptune") }}
30
30
  <div class="eclipsefdn-featured-story featured-story" id="featured-story" data-publish-target="{{ .Page.Params.featured_content_publish_target | default .Site.Params.featured_content_publish_target | default "eclipse_org"}}">
31
31
  <div class="container">
32
32
  <div class="row">
@@ -11,19 +11,6 @@
11
11
  SPDX-License-Identifier: EPL-2.0
12
12
  -->
13
13
 
14
- {{ partial "related_links.html" .}}
14
+ {{ $layout_style := $.Site.Params.layout_style | default "quicksilver" }}
15
15
 
16
- {{ if ne .Page.Params.hide_sidebar true }}
17
- {{ $sidebarLayout := .Page.Params.sidebar_layout | default .Site.Params.sidebar_layout | default "default" }}
18
- </div>
19
- <div class="{{- .Params.main_sidebar_class | default .Site.Params.main_sidebar_class | default "col-md-6 padding-bottom-30"}}">
20
- {{ if eq $sidebarLayout "default" }}
21
- {{ partial "sidebar.html" . }}
22
- {{ else if eq $sidebarLayout "sidebar_block" }}
23
- {{ partial "sidebar-block.html" . }}
24
- {{ end }}
25
- </div>
26
- </div>
27
- {{ end }}
28
- </div>
29
- </main>
16
+ {{ partial (printf "%s/main_suffix.html" $layout_style) . }}
@@ -11,7 +11,7 @@
11
11
  */}}
12
12
 
13
13
  {{ $layout_style := $.Site.Params.layout_style | default "quicksilver" }}
14
- {{ $supported_layout_styles := slice "astro" }}
14
+ {{ $supported_layout_styles := slice "astro" "neptune" }}
15
15
 
16
16
  {{ if in $supported_layout_styles $layout_style }}
17
17
  {{ partial (printf "%s/mobile_menu.html" $layout_style) . }}
@@ -16,6 +16,8 @@
16
16
  {{ .Scratch.Set "main_menu" .Page.Params.main_menu }}
17
17
  {{ else if (index .Site.Menus "main") }}
18
18
  {{ .Scratch.Set "main_menu" "main" }}
19
+ {{ else if (eq .Site.Params.layout_style "neptune") }}
20
+ {{ .Scratch.Set "main_menu" "neptune" }}
19
21
  {{ else if (eq .Site.Params.layout_style "astro") }}
20
22
  {{ .Scratch.Set "main_menu" "astro" }}
21
23
  {{ else }}
@@ -0,0 +1,35 @@
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
4
+ This program and the accompanying materials are made available under the
5
+ terms of the Eclipse Public License v. 2.0 which is available at
6
+ http://www.eclipse.org/legal/epl-2.0.
7
+
8
+ SPDX-License-Identifier: EPL-2.0
9
+ -->
10
+
11
+ {{ if not .Page.Params.hide_breadcrumb }}
12
+ <nav aria-label="Breadcrumb">
13
+ <div class="container">
14
+ <ol class="breadcrumb">
15
+ {{ template "breadcrumb-links" (dict "p1" . "p2" .) }}
16
+ </ol>
17
+ </div>
18
+ </nav>
19
+ {{ end }}
20
+
21
+ {{ define "breadcrumb-links" }}
22
+ {{ $max_length := 32 }}
23
+
24
+ {{ if .p1.Parent }}
25
+ {{ template "breadcrumb-links" (dict "p1" .p1.Parent "p2" .p2 ) }}
26
+ {{ else if not .p1.IsHome }}
27
+ {{ template "breadcrumb-links" (dict "p1" .p1.Site.Home "p2" .p2 ) }}
28
+ {{ end }}
29
+ {{ $is_current_page := eq .p1.Permalink .p2.Permalink }}
30
+ {{ if $is_current_page }}
31
+ <li class="active">{{ (.p1.Params.breadcrumb_title | default .p1.Title) | safeHTML | truncate $max_length }}</li>
32
+ {{ else }}
33
+ <li><a href="{{ .p1.Permalink }}">{{ (.p1.Params.breadcrumb_title | default .p1.Title) | safeHTML | truncate $max_length }}</a></li>
34
+ {{ end }}
35
+ {{ end }}
@@ -0,0 +1,67 @@
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
4
+ This program and the accompanying materials are made available under the
5
+ terms of the Eclipse Public License v. 2.0 which is available at
6
+ http://www.eclipse.org/legal/epl-2.0.
7
+
8
+ SPDX-License-Identifier: EPL-2.0
9
+ -->
10
+
11
+ {{ $footer_class := .Page.Params.footer_class }}
12
+ <footer class="footer {{- with $footer_class }} {{ . }}{{ end }}">
13
+ <div class="container">
14
+ <div class="footer-inner">
15
+ <section class="links-section">
16
+ {{ range $.Site.Menus.footer }}
17
+ <ul>
18
+ <li>{{ .Name }}</li>
19
+ <li>
20
+ <ul>
21
+ {{ range .Children }}
22
+ <li><a href="{{ .URL }}">{{ .Name }}</a></li>
23
+ {{ end }}
24
+ </ul>
25
+ </li>
26
+ </ul>
27
+ {{ end }}
28
+ </section>
29
+ <section class="social-media-section">
30
+ <p class="subheading text-tertiary">See what we're up to</p>
31
+ {{ partial "socials.html" . }}
32
+ </section>
33
+ <section class="newsletter-section">
34
+ <p class="subheading text-tertiary">Stay up to date</p>
35
+ <h2>Subscribe to our newsletter</h2>
36
+ <form
37
+ class="newsletter-form margin-top-40"
38
+ id="mc-embedded-subscribe-form"
39
+ action="https://eclipse.us6.list-manage.com/subscribe/post?u=eaf9e1f06f194eadc66788a85&amp;id=e7538485cd&amp;f_id=00f9c2e1f0"
40
+ method="post"
41
+ novalidate
42
+ target="_blank"
43
+ >
44
+ <div class="text-field-outlined">
45
+ <input name="EMAIL" type="email" placeholder="Your email">
46
+ <button class="newsletter-form-submit" type="submit" name="subscribe" id="mc-embedded-subscribe" aria-label="Submit">
47
+ <i class="fa-solid fa-arrow-right" aria-hidden="true"></i>
48
+ </button>
49
+ </div>
50
+ </form>
51
+ </section>
52
+ <section class="footer-bottom-section">
53
+ <img class="img-responsive logo" src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-foundation-white.svg" alt="Eclipse Foundation">
54
+ <div class="legal-information">
55
+ <p>Copyright &copy; Eclipse Foundation AISBL. All rights reserved.</p>
56
+ <ul class="legal-links">
57
+ <li><a href="https://www.eclipse.org/legal/privacy/">Privacy policy</a></li>
58
+ <li><a href="https://www.eclipse.org/legal/terms-of-use/">Terms of use</a></li>
59
+ <li><a href="https://www.eclipse.org/legal/compliance/">Compliance</a></li>
60
+ <li><a href="https://www.eclipse.org/legal/">Legal</a></li>
61
+ </ul>
62
+ </div>
63
+ </section>
64
+ </div>
65
+ </div>
66
+ </footer>
67
+
@@ -0,0 +1,24 @@
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
4
+ This program and the accompanying materials are made available under the
5
+ terms of the Eclipse Public License v. 2.0 which is available at
6
+ http://www.eclipse.org/legal/epl-2.0.
7
+
8
+ SPDX-License-Identifier: EPL-2.0
9
+ -->
10
+
11
+ {{ $header_wrapper_class := .Params.header_wrapper_class | default .Site.Params.header_wrapper_class }}
12
+
13
+ {{ partial "google_tag_manager_no_script.html" . }}
14
+ <a href="#main" class="skip-link">Skip to content</a>
15
+ {{ if or (ne .Page.Params.hide_featured_story_banner true) (ne $.Site.Params.hide_featured_story_banner) }}
16
+ {{ $publish_target := .Page.Params.featured_content_publish_target | default .Site.Params.featured_content_publish_target | default "eclipse_org" }}
17
+ <div class="eclipsefdn-featured-story-banner" data-publish-target="{{ $publish_target }}"></div>
18
+ {{ end }}
19
+ <header class="header-wrapper {{ $header_wrapper_class }}" id="header">
20
+ {{ partial "toolbar.html" . }}
21
+ {{ partial "navbar.html" . }}
22
+ {{ partial "mobile_menu.html" . }}
23
+ {{ partial "mega_menu.html" . }}
24
+ </header>
@@ -0,0 +1,89 @@
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
4
+ This program and the accompanying materials are made available under the
5
+ terms of the Eclipse Public License v. 2.0 which is available at
6
+ http://www.eclipse.org/legal/epl-2.0.
7
+
8
+ SPDX-License-Identifier: EPL-2.0
9
+ -->
10
+
11
+ {{ $jumbotron_container := .Page.Params.jumbotron_container | default "container" }}
12
+ {{ $jumbotron_class := .Params.jumbotron_class | default .Site.Params.jumbotron_class | default "col-xs-24" }}
13
+ {{ $headline := .Page.Params.headline }}
14
+ {{ $preheadline := .Page.Params.preheadline }}
15
+ {{ $tagline := .Page.Params.tagline }}
16
+ {{ $links := .Page.Params.links }}
17
+ {{ $default_btn_class := "btn btn-primary" }}
18
+
19
+ {{ $jumbotron_background_class := .Page.Params.jumbotron_background_class | default .Site.Params.jumbotron_background_class | default "bg bg-hero-1" }}
20
+
21
+ {{ .Store.Set "has_jumbotron" (isset .Page.Params "headline") }}
22
+
23
+ {{ if $headline }}
24
+ <section class="featured-jumbotron fade-group {{ $jumbotron_background_class }}">
25
+ <div class="{{ $jumbotron_container }}">
26
+ <div class="{{ $jumbotron_class }}">
27
+ <div class="featured-jumbotron-heading-group">
28
+ {{ with $.Page.Params.preheadline }}
29
+ <p
30
+ class="featured-jumbotron-preheadline fade-item"
31
+ data-fade-duration="0.5"
32
+ data-fade-direction="none"
33
+ >
34
+ {{- . | safeHTML -}}
35
+ </p>
36
+ {{ end }}
37
+ {{ with $headline }}
38
+ <h1
39
+ class="featured-jumbotron-headline fade-item"
40
+ data-fade-duration="0.5"
41
+ data-fade-direction="none"
42
+ >
43
+ {{- . | safeHTML -}}
44
+ </h1>
45
+ {{ end }}
46
+ </div>
47
+ {{ with $tagline }}
48
+ <p
49
+ class="featured-jumbotron-tagline fade-item"
50
+ data-fade-duration="0.5"
51
+ data-fade-direction="none"
52
+ >
53
+ {{- . -}}
54
+ </p>
55
+ {{ end }}
56
+ {{ if isset .Page.Params "custom_jumbotron" }}
57
+ <div class="row">
58
+ <div class="{{- .Params.custom_jumbotron_class | default .Site.Params.custom_jumbotron_class | default "col-xs-24" }}">
59
+ {{ .Page.Params.custom_jumbotron | safeHTML }}
60
+ </div>
61
+ </div>
62
+ {{ end }}
63
+ {{ with $links }}
64
+ <ul class="featured-jumbotron-links list-inline">
65
+ {{ range $key,$val := index . }}
66
+ {{ $btn_class := "" }}
67
+ {{ with (index $val 2) }}
68
+ {{ $btn_class = .class }}
69
+ {{ else }}
70
+ {{ $btn_class = $default_btn_class }}
71
+ {{ end }}
72
+ <li>
73
+ <a
74
+ class="{{ $btn_class }} fade-item"
75
+ href="{{ (index $val 0).href }}"
76
+ {{ with (index $val 3) -}} id="{{ .id | safeHTMLAttr }}" {{- end }}
77
+ data-fade-duration="0.5"
78
+ data-fade-direction="none"
79
+ >
80
+ {{ (index $val 1).text}}
81
+ </a>
82
+ </li>
83
+ {{ end }}
84
+ </ul>
85
+ {{ end }}
86
+ </div>
87
+ </div>
88
+ </section>
89
+ {{ end }}
@@ -0,0 +1,38 @@
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
4
+ This program and the accompanying materials are made available under the
5
+ terms of the Eclipse Public License v. 2.0 which is available at
6
+ http://www.eclipse.org/legal/epl-2.0.
7
+
8
+ SPDX-License-Identifier: EPL-2.0
9
+ -->
10
+
11
+ {{ $has_jumbotron := .Store.Get "has_jumbotron" }}
12
+ <main id="main">
13
+ {{ partial "jumbotron.html" . }}
14
+ {{ partial "breadcrumbs.html" . }}
15
+ <div class="{{- .Params.container | default .Site.Params.container | default "container padding-bottom-30"}}">
16
+ {{ if ne .Page.Params.hide_sidebar true }}
17
+ <div class="row">
18
+ <div class='{{- .Params.main_sidebar_class | default .Site.Params.main_sidebar_class | default "col-md-6" }}'>
19
+ {{ partial "sidebar.html" . }}
20
+ </div>
21
+ <div class="{{- .Params.main_content_class | default .Site.Params.main_content_class | default "col-md-18"}}">
22
+ {{ end }}
23
+ {{ if eq .Page.Params.is_deprecated true }}
24
+ {{ $msg := .Page.Params.deprecation_msg | default "This page is deprecated and may contain some information that is no longer relevant or accurate." }}
25
+ <div class="alert alert-danger margin-top-20" role="alert">
26
+ {{ $msg }}
27
+ </div>
28
+ {{ end }}
29
+
30
+ {{ if ne .Page.Params.hide_page_title true }}
31
+ {{ if $has_jumbotron }}
32
+ <p class="h1">{{ .Title | safeHTML }}</p>
33
+ {{ else }}
34
+ <h1>{{ .Title | safeHTML }}</h1>
35
+ {{ end }}
36
+ {{ end }}
37
+
38
+
@@ -0,0 +1,13 @@
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
4
+ This program and the accompanying materials are made available under the
5
+ terms of the Eclipse Public License v. 2.0 which is available at
6
+ http://www.eclipse.org/legal/epl-2.0.
7
+
8
+ SPDX-License-Identifier: EPL-2.0
9
+ -->
10
+
11
+ {{ partial "related_links.html" .}}
12
+ </div>
13
+ </main>
@@ -0,0 +1,61 @@
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
4
+ This program and the accompanying materials are made available under the
5
+ terms of the Eclipse Public License v. 2.0 which is available at
6
+ http://www.eclipse.org/legal/epl-2.0.
7
+
8
+ SPDX-License-Identifier: EPL-2.0
9
+ -->
10
+
11
+ {{ $main_menu := .Scratch.Get "main_menu" }}
12
+ {{ $current_page := . }}
13
+
14
+ {{ $has_mega_menu := false }}
15
+ {{/* Unless if any of the menus are 3-levels deep then we will show a mega menu. */}}
16
+ {{ with (index .Site.Menus $main_menu) }}
17
+ {{ range . }}
18
+ {{ if .HasChildren }}
19
+ {{ range .Children }}
20
+ {{ if .HasChildren }}
21
+ {{ $has_mega_menu = true }}
22
+ {{ end }}
23
+ {{ end }}
24
+ {{ end }}
25
+ {{ end }}
26
+ {{ end }}
27
+
28
+ {{ if $has_mega_menu }}
29
+ <div class="mega-menu">
30
+ {{ range (index .Site.Menus $main_menu) }}
31
+ {{ $menu_id := .Identifier | default (lower .Name) }}
32
+ {{ $menu_id = printf "%s-menu" $menu_id }}
33
+ <div class="menu hidden" id="{{ $menu_id }}">
34
+ <div class="container">
35
+ <nav>
36
+ {{ range .Children }}
37
+ <div class="submenu" {{ with .Params.style -}} style="{{ . | safeCSS }}" {{- end }}>
38
+ <div class="menu-heading-group">
39
+ {{ with .Pre }}
40
+ <span class="menu-pre">
41
+ {{ . | safeHTML }}
42
+ </span>
43
+ {{ end }}
44
+ <h2 class="menu-heading">{{ .Name }}</h2>
45
+ </div>
46
+ <ul>
47
+ {{ range .Children }}
48
+ <li>
49
+ <a href="{{ .URL }}" {{ with .Params.target -}} target="{{ . | safeHTMLAttr }}" {{- end }}>{{ .Name }}</a>
50
+ {{ with .Params.external }}<i class="external-icon fa-solid fa-arrow-up-right-from-square" aria-hidden="true"></i>{{ end }}
51
+ </li>
52
+ {{ end }}
53
+ </ul>
54
+ </div>
55
+ {{ end }}
56
+ </nav>
57
+ </div>
58
+ </div>
59
+ {{ end }}
60
+ </div>
61
+ {{ end }}