eclipsefdn-hugo-solstice-theme 2.0.0 → 3.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 (31) hide show
  1. package/config.toml +521 -286
  2. package/exampleSite/config/_default/config.toml +2 -2
  3. package/layouts/_default/baseof.html +0 -1
  4. package/layouts/partials/breadcrumbs.html +26 -33
  5. package/layouts/partials/featured_story_popup.html +6 -0
  6. package/layouts/partials/footer.html +60 -19
  7. package/layouts/partials/footer_js.html +1 -1
  8. package/layouts/partials/head.html +10 -10
  9. package/layouts/partials/header.html +8 -8
  10. package/layouts/partials/jumbotron.html +73 -85
  11. package/layouts/partials/main_prefix.html +16 -18
  12. package/layouts/partials/main_suffix.html +1 -18
  13. package/layouts/partials/mega_menu.html +47 -51
  14. package/layouts/partials/mobile_menu.html +43 -97
  15. package/layouts/partials/nav.html +47 -60
  16. package/layouts/partials/navbar.html +108 -29
  17. package/layouts/partials/sidebar.html +48 -54
  18. package/layouts/partials/socials.html +15 -90
  19. package/layouts/partials/toolbar.html +4 -70
  20. package/package.json +3 -3
  21. package/webpack.mix.js +4 -4
  22. package/layouts/partials/featured_story.html +0 -38
  23. package/layouts/partials/footer_links/footer-copyright.html +0 -19
  24. package/layouts/partials/footer_links/footer-eclipse-foundation.html +0 -11
  25. package/layouts/partials/footer_links/footer-legal.html +0 -12
  26. package/layouts/partials/footer_links/footer-other.html +0 -10
  27. package/layouts/partials/footer_links/footer-useful-links.html +0 -11
  28. package/layouts/partials/footer_links/links.html +0 -3
  29. package/layouts/partials/footer_links/prefix.html +0 -0
  30. package/layouts/partials/footer_links/suffix.html +0 -36
  31. package/layouts/partials/working_group_footer.html +0 -55
@@ -15,8 +15,8 @@ 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
- styles = "css/astro.css"
19
- js = "js/astro.js"
18
+ styles = "css/neptune.css"
19
+ js = "js/neptune.js"
20
20
  gcse = "011805775785170369411:p3ec0igo0qq"
21
21
  gcse_result_url = "/search"
22
22
  # eclipse_search_icon = "<i data-feather=\"search\" stroke-width=\"1\"></i>"
@@ -19,7 +19,6 @@
19
19
  </head>
20
20
  <body {{ with .Page.Params.body_class -}}class="{{ . }}"{{- end }}>
21
21
  {{ block "header" . }}{{ partial "header.html" . }}{{ end }}
22
- {{ block "featured_story" . }}{{ partial "featured_story.html" . }}{{ end }}
23
22
  {{ block "main_prefix" . }}{{ partial "main_prefix.html" . }}{{ end }}
24
23
  {{ block "main" . }}{{ .Content }}{{ end }}
25
24
  {{ block "main_suffix" . }}{{ partial "main_suffix.html" . }}{{ end }}
@@ -1,42 +1,35 @@
1
- {{/*
2
- Copyright (c) 2018, 2023 Eclipse Foundation, Inc.
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
3
4
  This program and the accompanying materials are made available under the
4
5
  terms of the Eclipse Public License v. 2.0 which is available at
5
6
  http://www.eclipse.org/legal/epl-2.0.
6
7
 
7
- Contributors:
8
- Christopher Guindon <chris.guindon@eclipse-foundation.org>
9
- Olivier Goulet <olivier.goulet@eclipse-foundation.org>
10
-
11
8
  SPDX-License-Identifier: EPL-2.0
12
- */}}
13
-
14
- {{ $breadcrumb_container := "" }}
9
+ -->
15
10
 
16
- {{ if strings.Contains .Params.container "container-fluid" }}
17
- {{ $breadcrumb_container = "container" }}
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>
18
19
  {{ end }}
19
20
 
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
-
21
+ {{ define "breadcrumb-links" }}
22
+ {{ $max_length := 32 }}
42
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 }}
@@ -5,4 +5,10 @@
5
5
  publishtarget="eclipse_org"
6
6
  type="popup"
7
7
  ></efsc-featured-story-popup>
8
+ <style>
9
+ :root {
10
+ /* Due to neptune's footer arch we need to add an offset so that the popup doesn't feels just cropped */
11
+ --efsc-popup-bottom-offset: 18rem;
12
+ }
13
+ </style>
8
14
  {{ end }}
@@ -1,32 +1,73 @@
1
- {{/*
2
- Copyright (c) 2023 Eclipse Foundation, Inc.
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
+
3
4
  This program and the accompanying materials are made available under the
4
5
  terms of the Eclipse Public License v. 2.0 which is available at
5
6
  http://www.eclipse.org/legal/epl-2.0.
6
7
 
7
- Contributors:
8
- Olivier Goulet <olivier.goulet@eclipse-foundation.org>
9
-
10
8
  SPDX-License-Identifier: EPL-2.0
11
- */}}
9
+ -->
12
10
 
13
- <p id="back-to-top">
14
- <a class="visible-xs" href="#">{{ i18n "navigation-back-to-top" }}</a>
15
- </p>
16
- <footer class="footer" id="footer">
11
+ {{ $footer_class := .Page.Params.footer_class }}
12
+ <footer class="footer {{- with $footer_class }} {{ . }}{{ end }}">
17
13
  <div class="container">
18
- {{ partial "footer_prefix.html" . }}
19
- <div class="footer-sections row equal-height-md font-bold">
20
- {{ partial "footer_links/prefix.html" . }}
21
- <div class="col-md-15">
22
- <div class="row">
23
- {{ partial "footer_links/links.html" . }}
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>
23
+ {{ if .URL }}
24
+ <a href="{{ .URL }}" {{ with .Params.class -}} class="{{ . }}" {{- end }}>{{ .Name }}</a>
25
+ {{ else }}
26
+ <button type="button" class="btn btn-link {{ with .Params.class -}} {{ . }} {{- end }}">{{ .Name }}</button>
27
+ {{ end }}
28
+ </li>
29
+ {{ end }}
30
+ </ul>
31
+ </li>
32
+ </ul>
33
+ {{ end }}
34
+ </section>
35
+ <section class="social-media-section">
36
+ <p class="subheading text-tertiary">See what we're up to</p>
37
+ {{ partial "socials.html" . }}
38
+ </section>
39
+ <section class="newsletter-section">
40
+ <p class="subheading text-tertiary">Stay up to date</p>
41
+ <h2>Subscribe to our newsletter</h2>
42
+ <form
43
+ class="newsletter-form margin-top-40"
44
+ id="mc-embedded-subscribe-form"
45
+ action="https://eclipse.us6.list-manage.com/subscribe/post?u=eaf9e1f06f194eadc66788a85&amp;id=e7538485cd&amp;f_id=00f9c2e1f0"
46
+ method="post"
47
+ novalidate
48
+ target="_blank"
49
+ >
50
+ <div class="text-field-outlined">
51
+ <input name="EMAIL" type="email" placeholder="Your email">
52
+ <button class="newsletter-form-submit" type="submit" name="subscribe" id="mc-embedded-subscribe" aria-label="Submit">
53
+ <i class="fa-solid fa-arrow-right" aria-hidden="true"></i>
54
+ </button>
24
55
  </div>
56
+ </form>
57
+ </section>
58
+ <section class="footer-bottom-section">
59
+ <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">
60
+ <div class="legal-information">
61
+ <p>Copyright &copy; Eclipse Foundation AISBL. All rights reserved.</p>
62
+ <ul class="legal-links">
63
+ <li><a href="https://www.eclipse.org/legal/privacy/">Privacy policy</a></li>
64
+ <li><a href="https://www.eclipse.org/legal/terms-of-use/">Terms of use</a></li>
65
+ <li><a href="https://www.eclipse.org/legal/compliance/">Compliance</a></li>
66
+ <li><a href="https://www.eclipse.org/legal/">Legal</a></li>
67
+ </ul>
25
68
  </div>
26
- {{ partial "footer_links/suffix.html" . }}
69
+ </section>
27
70
  </div>
28
- {{ partial "footer_links/footer-copyright.html" . }}
29
- <a href="#" class="scrollup">{{ i18n "navigation-back-to-top" }}</a>
30
71
  </div>
31
72
  </footer>
32
73
 
@@ -1,6 +1,6 @@
1
1
  <div id="footer-js">
2
2
  <!-- Placed at the end of the document so the pages load faster -->
3
- {{- $default_js := "https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/astro.min.js" -}}
3
+ {{- $default_js := "https://www.eclipse.org/public/js/neptune/main.js" -}}
4
4
  {{- with .Site.Params.js | default $default_js }}
5
5
  <script src="{{ . | relURL }}?v={{ now.Unix }}"></script>
6
6
  {{ end }}
@@ -75,16 +75,16 @@
75
75
  <link rel="alternate" href="{{ .RelPermalink }}" type="application/rss+xml" title="">
76
76
  {{ end }}
77
77
  {{ if ne .Page.Params.disable_css "true" }}
78
- {{- $default_css := "https://www.eclipse.org/public/css/astro.css" -}}
79
- {{- with .Site.Params.styles | default $default_css }}
80
- <link rel="stylesheet" href="{{ . | relURL }}?v={{ now.Unix }}">
81
- {{- end }}
82
- {{- with .Site.Params.style_overrides }}
83
- <link rel="stylesheet" href="{{ . | relURL }}?v={{ now.Unix }}">
84
- {{- end }}
85
- {{- with .Page.Params.page_css_file }}
86
- <link rel="stylesheet" href="{{ . | relURL }}?v={{ now.Unix }}">
87
- {{- end }}
78
+ {{- $default_css := "https://www.eclipse.org/public/css/neptune.css" -}}
79
+ {{- with .Site.Params.styles | default $default_css }}
80
+ <link rel="stylesheet" href="{{ . | relURL }}?v={{ now.Unix }}">
81
+ {{- end }}
82
+ {{- with .Site.Params.style_overrides }}
83
+ <link rel="stylesheet" href="{{ . | relURL }}?v={{ now.Unix }}">
84
+ {{- end }}
85
+ {{- with .Page.Params.page_css_file }}
86
+ <link rel="stylesheet" href="{{ . | relURL }}?v={{ now.Unix }}">
87
+ {{- end }}
88
88
  {{- end }}
89
89
  {{- partial "google_tag_manager.html" . }}
90
90
  {{- partial "head_variables.html" . }}
@@ -1,24 +1,24 @@
1
- {{/*
2
- Copyright (c) 2023 Eclipse Foundation, Inc.
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
3
 
4
4
  This program and the accompanying materials are made available under the
5
5
  terms of the Eclipse Public License v. 2.0 which is available at
6
6
  http://www.eclipse.org/legal/epl-2.0.
7
7
 
8
- Contributors:
9
- Olivier Goulet <olivier.goulet@eclipse-foundation.org>
10
-
11
8
  SPDX-License-Identifier: EPL-2.0
12
- */}}
9
+ -->
13
10
 
14
11
  {{ $header_wrapper_class := .Params.header_wrapper_class | default .Site.Params.header_wrapper_class }}
15
12
 
16
13
  {{ partial "google_tag_manager_no_script.html" . }}
17
- <a class="sr-only" href="#content">{{ i18n "navigation-content-skip" }}</a>
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 }}
18
19
  <header class="header-wrapper {{ $header_wrapper_class }}" id="header">
19
20
  {{ partial "toolbar.html" . }}
20
21
  {{ partial "navbar.html" . }}
21
22
  {{ partial "mobile_menu.html" . }}
22
23
  {{ partial "mega_menu.html" . }}
23
- {{ partial "jumbotron.html" . }}
24
24
  </header>
@@ -1,102 +1,90 @@
1
- {{/*
2
- Copyright (c) 2023 Eclipse Foundation, Inc.
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
3
 
4
4
  This program and the accompanying materials are made available under the
5
5
  terms of the Eclipse Public License v. 2.0 which is available at
6
6
  http://www.eclipse.org/legal/epl-2.0.
7
7
 
8
- Contributors:
9
- Olivier Goulet <olivier.goulet@eclipse-foundation.org>
10
-
11
8
  SPDX-License-Identifier: EPL-2.0
12
- */}}
9
+ -->
13
10
 
14
- {{ $show_featured_story := .Page.Params.show_featured_story | default false }}
15
- {{ $hide_jumbotron := .Page.Params.hide_jumbotron }}
16
11
  {{ $jumbotron_container := .Page.Params.jumbotron_container | default "container" }}
17
- {{ $custom_jumbotron_end := .Page.Params.custom_jumbotron_end }}
18
-
19
- {{/*
20
- We need to keep track of whether or not a jumbotron is present on the
21
- page to know where to render the featured story.
22
- */}}
23
- {{ .Scratch.Set "has_jumbotron" false }}
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" }}
24
18
 
25
- {{ if or (isset .Page.Params "headline") (eq $hide_jumbotron false) }}
26
- {{ .Scratch.Set "has_jumbotron" true }}
27
-
28
- <div class="jumbotron featured-jumbotron featured-jumbotron-dark margin-bottom-0">
29
- <div class="{{ $jumbotron_container }}">
30
- <div class="row">
31
- <div class="{{- .Params.jumbotron_class | default .Site.Params.jumbotron_class | default "col-md-20 col-md-offset-2 col-sm-18 col-sm-offset-3" }}">
32
- {{ if and (.Page.Params.headline) (ne .Page.Params.headline "") }}
33
- <h1 class="featured-jumbotron-headline">
34
- {{ if eq (.Page.Params.format_title | default .Site.Params.format_title) false }}
35
- {{ .Page.Params.headline | safeHTML }}
36
- {{ else }}
37
- {{ .Page.Params.headline | title | safeHTML }}
38
- {{ end }}
39
- </h1>
40
- {{ end }}
41
- {{ if isset .Page.Params "subtitle" }}
42
- <div class="featured-jumbotron-subtitle">{{ .Page.Params.subtitle | title | safeHTML }}</div>
43
- {{ end }}
19
+ {{ $jumbotron_background_class := .Page.Params.jumbotron_background_class | default .Site.Params.jumbotron_background_class | default "bg bg-hero-1" }}
44
20
 
45
- {{ if isset .Page.Params "tagline" }}
46
- <div class="row">
47
- <div class="{{- .Params.jumbotron_tagline_class | default .Site.Params.jumbotron_tagline_class | default "col-md-16" }}">
48
- <p class="featured-jumbotron-tagline">{{ .Page.Params.tagline | safeHTML }}</p>
49
- </div>
50
- </div>
51
- {{ end }}
21
+ {{ .Store.Set "has_jumbotron" (or (isset .Page.Params "headline") (isset .Page.Params "custom_jumbotron")) }}
22
+ {{ $has_jumbotron := .Store.Get "has_jumbotron" }}
52
23
 
53
- {{ if isset .Page.Params "custom_jumbotron" }}
54
- <div class="row">
55
- <div class="{{- .Params.custom_jumbotron_class | default .Site.Params.custom_jumbotron_class | default "col-sm-18 col-sm-offset-3"}}">
56
- {{ .Page.Params.custom_jumbotron | safeHTML }}
57
- </div>
58
- </div>
24
+ {{ if $has_jumbotron }}
25
+ <section class="featured-jumbotron fade-group {{ $jumbotron_background_class }}">
26
+ <div class="{{ $jumbotron_container }}">
27
+ <div class="{{ $jumbotron_class }}">
28
+ <div class="featured-jumbotron-heading-group">
29
+ {{ with $.Page.Params.preheadline }}
30
+ <p
31
+ class="featured-jumbotron-preheadline fade-item"
32
+ data-fade-duration="0.5"
33
+ data-fade-direction="none"
34
+ >
35
+ {{- . | safeHTML -}}
36
+ </p>
59
37
  {{ end }}
60
-
61
- {{ if isset .Page.Params "links" }}
62
- {{- with .Params.jumbotron_btn_class | default .Site.Params.jumbotron_btn_class | default "btn btn-primary" }}
63
- {{ $.Scratch.Set "jumbotron_btn" . }}
64
- {{ end }}
65
- <ul class="featured-jumbotron-links list-inline">
66
- {{ range $key,$val := index .Page.Params.links}}
67
- {{ $btn_class := "" }}
68
- {{ with (index $val 2) }}
69
- {{ $btn_class = .class }}
70
- {{ else }}
71
- {{ $btn_class = $.Scratch.Get "jumbotron_btn" }}
72
- {{ end }}
73
- <li>
74
- <a class="{{ $btn_class }}" href="{{ (index $val 0).href}}" {{ with (index $val 3) -}} id="{{ .id | safeHTMLAttr }}" {{- end }}>
75
- {{ (index $val 1).text}}
76
- </a>
77
- </li>
78
- {{ end }}
79
- </ul>
80
- {{ end }}
81
- <div class="featured-jumbotron-end">
82
- {{ if (eq $show_featured_story true) }}
83
- {{ $publish_target := .Page.Params.featured_content_publish_target | default .Site.Params.featured_content_publish_target | default "eclipse_org" }}
84
- <div
85
- class="eclipsefdn-featured-story"
86
- data-template-id="template-featured-story-jumbotron"
87
- data-publish-target="{{ $publish_target }}"
88
- >
89
- <div class="featured-container"></div>
90
- </div>
91
- {{ end }}
92
- {{ if $custom_jumbotron_end }}
93
- <div class="featured-jumbotron-end-custom">
94
- {{ $custom_jumbotron_end | safeHTML }}
95
- </div>
96
- {{ end }}
38
+ {{ with $headline }}
39
+ <h1
40
+ class="featured-jumbotron-headline fade-item"
41
+ data-fade-duration="0.5"
42
+ data-fade-direction="none"
43
+ >
44
+ {{- . | safeHTML -}}
45
+ </h1>
46
+ {{ end }}
47
+ </div>
48
+ {{ with $tagline }}
49
+ <p
50
+ class="featured-jumbotron-tagline fade-item"
51
+ data-fade-duration="0.5"
52
+ data-fade-direction="none"
53
+ >
54
+ {{- . -}}
55
+ </p>
56
+ {{ end }}
57
+ {{ if isset .Page.Params "custom_jumbotron" }}
58
+ <div class="row">
59
+ <div class="{{- .Params.custom_jumbotron_class | default .Site.Params.custom_jumbotron_class | default "col-xs-24" }}">
60
+ {{ .Page.Params.custom_jumbotron | safeHTML }}
97
61
  </div>
98
62
  </div>
99
- </div>
63
+ {{ end }}
64
+ {{ with $links }}
65
+ <ul class="featured-jumbotron-links list-inline">
66
+ {{ range $key,$val := index . }}
67
+ {{ $btn_class := "" }}
68
+ {{ with (index $val 2) }}
69
+ {{ $btn_class = .class }}
70
+ {{ else }}
71
+ {{ $btn_class = $default_btn_class }}
72
+ {{ end }}
73
+ <li>
74
+ <a
75
+ class="{{ $btn_class }} fade-item"
76
+ href="{{ (index $val 0).href }}"
77
+ {{ with (index $val 3) -}} id="{{ .id | safeHTMLAttr }}" {{- end }}
78
+ data-fade-duration="0.5"
79
+ data-fade-direction="none"
80
+ >
81
+ {{ (index $val 1).text}}
82
+ </a>
83
+ </li>
84
+ {{ end }}
85
+ </ul>
86
+ {{ end }}
100
87
  </div>
101
88
  </div>
89
+ </section>
102
90
  {{ end }}
@@ -1,26 +1,25 @@
1
- {{/*
2
- Copyright (c) 2019, 2023, 2024 Eclipse Foundation, Inc.
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
3
 
4
4
  This program and the accompanying materials are made available under the
5
5
  terms of the Eclipse Public License v. 2.0 which is available at
6
6
  http://www.eclipse.org/legal/epl-2.0.
7
7
 
8
- Contributors:
9
- Eric Poirier <eric.poirier@eclipse-foundation.org></eric.poirier>
10
- Olivier Goulet <olivier.goulet@eclipse-foundation.org>
11
-
12
8
  SPDX-License-Identifier: EPL-2.0
13
- */}}
9
+ -->
14
10
 
15
- <main>
11
+ {{ $has_jumbotron := .Store.Get "has_jumbotron" }}
12
+ <main id="main">
13
+ {{ partial "jumbotron.html" . }}
14
+ {{ partial "breadcrumbs.html" . }}
16
15
  <div class="{{- .Params.container | default .Site.Params.container | default "container padding-bottom-30"}}">
17
16
  {{ if ne .Page.Params.hide_sidebar true }}
18
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>
19
21
  <div class="{{- .Params.main_content_class | default .Site.Params.main_content_class | default "col-md-18"}}">
20
22
  {{ end }}
21
- {{ if ne .Page.Params.hide_breadcrumb true }}
22
- {{ partial "breadcrumbs.html" . }}
23
- {{ end }}
24
23
  {{ if eq .Page.Params.is_deprecated true }}
25
24
  {{ $msg := .Page.Params.deprecation_msg | default "This page is deprecated and may contain some information that is no longer relevant or accurate." }}
26
25
  <div class="alert alert-danger margin-top-20" role="alert">
@@ -29,12 +28,11 @@
29
28
  {{ end }}
30
29
 
31
30
  {{ if ne .Page.Params.hide_page_title true }}
32
- <h1>
33
- {{ if eq (.Page.Params.format_title | default .Site.Params.format_title) false }}
34
- {{ .Title | safeHTML }}
35
- {{ else }}
36
- {{ .Title | safeHTML | title }}
37
- {{ end }}
38
- </h1>
31
+ {{ if $has_jumbotron }}
32
+ <p class="h1">{{ .Title | safeHTML }}</p>
33
+ {{ else }}
34
+ <h1>{{ .Title | safeHTML }}</h1>
35
+ {{ end }}
39
36
  {{ end }}
40
37
 
38
+
@@ -1,30 +1,13 @@
1
1
  <!--
2
- Copyright (c) 2019, 2024 Eclipse Foundation, Inc.
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
3
 
4
4
  This program and the accompanying materials are made available under the
5
5
  terms of the Eclipse Public License v. 2.0 which is available at
6
6
  http://www.eclipse.org/legal/epl-2.0.
7
7
 
8
- Contributors:
9
- Eric Poirier <eric.poirier@eclipse-foundation.org>
10
-
11
8
  SPDX-License-Identifier: EPL-2.0
12
9
  -->
13
10
 
14
11
  {{ 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
12
  </div>
29
13
  </main>
30
-
@@ -1,65 +1,61 @@
1
- {{/*
2
- Copyright (c) 2023 Eclipse Foundation, Inc.
1
+ <!--
2
+ Copyright (c) 2025 Eclipse Foundation AISBL
3
3
 
4
4
  This program and the accompanying materials are made available under the
5
5
  terms of the Eclipse Public License v. 2.0 which is available at
6
6
  http://www.eclipse.org/legal/epl-2.0.
7
7
 
8
- Contributors:
9
- Olivier Goulet <olivier.goulet@eclipse-foundation.org>
10
-
11
8
  SPDX-License-Identifier: EPL-2.0
12
- */}}
9
+ -->
13
10
 
14
11
  {{ $main_menu := .Scratch.Get "main_menu" }}
15
-
16
12
  {{ $current_page := . }}
17
- {{ $hide_ad := $.Site.Params.hide_ad | default true }}
18
- {{ $header_ad_format := $.Site.Params.header_ad_format | default "ads_square" }}
19
- {{ $megaMenu := .Site.Data.mega_menu }}
20
-
21
- <div class="eclipsefdn-mega-menu">
22
- {{ range (index .Site.Menus $main_menu) }}
23
- {{ $menu_id := .Identifier | default (lower .Name) }}
24
- {{ $menu_id = printf "%s-menu" $menu_id }}
25
13
 
26
- <div class="mega-menu-submenu container hidden" data-menu-id="{{ $menu_id }}">
27
- <div class="mega-menu-submenu-featured-story">
28
-
29
- {{ if .Params.description }}
30
- <p class="mega-menu-submenu-featured-story-heading">{{ .Params.heading | default .Name }}</p>
31
- <p class="mega-menu-submenu-featured-story-text">{{ .Params.description }}</p>
32
- {{ end }}
33
-
34
- {{ with .Params.link }}
35
- <a class="mega-menu-submenu-featured-story-btn btn btn-primary" href="{{ .url }}">{{ .text }}</a>
36
- {{ end }}
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 }}
37
27
 
38
- </div>
39
- <div class="mega-menu-submenu-links-section">
40
- {{ range .Children }}
41
- <div class="mega-menu-submenu-links">
42
- <p class="menu-heading">{{ .Name }}</p>
43
- <ul>
44
- {{ range .Children }}
45
- <li>
46
- <a href="{{ .URL }}">{{ .Name }}</a>
47
- </li>
48
- {{ end }}
49
- </ul>
50
- </div>
51
- {{ end }}
52
- </div>
53
- <div class="mega-menu-submenu-ad-wrapper">
54
- {{ if eq $hide_ad false }}
55
- <div
56
- class="eclipsefdn-mega-menu-promo-content mega-menu-promo-content"
57
- data-ad-format="ads_square"
58
- data-ad-publish-to="eclipse_org_home"
59
- >
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>
60
45
  </div>
61
- {{ end }}
62
- </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>
63
57
  </div>
58
+ </div>
64
59
  {{ end }}
65
- </div>
60
+ </div>
61
+ {{ end }}