Modified: websites/production/tapestry/content/ajax-components-faq.html
==============================================================================
--- websites/production/tapestry/content/ajax-components-faq.html (original)
+++ websites/production/tapestry/content/ajax-components-faq.html Sat Nov 26 
13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -143,11 +143,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="AjaxComponentsFAQ-AjaxComponents">Ajax Components</h1><p>Main article: <a 
href="ajax-and-zones.html">Ajax and Zones</a></p><h2 
id="AjaxComponentsFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1608762027619 {padding: 0px;}
-div.rbtoc1608762027619 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1608762027619 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1669468617940 {padding: 0px;}
+div.rbtoc1669468617940 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1669468617940 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1608762027619">
+/*]]>*/</style></p><div class="toc-macro rbtoc1669468617940">
 <ul class="toc-indentation"><li><a 
href="#AjaxComponentsFAQ-DoIhavetospecifybothidandt:idforZonecomponents?">Do I 
have to specify both id and t:id for Zone components?</a></li><li><a 
href="#AjaxComponentsFAQ-HowdoIupdatethecontentofaZonefromaneventhandlermethod?">How
 do I update the content of a Zone from an event handler method?</a></li><li><a 
href="#AjaxComponentsFAQ-HowtoIupdatemultiplezonesinasingleeventhandler?">How 
to I update multiple zones in a single event handler?</a></li><li><a 
href="#AjaxComponentsFAQ-What'sthatweirdnumberinthemiddleoftheclientidsafteraZoneisupdated?">What's
 that weird number in the middle of the client ids after a Zone is 
updated?</a></li><li><a 
href="#AjaxComponentsFAQ-WhydoIsometimesgettheexception&quot;Therenderedcontentdidnotincludeanyelementsthatallowforthepositioningofthehiddenformfield'selement.&quot;whenrenderinganemptyZone?">Why
 do I sometimes get the exception "The rendered content did not include any 
elements that allow for the positioning of
  the hidden form field's element." when rendering an empty Zone?</a></li></ul>
 </div><h2 
id="AjaxComponentsFAQ-DoIhavetospecifybothidandt:idforZonecomponents?">Do I 
have to specify both <code>id</code> and <code>t:id</code> for Zone 
components?</h2><p>The examples for the Zone component (in the Component 
Reference) consistently specify both <code>id</code> and <code>t:id</code> and 
this is probably a good idea.</p><p>Generally speaking, if you don't specify 
the client-side id (the <code>id</code> attribute), it will be the same as the 
Tapestry component id (<code>t:id</code>).</p><p>However, there are any number 
of exceptions to this rule. The Zone may be rendering inside a Loop (in which 
case, each rendering will have a unique client side id). The Zone may be 
rendering as part of a partial page render, in which case, a random unique id 
is inserted into the id. There are other examples where Tapestry component ids 
in nested components may also clash.</p><p>The point is, to be sure, specify 
the exact client id. This will be the value for the <code>zone</code> p
 arameter of the triggering component (such as a Form, PageLink, ActionLink, 
etc.).</p><h2 
id="AjaxComponentsFAQ-HowdoIupdatethecontentofaZonefromaneventhandlermethod?">How
 do I update the content of a Zone from an event handler method?</h2><p>When a 
client-side link or form triggers an update, the return value from the event 
handler method is used to construct a partial page response; this partial page 
response includes markup content that is used to update the Zone's client-side 
<code>&lt;div&gt;</code> element.</p><p>Where does that content come from? You 
inject it into your page.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre><code class="language-xml">&lt;t:zone id="search" t:id="searchZone"&gt;

Modified: websites/production/tapestry/content/ajax-components.html
==============================================================================
--- websites/production/tapestry/content/ajax-components.html (original)
+++ websites/production/tapestry/content/ajax-components.html Sat Nov 26 
13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/ajax-javascript.html
==============================================================================
--- websites/production/tapestry/content/ajax-javascript.html (original)
+++ websites/production/tapestry/content/ajax-javascript.html Sat Nov 26 
13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/aliases.html
==============================================================================
--- websites/production/tapestry/content/aliases.html (original)
+++ websites/production/tapestry/content/aliases.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -189,6 +189,15 @@
                 
                         
                     </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a href="rest-support-580.html">REST Support 
(5.8.0+)</a>
+                
+                        
+                    </div>
     </li><li>
         <div>
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>

Modified: websites/production/tapestry/content/annotations.html
==============================================================================
--- websites/production/tapestry/content/annotations.html (original)
+++ websites/production/tapestry/content/annotations.html Sat Nov 26 13:17:27 
2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: 
websites/production/tapestry/content/application-module-class-cheat-sheet.html
==============================================================================
--- 
websites/production/tapestry/content/application-module-class-cheat-sheet.html 
(original)
+++ 
websites/production/tapestry/content/application-module-class-cheat-sheet.html 
Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -143,11 +143,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><p>The 
<strong>Application Module</strong> class is a simple Java class used to 
configure Tapestry. A system of annotations and naming conventions allows 
Tapestry to determine what services are provided by the module to your 
application. This is the place where you bind your custom implementation of 
services, contribute to, decorate and override existing services.</p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1588512060772 {padding: 0px;}
-div.rbtoc1588512060772 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1588512060772 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1669468448411 {padding: 0px;}
+div.rbtoc1669468448411 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1669468448411 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1588512060772">
+/*]]>*/</style></p><div class="toc-macro rbtoc1669468448411">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a href="#ApplicationModuleClassCheatSheet-Namingconventions">Naming 
conventions</a>
 <ul class="toc-indentation"><li><a 
href="#ApplicationModuleClassCheatSheet-Thebindmethod">The bind 
method</a></li><li><a 
href="#ApplicationModuleClassCheatSheet-Servicebuildermethods">Service builder 
methods</a></li><li><a 
href="#ApplicationModuleClassCheatSheet-Contributemethods">Contribute 
methods</a>
@@ -176,7 +176,7 @@ div.rbtoc1588512060772 li {margin-left:
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a href="response-compression.html">Response 
Compression</a>
+                        <a href="tapestry-ioc-configuration.html">Tapestry IoC 
Configuration</a>
                 
                         
                     </div>
@@ -185,7 +185,7 @@ div.rbtoc1588512060772 li {margin-left:
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a href="symbols.html">Symbols</a>
+                        <a href="response-compression.html">Response 
Compression</a>
                 
                         
                     </div>
@@ -194,7 +194,7 @@ div.rbtoc1588512060772 li {margin-left:
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a 
href="application-module-class-cheat-sheet.html">Application Module Class Cheat 
Sheet</a>
+                        <a href="symbols.html">Symbols</a>
                 
                         
                     </div>
@@ -203,7 +203,7 @@ div.rbtoc1588512060772 li {margin-left:
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a href="tapestry-ioc-configuration.html">Tapestry IoC 
Configuration</a>
+                        <a 
href="application-module-class-cheat-sheet.html">Application Module Class Cheat 
Sheet</a>
                 
                         
                     </div>

Modified: websites/production/tapestry/content/applications.html
==============================================================================
--- websites/production/tapestry/content/applications.html (original)
+++ websites/production/tapestry/content/applications.html Sat Nov 26 13:17:27 
2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -146,11 +146,11 @@
 <div class="columnLayout two-equal" data-layout="two-equal">
 <div class="cell normal" data-type="normal">
 <div class="innerCell">
-<p><strong><a class="external-link" href="http://www.oed.com/"; 
rel="nofollow">The </a><a class="external-link" href="http://www.oed.com/"; 
rel="nofollow">Oxford English Dictionary</a></strong><a class="external-link" 
href="http://www.oed.com/"; rel="nofollow"></a></p><p><a class="external-link" 
href="http://www.oed.com/"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
alt="The definitive Oxford English Dictionary" 
src="applications.data/oed.png"></span></a></p><hr><p>&#160; <br clear="none" 
class="atl-forced-newline"> <strong><a class="external-link" 
href="http://www.mybet.com"; rel="nofollow">myBet</a> : Sports Bets Casino 
Poker</strong></p><p><a class="external-link" href="http://www.mybet.com"; 
rel="nofollow"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" alt="myBet - Sports Bets Casino Poker" 
src="applications.data/mybet.png"></span></a></p><hr><p><strong><a 
class="external-link" href="http:/
 /www.yanomo.com" rel="nofollow">Yanomo time tracking</a>&#160;SaaS with Google 
sync</strong></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" alt="Yanomo time tracking - SaaS with google 
calendar sync" 
src="applications.data/yanomo_calendar.png"></span></p><hr><p><strong>&#160;<a 
class="external-link" href="http://www.smartimage.com/"; 
rel="nofollow">Smartimage</a> : Image management made 
simple</strong></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" alt="Smartimage - Image management made 
simple" src="applications.data/smartimage.png"></span></p><hr></div>
+<p><strong><a class="external-link" href="http://www.oed.com/"; 
rel="nofollow">The </a><a class="external-link" href="http://www.oed.com/"; 
rel="nofollow">Oxford English Dictionary</a></strong><a class="external-link" 
href="http://www.oed.com/"; rel="nofollow"></a></p><p><a class="external-link" 
href="http://www.oed.com/"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" alt="The definitive Oxford English Dictionary" 
src="applications.data/oed.png"></span></a></p><hr><p>&#160; <br clear="none" 
class="atl-forced-newline"> <strong><a class="external-link" 
href="http://www.mybet.com"; rel="nofollow">myBet</a> : Sports Bets Casino 
Poker</strong></p><p><a class="external-link" href="http://www.mybet.com"; 
rel="nofollow"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" draggable="false" alt="myBet - Sports Bets 
Casino Poker" src="applications.data/mybet.png"></span></a></p><hr><p><strong><
 a class="external-link" href="http://www.yanomo.com"; rel="nofollow">Yanomo 
time tracking</a>&#160;SaaS with Google sync</strong></p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" alt="Yanomo time tracking - SaaS with google calendar sync" 
src="applications.data/yanomo_calendar.png"></span></p><hr><p><strong>&#160;<a 
class="external-link" href="http://www.smartimage.com/"; 
rel="nofollow">Smartimage</a> : Image management made 
simple</strong></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" draggable="false" alt="Smartimage - Image 
management made simple" 
src="applications.data/smartimage.png"></span></p><hr></div>
 </div>
 <div class="cell normal" data-type="normal">
 <div class="innerCell">
-<p><strong><a class="external-link" href="http://www.seesaw.com"; 
rel="nofollow">Seesaw</a><a class="external-link" href="http://www.seesaw.com"; 
rel="nofollow"> : Video streaming</a></strong></p><p><a class="external-link" 
href="http://www.seesaw.com"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
alt="Seesaw - Video streaming" 
src="applications.data/seesaw.png"></span></a></p><hr><p><strong><a 
class="external-link" href="http://www.belladati.com"; rel="nofollow">Business 
Intelligence </a><a class="external-link" href="http://www.belladati.com"; 
rel="nofollow">BellaDati</a></strong><a class="external-link" 
href="http://www.belladati.com"; rel="nofollow"></a></p><p><a 
class="external-link" href="http://www.belladati.com"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
alt="BellaDati - Business Intelligence" 
src="applications.data/belladati.png"></span></a></p><hr><p><strong><a class
 ="external-link" href="http://www.cubiculus.com"; rel="nofollow">Cubiculus</a> 
: Lego Building Instructions</strong></p><p><a class="external-link" 
href="http://www.cubiculus.com"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
alt="Cubiculus - Lego Building Instructions" 
src="applications.data/cubiculus.png"></span></a> </p><hr><p><strong><a 
class="external-link" href="http://www.eofficeo.com/"; 
rel="nofollow">eOfficeo</a><a class="external-link" 
href="http://www.eofficeo.com/"; rel="nofollow"> : Easy - Mobile - 
Collaborative</a></strong></p><p><a class="external-link" 
href="http://www.eofficeo.com/"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="applications.data/eofficeo.png"></span></a></p><hr><p><strong><a 
class="external-link" href="https://jexbox.com/"; rel="nofollow">Jexbox</a> : 
Jexbox stores errors from tapestry applications &amp; helps developers resolve 
bugs</stron
 g></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="applications.data/jexbox.png"></span></p></div>
+<p><strong><a class="external-link" href="http://www.seesaw.com"; 
rel="nofollow">Seesaw</a><a class="external-link" href="http://www.seesaw.com"; 
rel="nofollow"> : Video streaming</a></strong></p><p><a class="external-link" 
href="http://www.seesaw.com"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" alt="Seesaw - Video streaming" 
src="applications.data/seesaw.png"></span></a></p><hr><p><strong><a 
class="external-link" href="http://www.belladati.com"; rel="nofollow">Business 
Intelligence </a><a class="external-link" href="http://www.belladati.com"; 
rel="nofollow">BellaDati</a></strong><a class="external-link" 
href="http://www.belladati.com"; rel="nofollow"></a></p><p><a 
class="external-link" href="http://www.belladati.com"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" alt="BellaDati - Business Intelligence" 
src="applications.data/belladati.png"></
 span></a></p><hr><p><strong><a class="external-link" 
href="http://www.cubiculus.com"; rel="nofollow">Cubiculus</a> : Lego Building 
Instructions</strong></p><p><a class="external-link" 
href="http://www.cubiculus.com"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" alt="Cubiculus - Lego Building Instructions" 
src="applications.data/cubiculus.png"></span></a> </p><hr><p><strong><a 
class="external-link" href="http://www.eofficeo.com/"; 
rel="nofollow">eOfficeo</a><a class="external-link" 
href="http://www.eofficeo.com/"; rel="nofollow"> : Easy - Mobile - 
Collaborative</a></strong></p><p><a class="external-link" 
href="http://www.eofficeo.com/"; rel="nofollow"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" 
src="applications.data/eofficeo.png"></span></a></p><hr><p><strong><a 
class="external-link" href="https://jexbox.com/"; rel="nofollow">Jexbox</a> : 
Jexbox stores erro
 rs from tapestry applications &amp; helps developers resolve 
bugs</strong></p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" draggable="false" 
src="applications.data/jexbox.png"></span></p></div>
 </div>
 </div>
 </div></div>

Modified: websites/production/tapestry/content/assets.html
==============================================================================
--- websites/production/tapestry/content/assets.html (original)
+++ websites/production/tapestry/content/assets.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -169,7 +169,7 @@
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a href="css.html">CSS</a>
+                        <a href="layout-component.html">Layout Component</a>
                 
                         
                     </div>
@@ -178,7 +178,7 @@
                 <span class="icon aui-icon content-type-page" 
title="Page">Page:</span>        </div>
 
         <div class="details">
-                        <a href="layout-component.html">Layout Component</a>
+                        <a href="css.html">CSS</a>
                 
                         
                     </div>

Modified: websites/production/tapestry/content/autoloading-modules.html
==============================================================================
--- websites/production/tapestry/content/autoloading-modules.html (original)
+++ websites/production/tapestry/content/autoloading-modules.html Sat Nov 26 
13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/banner.html
==============================================================================
--- websites/production/tapestry/content/banner.html (original)
+++ websites/production/tapestry/content/banner.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -142,7 +142,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><div class="row" 
id="top"><div class="col-md-8 home-banner"><p><span 
class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img 
class="confluence-embedded-image" height="250" 
src="banner.data/apache-tapestry-icontext-600.png"></span></p></div>
+                            <div id="ConfluenceContent"><div class="row" 
id="top"><div class="col-md-8 home-banner"><p><span 
class="confluence-embedded-file-wrapper confluence-embedded-manual-size"><img 
class="confluence-embedded-image" draggable="false" height="250" 
src="banner.data/apache-tapestry-icontext-600.png"></span></p></div>
 
 
 <div class="col-md-4" style="padding: 0 2em 2em"><p>A component-oriented 
framework for creating highly scalable web applications in Java.</p></div>

Modified: websites/production/tapestry/content/bannerv2.html
==============================================================================
--- websites/production/tapestry/content/bannerv2.html (original)
+++ websites/production/tapestry/content/bannerv2.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -142,7 +142,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><div class="row" 
id="top"><div class="col-md-8"><h1 id="BannerV2-"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry.png";></span>&#160;</h1></div>
+                            <div id="ConfluenceContent"><div class="row" 
id="top"><div class="col-md-8"><h1 id="BannerV2-"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" draggable="false" 
src="http://tapestry.apache.org/images/tapestry.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry.png";></span>&#160;</h1></div>
 
 
 <div class="col-md-4" style="padding: 0 2em 2em"><div><form 
enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>

Modified: websites/production/tapestry/content/bean-validation.html
==============================================================================
--- websites/production/tapestry/content/bean-validation.html (original)
+++ websites/production/tapestry/content/bean-validation.html Sat Nov 26 
13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/beaneditform-faq.html
==============================================================================
--- websites/production/tapestry/content/beaneditform-faq.html (original)
+++ websites/production/tapestry/content/beaneditform-faq.html Sat Nov 26 
13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -143,11 +143,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 
id="BeanEditFormFAQ-BeanEditForm">BeanEditForm</h1><p>Main Article: <a 
href="beaneditform-guide.html">BeanEditForm Guide</a></p><h2 
id="BeanEditFormFAQ-Contents">Contents</h2><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1608762051269 {padding: 0px;}
-div.rbtoc1608762051269 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1608762051269 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1669468455951 {padding: 0px;}
+div.rbtoc1669468455951 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1669468455951 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1608762051269">
+/*]]>*/</style></p><div class="toc-macro rbtoc1669468455951">
 <ul class="toc-indentation"><li><a 
href="#BeanEditFormFAQ-WhydoIgetexceptionsaboutinstantiatingabeanwhenusingBeanEditForm?">Why
 do I get exceptions about instantiating a bean when using 
BeanEditForm?</a></li><li><a 
href="#BeanEditFormFAQ-What'sthedifferencebetweenBeanEditorandBeanEditForm?">What's
 the difference between BeanEditor and BeanEditForm?</a></li><li><a 
href="#BeanEditFormFAQ-HowdoIcustomizethelayoutoftheBeanEditForm?">How do I 
customize the layout of the BeanEditForm?</a></li></ul>
 </div><h2 
id="BeanEditFormFAQ-WhydoIgetexceptionsaboutinstantiatingabeanwhenusingBeanEditForm?">Why
 do I get exceptions about instantiating a bean when using 
BeanEditForm?</h2><p>When you render a BeanEditForm, or when the rendered form 
is submitted, Tapestry must instantiate an instance of the object to be edited. 
This occurs when the BeanEditForm's <code>object</code> parameter is bound to 
null: Tapestry instantiates an instance of the property type so that the 
BeanEditForm has an object to read default values from, or to push submitted 
values into.</p><p>By default, this uses the standard <a 
href="injection-in-detail.html">injection mechanism</a>, which means that 
Tapestry will identify the public constructor with the most parameters, and 
attempt to find objects and other objects for each constructor 
parameter.</p><p>There's two ways to fine tune this so you don't get 
errors:</p><ul><li>Place an @<a class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache
 /tapestry5/ioc/annotations/Inject.html">Inject</a> annotation on the correct 
constructor to use (often, the constructor with no parameters).</li></ul><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
 <pre><code class="language-java">public class MyBean {

Modified: websites/production/tapestry/content/beaneditform-guide.html
==============================================================================
--- websites/production/tapestry/content/beaneditform-guide.html (original)
+++ websites/production/tapestry/content/beaneditform-guide.html Sat Nov 26 
13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/blogs.html
==============================================================================
--- websites/production/tapestry/content/blogs.html (original)
+++ websites/production/tapestry/content/blogs.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/books.html
==============================================================================
--- websites/production/tapestry/content/books.html (original)
+++ websites/production/tapestry/content/books.html Sat Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 
@@ -142,7 +142,7 @@
             
             <!-- /// Content Start -->
             <div id="content">
-                            <div id="ConfluenceContent"><p></p><div 
id="bar"><strong>We think you will love Tapestry!</strong> Give us 20 minutes 
and <strong><a href="tapestry-tutorial.html">follow our 
tutorial</a></strong>.</div><p></p><div class="big-col" id="content"><h2 
id="Books-BooksonTapestry">Books on Tapestry</h2><h3 
id="Books-PlugInTapestry">PlugIn Tapestry</h3><div 
class="sectionColumnWrapper"><div class="sectionMacro"><div 
class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p>&#160;<span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="books.data/portada-PugInTapestry-thumb.png"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 5 (Version 
5.4)</li><li><strong>Published:</strong> 2014</li><li><strong>Author:</strong> 
Picodotdev</li><li><strong>Language:</strong> 
Spanish</li><li><strong>Pages:</strong> 289</li><li><strong>More information: 
</strong><a class="e
 xternal-link" 
href="http://picodotdev.github.io/blog-bitix/2014/02/libro-sobre-desarrollo-de-aplicaciones-con-apache-tapestry/";
 
rel="nofollow">http://picodotdev.github.io/blog-bitix/2014/02/libro-sobre-desarrollo-de-aplicaciones-con-apache-tapestry/</a></li></ul></div></div></div></div><p>As
 the first book to cover Tapestry 5.4 features, and the only up-to-date 
Tapestry book in Spanish, this book features material on the new JavaScript 
abstraction layer and the use of RequireJS and JavaScript modules, in addition 
to in-depth coverage of many other Tapestry topics. Available in several 
formats (PDF, epub, mobi HTML)</p><hr><p></p><h3 
id="Books-Tapestry5-RapidwebapplicationdevelopmentinJava">Tapestry 5 - Rapid 
web application development in Java</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><a class="external-link" 
href="http://www.tapestry5book.com/"; rel="nofollow
 "><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" 
src="books.data/tapestry5-rapid.jpg"></span></a></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 5 (Version 
5.3)</li><li><strong>Published:</strong> 2012</li><li><strong>Author:</strong> 
Igor Drobiazko</li><li><strong>Language:</strong> 
English</li><li><strong>Pages:</strong> 482</li><li><strong>More 
information:</strong> <a class="external-link" 
href="https://web.archive.org/web/20180413075519/http://www.tapestry5book.com/"; 
rel="nofollow">http://www.tapestry5book.com/</a></li></ul></div></div></div></div><p>Tapestry
 5 - Rapid web application development in Java is a comprehensive guide, 
introducing Apache Tapestry and its innovative approach to building modern web 
applications. The book walks you through Tapestry 5, from a simple Hello World 
application to rich Ajax-enabled applications. Written by a core committer, 
this book provides deep insight into the architectur
 e of Tapestry 5. It not only shows you <em>how</em> to achieve specific goals 
but also teaches you the "why". You learn how to build modern, scalable Web 2.0 
application with a component-oriented approach. This book also shows how 
Tapestry brings scripting language productivity within reach of Java developers 
without sacrificing any of Java's inherent speed and power.</p><p>Table of 
Contents</p><ol><li>Introducing Tapestry</li><li>Tapestry 
templates</li><li>Page navigation</li><li>Developing stateful 
applications</li><li>Localization</li><li>Creating Forms with 
Tapestry</li><li>Converting and validating user input</li><li>Generating UI for 
JavaBeans</li><li>Developing reusable 
components</li><li>Mixins</li><li>Creating Ajax-enabled 
applications</li><li>Persisting domain objects</li><li>Integrating Spring 
framework</li><li>Testing Tapestry applications</li><li>Tapestry IoC and 
Dependency Injection</li></ol><hr><h3 
id="Books-Tapestry5:DieEntwicklungvonWebanwendungenmitLeichtigkeit">Ta
 pestry 5: Die Entwicklung von Webanwendungen mit Leichtigkeit</h3><div 
class="sectionColumnWrapper"><div class="sectionMacro"><div 
class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-content-image-border" 
src="books.data/tapestry5-drobiazko.jpg"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 5 (Version 
5.1.0.5)</li><li><strong>Published:</strong> 
2009</li><li><strong>Author:</strong> Igor 
Drobiazko</li><li><strong>Language:</strong> 
German</li></ul></div></div></div></div><p>This is the only Tapestry 5 book 
written in German. It is a definitive introduction to Tapestry 5 written by 
Igor Drobiazko, a committer of Tapestry. The book covers:</p><ul><li>Getting 
Started with Tapestry 5</li><li>Concepts of the 
framework</li><li>Localization/internationalization</li><li>Creating 
Forms</li><li>Generation of user i
 nterfaces for JavaBeans</li><li>Writing own components and 
mixins</li><li>Ajax</li><li>Writing tests for Tapestry 
applications</li><li>Hibernate and Spring integration</li><li>Dependency 
Injection and Tapestry IoC</li><li>AOP and bytecode 
manipuation</li></ul><hr><h3 
id="Books-Tapestry5:BuildingWebApplications">Tapestry 5: Building Web 
Applications</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="books.data/packtpub_cover.png"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
5</li><li><strong>Published:</strong> 2008</li><li><strong>Author:</strong> 
Alexander Kolesnikov</li><li><strong>Language:</strong> 
English</li></ul></div></div></div></div><p>Alexander follows up his long 
series of Tapestry 4 tutorials with the <em>first</em> book on Tap
 estry 5.</p><hr><h3 id="Books-TapestryCompleteReference">Tapestry Complete 
Reference</h3><div class="sectionColumnWrapper"><div class="sectionMacro"><div 
class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="books.data/t4chinese.jpg"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
4</li><li><strong>Published:</strong> 2007</li><li><strong>Author:</strong> A. 
Dong</li><li><strong>Language:</strong> 
Chinese</li></ul></div></div></div></div><p>The first Chinese-language book to 
cover Tapestry (though Tapestry in Action has been translated). as a 
non-Chinese speaker, it's a bit hard to know what's between the covers, but 
looks like it gets into the nitty-gritty of Tapestry, Spring and 
Hibernate.</p><hr><h3 id="Books-Tapestry101">Tapestry 101</h3><div 
class="sectionColumnWrapper"><div class="sectionMacro"><div class="s
 ectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="books.data/tapestry101.jpg"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 4 
(Spring/Hibernate/Hivemind/Tacos(ajax)</li><li><strong>Publisher:</strong> 
SourceBeat</li><li><strong>Published:</strong> 
2006</li><li><strong>Authors:</strong> Warner 
Onstine</li></ul></div></div></div></div><p>Tapestry is an open-source web 
application framework written in Java. This framework is different from 
"standard" MVC frameworks <em>(like Struts or WebWork)</em> in that it is more 
of a component-oriented framework. A component-oriented framework <em>(like 
JavaServer Faces)</em> allows you to create re-usable components that you can 
then re-use on other projects with the ability to re-configure these components 
to suit a specific purpose.</p><p>Tapestry 101 will introduce readers to 
 this framework that is growing in popularity more and more. The focus of this 
book is to guide you through designing and implementing your application and 
providing information that you can improve on it with your own custom 
components.</p><p>Howard Lewis Ship <em>(creator of Tapestry)</em> provides the 
Foreword to the book and adds:</p><p><em>"Tapestry 101's focus is about getting 
things done, from a user's perspective not a Tapestry developer's. It covers 
the issues you'll face building real applications."</em></p><hr><h3 
id="Books-BeginningPOJOs:LightweightJavaWebDevelopmentUsingPlainOldJavaObjectsinSpring,Hibernate,andTapestry">Beginning
 POJOs: Lightweight Java Web Development Using Plain Old Java Objects in 
Spring, Hibernate, and Tapestry</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embed
 ded-image" src="books.data/beginning-pojos.gif"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
4</li><li><strong>Publisher:</strong> 
Apress</li><li><strong>Published:</strong> 
2006</li><li><strong>Authors:</strong> Brian 
Sam-Bodden</li></ul></div></div></div></div><p>This book guides you through the 
construction of complex but lightweight enterprise Java-based web applications. 
Such applications are centered around several major open source lightweight 
frameworks, including Spring, Hibernate, Tapestry, and JBoss. The Tapestry 
chapter (ch.7, p.239-304) covers:</p><ul><li>Installation and 
Configuration</li><li>Pages and Components</li><li>Forms and Form 
Components</li><li>Hivemind Services and Application State 
Objects</li><li>Annotations</li><li>Ajax-enabling applications with 
Tacos</li></ul><hr><h3 id="Books-EnjoyingWebDevelopmentwithTapestry">Enjoying 
Web Development with Tapestry</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><
 div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="books.data/ewdt_tong_cover.jpg"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
4.1/4/3</li><li><strong>Publisher:</strong> Agile 
Skills</li><li><strong>Published:</strong> 
2006</li><li><strong>Authors:</strong> <a class="external-link" 
href="http://www.agileskills2.org/EWDT/"; rel="nofollow">Kent 
Tong</a></li></ul></div></div></div></div><p>Enjoying Web Development with 
Tapestry by Kent Tong covers Tapestry 4.1 (with AJAX). Previous editions 
covered 4.0 and 3.0. Available in PDF and hard-copy formats.</p><ul><li>Getting 
Started with Tapestry</li><li>Using Forms</li><li>Validating 
Input</li><li>Creating an e-Shop</li><li>Creating Custom 
Components</li><li>Supporting Other Languages</li><li>Using the Table 
Component</li><li>Handling File Downloads and Uploads
 </li><li>Providing a Common Layout</li><li>Using Javascript</li><li>Building 
Interactive Forms with AJAX</li><li>Test Driven Development with 
HtmlUnit</li><li>Database and Concurrency Issues</li><li>Using 
Hibernate</li><li>Integrating with Struts</li></ul><hr><h3 
id="Books-TapestryWebanwendungenmitdemApacheFramework">Tapestry Webanwendungen 
mit dem Apache Framework</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-content-image-border" 
src="books.data/tapestry-german-cover.gif"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
3</li><li><strong>Publisher:</strong> 
S&amp;S</li><li><strong>Published:</strong> 
2004</li><li><strong>Authors:</strong> Stefan Edlich,Patrick 
Kunert</li></ul></div></div></div></div><p>Tapestry Webanwendungen mit de
 m Apache Framework is a fast-paced guide to using Tapestry 3, focusing on 
combining Tapestry with other open-source frameworks, as well as developing 
Tapestry applications using <a class="external-link" 
href="http://spindle.sourceforge.net/"; rel="nofollow">Spindle</a>. 
Covers:</p><ul><li>Web Frameworks, JavaServer Faces, .NET Web Forms und 
Tapestry</li><li>Installation und Einbindung in Tomcat und 
JBoss</li><li>Einstieg in Tapestry, HelloWorld</li><li>Aufbau und Anwendung von 
Komponenten</li><li>Formular-Validierung, JavaScript-Support, 
Internationalisierung</li><li>Tapestry-Scope-Objekte (Visit, Global), 
Engines</li><li>Inspector, Eclipse Plug-in Spindle</li><li>Persistenz f&#252;r 
Tapestry: JDO, Hibernate, Toplink und exotische Mapper</li></ul><hr><h3 
id="Books-TapestryinAction">Tapestry in Action</h3><div 
class="sectionColumnWrapper"><div class="sectionMacro"><div 
class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span class="confl
 uence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-content-image-border" 
src="books.data/tapestry-in-action.png"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
3</li><li><strong>Publisher:</strong> Manning 
Publications</li><li><strong>Published:</strong> 
2004</li><li><strong>Authors:</strong> <a class="external-link" 
href="http://howardlewisship.com/"; rel="nofollow">Howard M. Lewis 
Ship</a></li></ul></div></div></div></div><p>Tapestry in Action is the 
definitive introduction to Tapestry 3 written by Howard Lewis Ship, the creator 
of Tapestry. It covers:</p><ul><li>Tapestry's Component Object 
Model</li><li>How to write new components</li><li>How to configure third party 
components</li><li>Dynamic JavaScript integration</li><li>Form 
validation</li><li>Tapestry/JSP 
integration</li><li>Localization/internationalization</li><li>J2EE 
integration</li></ul><p></p><div class="clearer"></div></div>
+                            <div id="ConfluenceContent"><p></p><div 
id="bar"><strong>We think you will love Tapestry!</strong> Give us 20 minutes 
and <strong><a href="tapestry-tutorial.html">follow our 
tutorial</a></strong>.</div><p></p><div class="big-col" id="content"><h2 
id="Books-BooksonTapestry">Books on Tapestry</h2><h3 
id="Books-PlugInTapestry">PlugIn Tapestry</h3><div 
class="sectionColumnWrapper"><div class="sectionMacro"><div 
class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p>&#160;<span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" 
src="books.data/portada-PugInTapestry-thumb.png"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 5 (Version 
5.4)</li><li><strong>Published:</strong> 2014</li><li><strong>Author:</strong> 
Picodotdev</li><li><strong>Language:</strong> 
Spanish</li><li><strong>Pages:</strong> 289</li><li><strong>More information: </
 strong><a class="external-link" 
href="http://picodotdev.github.io/blog-bitix/2014/02/libro-sobre-desarrollo-de-aplicaciones-con-apache-tapestry/";
 
rel="nofollow">http://picodotdev.github.io/blog-bitix/2014/02/libro-sobre-desarrollo-de-aplicaciones-con-apache-tapestry/</a></li></ul></div></div></div></div><p>As
 the first book to cover Tapestry 5.4 features, and the only up-to-date 
Tapestry book in Spanish, this book features material on the new JavaScript 
abstraction layer and the use of RequireJS and JavaScript modules, in addition 
to in-depth coverage of many other Tapestry topics. Available in several 
formats (PDF, epub, mobi HTML)</p><hr><p></p><h3 
id="Books-Tapestry5-RapidwebapplicationdevelopmentinJava">Tapestry 5 - Rapid 
web application development in Java</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><a class="external-link" 
href="http://www.tapestry5book.c
 om/" rel="nofollow"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image" draggable="false" 
src="books.data/tapestry5-rapid.jpg"></span></a></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 5 (Version 
5.3)</li><li><strong>Published:</strong> 2012</li><li><strong>Author:</strong> 
Igor Drobiazko</li><li><strong>Language:</strong> 
English</li><li><strong>Pages:</strong> 482</li><li><strong>More 
information:</strong> <a class="external-link" 
href="https://web.archive.org/web/20180413075519/http://www.tapestry5book.com/"; 
rel="nofollow">http://www.tapestry5book.com/</a></li></ul></div></div></div></div><p>Tapestry
 5 - Rapid web application development in Java is a comprehensive guide, 
introducing Apache Tapestry and its innovative approach to building modern web 
applications. The book walks you through Tapestry 5, from a simple Hello World 
application to rich Ajax-enabled applications. Written by a core committer, 
this book provid
 es deep insight into the architecture of Tapestry 5. It not only shows you 
<em>how</em> to achieve specific goals but also teaches you the "why". You 
learn how to build modern, scalable Web 2.0 application with a 
component-oriented approach. This book also shows how Tapestry brings scripting 
language productivity within reach of Java developers without sacrificing any 
of Java's inherent speed and power.</p><p>Table of 
Contents</p><ol><li>Introducing Tapestry</li><li>Tapestry 
templates</li><li>Page navigation</li><li>Developing stateful 
applications</li><li>Localization</li><li>Creating Forms with 
Tapestry</li><li>Converting and validating user input</li><li>Generating UI for 
JavaBeans</li><li>Developing reusable 
components</li><li>Mixins</li><li>Creating Ajax-enabled 
applications</li><li>Persisting domain objects</li><li>Integrating Spring 
framework</li><li>Testing Tapestry applications</li><li>Tapestry IoC and 
Dependency Injection</li></ol><hr><h3 id="Books-Tapestry5:DieEntwicklung
 vonWebanwendungenmitLeichtigkeit">Tapestry 5: Die Entwicklung von 
Webanwendungen mit Leichtigkeit</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-content-image-border" draggable="false" 
src="books.data/tapestry5-drobiazko.jpg"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 5 (Version 
5.1.0.5)</li><li><strong>Published:</strong> 
2009</li><li><strong>Author:</strong> Igor 
Drobiazko</li><li><strong>Language:</strong> 
German</li></ul></div></div></div></div><p>This is the only Tapestry 5 book 
written in German. It is a definitive introduction to Tapestry 5 written by 
Igor Drobiazko, a committer of Tapestry. The book covers:</p><ul><li>Getting 
Started with Tapestry 5</li><li>Concepts of the 
framework</li><li>Localization/internationalizati
 on</li><li>Creating Forms</li><li>Generation of user interfaces for 
JavaBeans</li><li>Writing own components and 
mixins</li><li>Ajax</li><li>Writing tests for Tapestry 
applications</li><li>Hibernate and Spring integration</li><li>Dependency 
Injection and Tapestry IoC</li><li>AOP and bytecode 
manipuation</li></ul><hr><h3 
id="Books-Tapestry5:BuildingWebApplications">Tapestry 5: Building Web 
Applications</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" src="books.data/packtpub_cover.png"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
5</li><li><strong>Published:</strong> 2008</li><li><strong>Author:</strong> 
Alexander Kolesnikov</li><li><strong>Language:</strong> 
English</li></ul></div></div></div></div><p>Alexander follows up his
  long series of Tapestry 4 tutorials with the <em>first</em> book on Tapestry 
5.</p><hr><h3 id="Books-TapestryCompleteReference">Tapestry Complete 
Reference</h3><div class="sectionColumnWrapper"><div class="sectionMacro"><div 
class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" src="books.data/t4chinese.jpg"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
4</li><li><strong>Published:</strong> 2007</li><li><strong>Author:</strong> A. 
Dong</li><li><strong>Language:</strong> 
Chinese</li></ul></div></div></div></div><p>The first Chinese-language book to 
cover Tapestry (though Tapestry in Action has been translated). as a 
non-Chinese speaker, it's a bit hard to know what's between the covers, but 
looks like it gets into the nitty-gritty of Tapestry, Spring and 
Hibernate.</p><hr><h3 id="Books-Tapestry101">
 Tapestry 101</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" src="books.data/tapestry101.jpg"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 4 
(Spring/Hibernate/Hivemind/Tacos(ajax)</li><li><strong>Publisher:</strong> 
SourceBeat</li><li><strong>Published:</strong> 
2006</li><li><strong>Authors:</strong> Warner 
Onstine</li></ul></div></div></div></div><p>Tapestry is an open-source web 
application framework written in Java. This framework is different from 
"standard" MVC frameworks <em>(like Struts or WebWork)</em> in that it is more 
of a component-oriented framework. A component-oriented framework <em>(like 
JavaServer Faces)</em> allows you to create re-usable components that you can 
then re-use on other projects with the abilit
 y to re-configure these components to suit a specific purpose.</p><p>Tapestry 
101 will introduce readers to this framework that is growing in popularity more 
and more. The focus of this book is to guide you through designing and 
implementing your application and providing information that you can improve on 
it with your own custom components.</p><p>Howard Lewis Ship <em>(creator of 
Tapestry)</em> provides the Foreword to the book and adds:</p><p><em>"Tapestry 
101's focus is about getting things done, from a user's perspective not a 
Tapestry developer's. It covers the issues you'll face building real 
applications."</em></p><hr><h3 
id="Books-BeginningPOJOs:LightweightJavaWebDevelopmentUsingPlainOldJavaObjectsinSpring,Hibernate,andTapestry">Beginning
 POJOs: Lightweight Java Web Development Using Plain Old Java Objects in 
Spring, Hibernate, and Tapestry</h3><div class="sectionColumnWrapper"><div 
class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;
 min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" src="books.data/beginning-pojos.gif"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
4</li><li><strong>Publisher:</strong> 
Apress</li><li><strong>Published:</strong> 
2006</li><li><strong>Authors:</strong> Brian 
Sam-Bodden</li></ul></div></div></div></div><p>This book guides you through the 
construction of complex but lightweight enterprise Java-based web applications. 
Such applications are centered around several major open source lightweight 
frameworks, including Spring, Hibernate, Tapestry, and JBoss. The Tapestry 
chapter (ch.7, p.239-304) covers:</p><ul><li>Installation and 
Configuration</li><li>Pages and Components</li><li>Forms and Form 
Components</li><li>Hivemind Services and Application State 
Objects</li><li>Annotations</li><li>Ajax-enabling applications with 
Tacos</li></ul><hr><h3 id="Books-EnjoyingWebDev
 elopmentwithTapestry">Enjoying Web Development with Tapestry</h3><div 
class="sectionColumnWrapper"><div class="sectionMacro"><div 
class="sectionMacroRow"><div class="columnMacro" 
style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
draggable="false" src="books.data/ewdt_tong_cover.jpg"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
4.1/4/3</li><li><strong>Publisher:</strong> Agile 
Skills</li><li><strong>Published:</strong> 
2006</li><li><strong>Authors:</strong> <a class="external-link" 
href="http://www.agileskills2.org/EWDT/"; rel="nofollow">Kent 
Tong</a></li></ul></div></div></div></div><p>Enjoying Web Development with 
Tapestry by Kent Tong covers Tapestry 4.1 (with AJAX). Previous editions 
covered 4.0 and 3.0. Available in PDF and hard-copy formats.</p><ul><li>Getting 
Started with Tapestry</li><li>Using Forms</li><li>Validating 
Input</li><li>Creating an e-Shop</li
 ><li>Creating Custom Components</li><li>Supporting Other 
 >Languages</li><li>Using the Table Component</li><li>Handling File Downloads 
 >and Uploads</li><li>Providing a Common Layout</li><li>Using 
 >Javascript</li><li>Building Interactive Forms with AJAX</li><li>Test Driven 
 >Development with HtmlUnit</li><li>Database and Concurrency 
 >Issues</li><li>Using Hibernate</li><li>Integrating with 
 >Struts</li></ul><hr><h3 
 >id="Books-TapestryWebanwendungenmitdemApacheFramework">Tapestry 
 >Webanwendungen mit dem Apache Framework</h3><div 
 >class="sectionColumnWrapper"><div class="sectionMacro"><div 
 >class="sectionMacroRow"><div class="columnMacro" 
 >style="width:20%;min-width:20%;max-width:20%;"><p><span 
 >class="confluence-embedded-file-wrapper"><img 
 >class="confluence-embedded-image confluence-content-image-border" 
 >draggable="false" 
 >src="books.data/tapestry-german-cover.gif"></span></p></div><div 
 >class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
 >3</li><li><strong>Publisher:</strong> S&amp;S</li><li>
 <strong>Published:</strong> 2004</li><li><strong>Authors:</strong> Stefan 
Edlich,Patrick Kunert</li></ul></div></div></div></div><p>Tapestry 
Webanwendungen mit dem Apache Framework is a fast-paced guide to using Tapestry 
3, focusing on combining Tapestry with other open-source frameworks, as well as 
developing Tapestry applications using <a class="external-link" 
href="http://spindle.sourceforge.net/"; rel="nofollow">Spindle</a>. 
Covers:</p><ul><li>Web Frameworks, JavaServer Faces, .NET Web Forms und 
Tapestry</li><li>Installation und Einbindung in Tomcat und 
JBoss</li><li>Einstieg in Tapestry, HelloWorld</li><li>Aufbau und Anwendung von 
Komponenten</li><li>Formular-Validierung, JavaScript-Support, 
Internationalisierung</li><li>Tapestry-Scope-Objekte (Visit, Global), 
Engines</li><li>Inspector, Eclipse Plug-in Spindle</li><li>Persistenz f&#252;r 
Tapestry: JDO, Hibernate, Toplink und exotische Mapper</li></ul><hr><h3 
id="Books-TapestryinAction">Tapestry in Action</h3><div class="sectionC
 olumnWrapper"><div class="sectionMacro"><div class="sectionMacroRow"><div 
class="columnMacro" style="width:20%;min-width:20%;max-width:20%;"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-content-image-border" draggable="false" 
src="books.data/tapestry-in-action.png"></span></p></div><div 
class="columnMacro"><ul><li><strong>Covers:</strong> Tapestry 
3</li><li><strong>Publisher:</strong> Manning 
Publications</li><li><strong>Published:</strong> 
2004</li><li><strong>Authors:</strong> <a class="external-link" 
href="http://howardlewisship.com/"; rel="nofollow">Howard M. Lewis 
Ship</a></li></ul></div></div></div></div><p>Tapestry in Action is the 
definitive introduction to Tapestry 3 written by Howard Lewis Ship, the creator 
of Tapestry. It covers:</p><ul><li>Tapestry's Component Object 
Model</li><li>How to write new components</li><li>How to configure third party 
components</li><li>Dynamic JavaScript integration</li><li>Form validation</
 li><li>Tapestry/JSP 
integration</li><li>Localization/internationalization</li><li>J2EE 
integration</li></ul><p></p><div class="clearer"></div></div>
 <div class="clearer"></div></div>
             </div>
             <!-- /// Content End -->

Modified: 
websites/production/tapestry/content/building-tapestry-from-source.html
==============================================================================
--- websites/production/tapestry/content/building-tapestry-from-source.html 
(original)
+++ websites/production/tapestry/content/building-tapestry-from-source.html Sat 
Nov 26 13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 

Modified: websites/production/tapestry/content/built-in-mixins.html
==============================================================================
--- websites/production/tapestry/content/built-in-mixins.html (original)
+++ websites/production/tapestry/content/built-in-mixins.html Sat Nov 26 
13:17:27 2022
@@ -32,10 +32,10 @@
   <link rel="apple-touch-icon-precomposed" 
href="/images/apache-tapestry-icon-57.png">
   <link rel="shortcut icon" href="/images/apache-tapestry-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="/resources/bootstrap/bootstrap.min.css">
   <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="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
   <script type="text/javascript">
@@ -46,7 +46,7 @@
 
   <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/popper.js@1.16.0/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="stylesheet" href="/resources/bootstrap/bootstrap.min.js">
   <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>
 


Reply via email to