Kanonische Links über _canonical realisiert
[website] / dist / templates / layout.html
index b95cf48..7175241 100644 (file)
     th:fragment="layout(uri,maincontent)"
     thymeproxy:variables="SET:sitemap.json"
     >
-  <head>
+  <head thymeproxy:variables="${json}">
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
     <title th:replace="${title}">juplo - BASISTEMPLATE</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1" />
-    <!-- Default / Responsive -->
-    <link rel="stylesheet" th:rel="stylesheet" media="all" title="Responsive" type="text/css" href="../css/base.css" th:href="@{/css/base.min.css}"/>
-    <link rel="stylesheet" th:rel="stylesheet" media="only screen" title="Responsive" type="text/css" href="../css/screen.css" th:href="@{/css/screen.min.css}"/>
-    <link rel="stylesheet" th:rel="stylesheet" media="print" title="Responsive" type="text/css" href="../css/print.css" th:href="@{/css/print.min.css}"/>
-    <!-- Legacy -->
-    <link rel="alternate stylesheet" title="Legacy" type="text/css" href="../css/base.css" th:href="@{/css/base.min.css}"/>
-    <!-- Tablet -->
-    <link rel="alternate stylesheet" title="Tablet" type="text/css" href="../css/base.css" th:href="@{/css/base.min.css}"/>
-    <link rel="alternate stylesheet" title="Tablet" type="text/css" href="../css/tablet.css" th:href="@{/css/tablet.min.css}"/>
-    <!-- Phone -->
-    <link rel="alternate stylesheet" title="Phone" type="text/css" href="../css/base.css" th:href="@{/css/base.min.css}"/>
-    <link rel="alternate stylesheet" title="Phone" type="text/css" href="../css/phone.css" th:href="@{/css/phone.min.css}"/>
-    <!-- Tiny -->
-    <link rel="alternate stylesheet" title="Tiny" type="text/css" href="../css/base.css" th:href="@{/css/base.min.css}"/>
-    <link rel="alternate stylesheet" title="Tiny" type="text/css" href="../css/tiny.css" th:href="@{/css/tiny.min.css}"/>
-    <!-- Print -->
-    <link rel="alternate stylesheet" title="Print" type="text/css" href="../css/base.css" th:href="@{/css/base.min.css}"/>
-    <link rel="alternate stylesheet" title="Print" type="text/css" href="../css/print.css" th:href="@{/css/print.min.css}"/>
-    <script src="../js/prettify.js" th:src="@{/js/prettify.js}"></script>
-    <!--[if lt IE 9]>
-      <script src="../js/html5shiv.js" th:src="@{/js/html5shiv.js}"></script>
-    <![endif]-->
-    <!--[if IE 8]>
-      <link rel="stylesheet" th:rel="stylesheet" type="text/css" href="../css/ie8.css" th:href="@{/css/ie8.min.css}"/>
-    <![endif]-->
-    <link rel="caononical" href="layout.html" th:replace="~{:: #canonical}?:~{}"/>
+    <link rel="stylesheet" href="../css/juplo.css" th:href="@{/css/juplo.css}">
+    <link rel="canonical" href="layout.html" th:href="${_canonical.get(uri)}?:${uri}">
+    <script th:replace="${scripts_head}?:~{}"></script>
   </head>
   <body
       th:fragment="body(uri, maincontent, marginalcontent)"
-      thymeproxy:variables="${json}"
-      th:with="crumbs=${_crumbs.get(uri)}"
-      id="top"
-      class="menu"
-      th:class="${contentclass}?:'menu'"
-      onload="prettyPrint()"
-      >
-    <div id="page" class="cf">
-      <header id="header"><!-- TODO: Vereinfachung -> für uri == index.html a gegen strong ausstauschen -->
-        <h1 id="logo" th:include="~{::#logo}"><a href="../index.html" th:href="@{/}" title="Home" class="l" ><img class="l" src="/img/logo.svg" alt="juplo"/></a></h1>
-        <span id="slogan"><strong>Java</strong> bits from nerds for nerds</span>
-        <hr class="h" />
-      </header>
-      <div id="breadcrumb">
-        <strong class="b title">You are here:</strong>
-        <ol class="b" th:include="~{::#crumbs}?:_">
-          <li class="b"><a class="b" href="../index.html" th:href="@{/index.html}">Home</a></li>
-          <li class="b" th:each="crumb: ${crumbs}">
-            <a class="b" href="../projects.html" th:href="@{${crumb}}" th:text="${_titles.get(crumb)}">Projects</a>
+      th:with="crumbs=${_crumbs.get(uri)}">
+    <div id="page" class="">
+      <main class="content section" th:include="${maincontent}" th:fragment="maincontent">
+        <h1 th:text="${_titles.get(uri)}">TEMPLATE: Layout</h1>
+        <p>
+          <strong>Lorem ipsum</strong> dolor
+          <a href="../potemkin/typo.html" th:href="@{/potemkin/typo.html}">sit amet</a>,
+          consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
+          labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
+          <a href="../potemkin/html-experimente.html" th:href="@{/potemkin/html-experimente.html}">exercitation</a>
+          ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
+          irure dolor in reprehenderit in voluptate velit esse cillum dolore
+          eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+          proident, sunt in culpa qui officia deserunt mollit anim id est
+          laborum.
+        </p>
+        <h2 class="title">Duis aute irure dolor</h2>
+        <ul>
+          <li>Operators and other mathematical stuff: -+/*</li>
+          <li>
+            Characters offten used in programming languages:
+            {(&lt;&gt;)}@$?%*#;:&amp;/\!^&#034;&#039;`~
           </li>
+          <li>Special german characters: ÄäÖöÜü</li>
+          <li>Other special characters: @?¢§%°</li>
+        </ul>
+        <h2 class="title">Excepteur sint occaecat cupidatat</h2>
+        <p>
+          Lorem ipsum dolor <em>sit amet</em>, consectetur adipisicing elit,
+          sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+          Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
+          nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
+          reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
+          pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
+          culpa qui officia deserunt mollit anim id est laborum.
+        </p>
+        <p>
+          Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+          eiusmod tempor incididunt ut labore et dolore magna aliqua.
+          <strong>Ut enim ad minim veniam, quis nostrud <em>exercitation
+          ullamco</em> laboris nisi ut aliquip ex ea commodo consequat</strong>.
+          Duis aute irure dolor in reprehenderit in voluptate velit esse
+          cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
+          cupidatat non proident, sunt in culpa qui officia deserunt mollit
+          anim id est laborum.
+        </p>
+      </main>
+      <nav class="section has-text-right">
+        <a href="../index.html" th:href="@{/}" title="Home">
+          <img src="/img/logo.svg" alt="juplo" class="logo">
+        </a>
+        <ul th:with="
+              len=${crumbs == null} ? 0 : ${crumbs.size()},
+              parent=${crumbs == null} ? '' : ${crumbs[0]},
+              submenu=${_childs.get(parent)},
+              pos=1"
+            id="navigation"
+            class="s mr-4 mt-4"
+            th:class="'mr-4 mt-4 s' + (${len == 1 or (len == 2 and _childs.get(uri) == null)} ? ' selected' : '')">
           <!--/*-->
-          <li class="b"><strong class="b" th:text="${title}">Fix SWF</strong></li>
+          <li class="s sub off"><a href="../blog/" class="s">Blog</a></li>
           <!--*/-->
-        </ol>
-        <a class="hide" href="#nav" title="Show navigation menu">Jump to navigation</a>
-        <hr class="b" />
-      </div>
-      <main class="content cf">
-        <article id="content" class="main" th:include="${maincontent}">
-          <header><h1 th:include="${title}">juplo - BASISTEMPLATE</h1></header>
-          <div th:fragment="maincontent">
-            <p>
-              <strong>Lorem ipsum</strong> dolor
-              <a href="../potemkin/typo.html" th:href="@{/potemkin/typo.html}">sit amet</a>,
-              consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
-              labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
-              <a href="../potemkin/html-experimente.html" th:href="@{/potemkin/html-experimente.html}">exercitation</a>
-              ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
-              irure dolor in reprehenderit in voluptate velit esse cillum dolore
-              eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
-              proident, sunt in culpa qui officia deserunt mollit anim id est
-              laborum.
-            </p>
-            <h2>Duis aute irure dolor</h2>
-            <ul>
-              <li>Operators and other mathematical stuff: -+/*</li>
-              <li>
-                Characters offten used in programming languages:
-                {(&lt;&gt;)}@$?%*#;:&amp;/\!^&#034;&#039;`~
-              </li>
-              <li>Special german characters: ÄäÖöÜü</li>
-              <li>Other special characters: @?¢§%°</li>
-            </ul>
-            <h2>Excepteur sint occaecat cupidatat</h2>
-            <p>
-              Lorem ipsum dolor <em>sit amet</em>, consectetur adipisicing elit,
-              sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-              Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
-              nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
-              reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
-              pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
-              culpa qui officia deserunt mollit anim id est laborum.
-            </p>
-            <p>
-              Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
-              eiusmod tempor incididunt ut labore et dolore magna aliqua.
-              <strong>Ut enim ad minim veniam, quis nostrud <em>exercitation
-              ullamco</em> laboris nisi ut aliquip ex ea commodo consequat</strong>.
-              Duis aute irure dolor in reprehenderit in voluptate velit esse
-              cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
-              cupidatat non proident, sunt in culpa qui officia deserunt mollit
-              anim id est laborum.
-            </p>
-          </div>
-        </article>
-        <div class="marginal">
-          <nav id="nav"
-              th:include="~{::#navigation}?:_"
-              th:with="section=${crumbs != null ? crumbs[0] : null}"
-              >
-            <hr class="n"/>
-            <a class="hide" href="#top" title="Show Content">Jump back to the top of the page</a>
-            <h1 class="nav">Navigation</h1>
-            <h2 class="nav menu">Section-Menu</h2>
-            <ul id="menu" class="cf">
-              <li class="m blog" th:each="entry : ${_sections}" th:class="'m ' + ${entry.key}">
-                <a href="../blog" th:href="@{${entry.value}}" class="m" th:class="${entry.value == section} ? 'm selected' : 'm'" th:text="${_titles.get(entry.value)}">Blog</a>
-              </li>
-              <!--/*-->
-              <li class="m projects"><a href="../projects.html" class="m selected">Projects</a></li>
-              <li class="m about"><a href="../about.html" class="m">About</a></li>
-              <!--*/-->
-            </ul>
-            <h2 class="nav submenu">
-              <span class="s">Submenu for section</span>
-              <a class="s selected" href="../projects.html" th:href="@{${section}}" th:text="${_titles.get(section)}">Projects</a>
-            </h2>
-            <ul th:include="${submenu}?:_"
-                th:with="
-                  len=${crumbs.size()},
-                  submenu=${_childs.get(section)},
-                  parent=${crumbs[0]},
-                  pos=1"
-                id="submenu"
+          <li th:fragment="submenu(submenu, parent, pos)"
+              th:each="entry : ${submenu}"
+              th:with="
+                  child=${pos == len},
+                  selected=${!child and crumbs.get(pos) == entry},
+                  leaf=${pos >= (len - 1) and not selected},
+                  sibling=${pos + 1 == len and (_childs.get(uri) == null or uri == parent)},
+                  childs=${entry == parent ? null : _childs.get(entry)}
+                  "
+              class="s sub"
+              th:class="'s' + (${childs} ? ' sub' : '') + (${selected or sibling or child} ? '' : ' off')">
+            <a  href="../projects.html"
+                th:if="${entry != parent}"
+                th:href="@{${entry}}"
+                class="s selected"
+                th:class="(${selected} ? 's selected' : 's') + ' len_' + ${len} + ' pos_' + ${pos} + (${leaf}?' leaf':'')"
+                th:text="${_titles.get(entry)}">Projekte</a>
+            <ul th:if="${selected and childs != null}"
                 class="s"
-                th:class="'s' + (${len == 1 or (len == 2 and _childs.get(uri) == null)} ? ' selected' : '')"
-                >
-              <li th:fragment="submenu(submenu, parent, pos)"
-                  th:each="entry : ${submenu}"
-                  th:with="
-                      child=${pos == len},
-                      selected=${!child and crumbs.get(pos) == entry},
-                      sibling=${pos + 1 == len and (_childs.get(uri) == null or uri == parent)},
-                      childs=${entry == parent ? null : _childs.get(entry)}
-                      "
-                  class="s sub"
-                  th:class="'s' + (${childs} ? ' sub' : '') + (${selected or sibling or child} ? '' : ' off')"
-                  >
-                <a  href="../potemkin/fix-swf/overview.html"
-                    th:if="${entry != parent}"
-                    th:href="@{${entry}}"
-                    class="s selected"
-                    th:class="${selected} ? 's selected' : 's'"
-                    th:text="${_titles.get(entry)}"
-                    >fix-swf</a>
-                <ul th:if="${selected and childs != null}"
-                    class="s active"
-                    th:class="'s' + (${selected &amp;&amp; pos == crumbs.size()-1} ? ' active' : '') + (${entry == uri or (len &gt; 1 and entry == crumbs.get(len-2) and _childs.get(uri) == null)} ? ' selected' : '')"
-                    >
-                  <li th:replace="this :: submenu(submenu=${childs}, parent=${entry}, pos=${pos + 1})"
-                      class="s"
-                      >
-                    <strong class="s">Overview</strong>
-                  </li>
-                  <!--/*-->
-                  <li class="s"><a href="../potemkin/fix-swf/getting-started.html" class="s">Getting Started</a></li>
-                  <li class="s"><a href="#" class="s">FAQ</a></li>
-                  <li class="s"><a href="#" class="s">Documentation</a></li>
-                  <!--*/-->
+                th:class="'s' + (${entry == uri or (len &gt; 1 and entry == crumbs.get(len-2) and _childs.get(uri) == null)} ? ' selected' : '')">
+              <!--/*-->
+              <li class="s sub">
+                <a class="s selected" href="../potemkin/fix-swf/overview.html">fix swf</a>
+                <ul class="s">
+                  <li class="s"><strong class="s selected">Overview</strong></li>
+                  <li class="s"><a class="s leaf" href="../potemkin/fix-swf/getting-started.html">Getting Started</a></li>
+                  <li class="s"><a class="s leaf" href="#">FAQ</a></li>
+                  <li class="s"><a class="s leaf" href="#">Documentation</a></li>
                 </ul>
               </li>
-              <!--/*-->
               <li class="s sub off"><a href="#" class="s">hibernate4-maven-plugin</a></li>
               <li class="s off"><a href="#" class="s">jquery.openx</a></li>
               <li class="s sub off"><a href="../potemkin/html-experimente.html" th:href="@{/potemkin/html-experimente.html}" class="s">HTML-Experimente</a></li>
               <li class="s sub off"><a href="#" class="s">accelerator</a></li>
-              <li class="s off"><a href="../potemkin/typo.html" th:href="@{/potemkin/typo.html}" class="s">Typography</a></li>
               <!--*/-->
+              <li th:replace="this :: submenu(submenu=${childs}, parent=${entry}, pos=${pos + 1})" class="s off"><a href="../potemkin/typo.html" th:href="@{/potemkin/typo.html}" class="s">Typography</a></li>
             </ul>
-            <hr class="n"/>
-          </nav>
-          <aside class="m" th:insert="${marginalcontent}?:~{}">
-          <!--/* the following  is only visible during natural templating -->
-            <h1>Other nasty but marginal stuff</h1>
-            <p>
-              Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
-              eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
-              ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
-              aliquip ex ea commodo consequat. Duis aute irure dolor in
-              reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
-              pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
-              culpa qui officia deserunt mollit anim id est laborum.
-            </p>
-          </aside>
-          <aside class="m">
-            <h1>More nasty stuff</h1>
-            <p>
-              This one is really short!
-            </p>
+          </li>
+          <!--/*-->
+          <li class="s sub off"><a href="../about.html" class="s">About</a></li>
           <!--*/-->
-          </aside>
-        </div>
-      </main>
-      <footer id="footer">
-        <hr class="f" />
-        <ul id="footerlinks" th:include="~{::#links}?:_">
-          <li class="f" id="copyright">© <strong>mo</strong> 2013</li>
-          <li class="f"><a class="f" href="../impressum.html" th:href="@{/impressum.html}">Impressum</a></li>
-          <li class="f"><a class="f" href="../datenschutz.html" th:href="@{/datenschutz.html}">Datenschutz</a></li>
         </ul>
-      </footer>
+      </nav>
     </div>
+    <footer>
+      <div id="copyright" class="section">
+        <span>© <strong>mo</strong> 2021</span>
+      </div>
+      <div id="footerlinks" class="section has-text-right" th:include="~{::#links}?:_">
+        <a href="../impressum.html" th:href="@{/impressum.html}">Impressum</a>
+        <span class="spacer">|</span>
+        <a href="../datenschutz.html" th:href="@{/datenschutz.html}">Datenschutz</a>
+      </div>
+    </footer>
   </body>
 </html>