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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> @@ -144,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.rbtoc1737227513228 {padding: 0px;} -div.rbtoc1737227513228 ul {margin-left: 0px;} -div.rbtoc1737227513228 li {margin-left: 0px;padding-left: 0px;} +div.rbtoc1737720773010 {padding: 0px;} +div.rbtoc1737720773010 ul {margin-left: 0px;} +div.rbtoc1737720773010 li {margin-left: 0px;padding-left: 0px;} -/*]]>*/</style></p><div class="toc-macro rbtoc1737227513228"> +/*]]>*/</style></p><div class="toc-macro rbtoc1737720773010"> <ul class="toc-indentation"><li><a href="#TemplatingandMarkupFAQ-WhydoIgetaSAXParseExceptionwhenIuseanHTMLentity,suchas inmytemplate?">Why do I get a SAXParseException when I use an HTML entity, such as &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&nbsp;inmytemplate?">Why do I get a SAXParseException when I use an HTML entity, such as <code>&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"><!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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> 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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/test.html ============================================================================== --- websites/production/tapestry/content/test.html (original) +++ websites/production/tapestry/content/test.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> 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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> 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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> 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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/tutorial.html ============================================================================== --- websites/production/tapestry/content/tutorial.html (original) +++ websites/production/tapestry/content/tutorial.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> 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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> 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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/typescript.html ============================================================================== --- websites/production/tapestry/content/typescript.html (original) +++ websites/production/tapestry/content/typescript.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> 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 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/upgrade.html ============================================================================== --- websites/production/tapestry/content/upgrade.html (original) +++ websites/production/tapestry/content/upgrade.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/upload.html ============================================================================== --- websites/production/tapestry/content/upload.html (original) +++ websites/production/tapestry/content/upload.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/uploading-files.html ============================================================================== --- websites/production/tapestry/content/uploading-files.html (original) +++ websites/production/tapestry/content/uploading-files.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/url-rewriting.html ============================================================================== --- websites/production/tapestry/content/url-rewriting.html (original) +++ websites/production/tapestry/content/url-rewriting.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/user-guide.html ============================================================================== --- websites/production/tapestry/content/user-guide.html (original) +++ websites/production/tapestry/content/user-guide.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/userguide.html ============================================================================== --- websites/production/tapestry/content/userguide.html (original) +++ websites/production/tapestry/content/userguide.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html ============================================================================== --- websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html (original) +++ websites/production/tapestry/content/using-beaneditform-to-create-user-forms.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/using-jsr-330-standard-annotations.html ============================================================================== --- websites/production/tapestry/content/using-jsr-330-standard-annotations.html (original) +++ websites/production/tapestry/content/using-jsr-330-standard-annotations.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/using-select-with-a-list.html ============================================================================== --- websites/production/tapestry/content/using-select-with-a-list.html (original) +++ websites/production/tapestry/content/using-select-with-a-list.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/using-tapestry-with-hibernate.html ============================================================================== --- websites/production/tapestry/content/using-tapestry-with-hibernate.html (original) +++ websites/production/tapestry/content/using-tapestry-with-hibernate.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/version-numbers.html ============================================================================== --- websites/production/tapestry/content/version-numbers.html (original) +++ websites/production/tapestry/content/version-numbers.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/whatistapestry-v2.html ============================================================================== --- websites/production/tapestry/content/whatistapestry-v2.html (original) +++ websites/production/tapestry/content/whatistapestry-v2.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start --> Modified: websites/production/tapestry/content/whatistapestry.html ============================================================================== --- websites/production/tapestry/content/whatistapestry.html (original) +++ websites/production/tapestry/content/whatistapestry.html Fri Jan 24 12:18:16 2025 @@ -50,12 +50,23 @@ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js" defer></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js" defer></script> - <script type="text/javascript"> - window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; - ga('create', 'UA-400821-1', 'auto'); - ga('send', 'pageview'); + <!-- Matomo --> + <script> + var _paq = window._paq = window._paq || []; + /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ + _paq.push(["setDoNotTrack", true]); + _paq.push(["disableCookies"]); + _paq.push(['trackPageView']); + _paq.push(['enableLinkTracking']); + (function() { + var u="https://analytics.apache.org/"; + _paq.push(['setTrackerUrl', u+'matomo.php']); + _paq.push(['setSiteId', '71']); + var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; + g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); + })(); </script> - <script async src="https://www.google-analytics.com/analytics.js"></script> + <!-- End Matomo Code --> </head> <body> <!-- /// Navigation Start -->