This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sis-site.git

commit 9fa3fc7ce81780039ebccf2971e9a80d167c36a4
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Sat Feb 8 19:30:28 2025 +0100

    Remove the dependency to Bootstrap for avoiding the download of CSS from a 
foreigner site.
    Such references to foreigner web sites are now restricted for user's 
privacy reason.
---
 layouts/_default/baseof.html |  97 +++++++++----------
 layouts/partials/menu.html   |  12 ---
 static/sis.css               | 217 ++++++++++++++++++++++++++++++++++++-------
 3 files changed, 233 insertions(+), 93 deletions(-)

diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 57a57939..48887456 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -1,6 +1,5 @@
 <!DOCTYPE html>
 <html lang="en">
-<head>
   <!--
       Licensed to the Apache Software Foundation (ASF) under one or more
       contributor license agreements.  See the NOTICE file distributed with
@@ -17,52 +16,54 @@
       See the License for the specific language governing permissions and
       limitations under the License.
   -->
-
-  <title>Apache SIS - {{ .Title }}</title>
-  <meta charset="utf-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link 
href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css";
-        rel="stylesheet" 
integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU"
 crossorigin="anonymous">
-  <link rel="stylesheet" type="text/css" media="screen" href="/syntax.css">
-  <link rel="stylesheet" type="text/css" media="screen" href="/sis.css">
-</head>
-
-<body>
-
-{{ partial "menu.html" }}
-
-<div class="row flex-nowrap">
-  <div class="d-flex flex-column flex-shrink-0 p-3 text-white bg-dark" 
style="width:13rem; min-height:40rem">
-    <ul class="nav nav-pills flex-column mb-auto position-fixed">
-      <li><a class="nav-link {{ if eq .Page.RelPermalink "/" }} active {{ else 
}} text-white {{ end }}" href="/index.html">Home</a></li>
-      <li><a class="nav-link {{ if eq .Page.RelPermalink "/about.html" }} 
active {{ else }} text-white {{ end }}" href="/about.html">About</a></li>
-      <li><a class="nav-link {{ if eq .Page.RelPermalink "/downloads.html" }} 
active {{ else }} text-white {{ end }}" 
href="/downloads.html">Downloads</a></li>
-      <li><a class="nav-link {{ if strings.Contains .Page.RelPermalink 
"/howto" }} active {{ else }} text-white {{ end }}" href="/howto.html">How 
to…</a></li>
-      <li><a class="nav-link {{ if eq .Page.RelPermalink "/standards.html" }} 
active {{ else }} text-white {{ end }}" 
href="/standards.html">Standards</a></li>
-      <li><a class="nav-link {{ if eq .Page.RelPermalink "/formats.html" }} 
active {{ else }} text-white {{ end }}" href="/formats.html">Data 
formats</a></li>
-      <li><a class="nav-link {{ if eq .Page.RelPermalink "/epsg.html" }} 
active {{ else }} text-white {{ end }}" href="/epsg.html">EPSG Database</a></li>
-      <li><a class="nav-link {{ if eq .Page.RelPermalink "/javafx.html" }} 
active {{ else }} text-white {{ end }}" href="/javafx.html">Application 
(demo)</a></li>
-      <li><a class="nav-link {{ if eq .Page.RelPermalink "/documentation.html" 
}} active {{ else }} text-white {{ end }}" 
href="/documentation.html">Documentation</a></li>
-    </ul>
-  </div>
-  <div class="col">
-    <main class="container">
-      <article>
-        <img src="/images/logo.png" class="sis-logo" align="left"/>
-        <p class="page-title">{{ .Title }}</p>
-        {{ block "main" . }}{{ end }}
-      </article>
-    </main>
-    <footer class="footer">
-    <div class="container">
-      <p>
-        Copyright &copy; 2013-{{ now.Year }} The Apache Software Foundation, 
Licensed under the
-        <a href="https://www.apache.org/licenses/LICENSE-2.0";>Apache License, 
Version 2.0</a>.<br/>
-        Apache SIS, Apache, the Apache feather logo are trademarks of The 
Apache Software Foundation.
-      </p>
+  <head>
+    <title>Apache SIS - {{ .Title }}</title>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <link rel="stylesheet" type="text/css" media="screen" href="/sis.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="/syntax.css">
+  </head>
+  <body>
+    <div class="topbar">
+      <a class="topbar-brand" href="/index.html">Apache SIS™</a>
+      <ul class="topbar-items">
+        <li>
+          <a href="https://www.apache.org/events/current-event.html";>
+             <img class="apache-con" 
src="https://www.apache.org/events/current-event-234x60.png"; alt="ApacheCon"/>
+          </a>
+        </li>
+      </ul>
+    </div>
+    <div class="main-section">
+      <nav class="left-bar">
+        <ul class="nav-pills">
+          <li><a class="nav-link {{ if eq .Page.RelPermalink "/" }} active {{ 
else }} inactive {{ end }}" href="/index.html">Home</a></li>
+          <li><a class="nav-link {{ if eq .Page.RelPermalink "/about.html" }} 
active {{ else }} inactive {{ end }}" href="/about.html">About</a></li>
+          <li><a class="nav-link {{ if eq .Page.RelPermalink "/downloads.html" 
}} active {{ else }} inactive {{ end }}" 
href="/downloads.html">Downloads</a></li>
+          <li><a class="nav-link {{ if strings.Contains .Page.RelPermalink 
"/howto" }} active {{ else }} inactive {{ end }}" href="/howto.html">How 
to…</a></li>
+          <li><a class="nav-link {{ if eq .Page.RelPermalink "/standards.html" 
}} active {{ else }} inactive {{ end }}" 
href="/standards.html">Standards</a></li>
+          <li><a class="nav-link {{ if eq .Page.RelPermalink "/formats.html" 
}} active {{ else }} inactive {{ end }}" href="/formats.html">Data 
formats</a></li>
+          <li><a class="nav-link {{ if eq .Page.RelPermalink "/epsg.html" }} 
active {{ else }} inactive {{ end }}" href="/epsg.html">EPSG Database</a></li>
+          <li><a class="nav-link {{ if eq .Page.RelPermalink "/javafx.html" }} 
active {{ else }} inactive {{ end }}" href="/javafx.html">Application 
(demo)</a></li>
+          <li><a class="nav-link {{ if eq .Page.RelPermalink 
"/documentation.html" }} active {{ else }} inactive {{ end }}" 
href="/documentation.html">Documentation</a></li>
+        </ul>
+      </nav>
+      <div class="main-content">
+        <main class="container">
+          <article>
+            <img src="/images/logo.png" class="sis-logo" align="left"/>
+            <p class="page-title">{{ .Title }}</p>
+            {{ block "main" . }}{{ end }}
+          </article>
+        </main>
+        <footer>
+          <div class="container">
+            <p>Copyright &copy; 2013-{{ now.Year }} The Apache Software 
Foundation, Licensed under the
+            <a href="https://www.apache.org/licenses/LICENSE-2.0";>Apache 
License, Version 2.0</a>.<br/>
+            Apache SIS, Apache, the Apache feather logo are trademarks of The 
Apache Software Foundation.</p>
+          </div>
+        </footer>
+      </div>
     </div>
-</footer>
-  </div>
-</div>
-</body>
+  </body>
 </html>
diff --git a/layouts/partials/menu.html b/layouts/partials/menu.html
deleted file mode 100644
index 8c1fca21..00000000
--- a/layouts/partials/menu.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
-  <div class="container-fluid">
-    <a class="navbar-brand" href="/index.html">Apache SIS™</a>
-    <ul class="navbar-nav ml-auto mb-2 mb-md-0">
-      <li class="nav-item">
-        <a href="https://www.apache.org/events/current-event.html";>
-           <img class="apache-con" 
src="https://www.apache.org/events/current-event-234x60.png"; alt="ApacheCon"/>
-        </a>
-      </li>
-    </ul>
-  </div>
-</nav>
diff --git a/static/sis.css b/static/sis.css
index 0d4cf1e7..52496bfc 100644
--- a/static/sis.css
+++ b/static/sis.css
@@ -1,29 +1,185 @@
+@charset "UTF-8";
 /*!
  * Licensed under the Apache License v2.0
  * http://www.apache.org/licenses/LICENSE-2.0
  */
+
+/*
+ * ┌──────────────────────────────────────────────────────────┐
+ * │ Modifications to standard elements anywhere in the site. │
+ * └──────────────────────────────────────────────────────────┘
+ */
+
+*,
+*::before,
+*::after {
+  box-sizing: border-box;
+}
 body {
+  margin:      0;
   padding-top: 3.5rem;
-  padding-bottom: 1.5rem;
+  font-family: system-ui, "Helvetica Neue", Arial, "Noto Sans", "Liberation 
Sans", sans-serif;
+}
+pre, code {
+  /* Avoid Monaco font, because box (or tree) symbols do not render well. */
+  font-family: Menlo,Consolas,"Courier New",monospace;
+  font-size:   0.875em;
+}
+pre code {
+  font-size: inherit;
+}
+.topbar, .left-bar {
+  background-color: #003366;
 }
+a {
+  text-decoration: none;
+  color: #1f618d;
+}
+a:hover {
+  color: #0a58ca;
+}
+a > code {
+  color: inherit;
+}
+summary {
+  display: list-item;
+  cursor:  pointer;
+}
+img {
+  vertical-align: middle;
+}
+footer {
+  padding-top: 1rem;
+  font-size: smaller;
+  color: gray;
+}
+footer p {
+  text-align: center;
+}
+footer a {
+  text-decoration: none;
+  color: gray;
+}
+
+/*
+ * ┌────────────────────────────────────────────────────┐
+ * │ Classes used in the top bar and in the page title. │
+ * └────────────────────────────────────────────────────┘
+ */
 img.apache-con {
-  width: auto;
+  width:  auto;
   height: 2.5rem;
 }
 img.sis-logo {
-  width: auto;
-  height: 4rem;
+  width:        auto;
+  height:       4rem;
   margin-right: 2rem;
 }
 p.page-title {
-  font-size: 2.5rem;
-  font-weight: bolder;
-  text-align: left;
-  margin-top: 2rem;
+  font-size:      2.5rem;
+  font-weight:    bolder;
+  text-align:     left;
+  margin-top:     2rem;
   padding-bottom: 0.75rem;
 }
+div.topbar {
+  position:        fixed;
+  display:         flex;
+  flex-wrap:       wrap;
+  align-items:     center;
+  justify-content: space-between;
+  padding-left:    1.0rem;
+  padding-right:   0.5rem;
+  padding-top:     0.5rem;
+  padding-bottom:  0.5rem;
+  top:             0;
+  right:           0;
+  left:            0;
+}
+a.topbar-brand {
+  margin-right:    1rem;
+  font-size:       1.5rem;
+  font-weight:     bolder;
+  color:           white;
+}
+a.topbar-brand:hover {
+  color: white;
+}
+ul.topbar-items {
+  display:        flex;
+  flex-direction: column;
+  list-style:     none;
+  padding-left:   0;
+  margin-top:     0;
+  margin-bottom:  0;
+}
+
+/*
+ * 
┌─────────────────────────────────────────────────────────────────────────────┐
+ * │ Classes used in the main section, including the navigation bar on the 
left. │
+ * 
└─────────────────────────────────────────────────────────────────────────────┘
+ */
+.container {
+  width:        100%;
+  margin-right: auto;
+  margin-left:  auto;
+}
+.main-section {
+  display:    flex;
+  flex-wrap:  nowrap;
+  margin-top: 0;
+}
+.main-section > * {
+  flex-shrink: 0;
+  width:       100%;
+  max-width:   100%;
+  margin-top:  0;
+}
+.main-content {
+  flex: 1 0 0%;
+  padding-right: 1.5rem;
+  padding-left:  1.5rem;
+}
+.left-bar {
+  padding:     1rem;
+  width:      12rem;
+  min-height: 40rem;
+}
+.left-bar, ul.nav-pills {
+  display:        flex;
+  flex-direction: column;
+  flex-shrink:    0;
+  margin-top:     0;
+  margin-bottom:  0;
+  padding-left:   0.5rem;
+}
+ul.nav-pills {
+  flex-wrap:      wrap;
+  padding-left:   0;
+  list-style:     none;
+  position:       fixed;
+}
+a.nav-link {
+  display:         block;
+  padding:         0.5rem 1rem;
+  color:           #0d6efd;
+  text-decoration: none;
+}
+a.nav-link.inactive {
+  color: white;
+}
+ul.nav-pills a.nav-link.active {
+  color: white;
+  background-color: #0d6efd;
+}
+
+/*
+ * ┌────────────────────────────────────────┐
+ * │ Classes for the main content (article) │
+ * └────────────────────────────────────────┘
+ */
 main h1 {
-  margin-top: 3rem;
+  margin-top:    3rem;
   margin-bottom: 2rem;
   border-bottom: 2px solid rgb(192, 192, 192);
 }
@@ -31,18 +187,24 @@ main h2 {
   margin-top: 2rem;
 }
 main p {
-  text-align: justify;
-}
-main a {
-  text-decoration: none;
-  color: #1f618d;
+  text-align:    justify;
+  line-height:   1.4;
+  margin-bottom: 1rem;
 }
 main abbr[title] {
   text-decoration: none;
 }
-pre, code {
-  /* Avoid Monaco font, since box (or tree) symbols do not render well. */
-  font-family: Menlo,Consolas,"Courier New",monospace;
+main ol,
+main ul {
+  margin-top:    0;
+  margin-bottom: 1rem;
+  padding-left:  2rem;
+}
+main ol ol,
+main ol ul,
+main ul ul,
+main ul ol {
+  margin-bottom: 0.5rem;
 }
 main pre {
   /* Shall be small enough for avoiding space between box (or tree) symbols. */
@@ -51,12 +213,14 @@ main pre {
   padding-left:   1rem;
   padding-top:    0.5rem;
   padding-bottom: 0.5rem;
+  margin-top:     0;
+  margin-bottom:  1rem;
+  display:        block;
+  overflow:       auto;
 }
 main code {
-  color: inherit;
-  background-color: inherit;
-  border: none;
   padding: 2px 2px;
+  word-wrap: break-word;
 }
 main table {
   background-color: #F4F8FF;
@@ -111,16 +275,3 @@ table.images tr td img {
 table.images tr td img:active {
   transform: scale(3);
 }
-
-.footer {
-  padding-top: 1rem;
-  font-size: smaller;
-  color: gray;
-}
-.footer p {
-  text-align: center;
-}
-.footer a {
-  text-decoration: none;
-  color: gray;
-}

Reply via email to