Author: bobharner
Date: Tue Apr 28 01:55:19 2020
New Revision: 1877096
URL: http://svn.apache.org/viewvc?rev=1877096&view=rev
Log:
Updated template.vm contributed by pico.dev
Modified:
tapestry/tapestry-site/trunk/template/template.vm
Modified: tapestry/tapestry-site/trunk/template/template.vm
URL:
http://svn.apache.org/viewvc/tapestry/tapestry-site/trunk/template/template.vm?rev=1877096&r1=1877095&r2=1877096&view=diff
==============================================================================
--- tapestry/tapestry-site/trunk/template/template.vm (original)
+++ tapestry/tapestry-site/trunk/template/template.vm Tue Apr 28 01:55:19 2020
@@ -1,100 +1,106 @@
<!DOCTYPE html>
-
- <!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
-->
<html>
<head>
- <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
- <meta http-equiv="x-ua-compatible" content="IE=9">
- <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta http-equiv="content-type" content="text/html; charset=utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <meta name="keywords" content="tapestry, apache, apache tapestry, frameowrk,
java, web, component, open source, application, dynamic, scalable, robust,
servlet">
+ <meta name="description" content="Apache Tapestry is a open-source
component-oriented framework for creating dynamic, robust, highly scalable web
applications in Java. Tapestry complements and builds upon the standard Java
Servlet API, and so it works in any servlet container or application server.">
+
<title>
#if (! $page.title.equals("Index") && ! $page.title.equals("IndexV2"))
- $page.title -- Apache Tapestry
+ $page.title - Apache Tapestry
#else
- Apache Tapestry Home Page
+ Apache Tapestry
#end
</title>
- <link type="text/css" rel="stylesheet" href="/resources/space.css" />
-
- #if($page.hasCode)
- ## CSS files for SyntaxHighlighter:
- <link href='/resources/highlighter/styles/shCoreCXF.css' rel='stylesheet'
type='text/css' />
- <link href='/resources/highlighter/styles/shThemeCXF.css' rel='stylesheet'
type='text/css' />
- <script src='/resources/highlighter/scripts/shCore.js'
type='text/javascript'></script>
- #foreach ($hscript in $page.CodeScripts)
- <script src='/resources/highlighter/scripts/$hscript'
type='text/javascript'></script>
- #end
- <script>
- SyntaxHighlighter.defaults['toolbar'] = false;
- SyntaxHighlighter.all();
- </script>
- #end
-
- <link href="/styles/style.css" rel="stylesheet" type="text/css"/>
+ <link rel="apple-touch-icon-precomposed" sizes="144x144"
href="images/apache-tapestry-5-icon-144.png">
+ <link rel="apple-touch-icon-precomposed" sizes="114x114"
href="images/apache-tapestry-5-icon-114.png">
+ <link rel="apple-touch-icon-precomposed" sizes="72x72"
href="images/apache-tapestry-5-icon-72.png">
+ <link rel="apple-touch-icon-precomposed"
href="images/apache-tapestry-5-icon-57.png">
+ <link rel="shortcut icon" href="images/apache-tapestry-5-icon-32.png">
+
+ <link rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Sarabun:ital,wght@0,400;0,700;1,400;1,700&display=swap">
+ <link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
+ <link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
+ <link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css">
+ <link rel="stylesheet" href="/styles/main.css">
+
+ <script type="text/javascript">
+ if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
+ window.location = window.location.href.replace('http://', 'https://');
+ }
+ </script>
+
+ <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"
integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n"
crossorigin="anonymous" defer></script>
+ <script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"
integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo"
crossorigin="anonymous" defer></script>
+ <script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"
integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6"
crossorigin="anonymous" defer></script>
+ <script
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js"
defer></script>
+ <script
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js"
defer></script>
+
+ <script type="text/javascript">
+ window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new
Date;
+ ga('create', 'UA-400821-1', 'auto');
+ ga('send', 'pageview');
+ </script>
+ <script async src='https://www.google-analytics.com/analytics.js'></script>
</head>
-
<body>
-
- <div class="wrapper bs">
-
- #set($content = $exporter.getPageContent("Navigation","navigation"))
- $content.replaceAll('shape="rect"', "")
-
- #if (! $page.title.equals("Index") && ! $page.title.equals("IndexV2"))
- <div id="top">
- #set($content = $exporter.getPageContent("Small Banner","smallbanner"))
- $content.replaceAll("Page Title",
$page.title).replaceAll('shape="rect"', "")
- <div class="clearer"></div>
+ <!-- /// Navigation Start -->
+ #set($content = $exporter.getPageContent("Navigation", "navigation"))
+ $content.replaceAll(' shape="rect"', "").replaceAll('\$page.id', $page.id)
+ <!-- /// Navigation End -->
+
+ <article>
+ <div class="container-fluid">
+ <div class="container pt-5">
+ <div class="row">
+ <div class="col-12">
+ #if (! $page.title.equals("Index") && !
$page.title.equals("IndexV2"))
+ <!-- /// Breadcrumb Start -->
+ <div id="breadcrumb" class="mb-2 text-small">
+ #set($content = $exporter.breadcrumbs($page))
+ $content.replaceAll('<a
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Index"
title="Index">Index</a> > ', "").replaceAll("Home", "Index")
+ </div>
+ <!-- /// Breadcrumb End -->
+
+ <!-- /// Smallbanner Start -->
+ #set($content = $exporter.getPageContent("Small Banner",
"smallbanner"))
+ $content.replaceAll(' shape="rect"',
"").replaceAll('\$page.title', $page.title)
+ <!-- /// Smallbanner Start -->
+ #end
+
+ <!-- /// Content Start -->
+ <div id="content">
+ #set($body = $page.getContent())
+ $body.replaceAll(' shape="rect"|<br
clear="none">|<p></p>|<p>&#\d+;</p>|<div class="clearer"></div>"',
"").replaceAll('<table [^>]*>', '<table class="table
table-bordered">').replaceAll('<pre class="syntaxhighlighter-pre"
data-syntaxhighlighter-params="brush:
(?<language>[\S]*);[^>]*>(?<code>[^>]*)</pre>', '<pre><code
class="language-${language}">${code}</code></pre>').replaceAll('<pre
class="brush: (?<language>[\S]*);[^>]*>(?<code>[^>]*)</pre>', '<pre><code
class="language-${language}">${code}</code></pre>')
+ </div>
+ <!-- /// Content End -->
+ </div>
+ </div>
</div>
-
- <div class="clearer"></div>
-
- <div id="breadcrumbs">
- #set($content = $exporter.breadcrumbs($page))
- $content.replaceAll('<a
href="https://cwiki.apache.org/confluence/display/TAPESTRY/Index"
title="Index">Index</a> > ',"").replaceAll("Home", "Index")
- <a class="edit" title="Edit this page (requires approval -- just ask
on the mailing list)"
href="$confluenceUri/pages/editpage.action?pageId=$page.id">edit</a>
- </div>
-
- <div id="content">
- #set($body = $page.getContent())
- $body.replaceAll('shape="rect"', "")
- </div>
-
- <div class="clearer"></div>
- #else
- #set($body = $page.getContent())
- $body.replaceAll('shape="rect"', "")
- #end
-
- <div id="footer">
- #set($content = $exporter.getPageContent("Footer","footer"))
- $content.replaceAll('shape="rect"', "")
</div>
+ </article>
- <div id="comments_thread"></div>
- <script type="text/javascript"
src="https://comments.apache.org/show_comments.lua?site=tapestry&page=http://tapestry.apache.org/$page.createFileName()"
async="true">
- </script>
- <noscript>
- <iframe width="100%" height="500"
src="https://comments.apache.org/iframe.lua?site=tapestry&page=http://tapestry.apache.org/$page.createFileName()"></iframe>
- </noscript>
-
- </div>
-
+ <!-- /// Footer Start -->
+ #set($content = $exporter.getPageContent("Footer", "footer"))
+ $content.replaceAll(' shape="rect"', "").replaceAll('\$page.id', $page.id)
+ <!-- /// Footer End -->
</body>
-</html>
+</html>
\ No newline at end of file