Modified: websites/production/tapestry/content/component-rendering.html
==============================================================================
--- websites/production/tapestry/content/component-rendering.html (original)
+++ websites/production/tapestry/content/component-rendering.html Fri May 1
00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Component Rendering - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -222,7 +222,7 @@
</div>
-<h2 id="ComponentRendering-RenderingPhases">Rendering Phases</h2><p>The
rendering of each component is divided into a number of phases, illustrated
below.</p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image confluence-external-resource"
src="component-rendering.data/tapestry_render_phases.png"
data-image-src="https://cwiki.apache.org/confluence/download/attachments/21792222/tapestry_render_phases.png?version=3&modificationDate=1381833043000&api=v2"></span>Each
of the orange phases (SetupRender, BeginRender, BeforeRenderBody, etc.)
corresponds to an annotation you may place on one or more methods of your
class. The annotation directs Tapestry to invoke your method as part of that
phase.</p><p>Methods marked with these annotations are called <strong>render
phase methods</strong>.</p><p>Your methods may be void, or return a boolean
value. Returning a value can force phases to be skipped, or even be re-visited.
In the diagram, solid lines s
how the normal processing path. Dashed lines are alternate flows that are
triggered when your render phase methods return false instead of true (or
void).</p><p>Render phase methods may take no parameters, or may take a
parameter of type <a href="dom.html">MarkupWriter</a>. The methods can have any
visibility you like ... typically, package private is used, as this visibility
makes it possible to unit test your code (from within the same Java package)
without making the methods part of the component's <em>public</em>
API.</p><p>All Render phase methods are <em>optional</em>; a default behavior
is associated with each phase.</p><div class="table-wrap"><table class="table
table-bordered"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Annotation</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Method Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>When Called</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong><a clas
s="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/SetupRender.html">@SetupRender</a></strong></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>setupRender()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>When initial setup actions, if
any, are needed</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/BeginRender">@BeginRender</a></strong></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>beginRender()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>When Tapestry is ready for the
component's start tag, if any, to be rendered</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/BeforeRenderTemplate">@BeforeRenderTemplate</a></p></td><td
co
lspan="1" rowspan="1"
class="confluenceTd"><p>beforeRenderTemplate()</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Before Tapestry renders the component's
template, if any</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/BeforeRenderBody">@BeforeRenderBody</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>beforeRenderBody()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Before Tapestry renders the
body of the component, if any</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/AfterRenderBody">@AfterRenderBody</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>afterRenderBody()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>After Tapestry renders the body
of the compone
nt, if any, but before the rest of the component's template is
rendered</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/AfterRenderTemplate">@AfterRenderTemplate</a></p></td><td
colspan="1" rowspan="1"
class="confluenceTd"><p>afterRenderTemplate()</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>After Tapestry finishes rendering the
component's template, if any</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/AfterRender">@AfterRender</a></strong></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>afterRender()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>After Tapestry has finished
rendering both the template and body of the component</p></td></tr><tr><td
colspan="1" rowspan="1" class="con
fluenceTd"><p><strong><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/CleanupRender">@CleanupRender</a></strong></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>cleanupRender()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>When final cleanup actions, if
any, are needed</p></td></tr></tbody></table></div><p>The large number of
phases reflects the need for precise control of components from <a
href="component-mixins.html">component mixins</a>. Several of the phases exist
almost exclusively for mixins.</p><p>Generally, your code will use the
SetupRender, BeginRender, AfterRender and CleanupRender phases ... often just
one or two of those.</p><h2 id="ComponentRendering-AnExample">An
Example</h2><p>Here's the source for a looping component that counts up or down
between two values, renders its body a number of times, and stores the current
index value in a parameter:</p><div class="code panel pdl" style=
"border-width: 1px;"><div class="codeContent panelContent pdl">
+<h2 id="ComponentRendering-RenderingPhases">Rendering Phases</h2><p>The
rendering of each component is divided into a number of phases, illustrated
below.</p><p><span class="confluence-embedded-file-wrapper"><img
class="confluence-embedded-image confluence-external-resource"
src="component-rendering.data/tapestry_render_phases.png"
data-image-src="https://cwiki.apache.org/confluence/download/attachments/21792222/tapestry_render_phases.png?version=3&modificationDate=1381833043000&api=v2"></span>Each
of the orange phases (SetupRender, BeginRender, BeforeRenderBody, etc.)
corresponds to an annotation you may place on one or more methods of your
class. The annotation directs Tapestry to invoke your method as part of that
phase.</p><p>Methods marked with these annotations are called <strong>render
phase methods</strong>.</p><p>Your methods may be void, or return a boolean
value. Returning a value can force phases to be skipped, or even be re-visited.
In the diagram, solid lines s
how the normal processing path. Dashed lines are alternate flows that are
triggered when your render phase methods return false instead of true (or
void).</p><p>Render phase methods may take no parameters, or may take a
parameter of type <a href="dom.html">MarkupWriter</a>. The methods can have any
visibility you like ... typically, package private is used, as this visibility
makes it possible to unit test your code (from within the same Java package)
without making the methods part of the component's <em>public</em>
API.</p><p>All Render phase methods are <em>optional</em>; a default behavior
is associated with each phase.</p><div class="table-wrap"><table class="table
table-bordered table-responsive"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Annotation</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Method Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>When Called</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><
p><strong><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/SetupRender.html">@SetupRender</a></strong></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>setupRender()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>When initial setup actions, if
any, are needed</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/BeginRender">@BeginRender</a></strong></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>beginRender()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>When Tapestry is ready for the
component's start tag, if any, to be rendered</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/BeforeRenderTemplate">@BeforeRenderTemplate</
a></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>beforeRenderTemplate()</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Before Tapestry renders the component's
template, if any</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/BeforeRenderBody">@BeforeRenderBody</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>beforeRenderBody()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Before Tapestry renders the
body of the component, if any</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/AfterRenderBody">@AfterRenderBody</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>afterRenderBody()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>After Tapestry renders the bo
dy of the component, if any, but before the rest of the component's template
is rendered</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/AfterRenderTemplate">@AfterRenderTemplate</a></p></td><td
colspan="1" rowspan="1"
class="confluenceTd"><p>afterRenderTemplate()</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>After Tapestry finishes rendering the
component's template, if any</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/AfterRender">@AfterRender</a></strong></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>afterRender()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>After Tapestry has finished
rendering both the template and body of the component</p></td></tr><tr><td
colspan="1" rowsp
an="1" class="confluenceTd"><p><strong><a class="external-link"
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/CleanupRender">@CleanupRender</a></strong></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>cleanupRender()</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>When final cleanup actions, if
any, are needed</p></td></tr></tbody></table></div><p>The large number of
phases reflects the need for precise control of components from <a
href="component-mixins.html">component mixins</a>. Several of the phases exist
almost exclusively for mixins.</p><p>Generally, your code will use the
SetupRender, BeginRender, AfterRender and CleanupRender phases ... often just
one or two of those.</p><h2 id="ComponentRendering-AnExample">An
Example</h2><p>Here's the source for a looping component that counts up or down
between two values, renders its body a number of times, and stores the current
index value in a parameter:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
<pre><code class="language-java">package org.example.app.components;
import org.apache.tapestry5.annotations.Parameter;
@@ -405,4 +405,4 @@ public class Count
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/component-report.html
==============================================================================
--- websites/production/tapestry/content/component-report.html (original)
+++ websites/production/tapestry/content/component-report.html Fri May 1
00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Component Report - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -237,4 +237,4 @@
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/component-templates.html
==============================================================================
--- websites/production/tapestry/content/component-templates.html (original)
+++ websites/production/tapestry/content/component-templates.html Fri May 1
00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Component Templates - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -245,7 +245,7 @@
<h1>Bonjour from HelloWorld component.</h1>
</html>
</code></pre>
-</div></div><p>We'll cover the specific content of templates shortly, but
first a few details about connecting a component to its template.</p><h2
id="ComponentTemplates-TemplateLocation">Template Location</h2><p>A component
template shares the same name as its corresponding class file, but with a
".tml" ending (i.e., <strong>T</strong>apestry <strong>M</strong>arkup
<strong>L</strong>anguage), and is stored in the same package as the
corresponding component class.</p><p>Under a typical Maven directory structure,
the Java class and template files for a <em>component</em> might be:</p><div
class="table-wrap"><table class="table table-bordered"><tbody><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Java
class:</strong></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>src/main/java/org/example/myapp/components/MyComponent.java</code></p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Template:</strong></p></td><td colspan="1" r
owspan="1"
class="confluenceTd"><p><code>src/main/resources/org/example/myapp/components/MyComponent.tml</code></p></td></tr></tbody></table></div><p>Likewise,
the Java class and template files for a <em>page</em> might be:</p><div
class="table-wrap"><table class="table table-bordered"><tbody><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Java
class:</strong></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>src/main/java/org/example/myapp/pages/MyPage.java</code></p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Template:</strong></p></td><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>src/main/resources/org/example/myapp/pages/MyPage.tml</code></p></td></tr></tbody></table></div><p>The
template and the compiled class will be packaged together in the
WEB-INF/classes folder of the application WAR.</p><p>For <em>pages</em> (but
not other components), a second location will be searched: in the web
application contex
t. The location is based on the logical name of the page, in the previous
example, the template would be <code>MyPage.tml</code> in the root folder of
the web application.</p><p>A template on the classpath takes precedence over a
file in the web application context.</p><div
class="confluence-information-macro confluence-information-macro-warning"><span
class="aui-icon aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Allowing pages to store their
template in the web context is a feature that may go away at some point. It was
included as a way for HTML designers to edit template directly and live preview
the template directly, without executing the Tapestry application. This comes
with a large number of limitations and leads to a false sense of security that
a template that previews correctly will render properly (this is not always the
case).</p></div></div><h2 id="ComponentTemplates-TemplateLocalization">Te
mplate Localization</h2><p>Main Article: <a
href="localization.html">Localization</a></p><p>Templates are handled in much
the same way as individual files of a component's message catalog: the
effective locale is inserted into the name of the file. Thus a German users
will see the content generated from <code>MyPage_de.tml</code> and French users
will see content generated from <code>MyPage_fr.tml</code>. When no specific
localization is available, the default location (<code>MyPage.tml</code>) is
used.</p><div class="confluence-information-macro
confluence-information-macro-information"><span class="aui-icon aui-icon-small
aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>It is necessary to <a
href="configuration.html">enable support for a locale</a></p><p>before Tapestry
will attempt to localize to that locale. This requires configuration in your
application module (usually AppModule.java); if you are using the Tapestry Q
uickstart archetype, only locale "en" will be enabled by
default.</p></div></div><p><span class="confluence-anchor-link"
id="ComponentTemplates-doctypes"></span></p><h2
id="ComponentTemplates-TemplateDoctypes">Template Doctypes</h2><p>As mentioned
above, component templates are well-formed XML documents. This means that if
you want to use any <a class="external-link"
href="http://www.w3.org/TR/html401/sgml/entities.html" rel="nofollow">Named
HTML entities</a> (such as &amp; &lt; &gt; &copy;), you must
use an <a class="external-link"
href="http://www.w3.org/QA/2002/04/valid-dtd-list.html" rel="nofollow">HTML or
XHTML doctype</a> in your template <em>(starting in 5.3, this is more-or-less
automatic, see notes below)</em>. If you choose to use (X)HTML doctypes in your
templates, they will be passed on to the client in the resultant (X)HTML. Note
that if your pages are composed of multiple components, each with a template,
and each template contains a doctype declaration
, only the first doctype encountered by the template parser will be passed on
to the client.</p><p>It should also be noted that even though
<strong>X</strong>HTML DTDs are valid XML DTDs, HTML DTDs aren't. This means
that HTML doctypes cannot be used by XML parsers. Tapestry works around this
limitation internally by using XHTML DTDs to parse templates that use HTML
DTDs. This internal mapping is possible because XHTML 1.0 is nothing more than
"a reformulation of the three HTML 4 document types as applications of XML
1.0," <a class="external-link" href="http://www.w3.org/TR/xhtml1/#xhtml"
rel="nofollow">as per the W3C</a>. Don't worry though – the original HTML
4 doctype will still be emitted to the client!</p><p>The following are the most
common (X)HTML doctypes:</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>We'll cover the specific content of templates shortly, but
first a few details about connecting a component to its template.</p><h2
id="ComponentTemplates-TemplateLocation">Template Location</h2><p>A component
template shares the same name as its corresponding class file, but with a
".tml" ending (i.e., <strong>T</strong>apestry <strong>M</strong>arkup
<strong>L</strong>anguage), and is stored in the same package as the
corresponding component class.</p><p>Under a typical Maven directory structure,
the Java class and template files for a <em>component</em> might be:</p><div
class="table-wrap"><table class="table table-bordered
table-responsive"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Java class:</strong></p></td><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>src/main/java/org/example/myapp/components/MyComponent.java</code></p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Template:</strong></p></td>
<td colspan="1" rowspan="1"
class="confluenceTd"><p><code>src/main/resources/org/example/myapp/components/MyComponent.tml</code></p></td></tr></tbody></table></div><p>Likewise,
the Java class and template files for a <em>page</em> might be:</p><div
class="table-wrap"><table class="table table-bordered
table-responsive"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Java class:</strong></p></td><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>src/main/java/org/example/myapp/pages/MyPage.java</code></p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Template:</strong></p></td><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>src/main/resources/org/example/myapp/pages/MyPage.tml</code></p></td></tr></tbody></table></div><p>The
template and the compiled class will be packaged together in the
WEB-INF/classes folder of the application WAR.</p><p>For <em>pages</em> (but
not other components), a second location will be searc
hed: in the web application context. The location is based on the logical name
of the page, in the previous example, the template would be
<code>MyPage.tml</code> in the root folder of the web application.</p><p>A
template on the classpath takes precedence over a file in the web application
context.</p><div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Allowing pages to store their
template in the web context is a feature that may go away at some point. It was
included as a way for HTML designers to edit template directly and live preview
the template directly, without executing the Tapestry application. This comes
with a large number of limitations and leads to a false sense of security that
a template that previews correctly will render properly (this is not always the
case).</p></div></div><h2 id="Component
Templates-TemplateLocalization">Template Localization</h2><p>Main Article: <a
href="localization.html">Localization</a></p><p>Templates are handled in much
the same way as individual files of a component's message catalog: the
effective locale is inserted into the name of the file. Thus a German users
will see the content generated from <code>MyPage_de.tml</code> and French users
will see content generated from <code>MyPage_fr.tml</code>. When no specific
localization is available, the default location (<code>MyPage.tml</code>) is
used.</p><div class="confluence-information-macro
confluence-information-macro-information"><span class="aui-icon aui-icon-small
aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>It is necessary to <a
href="configuration.html">enable support for a locale</a></p><p>before Tapestry
will attempt to localize to that locale. This requires configuration in your
application module (usually AppModule.java
); if you are using the Tapestry Quickstart archetype, only locale "en" will
be enabled by default.</p></div></div><p><span class="confluence-anchor-link"
id="ComponentTemplates-doctypes"></span></p><h2
id="ComponentTemplates-TemplateDoctypes">Template Doctypes</h2><p>As mentioned
above, component templates are well-formed XML documents. This means that if
you want to use any <a class="external-link"
href="http://www.w3.org/TR/html401/sgml/entities.html" rel="nofollow">Named
HTML entities</a> (such as &amp; &lt; &gt; &copy;), you must
use an <a class="external-link"
href="http://www.w3.org/QA/2002/04/valid-dtd-list.html" rel="nofollow">HTML or
XHTML doctype</a> in your template <em>(starting in 5.3, this is more-or-less
automatic, see notes below)</em>. If you choose to use (X)HTML doctypes in your
templates, they will be passed on to the client in the resultant (X)HTML. Note
that if your pages are composed of multiple components, each with a template,
and each templ
ate contains a doctype declaration, only the first doctype encountered by the
template parser will be passed on to the client.</p><p>It should also be noted
that even though <strong>X</strong>HTML DTDs are valid XML DTDs, HTML DTDs
aren't. This means that HTML doctypes cannot be used by XML parsers. Tapestry
works around this limitation internally by using XHTML DTDs to parse templates
that use HTML DTDs. This internal mapping is possible because XHTML 1.0 is
nothing more than "a reformulation of the three HTML 4 document types as
applications of XML 1.0," <a class="external-link"
href="http://www.w3.org/TR/xhtml1/#xhtml" rel="nofollow">as per the W3C</a>.
Don't worry though – the original HTML 4 doctype will still be emitted to
the client!</p><p>The following are the most common (X)HTML doctypes:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<pre><code class="language-java"><!DOCTYPE html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
@@ -460,4 +460,4 @@
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/configuration.html
==============================================================================
--- websites/production/tapestry/content/configuration.html (original)
+++ websites/production/tapestry/content/configuration.html Fri May 1 00:29:08
2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Configuration - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -214,11 +214,11 @@
<h1 id="Configuration-ConfiguringTapestry">Configuring Tapestry</h1><p>This
page discusses all the ways in which Tapestry can be configured. Tapestry
applications are configured almost entirely using Java, with very little XML at
all.</p><p><strong>Contents</strong></p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1588040635746 {padding: 0px;}
-div.rbtoc1588040635746 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588040635746 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1588292696705 {padding: 0px;}
+div.rbtoc1588292696705 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1588292696705 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1588040635746">
+/*]]>*/</style></p><div class="toc-macro rbtoc1588292696705">
<ul class="toc-indentation"><li><a
href="#Configuration-XMLconfiguration(web.xml)">XML configuration
(web.xml)</a></li><li><a
href="#Configuration-YourApplication'sModuleClass">Your Application's Module
Class</a></li><li><a
href="#Configuration-ConfigurationSymbolNames">Configuration Symbol
Names</a></li><li><a
href="#Configuration-SettingComponentParameterDefaults">Setting Component
Parameter Defaults</a></li><li><a
href="#Configuration-ConfiguringIgnoredPaths">Configuring Ignored
Paths</a></li><li><a
href="#Configuration-ConfiguringContentTypeMapping">Configuring Content Type
Mapping</a></li><li><a href="#Configuration-SettingExecutionModes">Setting
Execution Modes</a></li><li><a
href="#Configuration-SegregatingApplicationsIntoFolders">Segregating
Applications Into Folders</a></li></ul>
</div><h2 id="Configuration-XMLconfiguration(web.xml)">XML configuration
(web.xml)</h2><p>Tapestry runs on top of the standard Java Servlet API. To the
servlet container, such as Tomcat, Tapestry appears as a <em>servlet
filter</em>. This gives Tapestry great flexibility in matching URLs without
requiring lots of XML configuration.</p><p>Although most configuration is done
with Java, a small but necessary amount of configuration occurs inside the
servlet deployment descriptor, WEB-INF/web.xml. Most of the configuration is
boilerplate, nearly the same for all applications.</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>web.xml (partial)</b></div><div
class="codeContent panelContent pdl">
<pre><code class="language-xml"><!DOCTYPE web-app
@@ -641,4 +641,4 @@ div.rbtoc1588040635746 li {margin-left:
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/confluence-site-setup.html
==============================================================================
--- websites/production/tapestry/content/confluence-site-setup.html (original)
+++ websites/production/tapestry/content/confluence-site-setup.html Fri May 1
00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Confluence Site Setup - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -213,7 +213,7 @@
</div>
-<h1 id="ConfluenceSiteSetup-Overview">Overview</h1><p>Most of the web site and
documentation (with the notable exception of the Javadoc API pages) are kept in
Confluence.</p><p>Since the Confluence instance at <a class="external-link"
href="https://cwiki.apache.org/confluence/">https://cwiki.apache.org/confluence/</a>
isn't capable of handling a lot of incoming requests, all wiki spaces are
statically exported. The SiteExporter program is responsible for that. Once a
page in Confluence changes, that page gets re-exported automatically.</p><h2
id="ConfluenceSiteSetup-HowSiteExporterworks">How SiteExporter
works</h2><p><em>For more details see the <a class="external-link"
href="https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk/README">SiteExporter
README</a>.</em></p><p>SiteExporter is a command-line Java program that is run
hourly (currently at 19 minutes after the hour) from Apache's BuildBot. It
makes a web service call to Confluence (to its RSS feed, actually) to get a
list of pages that have changed since the last run, and the HTML-formatted
export of those pages. For each, it post-processes the file (described below).
Finally, SiteExporter commits all changed HTML files into Tapestry's part of
the Apache Subversion repository, which (nearly instantly) makes it available
to the public at <a class="external-link"
href="http://tapestry.apache.org">http://tapestry.apache.org</a>, and commit
emails are sent to Tapestry's "commits" mailing list.</p><p>Attachments (to
Confluence pages) are exported in roughly the same way.</p><p>Unfortunately,
wiki pages with embedded images will export with <img> tags pointing to
the origial cwiki.apache.org URLs, unless you manually change the image in the
Confluence page to be linked to the exported static image file. This has been
done for the banner image, but not every embedded image.</p><p>The time between
saving a change in Confluence and seeing the result on the public site is at
most 1 hour, depending
on when you do it. If you save a change at 18 minutes after the hour you'll
see the change in about a minute. If you publish it at 20 minutes after the
hour then you'll have to wait almost an hour.</p><div class="table-wrap"><table
class="table table-bordered"><tbody><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>HTML files in SVN</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><a class="external-link"
href="https://svn.apache.org/repos/infra/websites/production/tapestry">https://svn.apache.org/repos/infra/websites/production/tapestry</a></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Cache File</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
href="https://svn.apache.org/repos/infra/websites/production/tapestry/content/cache/main.pageCache">https://svn.apache.org/repos/infra/websites/production/tapestry/content/cache/main.pageCache</a></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>SiteExporter s
ource</p></td><td colspan="1" rowspan="1" class="confluenceTd"><a
class="external-link"
href="https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk">https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk</a></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Velocity template</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
href="https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk/template/template.vm">https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk/template/template.vm</a></td></tr></tbody></table></div><h3
id="ConfluenceSiteSetup-Post-processingHTMLPages">Post-processing HTML
Pages</h3><p>HTML pages exported from Confluence are post-processed in several
ways before being committed to SVN. Here are just a few of the things going
on:</p><ul><li>Tagsoup is used to clean up the HTML.</li><li>The breadcrumb
links are updated.</li><li>Empty paragraph (<p>) tags are removed from
the top of the pag
e.</li><li>{code} macro output (code examples) are detected, and
SyntaxHighlighter JavaScript links are added to the page when
needed.</li><li>{include} tags (when one Confluence page includes another) are
detected, causing the <em>including</em> page to be regenerated
autoamtically.</li><li>{children} tags are also detected and
handled</li></ul><h2 id="ConfluenceSiteSetup-ManualIntervention">Manual
Intervention</h2><p>You can cause the <em>whole site</em> to be republished by
deleting the main.pageCache file (above) in the subversion repo. This is
usually only needed after changing the template.</p><h2
id="ConfluenceSiteSetup-ChangingSiteExporteritself">Changing SiteExporter
itself</h2><p>Currently the SiteExporter source code is an unmodified copy of a
program of the same name written by Dan Kulp for the Apache CXF project and
also used by Camel, Geronimo, and Struts (and possibly others). It can be
customized, but proceed with caution, because any customizations will make it
hard
er to pull in future changes from the original CXF SiteExporter code. The CXF
SiteExporter is likely to change as Confluence versions change.</p><p>To pick
up changes to the original CXF SiteExporter code, just compare <a
class="external-link"
href="https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk/src/main/java/org/apache/cxf/cwiki">the
Tapestry source code</a> with <a class="external-link"
href="http://svn.apache.org/repos/asf/cxf/web/src/main/java/org/apache/cxf/cwiki/">the
CXF source code</a>.</p><hr><h1
id="ConfluenceSiteSetup-WikiFormattingGuidelines">Wiki Formatting
Guidelines</h1><ul><li>Precede annotation names with '@'. If the annotation
name is hyperlinked, put the '@' character <em>outside</em> of the link:
@[AnnotationType|http://...AnnotationType.html]</li><li>The first reference to
a type on a page should be a link to <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/">http://tapestry.apache.org/current/apidocs/</a>...
(or the compo
nent reference)</li><li>Treat the page title as if it were an h0. element, and
put top level sections within the page as h1.</li><li>Page names as headings
should have All Words Captialized.</li><li>For other headings, only the first
word of multi-word headings should be capitalized, e.g. "h2. Naming
conventions" (following Wikipedia)</li><li>Use <code>code</code> font for
method and property names: <code>myProperty</code>,
<code>someMethod()</code>.</li><li>Use the default font for Class names
(qualified or not).</li><li>Use the default font for path names.</li><li>Use
{code} for listings, not {noformat}.</li><li>Use {noformat} for console
output.</li><li>Images and diagrams should be small-sized thumbnails, centered,
with no border.</li><li>Use the <a
href="since-and-deprecated-user-macros.html">Since and Deprecated</a> macros to
mark new or deprecated features.</li><li><em>Proposed: Each page should include
explicit links to its child pages. Don't rely on the "Child Pages" links
at the bottom, which don't carry over to the exported
site.</em></li><li><em>Proposed: In pages other than the User Guide pages,
subsections that briefly discuss topics that are more fully covered in the User
Guide should lead with a "Main Article: [Foo]" line, where Foo is the name of
the page in the User Guide. Example: the "Template Localization" section
of <a href="component-templates.html">Component
Templates</a></em></li><li><em>Proposed: User Guide pages should generally
start with a right-floated "Related Articles" box that provides links to
related content in the FAQ, Cookbook, Cheat Sheets, etc. <a
href="confluence-site-setup.html">Example</a></em></li><li><em>Proposed: The
lead paragraph should generally lead with the title word or phrase in bold
(following Wikipedia)</em></li></ul><h1
id="ConfluenceSiteSetup-Websitestructure">Website structure</h1><p
class="confluence-link">The <a href="index.html">Index</a> page includes
the <a href="banner.html">Banner</
a> and <a href="key-features.html">Key Features</a> pages as well as the
blog posts. Most other pages are just plain pages and may or may not include
other parts. In addition the <a
href="navigation.html">Navigation</a>, <a href="small-banner.html">Small
Banner</a> and <a href="footer.html">Footer</a> pages exist.</p><p
class="confluence-link">Our SiteExporter template (described above) glues
everything together. It adds the contents of the <a
href="navigation.html">Navigation</a> and <a href="footer.html">Footer</a>
pages in the appropriate places and on all pages except the <a
href="index.html">Index</a> page. It also adds the contents of the <a
href="small-banner.html">Small Banner</a>page as well as the breadcrumbs
navigation.</p><div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"
><p>HLS: I've noticed that pages with footnotes that are combined with the
>{include} macro do not render correctly ... the footnote numbers and anchors
>reset back to 1 for each included page. Perhaps there's a way to fix that
>with the template?</p></div></div><h1
>id="ConfluenceSiteSetup-Updatingthetemplate">Updating the template</h1><p>You
>must be a Tapestry committer or otherwise have write access to the subversion
>repository (see link above).</p><p>To edit the template:</p><ol><li>check out
>the SiteExporter source project (see link above)</li><li>find and edit the
>template.vm file</li><li>commit your changes</li></ol></div>
+<h1 id="ConfluenceSiteSetup-Overview">Overview</h1><p>Most of the web site and
documentation (with the notable exception of the Javadoc API pages) are kept in
Confluence.</p><p>Since the Confluence instance at <a class="external-link"
href="https://cwiki.apache.org/confluence/">https://cwiki.apache.org/confluence/</a>
isn't capable of handling a lot of incoming requests, all wiki spaces are
statically exported. The SiteExporter program is responsible for that. Once a
page in Confluence changes, that page gets re-exported automatically.</p><h2
id="ConfluenceSiteSetup-HowSiteExporterworks">How SiteExporter
works</h2><p><em>For more details see the <a class="external-link"
href="https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk/README">SiteExporter
README</a>.</em></p><p>SiteExporter is a command-line Java program that is run
hourly (currently at 19 minutes after the hour) from Apache's BuildBot. It
makes a web service call to Confluence (to its RSS feed, actually) to get a
list of pages that have changed since the last run, and the HTML-formatted
export of those pages. For each, it post-processes the file (described below).
Finally, SiteExporter commits all changed HTML files into Tapestry's part of
the Apache Subversion repository, which (nearly instantly) makes it available
to the public at <a class="external-link"
href="http://tapestry.apache.org">http://tapestry.apache.org</a>, and commit
emails are sent to Tapestry's "commits" mailing list.</p><p>Attachments (to
Confluence pages) are exported in roughly the same way.</p><p>Unfortunately,
wiki pages with embedded images will export with <img> tags pointing to
the origial cwiki.apache.org URLs, unless you manually change the image in the
Confluence page to be linked to the exported static image file. This has been
done for the banner image, but not every embedded image.</p><p>The time between
saving a change in Confluence and seeing the result on the public site is at
most 1 hour, depending
on when you do it. If you save a change at 18 minutes after the hour you'll
see the change in about a minute. If you publish it at 20 minutes after the
hour then you'll have to wait almost an hour.</p><div class="table-wrap"><table
class="table table-bordered table-responsive"><tbody><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>HTML files in SVN</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><a class="external-link"
href="https://svn.apache.org/repos/infra/websites/production/tapestry">https://svn.apache.org/repos/infra/websites/production/tapestry</a></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Cache File</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
href="https://svn.apache.org/repos/infra/websites/production/tapestry/content/cache/main.pageCache">https://svn.apache.org/repos/infra/websites/production/tapestry/content/cache/main.pageCache</a></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">
<p>SiteExporter source</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><a class="external-link"
href="https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk">https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk</a></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Velocity template</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
href="https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk/template/template.vm">https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk/template/template.vm</a></td></tr></tbody></table></div><h3
id="ConfluenceSiteSetup-Post-processingHTMLPages">Post-processing HTML
Pages</h3><p>HTML pages exported from Confluence are post-processed in several
ways before being committed to SVN. Here are just a few of the things going
on:</p><ul><li>Tagsoup is used to clean up the HTML.</li><li>The breadcrumb
links are updated.</li><li>Empty paragraph (<p>) tags are removed from t
he top of the page.</li><li>{code} macro output (code examples) are detected,
and SyntaxHighlighter JavaScript links are added to the page when
needed.</li><li>{include} tags (when one Confluence page includes another) are
detected, causing the <em>including</em> page to be regenerated
autoamtically.</li><li>{children} tags are also detected and
handled</li></ul><h2 id="ConfluenceSiteSetup-ManualIntervention">Manual
Intervention</h2><p>You can cause the <em>whole site</em> to be republished by
deleting the main.pageCache file (above) in the subversion repo. This is
usually only needed after changing the template.</p><h2
id="ConfluenceSiteSetup-ChangingSiteExporteritself">Changing SiteExporter
itself</h2><p>Currently the SiteExporter source code is an unmodified copy of a
program of the same name written by Dan Kulp for the Apache CXF project and
also used by Camel, Geronimo, and Struts (and possibly others). It can be
customized, but proceed with caution, because any customizations
will make it harder to pull in future changes from the original CXF
SiteExporter code. The CXF SiteExporter is likely to change as Confluence
versions change.</p><p>To pick up changes to the original CXF SiteExporter
code, just compare <a class="external-link"
href="https://svn.apache.org/repos/asf/tapestry/tapestry-site/trunk/src/main/java/org/apache/cxf/cwiki">the
Tapestry source code</a> with <a class="external-link"
href="http://svn.apache.org/repos/asf/cxf/web/src/main/java/org/apache/cxf/cwiki/">the
CXF source code</a>.</p><hr><h1
id="ConfluenceSiteSetup-WikiFormattingGuidelines">Wiki Formatting
Guidelines</h1><ul><li>Precede annotation names with '@'. If the annotation
name is hyperlinked, put the '@' character <em>outside</em> of the link:
@[AnnotationType|http://...AnnotationType.html]</li><li>The first reference to
a type on a page should be a link to <a class="external-link"
href="http://tapestry.apache.org/current/apidocs/">http://tapestry.apache.org/current/apidocs/</a>
... (or the component reference)</li><li>Treat the page title as if it were an
h0. element, and put top level sections within the page as h1.</li><li>Page
names as headings should have All Words Captialized.</li><li>For other
headings, only the first word of multi-word headings should be capitalized,
e.g. "h2. Naming conventions" (following Wikipedia)</li><li>Use
<code>code</code> font for method and property names: <code>myProperty</code>,
<code>someMethod()</code>.</li><li>Use the default font for Class names
(qualified or not).</li><li>Use the default font for path names.</li><li>Use
{code} for listings, not {noformat}.</li><li>Use {noformat} for console
output.</li><li>Images and diagrams should be small-sized thumbnails, centered,
with no border.</li><li>Use the <a
href="since-and-deprecated-user-macros.html">Since and Deprecated</a> macros to
mark new or deprecated features.</li><li><em>Proposed: Each page should include
explicit links to its child pages. Don't rely on the "Ch
ild Pages" links at the bottom, which don't carry over to the exported
site.</em></li><li><em>Proposed: In pages other than the User Guide pages,
subsections that briefly discuss topics that are more fully covered in the User
Guide should lead with a "Main Article: [Foo]" line, where Foo is the name of
the page in the User Guide. Example: the "Template Localization" section
of <a href="component-templates.html">Component
Templates</a></em></li><li><em>Proposed: User Guide pages should generally
start with a right-floated "Related Articles" box that provides links to
related content in the FAQ, Cookbook, Cheat Sheets, etc. <a
href="confluence-site-setup.html">Example</a></em></li><li><em>Proposed: The
lead paragraph should generally lead with the title word or phrase in bold
(following Wikipedia)</em></li></ul><h1
id="ConfluenceSiteSetup-Websitestructure">Website structure</h1><p
class="confluence-link">The <a href="index.html">Index</a> page includes
the <a href="bann
er.html">Banner</a> and <a href="key-features.html">Key Features</a>
pages as well as the blog posts. Most other pages are just plain pages and may
or may not include other parts. In addition the <a
href="navigation.html">Navigation</a>, <a href="small-banner.html">Small
Banner</a> and <a href="footer.html">Footer</a> pages exist.</p><p
class="confluence-link">Our SiteExporter template (described above) glues
everything together. It adds the contents of the <a
href="navigation.html">Navigation</a> and <a href="footer.html">Footer</a>
pages in the appropriate places and on all pages except the <a
href="index.html">Index</a> page. It also adds the contents of the <a
href="small-banner.html">Small Banner</a>page as well as the breadcrumbs
navigation.</p><div class="confluence-information-macro
confluence-information-macro-warning"><span class="aui-icon aui-icon-small
aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-inform
ation-macro-body"><p>HLS: I've noticed that pages with footnotes that are
combined with the {include} macro do not render correctly ... the footnote
numbers and anchors reset back to 1 for each included page. Perhaps there's a
way to fix that with the template?</p></div></div><h1
id="ConfluenceSiteSetup-Updatingthetemplate">Updating the template</h1><p>You
must be a Tapestry committer or otherwise have write access to the subversion
repository (see link above).</p><p>To edit the template:</p><ol><li>check out
the SiteExporter source project (see link above)</li><li>find and edit the
template.vm file</li><li>commit your changes</li></ol></div>
</div>
<!-- /// Content End -->
</div>
@@ -267,4 +267,4 @@
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/content-type-and-markup.html
==============================================================================
--- websites/production/tapestry/content/content-type-and-markup.html (original)
+++ websites/production/tapestry/content/content-type-and-markup.html Fri May
1 00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Content Type and Markup - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -196,4 +196,4 @@
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/contributors.html
==============================================================================
--- websites/production/tapestry/content/contributors.html (original)
+++ websites/production/tapestry/content/contributors.html Fri May 1 00:29:08
2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Contributors - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -144,7 +144,7 @@
<div id="content">
<div id="ConfluenceContent"><h2
id="Contributors-Committers">Committers</h2>
-<div class="table-wrap"><table class="table table-bordered"><colgroup
span="1"><col span="1"><col span="1"><col span="1"><col span="1"><col
span="1"></colgroup><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>ID</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>role</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>email address</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>website</p></th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>Andreas Andreou</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>andyhot</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1"
class="confluenceTd">
+<div class="table-wrap"><table class="table table-bordered
table-responsive"><colgroup span="1"><col span="1"><col span="1"><col
span="1"><col span="1"><col span="1"></colgroup><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>ID</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>role</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>email address</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>website</p></th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>Andreas Andreou</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>andyhot</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1"
class="confluenceTd">
<div class="cfm-align-right" style="text-align:
right;">[email protected]</div>
</td><td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
href="http://andyhot.gr" rel="nofollow">http://andyhot.gr</a></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>Ben Dotte</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>bdotte</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>committer</p></td><td colspan="1"
rowspan="1" class="confluenceTd">
<div class="cfm-align-right" style="text-align: right;">[email protected]</div>
@@ -202,7 +202,7 @@
<p>These people have contributed to Tapestry in the form of documentation,
patches or otherwise:</p>
-<div class="table-wrap"><table class="table table-bordered"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p> contribution </p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p> email address </p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p> website </p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> Katia Aresti </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> documentation and demos </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> [email protected]
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <a
class="external-link" href="http://jduchess.org/" rel="nofollow">Blog
JDuchess</a>, <a class="external-link" href="http://blog.xebia.fr/"
rel="nofollow">Blog Xebia France</a> </p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p> YourKit </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> Free Licens
es of YourKit Java Profiler for committers </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> [email protected] </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> <a class="external-link"
href="http://www.yourkit.com/overview/"
rel="nofollow">http://www.yourkit.com/overview/</a>
</p></td></tr></tbody></table></div></div>
+<div class="table-wrap"><table class="table table-bordered
table-responsive"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> contribution </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> email address </p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p> website </p></th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> Katia Aresti </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> documentation and demos </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> [email protected] </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <a class="external-link"
href="http://jduchess.org/" rel="nofollow">Blog JDuchess</a>, <a
class="external-link" href="http://blog.xebia.fr/" rel="nofollow">Blog Xebia
France</a> </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> YourKit </p></td><td colspan="1" rowspan="1"
class="confluenceTd
"><p> Free Licenses of YourKit Java Profiler for committers </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> [email protected] </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <a class="external-link"
href="http://www.yourkit.com/overview/"
rel="nofollow">http://www.yourkit.com/overview/</a>
</p></td></tr></tbody></table></div></div>
</div>
<!-- /// Content End -->
</div>
@@ -256,4 +256,4 @@
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/cookbook.html
==============================================================================
--- websites/production/tapestry/content/cookbook.html (original)
+++ websites/production/tapestry/content/cookbook.html Fri May 1 00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Cookbook - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -196,4 +196,4 @@
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified:
websites/production/tapestry/content/creating-the-skeleton-application.html
==============================================================================
--- websites/production/tapestry/content/creating-the-skeleton-application.html
(original)
+++ websites/production/tapestry/content/creating-the-skeleton-application.html
Fri May 1 00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Creating The Skeleton Application - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -215,4 +215,4 @@
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/css.html
==============================================================================
--- websites/production/tapestry/content/css.html (original)
+++ websites/production/tapestry/content/css.html Fri May 1 00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
CSS - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -297,4 +297,4 @@ public static void deactiveDefaultCSS(Or
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>
Modified: websites/production/tapestry/content/default-parameter.html
==============================================================================
--- websites/production/tapestry/content/default-parameter.html (original)
+++ websites/production/tapestry/content/default-parameter.html Fri May 1
00:29:08 2020
@@ -19,24 +19,24 @@
<head>
<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="keywords" content="tapestry, apache, apache tapestry, framework,
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>
Default Parameter - Apache Tapestry
</title>
- <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="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">
+ <link rel="stylesheet" href="/styles/main.css">
<script type="text/javascript">
if (window.location.protocol === 'http:' && window.location.hostname !==
'localhost') {
@@ -55,7 +55,7 @@
ga('create', 'UA-400821-1', 'auto');
ga('send', 'pageview');
</script>
- <script async src='https://www.google-analytics.com/analytics.js'></script>
+ <script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body>
<!-- /// Navigation Start -->
@@ -269,4 +269,4 @@
</footer><br clear="none"></p><p><br clear="none"></p></div>
<!-- /// Footer End -->
</body>
-</html>
\ No newline at end of file
+</html>