You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by bu...@apache.org on 2025/01/24 13:18:14 UTC

svn commit: r1088607 [11/12] - in /websites/production/tapestry/content: ./ 2009/09/13/ 2009/10/27/ 2009/11/25/ 2010/07/18/ 2010/07/24/ 2010/10/11/ 2010/10/31/ 2010/11/18/ 2010/11/19/ 2010/12/16/ 2010/12/17/ 2011/01/10/ 2011/01/18/ 2011/03/23/ 2011/03/...

Modified: websites/production/tapestry/content/session-storage.html
==============================================================================
--- websites/production/tapestry/content/session-storage.html (original)
+++ websites/production/tapestry/content/session-storage.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>
@@ -201,11 +201,11 @@
 <p>Ordinary <a href="persistent-page-data.html">page-persistent fields</a></p><p>won't work for this, since persistent fields are available only to a specific page, not shared across multiple pages.</p><p>Tapestry provides two mechanisms for storing such data: Session State Objects and Session Attributes. When deciding between the two, it's best to use Session State Objects for complex objects, and Session Attributes for simple types.</p><h2 id="SessionStorage-SessionStateObjects">Session State Objects</h2><p>With a Session State Object (SSO), the value is automatically stored outside the page; with the default storage strategy, it is stored in the session. Such a value is global to all pages <em>for the same user</em>, but is stored separately for different users.</p><p>A field holding an SSO is marked with the @<a class="external-link" href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/SessionState.html">SessionState</a> annotation.</p><div class="na
 vmenu" style="float:right; background:white; margin:3px; padding:3px">
 <div class="panel" style="border-width: 1px;"><div class="panelHeader" style="border-bottom-width: 1px;"><b>Contents</b></div><div class="panelContent">
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1737720947890 {padding: 0px;}
-div.rbtoc1737720947890 ul {margin-left: 0px;}
-div.rbtoc1737720947890 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1737724546018 {padding: 0px;}
+div.rbtoc1737724546018 ul {margin-left: 0px;}
+div.rbtoc1737724546018 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1737720947890">
+/*]]>*/</style><div class="toc-macro rbtoc1737724546018">
 <ul class="toc-indentation"><li>Related Articles</li></ul>
 <ul><li><a href="#SessionStorage-SessionStateObjects">Session State Objects</a>
 <ul class="toc-indentation"><li><a href="#SessionStorage-Pitfalls">Pitfalls</a></li><li><a href="#SessionStorage-CheckforCreation">Check for Creation</a></li><li><a href="#SessionStorage-PersistenceStrategies">Persistence Strategies</a></li><li><a href="#SessionStorage-ConfiguringSSOs">Configuring SSOs</a></li></ul>

Modified: websites/production/tapestry/content/shadowbuilder-service.html
==============================================================================
--- websites/production/tapestry/content/shadowbuilder-service.html (original)
+++ websites/production/tapestry/content/shadowbuilder-service.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/since-and-deprecated-user-macros.html
==============================================================================
--- websites/production/tapestry/content/since-and-deprecated-user-macros.html (original)
+++ websites/production/tapestry/content/since-and-deprecated-user-macros.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/small-banner.html
==============================================================================
--- websites/production/tapestry/content/small-banner.html (original)
+++ websites/production/tapestry/content/small-banner.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/small-bannerv2.html
==============================================================================
--- websites/production/tapestry/content/small-bannerv2.html (original)
+++ websites/production/tapestry/content/small-bannerv2.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/specific-errors-faq.html
==============================================================================
--- websites/production/tapestry/content/specific-errors-faq.html (original)
+++ websites/production/tapestry/content/specific-errors-faq.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 id="SpecificErrorsFAQ-SpecificErrors">Specific Errors</h1><h2 id="SpecificErrorsFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1737720793942 {padding: 0px;}
-div.rbtoc1737720793942 ul {margin-left: 0px;}
-div.rbtoc1737720793942 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1737724392963 {padding: 0px;}
+div.rbtoc1737724392963 ul {margin-left: 0px;}
+div.rbtoc1737724392963 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1737720793942">
+/*]]>*/</style></p><div class="toc-macro rbtoc1737724392963">
 <ul class="toc-indentation"><li><a href="#SpecificErrorsFAQ-WhydoIgettheexception&quot;Noserviceimplementstheinterfaceorg.apache.tapestry5.internal.InternalComponentResources&quot;whentryingtousetheBeanEditFormcomponent?">Why do I get the exception "No service implements the interface org.apache.tapestry5.internal.InternalComponentResources" when trying to use the BeanEditForm component?</a></li><li><a href="#SpecificErrorsFAQ-Igetanerrorabout&quot;Pagedidnotgenerateanymarkupwhenrendered.&quot;butIhaveatemplate,whathappened?">I get an error about "Page did not generate any markup when rendered." but I have a template, what happened?</a></li><li><a href="#SpecificErrorsFAQ-MyapplicationfailswiththeerrorPermGen,howdoIfixthis?">My application fails with the error PermGen, how do I fix this?</a></li><li><a href="#SpecificErrorsFAQ-WhydoIsometimesgetajava.lang.NoSuchMethodErrorexceptionafterreloadingmypage?">Why do I sometimes get a java.lang.NoSuchMethodError exception after reloading m
 y page?</a></li><li><a href="#SpecificErrorsFAQ-Whydomylogscontain&quot;java.lang.RuntimeException:FormsrequirethattherequestmethodbePOSTandthatthet:formdataqueryparameterhavevalues&quot;?">Why do my logs contain "java.lang.RuntimeException: Forms require that the request method be POST and that the t:formdata query parameter have values"?</a></li></ul>
 </div><div class="aui-label" style="float:right" title="Related Articles">
 

Modified: websites/production/tapestry/content/specific-errors.html
==============================================================================
--- websites/production/tapestry/content/specific-errors.html (original)
+++ websites/production/tapestry/content/specific-errors.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/spring.html
==============================================================================
--- websites/production/tapestry/content/spring.html (original)
+++ websites/production/tapestry/content/spring.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/starting-the-ioc-registry.html
==============================================================================
--- websites/production/tapestry/content/starting-the-ioc-registry.html (original)
+++ websites/production/tapestry/content/starting-the-ioc-registry.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/statistics.html
==============================================================================
--- websites/production/tapestry/content/statistics.html (original)
+++ websites/production/tapestry/content/statistics.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/strategybuilder-service.html
==============================================================================
--- websites/production/tapestry/content/strategybuilder-service.html (original)
+++ websites/production/tapestry/content/strategybuilder-service.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/support.html
==============================================================================
--- websites/production/tapestry/content/support.html (original)
+++ websites/production/tapestry/content/support.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/supported-environments-and-versions.html
==============================================================================
--- websites/production/tapestry/content/supported-environments-and-versions.html (original)
+++ websites/production/tapestry/content/supported-environments-and-versions.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/supporting-informal-parameters.html
==============================================================================
--- websites/production/tapestry/content/supporting-informal-parameters.html (original)
+++ websites/production/tapestry/content/supporting-informal-parameters.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/switching-cases.html
==============================================================================
--- websites/production/tapestry/content/switching-cases.html (original)
+++ websites/production/tapestry/content/switching-cases.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/symbols.html
==============================================================================
--- websites/production/tapestry/content/symbols.html (original)
+++ websites/production/tapestry/content/symbols.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-544.html
==============================================================================
--- websites/production/tapestry/content/tapestry-544.html (original)
+++ websites/production/tapestry/content/tapestry-544.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-583-released.html
==============================================================================
--- websites/production/tapestry/content/tapestry-583-released.html (original)
+++ websites/production/tapestry/content/tapestry-583-released.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-584-released.html
==============================================================================
--- websites/production/tapestry/content/tapestry-584-released.html (original)
+++ websites/production/tapestry/content/tapestry-584-released.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-for-jsf-users.html
==============================================================================
--- websites/production/tapestry/content/tapestry-for-jsf-users.html (original)
+++ websites/production/tapestry/content/tapestry-for-jsf-users.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-inversion-of-control-container.html
==============================================================================
--- websites/production/tapestry/content/tapestry-inversion-of-control-container.html (original)
+++ websites/production/tapestry/content/tapestry-inversion-of-control-container.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-inversion-of-control-faq.html
==============================================================================
--- websites/production/tapestry/content/tapestry-inversion-of-control-faq.html (original)
+++ websites/production/tapestry/content/tapestry-inversion-of-control-faq.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 id="TapestryInversionofControlFAQ-TapestryInversionofControlContainer">Tapestry Inversion of Control Container</h1><p>Main article: <a href="tapestry-inversion-of-control-faq.html">Tapestry IoC</a></p><h2 id="TapestryInversionofControlFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1737720765995 {padding: 0px;}
-div.rbtoc1737720765995 ul {margin-left: 0px;}
-div.rbtoc1737720765995 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1737724364872 {padding: 0px;}
+div.rbtoc1737724364872 ul {margin-left: 0px;}
+div.rbtoc1737724364872 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1737720765995">
+/*]]>*/</style></p><div class="toc-macro rbtoc1737724364872">
 <ul class="toc-indentation"><li><a href="#TapestryInversionofControlFAQ-WhydoIneedtodefineaninterfaceformyservices?Whycan'tIjustusetheclassitself?">Why do I need to define an interface for my services? Why can't I just use the class itself?</a></li><li><a href="#TapestryInversionofControlFAQ-Myservicestartsathread;howdoIknowwhentheapplicationisshuttingdown,tostopthatthread?">My service starts a thread; how do I know when the application is shutting down, to stop that thread?</a></li><li><a href="#TapestryInversionofControlFAQ-HowdoImakemyservicestartupwiththerestoftheapplication,ratherthanlazily?">How do I make my service startup with the rest of the application, rather than lazily?</a></li></ul>
 </div><div class="aui-label" style="float:right" title="Related Articles">
 

Modified: websites/production/tapestry/content/tapestry-ioc-configuration.html
==============================================================================
--- websites/production/tapestry/content/tapestry-ioc-configuration.html (original)
+++ websites/production/tapestry/content/tapestry-ioc-configuration.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-ioc-decorators.html
==============================================================================
--- websites/production/tapestry/content/tapestry-ioc-decorators.html (original)
+++ websites/production/tapestry/content/tapestry-ioc-decorators.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-ioc-modules.html
==============================================================================
--- websites/production/tapestry/content/tapestry-ioc-modules.html (original)
+++ websites/production/tapestry/content/tapestry-ioc-modules.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-ioc-overview.html
==============================================================================
--- websites/production/tapestry/content/tapestry-ioc-overview.html (original)
+++ websites/production/tapestry/content/tapestry-ioc-overview.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tapestry-tutorial.html
==============================================================================
--- websites/production/tapestry/content/tapestry-tutorial.html (original)
+++ websites/production/tapestry/content/tapestry-tutorial.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/templating-and-markup-faq.html
==============================================================================
--- websites/production/tapestry/content/templating-and-markup-faq.html (original)
+++ websites/production/tapestry/content/templating-and-markup-faq.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>
@@ -155,11 +155,11 @@
             <!-- /// Content Start -->
             <div id="content">
                             <div id="ConfluenceContent"><h1 id="TemplatingandMarkupFAQ-TemplatingandMarkup">Templating and Markup</h1><p>Main Article: <a href="component-templates.html">Component Templates</a></p><h2 id="TemplatingandMarkupFAQ-Contents">Contents</h2><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1737720773010 {padding: 0px;}
-div.rbtoc1737720773010 ul {margin-left: 0px;}
-div.rbtoc1737720773010 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1737724371727 {padding: 0px;}
+div.rbtoc1737724371727 ul {margin-left: 0px;}
+div.rbtoc1737724371727 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1737720773010">
+/*]]>*/</style></p><div class="toc-macro rbtoc1737724371727">
 <ul class="toc-indentation"><li><a href="#TemplatingandMarkupFAQ-WhydoIgetaSAXParseExceptionwhenIuseanHTMLentity,suchas&#160;inmytemplate?">Why do I get a SAXParseException when I use an HTML entity, such as &amp;nbsp; in my template?</a></li><li><a href="#TemplatingandMarkupFAQ-Whydosomeimagesinmypageshowupasbrokenlinks?">Why do some images in my page show up as broken links?</a></li><li><a href="#TemplatingandMarkupFAQ-What'sthedifferencebetweenidandt:id?">What's the difference between id and t:id?</a></li><li><a href="#TemplatingandMarkupFAQ-WhydomyimagesandstylesheetsendupwithaweirdURLslike/assets/meta/zeea17aee26bc0cae/layout/layout.css?">Why do my images and stylesheets end up with a weird URLs like /assets/meta/zeea17aee26bc0cae/layout/layout.css?</a></li><li><a href="#TemplatingandMarkupFAQ-HowdoIaddaCSSclasstoaTapestrycomponent?">How do I add a CSS class to a Tapestry component?</a></li></ul>
 </div><h2 id="TemplatingandMarkupFAQ-WhydoIgetaSAXParseExceptionwhenIuseanHTMLentity,suchas&amp;nbsp;inmytemplate?">Why do I get a SAXParseException when I use an HTML entity, such as <code>&amp;nbsp;</code> in my template?</h2><p>Tapestry uses a standard SAX parser to read your templates. This means that your templates must be <em>well formed</em>: open and close tags must balance, attribute values must be quoted, and entities must be declared. The easiest way to accomplish this is to add a DOCTYPE to your the top of your template:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre><code class="language-xml">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

Modified: websites/production/tapestry/content/test-page-2.html
==============================================================================
--- websites/production/tapestry/content/test-page-2.html (original)
+++ websites/production/tapestry/content/test-page-2.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/test-page.html
==============================================================================
--- websites/production/tapestry/content/test-page.html (original)
+++ websites/production/tapestry/content/test-page.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/test.html
==============================================================================
--- websites/production/tapestry/content/test.html (original)
+++ websites/production/tapestry/content/test.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/the-tapestry-jail.html
==============================================================================
--- websites/production/tapestry/content/the-tapestry-jail.html (original)
+++ websites/production/tapestry/content/the-tapestry-jail.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/third-party-modules.html
==============================================================================
--- websites/production/tapestry/content/third-party-modules.html (original)
+++ websites/production/tapestry/content/third-party-modules.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/this-page-has-been-deleted.html
==============================================================================
--- websites/production/tapestry/content/this-page-has-been-deleted.html (original)
+++ websites/production/tapestry/content/this-page-has-been-deleted.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/tutorial.html
==============================================================================
--- websites/production/tapestry/content/tutorial.html (original)
+++ websites/production/tapestry/content/tutorial.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/type-coercion.html
==============================================================================
--- websites/production/tapestry/content/type-coercion.html (original)
+++ websites/production/tapestry/content/type-coercion.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/typecoercer-service.html
==============================================================================
--- websites/production/tapestry/content/typecoercer-service.html (original)
+++ websites/production/tapestry/content/typecoercer-service.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/typescript.html
==============================================================================
--- websites/production/tapestry/content/typescript.html (original)
+++ websites/production/tapestry/content/typescript.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/unit-testing-pages-or-components.html
==============================================================================
--- websites/production/tapestry/content/unit-testing-pages-or-components.html (original)
+++ websites/production/tapestry/content/unit-testing-pages-or-components.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>

Modified: websites/production/tapestry/content/upgrade.html
==============================================================================
--- websites/production/tapestry/content/upgrade.html (original)
+++ websites/production/tapestry/content/upgrade.html Fri Jan 24 13:18:10 2025
@@ -33,8 +33,8 @@
   <link rel="shortcut icon" href="/images/apache-tapestry-icon-32.png">
 
   <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/font-awesome/5.13.0/css/all.min.css">
+  <link rel="stylesheet" href="/prism/1.20.0/themes/prism.min.css">
   <link rel="stylesheet" href="/resources/fonts/fonts.css">
   <link rel="stylesheet" href="/styles/main.css">
 
@@ -44,11 +44,11 @@
     }
   </script>
 
-  <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous" defer></script>
-  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous" defer></script>
+  <script src="/resources/jquery/jquery-3.4.1.slim.min.js"></script>
+  <script src="/resources/bootstrap/popper.min.js" defer></script>
   <script src="/resources/bootstrap/bootstrap.min.js" defer></script>
-  <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script>
-	<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script>
+  <script src="/resources/prism/1.20.0/prism.min.js" defer></script>
+	<script src="/resources/prism/1.20.0/prism-autoloader.min.js" defer></script>
 
   <!-- Matomo -->
   <script>