You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2026/10/05 22:14:41 UTC
(james-site) 01/01: Antora: style libe homepage
This is an automated email from the ASF dual-hosted git repository.
chibenwa pushed a commit to branch styles
in repository https://gitbox.apache.org/repos/asf/james-site.git
commit 3558c64837698114d82cd5090b45d15ffc3ba7b8
Author: Benoit TELLIER <bt...@linagora.com>
AuthorDate: Tue Oct 6 00:14:22 2026 +0200
Antora: style libe homepage
---
doc-sites/ui-overrides/css/james-theme.css | 341 +++++++++++++++++++++
doc-sites/ui-overrides/font/POPPINS-OFL.txt | 93 ++++++
.../font/poppins-latin-400-normal.woff2 | Bin 0 -> 7884 bytes
.../font/poppins-latin-500-normal.woff2 | Bin 0 -> 7748 bytes
.../font/poppins-latin-600-normal.woff2 | Bin 0 -> 8000 bytes
doc-sites/ui-overrides/img/background.jpg | Bin 0 -> 40288 bytes
doc-sites/ui-overrides/partials/head-styles.hbs | 2 +
doc-sites/ui-overrides/partials/header-content.hbs | 6 +-
8 files changed, 439 insertions(+), 3 deletions(-)
diff --git a/doc-sites/ui-overrides/css/james-theme.css b/doc-sites/ui-overrides/css/james-theme.css
new file mode 100644
index 000000000..0b7a610f5
--- /dev/null
+++ b/doc-sites/ui-overrides/css/james-theme.css
@@ -0,0 +1,341 @@
+/*
+ * Apache James theme, layered on top of the default Antora UI stylesheet (site.css).
+ *
+ * Mimics the look of the historical https://james.apache.org/ website: ember background,
+ * dark brown navigation bar, orange accents, Poppins typeface and content laid out on
+ * a white card.
+ *
+ * Poppins is self-hosted (SIL Open Font License 1.1, see ../font/POPPINS-OFL.txt) so that
+ * no request is made to third party font providers.
+ */
+
+@font-face {
+ font-family: "Poppins";
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url(../font/poppins-latin-400-normal.woff2) format("woff2");
+}
+
+@font-face {
+ font-family: "Poppins";
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url(../font/poppins-latin-500-normal.woff2) format("woff2");
+}
+
+@font-face {
+ font-family: "Poppins";
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url(../font/poppins-latin-600-normal.woff2) format("woff2");
+}
+
+:root {
+ --james-orange: #ff6d03;
+ --james-orange-dark: #ca5405;
+ --james-brown: #3e1309;
+ --james-brown-dark: #2a0d07;
+ --james-brown-light: #833308;
+ --james-text: #4a4a4a;
+ --james-heading: #2a0d07;
+ --james-panel: #fdf8f5;
+ --james-panel-border: #f0e2d9;
+ --james-card-radius: 0.5rem;
+}
+
+/* Page background */
+
+html {
+ background-color: var(--james-brown-dark);
+}
+
+body {
+ background: url(../img/background.jpg) no-repeat center top var(--james-brown-dark);
+ background-size: 100% auto;
+ font-family: "Poppins", Helvetica, sans-serif;
+}
+
+/* Navigation bar */
+
+.navbar {
+ background: var(--james-brown);
+ border-bottom: 3px solid var(--james-orange);
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
+}
+
+.navbar-brand .navbar-item:first-child {
+ font-weight: 500;
+ letter-spacing: 0.01em;
+}
+
+.navbar-brand .navbar-item img {
+ height: 1.6rem;
+ vertical-align: middle;
+}
+
+.navbar-dropdown .navbar-item strong {
+ color: var(--james-brown);
+}
+
+.navbar-dropdown .navbar-item .icon {
+ flex: none;
+ margin-right: 0.5rem;
+}
+
+.navbar-dropdown a.navbar-item:hover {
+ background: var(--james-panel);
+ color: var(--james-orange-dark);
+}
+
+@media screen and (min-width: 1024px) {
+ .navbar-end > .navbar-item,
+ .navbar-end .navbar-link {
+ color: #fff;
+ }
+
+ .navbar-end > a.navbar-item:hover,
+ .navbar-end > .navbar-item.has-dropdown:hover .navbar-link {
+ background: var(--james-brown-light);
+ color: #fff;
+ }
+
+ .navbar-link::after {
+ border-color: var(--james-orange);
+ }
+
+ .navbar-dropdown {
+ border-top: 3px solid var(--james-orange);
+ border-radius: 0 0 0.25rem 0.25rem;
+ }
+}
+
+@media screen and (max-width: 1023.5px) {
+ .navbar-menu .navbar-link {
+ color: var(--james-brown);
+ font-weight: 500;
+ }
+}
+
+/* Body: a white card floating above the ember background */
+
+@media screen and (min-width: 1024px) {
+ .body {
+ max-width: 90rem;
+ margin: 1.5rem auto 0;
+ padding: 0 1.5rem;
+ }
+
+ /* The whole left column is painted, so the card has no hole below the nav whatever the page length */
+ .nav-container {
+ background: var(--james-panel);
+ border-radius: var(--james-card-radius) 0 0 var(--james-card-radius);
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.35);
+ }
+
+ /* Sticks below the gap above the card, and reaches the bottom of the window so the project selector stays visible */
+ .nav {
+ border-top-left-radius: var(--james-card-radius);
+ height: calc(100vh - 3.5rem - 1.5rem);
+ top: calc(3.5rem + 1.5rem);
+ }
+
+ .nav .panels,
+ .nav-panel-menu {
+ border-top-left-radius: var(--james-card-radius);
+ }
+
+ main.article {
+ background: #fff;
+ border-radius: 0 var(--james-card-radius) var(--james-card-radius) 0;
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.35);
+ min-height: calc(100vh - 3.5rem - 1.5rem);
+ }
+
+ .toolbar {
+ border-top-right-radius: var(--james-card-radius);
+ top: 3.5rem;
+ }
+}
+
+@media screen and (max-width: 1023.5px) {
+ main.article {
+ background: #fff;
+ }
+}
+
+/* Left navigation */
+
+.nav,
+.nav-panel-menu,
+.nav-panel-explore .context,
+.nav-panel-explore .components {
+ background: var(--james-panel);
+}
+
+.nav-panel-explore .context {
+ font-family: inherit;
+}
+
+.nav-menu h3.title,
+.nav-panel-explore .context .title {
+ color: var(--james-brown);
+ font-weight: 600;
+}
+
+.nav-link:hover,
+.nav-panel-explore .components a:hover {
+ color: var(--james-orange-dark);
+}
+
+.nav-item.is-current-page > .nav-link,
+.nav-item.is-current-page > .nav-text {
+ color: var(--james-orange-dark);
+ font-weight: 600;
+}
+
+.nav-panel-explore .component .version a {
+ color: var(--james-brown);
+ border-color: var(--james-panel-border);
+ background: #fff;
+}
+
+.nav-panel-explore .component .version a:hover {
+ border-color: var(--james-orange);
+}
+
+/* Selected version: white on brown, contrast 8.6:1 */
+.nav-panel-explore .component .version.is-current a {
+ background: var(--james-brown-light);
+ border-color: var(--james-brown-light);
+ color: #fff;
+ opacity: 1;
+}
+
+/* Toolbar (breadcrumbs, versions, edit link) */
+
+.toolbar {
+ background: #fff;
+ box-shadow: 0 1px 0 var(--james-panel-border);
+}
+
+.breadcrumbs a:hover {
+ color: var(--james-orange-dark);
+}
+
+/* Article */
+
+.doc {
+ color: var(--james-text);
+}
+
+.doc h1,
+.doc h2,
+.doc h3,
+.doc h4,
+.doc h5,
+.doc h6 {
+ color: var(--james-heading);
+ font-weight: 500;
+}
+
+.doc h1.page {
+ font-weight: 600;
+}
+
+.doc h1.page::after {
+ content: "";
+ display: block;
+ width: 4rem;
+ height: 3px;
+ margin-top: 0.75rem;
+ background: var(--james-orange);
+ border-radius: 2px;
+}
+
+.doc h2:not(.discrete) {
+ border-bottom-color: var(--james-panel-border);
+}
+
+.doc a {
+ color: var(--james-orange-dark);
+}
+
+.doc a:hover {
+ color: var(--james-orange);
+}
+
+.doc strong {
+ color: var(--james-heading);
+ font-weight: 600;
+}
+
+.doc pre,
+.doc .listingblock pre:not(.highlight),
+.doc .literalblock pre,
+.doc p code,
+.doc li code,
+.doc td code,
+.doc .colist code {
+ background: var(--james-panel);
+}
+
+.doc blockquote,
+.doc .quoteblock,
+.doc .verseblock {
+ border-left-color: var(--james-orange);
+}
+
+.doc table.tableblock th {
+ color: var(--james-heading);
+}
+
+.doc .admonitionblock td.icon .icon-note {
+ background-color: #3f51b5;
+}
+
+.doc .admonitionblock td.icon .icon-warning {
+ background-color: var(--james-orange-dark);
+}
+
+/* Table of contents */
+
+.toc .toc-menu h3 {
+ color: var(--james-brown);
+ font-weight: 600;
+}
+
+.toc .toc-menu a:hover {
+ color: var(--james-orange-dark);
+}
+
+.toc .toc-menu a.is-active {
+ border-left-color: var(--james-orange);
+ color: var(--james-orange-dark);
+}
+
+/* Pagination */
+
+nav.pagination a:hover {
+ color: var(--james-orange-dark);
+}
+
+/* Footer: dark band, like the historical website */
+
+footer.footer {
+ background: transparent;
+ color: rgba(255, 255, 255, 0.7);
+ max-width: 90rem;
+ margin: 0 auto;
+ padding: 2rem 1.5rem 3rem;
+}
+
+footer.footer a {
+ color: #fff;
+}
+
+footer.footer a:hover {
+ color: var(--james-orange);
+}
diff --git a/doc-sites/ui-overrides/font/POPPINS-OFL.txt b/doc-sites/ui-overrides/font/POPPINS-OFL.txt
new file mode 100644
index 000000000..3c49f41b2
--- /dev/null
+++ b/doc-sites/ui-overrides/font/POPPINS-OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins) Poppins-ThinItalic.ttf: Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins) Poppins-ExtraLight.ttf: Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins) Poppins-ExtraLightItalic.ttf: Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins) Poppins-Light.ttf: Copyright 2020 The Poppins Project Authors (https://github.com/itfo [...]
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/doc-sites/ui-overrides/font/poppins-latin-400-normal.woff2 b/doc-sites/ui-overrides/font/poppins-latin-400-normal.woff2
new file mode 100644
index 000000000..b69e0091c
Binary files /dev/null and b/doc-sites/ui-overrides/font/poppins-latin-400-normal.woff2 differ
diff --git a/doc-sites/ui-overrides/font/poppins-latin-500-normal.woff2 b/doc-sites/ui-overrides/font/poppins-latin-500-normal.woff2
new file mode 100644
index 000000000..c6603368b
Binary files /dev/null and b/doc-sites/ui-overrides/font/poppins-latin-500-normal.woff2 differ
diff --git a/doc-sites/ui-overrides/font/poppins-latin-600-normal.woff2 b/doc-sites/ui-overrides/font/poppins-latin-600-normal.woff2
new file mode 100644
index 000000000..921e962b9
Binary files /dev/null and b/doc-sites/ui-overrides/font/poppins-latin-600-normal.woff2 differ
diff --git a/doc-sites/ui-overrides/img/background.jpg b/doc-sites/ui-overrides/img/background.jpg
new file mode 100644
index 000000000..342ca9e87
Binary files /dev/null and b/doc-sites/ui-overrides/img/background.jpg differ
diff --git a/doc-sites/ui-overrides/partials/head-styles.hbs b/doc-sites/ui-overrides/partials/head-styles.hbs
new file mode 100644
index 000000000..f0c7629de
--- /dev/null
+++ b/doc-sites/ui-overrides/partials/head-styles.hbs
@@ -0,0 +1,2 @@
+ <link rel="stylesheet" href="{{{uiRootPath}}}/css/site.css">
+ <link rel="stylesheet" href="{{{uiRootPath}}}/css/james-theme.css">
diff --git a/doc-sites/ui-overrides/partials/header-content.hbs b/doc-sites/ui-overrides/partials/header-content.hbs
index 6e4fd84bf..9881a0f56 100644
--- a/doc-sites/ui-overrides/partials/header-content.hbs
+++ b/doc-sites/ui-overrides/partials/header-content.hbs
@@ -29,11 +29,11 @@
</div>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link" href="{{{siteRootPath}}}/james-site/latest/community.html">Community</a>
- <div class="navbar-dropdown">
+ <div class="navbar-dropdown is-right">
<a class="navbar-item" href="{{{siteRootPath}}}/james-site/latest/community.html">Join the community</a>
<a class="navbar-item" href="{{{siteRootPath}}}/james-site/latest/mailing-lists.html">Mailing lists</a>
<a class="navbar-item" href="{{{siteRootPath}}}/james-site/latest/contributing.html">Contributing</a>
- <a class="navbar-item" href="https://gitter.im/apache/james-project"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="logo-gitter-sign" data-v-44ebcb1a=""><rect x="15" y="5" width="2" height="10"></rect> <rect x="10" y="5" width="2" height="20"></rect> <rect x="5" y="5" width="2" height="20"></rect> <rect width="2" height="15"></rect></svg> Gitter</a>
+ <a class="navbar-item" href="https://gitter.im/apache/james-project"><span class="icon"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" class="logo-gitter-sign" data-v-44ebcb1a=""><rect x="15" y="5" width="2" height="10"></rect> <rect x="10" y="5" width="2" height="20"></rect> <rect x="5" y="5" width="2" height="20"></rect> <rect width="2" height="15"></rect></svg></span> Gitter</a>
<a class="navbar-item" href="https://twitter.com/ApacheJames">
<span class="icon">
<svg aria-hidden="true" data-icon="twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
@@ -41,7 +41,7 @@
</svg>
</span> Twitter
</a>
- <a class="navbar-item" href="https://github.com/apache/james-project"> <svg class="octicon octicon-mark-github v-align-middle" viewBox="0 0 16 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.3 [...]
+ <a class="navbar-item" href="https://github.com/apache/james-project"><span class="icon"><svg class="octicon octicon-mark-github v-align-middle" viewBox="0 0 16 16" version="1.1" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89- [...]
</div>
</div>
<!-- <div class="navbar-item">
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org