WIP:bulma
[website] / dist / templates / layout.html
index e3cd865..b210c32 100644 (file)
 <html
     xmlns="http://www.w3.org/1999/xhtml"
     xmlns:th="http://www.thymeleaf.org"
 <html
     xmlns="http://www.w3.org/1999/xhtml"
     xmlns:th="http://www.thymeleaf.org"
-    xmlns:layout="http://www.thymeleaf.org"
-    juplo:variables="templates/variables"
+    th:fragment="layout(uri,maincontent)"
+    thymeproxy:variables="SET:sitemap.json"
     >
     >
-  <head th:fragment="head" layout:fragment="head">
-    <title layout:title-pattern="$DECORATOR_TITLE - $CONTENT_TITLE" th:text="'juplo'">juplo - BASISTEMPLATE</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1" />
-    <link rel="stylesheet" type="text/css" href="../css/base.min.css" th:href="@{/css/base.min.css}"/>
-    <style type="text/css" th:remove="all">
-      @import '../css/screen.min.css' screen;
-      @import '../css/print.min.css' print;
-    </style>
-    <style type="text/css" th:inline="text">
-      @import '[[@{/css/screen.min.css}]]' screen;
-      @import '[[@{/css/print.min.css}]]' print;
-    </style>
-    <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" type="text/css" href="../css/ie8.min.css" th:href="@{/css/ie8.min.css}"/>
-    <![endif]-->
+  <head>
+    <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>
+    <link rel="stylesheet" href="../css/juplo.css" th:href="@{/css/juplo.css}">
+    <link rel="caononical" href="layout.html" th:replace="${scripts_head}?:~{}">
   </head>
   <body
   </head>
   <body
-      th:with="crumbs=${crumbs.get(uri)}"
-      id="top"
-      class="menu"
-      th:class="${contentclass}?:'menu'"
-      onload="prettyPrint()"
+      th:fragment="body(uri, maincontent, marginalcontent)"
+      thymeproxy:variables="${json}"
+      th:with="crumbs=${_crumbs.get(uri)}"
       >
       >
+    <nav class="column is-8-desktop is-offset-2-desktop">
+      <div class="navbar" role="navigation" aria-label="main navigation">
+        <div class="navbar-brand">
+          <a class="navbar-item" href="../index.html" th:href="@{/}" title="Home">
+            <img src="/img/logo.svg" alt="juplo">
+          </a>
+      
+          <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbar">
+            <span aria-hidden="true"></span>
+            <span aria-hidden="true"></span>
+            <span aria-hidden="true"></span>
+          </a>
+        </div>
+      
+        <div id="navbar" class="navbar-menu">
+          <div class="navbar-start">
+            <a class="navbar-item" href="../blog/" th:href="@{${entry.value}}">Blog</a>
+            <!--/*-->
+            <a class="navbar-item" href="../projects.html">Projects</a>
+            <a class="navbar-item" href="../about.html">About</a>
+            <!--*/-->
+          </div>
+          <div class="navbar-end">
+            <a class="navbar-item" href="../about.html">About</a>
+          </div>
+        </div>
+      </div>
+    </nav>
+    <section class="section">
+      <div class="container">
+        <div class="columns">
+          <div class="column is-8-desktop is-offset-2-desktop">
+            <div class="content">
+              <h3>Title</h3>
+              <p>
+              </p>
+                Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text
+              <ul>
+                <li>
+                  <code><a href="https://github.com/jgthms/bulma">bulma</a></code>
+                </li>
+                <li>
+                  <code><a href="https://github.com/sass/node-sass">node-sass</a></code> to compile your own Sass file
+                </li>
+                <li>
+                  <code><a href="https://github.com/postcss/postcss-cli">postcss-cli</a></code> and <code><a href="https://github.com/postcss/autoprefixer">autoprefixer</a></code> to add support for older browsers
+                </li>
+                <li>
+                  <code><a href="https://babeljs.io/docs/usage/cli/">babel-cli</a></code>,
+                  <code><a href="https://github.com/babel/babel-preset-env">babel-preset-env</a></code>
+                  and
+                  <code><a href="https://github.com/jmcriffey/babel-preset-es2015-ie">babel-preset-es2015-ie</a></code>
+                  for compiling ES6 JavaScript files
+                </li>
+              </ul>
+              <p>
+                Apart from <code>package.json</code>, the following files are included:
+              </p>
+              <ul>
+                <li>
+                  <code>.babelrc</code> configuration file for <a href="https://babeljs.io/">Babel</a>
+                </li>
+                <li>
+                  <code>.gitignore</code> common <a href="https://git-scm.com/">Git</a> ignored files
+                </li>
+                <li>
+                  <code>index.html</code> this HTML5 file
+                </li>
+                <li>
+                  <code>_sass/main.scss</code> a basic SCSS file that <strong>imports Bulma</strong> and explains how to <strong>customize</strong> your styles, and compiles to <code>css/main.css</code>
+                </li>
+                <li>
+                  <code>_javascript/main.js</code> an ES6 JavaScript that compiles to <code>lib/main.js</code>
+                </li>
+              </ul>
+              <h3>Try it out!</h3>
+              <p>
+                To see if your setup works, follow these steps:
+              </p>
+              <ol>
+                <li>
+                  <p>
+                    <strong>Move</strong> to this directory:
+                    <br>
+                    <pre><code>cd bulma-start</code></pre>
+                  </p>
+                </li>
+                <li>
+                  <p>
+                    <strong>Install</strong> all dependencies:
+                    <br>
+                    <pre><code>npm install</code></pre>
+                  </p>
+                </li>
+                <li>
+                  <p>
+                    <strong>Start</strong> the CSS and JS watchers:
+                    <br>
+                    <pre><code>npm start</code></pre>
+                  </p>
+                </li>
+                <li>
+                  <p>
+                    <strong>Edit</strong> <code>_sass/main.scss</code> by adding the following rule at the <strong>end</strong> of the file:
+                    <br>
+                    <pre><span style="color: #22863a;">html</span> {
+  <span style="color: #005cc5;"><span style="color: #005cc5;">background-color</span></span>: <span style="color: #24292e">$green</span>;
+}</pre>
+                  </p>
+                </li>
+              </ol>
+              <p>
+                The page background should turn <strong class="has-text-success">green</strong>!
+              </p>
+              <h3>Get started</h3>
+              <p>
+                You're <strong>ready</strong> to create your own designs with Bulma. Just edit or duplicate this page, or simply create a new one!
+                <br>
+                For example, this page is <strong>only</strong> built with the following <strong>Bulma elements</strong>:
+              </p>
+            </div>
+            <table class="table is-bordered is-fullwidth">
+              <thead>
+                <tr>
+                  <th>Type</th>
+                  <th>CSS class</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <th>Columns</th>
+                  <td>
+                    <code><a href="http://bulma.io/documentation/columns/basics">columns</a></code>
+                    <code><a href="http://bulma.io/documentation/columns/basics">column</a></code>
+                  </td>
+                </tr>
+                <tr>
+                  <th>Layout</th>
+                  <td>
+                    <code><a href="http://bulma.io/documentation/layout/section">section</a></code>
+                    <code><a href="http://bulma.io/documentation/layout/container">container</a></code>
+                    <code><a href="http://bulma.io/documentation/layout/footer">footer</a></code>
+                  </td>
+                </tr>
+                <tr>
+                  <th>Elements</th>
+                  <td>
+                    <code><a href="http://bulma.io/documentation/elements/button">button</a></code>
+                    <code><a href="http://bulma.io/documentation/elements/content">content</a></code>
+                    <code><a href="http://bulma.io/documentation/elements/title">title</a></code>
+                    <code><a href="http://bulma.io/documentation/elements/title">subtitle</a></code>
+                  </td>
+                </tr>
+                <tr>
+                  <th>Form</th>
+                  <td>
+                    <code><a href="http://bulma.io/documentation/form/general">field</a></code>
+                    <code><a href="http://bulma.io/documentation/form/general">control</a></code>
+                  </td>
+                </tr>
+                <tr>
+                  <th>Helpers</th>
+                  <td>
+                    <code><a href="http://bulma.io/documentation/modifiers/typography-helpers/">has-text-centered</a></code>
+                    <code><a href="http://bulma.io/documentation/modifiers/typography-helpers/">has-text-weight-semibold</a></code>
+                  </td>
+                </tr>
+              </tbody>
+            </table>
+            <div class="content">
+              <p>
+                If you want to <strong>learn more</strong>, follow these links:
+              </p>
+            </div>
+            <div class="field is-grouped">
+              <p class="control">
+                <a class="button is-medium is-primary" href="http://bulma.io">
+                  <strong class="has-text-weight-semibold">Bulma homepage</strong>
+                </a>
+              </p>
+              <p class="control">
+                <a class="button is-medium is-link" href="http://bulma.io/documentation/overview/start/">
+                  <strong class="has-text-weight-semibold">Documentation</strong>
+                </a>
+              </p>
+            </div>
+          </div>
+        </div>
+      </div>
+    </section>
+    <footer class="footer has-text-centered">
+      <div class="container">
+         <div class="columns">
+          <div class="column is-8-desktop is-offset-2-desktop">
+            <p>
+              <strong class="has-text-weight-semibold">
+                <a href="https://www.npmjs.com/package/bulma-start">bulma-start@0.0.4</a>
+              </strong>
+            </p>
+            <p>
+              <small>
+                Source code licensed <a href="http://opensource.org/licenses/mit-license.php">MIT</a>
+              </small>
+            </p>
+            <p style="margin-top: 1rem;">
+              <a href="http://bulma.io">
+                <img src="made-with-bulma.png" alt="Made with Bulma" width="128" height="24">
+              </a>
+            </p>
+          </div>
+        </div>
+      </div>
+    </footer>
     <div id="page" class="cf">
     <div id="page" class="cf">
-      <header id="header">
-        <h1 id="logo" layout:fragment="header"><a href="../index.html" th:href="@{/}" title="Home" class="l">juplo</a></h1>
-        <span id="slogan"><strong>Java</strong> bits from nerds for nerds</span>
+      <header id="header"><!-- TODO: Vereinfachung -> für uri == index.html a gegen strong ausstauschen -->
         <hr class="h" />
       </header>
       <div id="breadcrumb">
         <strong class="b title">You are here:</strong>
         <hr class="h" />
       </header>
       <div id="breadcrumb">
         <strong class="b title">You are here:</strong>
-        <ol class="b" layout:fragment="breadcrumb">
+        <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}">
           <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.uri}}" th:text="${crumb.name}">Projects</a>
+            <a class="b" href="../projects.html" th:href="@{${crumb}}" th:text="${_titles.get(crumb)}">Projects</a>
           </li>
           <!--/*-->
           </li>
           <!--/*-->
-          <li class="b"><strong class="b" th:text="${title}"">Fix SWF</strong></li>
+          <li class="b"><strong class="b" th:text="${title}">Fix SWF</strong></li>
           <!--*/-->
         </ol>
         <a class="hide" href="#nav" title="Show navigation menu">Jump to navigation</a>
         <hr class="b" />
       </div>
       <main class="content cf">
           <!--*/-->
         </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" layout:fragment="maincontent" th:class="'main'">
-          <header><h1 th:text="${title}">juplo - BASISTEMPLATE</h1></header>
+        <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
           <div th:fragment="maincontent">
             <p>
               <strong>Lorem ipsum</strong> dolor
-              <a href="../projects/typo.html" th:href="@{/projects/typo.html}">sit amet</a>,
+              <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
               consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
               labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
-              <a href="#" th:href="@{/projects/html-experimente.html}">exercitation</a>
+              <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
               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
         </article>
         <div class="marginal">
           <nav id="nav"
         </article>
         <div class="marginal">
           <nav id="nav"
-              layout:fragment="navigation"
+              th:include="~{::#navigation}?:_"
               th:with="section=${crumbs != null ? crumbs[0] : null}"
               >
             <hr class="n"/>
               th:with="section=${crumbs != null ? crumbs[0] : null}"
               >
             <hr class="n"/>
             <h1 class="nav">Navigation</h1>
             <h2 class="nav menu">Section-Menu</h2>
             <ul id="menu" class="cf">
             <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.value.key}">
-                <a href="../blog.html" th:href="@{${entry.key}}" class="m" th:class="${entry.key == section.uri} ? 'm selected' : 'm'" th:text="${entry.value.name}">Blog</a>
+              <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>
               <!--/*-->
-              <li class="m projects"><a href="../projects" class="m selected">Projects</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>
               <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.uri}}" th:text="${section.name}">Projects</a>
+              <a class="s selected" href="../projects.html" th:href="@{${section}}" th:text="${_titles.get(section)}">Projects</a>
             </h2>
             </h2>
-            <ul layout:fragment="submenu"
+            <ul th:include="${submenu}?:_"
                 th:with="
                 th:with="
-                  submenu=${menu[section.uri]},
-                  parent=${(crumbs.size() == 2 and submenu.get(uri)['childs'] == null) ? crumbs[0].uri : null},
+                  len=${crumbs.size()},
+                  submenu=${_childs.get(section)},
+                  parent=${crumbs[0]},
                   pos=1"
                 id="submenu"
                 class="s"
                   pos=1"
                 id="submenu"
                 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="
                 >
               <li th:fragment="submenu(submenu, parent, pos)"
                   th:each="entry : ${submenu}"
                   th:with="
-                      child=${pos == crumbs.size()},
-                      selected=${!child and crumbs.get(pos).uri == entry.key},
-                      last=${crumbs.get(pos-1).uri == parent and crumbs.size() &gt; pos},
-                      childs=${entry.value['childs']}
+                      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"
                       "
                   class="s sub"
-                  th:class="'s' + (${childs} ? ' sub' : '') + (${selected or last or child} ? '' : ' off')"
+                  th:class="'s' + (${childs} ? ' sub' : '') + (${selected or sibling or child} ? '' : ' off')"
                   >
                   >
-                <a  href="../projects/fix-swf.html"
-                    th:href="@{${entry.key}}"
+                <a  href="../potemkin/fix-swf/overview.html"
+                    th:if="${entry != parent}"
+                    th:href="@{${entry}}"
                     class="s selected"
                     th:class="${selected} ? 's selected' : 's'"
                     class="s selected"
                     th:class="${selected} ? 's selected' : 's'"
-                    th:text="${entry.value.name}"
+                    th:text="${_titles.get(entry)}"
                     >fix-swf</a>
                 <ul th:if="${selected and childs != null}"
                     class="s active"
                     >fix-swf</a>
                 <ul th:if="${selected and childs != null}"
                     class="s active"
-                    th:class="${selected} ? 's active' : 's'"
+                    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="templates/layout :: submenu(submenu=${childs}, parent=${entry.key}, pos=${pos + 1})"
+                  <li th:replace="this :: submenu(submenu=${childs}, parent=${entry}, pos=${pos + 1})"
                       class="s"
                       >
                     <strong class="s">Overview</strong>
                   </li>
                   <!--/*-->
                       class="s"
                       >
                     <strong class="s">Overview</strong>
                   </li>
                   <!--/*-->
-                  <li class="s"><a href="../projects/fix-swf/getting-started.html" class="s">Getting Started</a></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>
                   <!--*/-->
                   <li class="s"><a href="#" class="s">FAQ</a></li>
                   <li class="s"><a href="#" class="s">Documentation</a></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="#" 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="../projects/html-experimente.html" th:href="@{/projects/html-experimente.html}" class="s">HTML-Experimente</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 sub off"><a href="#" class="s">accelerator</a></li>
-              <li class="s off"><a href="../projects/typo.html" th:href="@{/projects/typo.html}" class="s">Typography</a></li>
+              <li class="s off"><a href="../potemkin/typo.html" th:href="@{/potemkin/typo.html}" class="s">Typography</a></li>
               <!--*/-->
             </ul>
             <hr class="n"/>
           </nav>
               <!--*/-->
             </ul>
             <hr class="n"/>
           </nav>
-          <aside class="m" layout:fragment="marginalcontent" th:remove="tag">
+          <aside class="m" th:insert="${marginalcontent}?:~{}">
           <!--/* the following  is only visible during natural templating -->
             <h1>Other nasty but marginal stuff</h1>
             <p>
           <!--/* the following  is only visible during natural templating -->
             <h1>Other nasty but marginal stuff</h1>
             <p>
       </main>
       <footer id="footer">
         <hr class="f" />
       </main>
       <footer id="footer">
         <hr class="f" />
-        <ul id="footerlinks" layout:fragment="footer">
+        <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" 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 about"><a class="f" href="../about.html" th:href="@{/about.html}">About</a></li>
+          <li class="f"><a class="f" href="../datenschutz.html" th:href="@{/datenschutz.html}">Datenschutz</a></li>
         </ul>
       </footer>
     </div>
         </ul>
       </footer>
     </div>