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 © 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 © 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; -}