Public Access
cache-bust local assets; narrow the language facet to scores >= 3
Part 1 — asset versioning: every local <script src> and <link rel=stylesheet> on the tracked pages now carries ?v=<sha256-of-the-file> (10 hex), computed at BUILD time from the file's bytes by work/build-asset-versions.py — never hand-typed, and idempotent (re-running with no file change rewrites nothing). This is what makes an edited focus-rule.js / photo-upload.js a new URL instead of a stale cache hit. Part 2 — language facet: a language now counts for the Language filter only when its 0-5 self-assessment is >= LANG_FACET_MIN (3 = 'works in it'). The constant sits beside the 15-point rule in the page script and its mirror in build-directory.py. Nothing stored changes; the card's languages chart still prints every language above 0, the search box is unchanged, and the facet stays an exact membership test against the card's value. A '1' language no longer offers the person under that language.
This commit is contained in:
1 parent
c83186f809
commit
bd0881f882
51 files changed
+138
-118
No files matched your search
+2
-2
@@ -28,7 +28,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Australia landing page (page-scoped; additive) ---- */
|
||||
.cmp-sr-only {
|
||||
@@ -391,7 +391,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
body { background: #0d1b2e; }
|
||||
.blog-post { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; color: #171c26; background: #faf7f1; min-height: 100vh; }
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
:root {
|
||||
--primary: #714b67;
|
||||
@@ -325,6 +325,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -16,7 +16,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
body { background: #0d1b2e; }
|
||||
.blog-post { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; color: #171c26; background: #faf7f1; min-height: 100vh; }
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
.blog-header {
|
||||
padding: 2rem 0;
|
||||
@@ -275,6 +275,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -16,7 +16,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
body { background: #0d1b2e; }
|
||||
.blog-post { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; color: #171c26; background: #faf7f1; min-height: 100vh; }
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* Blog post specific overrides — matching homepage light theme */
|
||||
body {
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
:root {
|
||||
--primary: #714b67;
|
||||
@@ -277,6 +277,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -36,7 +36,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
:root {
|
||||
--primary: #714b67;
|
||||
@@ -296,6 +296,6 @@ Admin credentials: sent via email</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -35,7 +35,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
:root {
|
||||
--primary: #714b67;
|
||||
@@ -263,7 +263,7 @@
|
||||
</main>
|
||||
<script
|
||||
defer
|
||||
src="/static/agent-odoo4projects/agent.js"
|
||||
src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"
|
||||
></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -36,7 +36,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
@@ -263,7 +263,7 @@
|
||||
</main>
|
||||
<script
|
||||
defer
|
||||
src="/static/agent-odoo4projects/agent.js"
|
||||
src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"
|
||||
></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -16,7 +16,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
body { background: #0d1b2e; }
|
||||
.blog-post { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; color: #171c26; background: #faf7f1; min-height: 100vh; }
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
:root {
|
||||
--primary: #714b67;
|
||||
@@ -175,6 +175,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -17,7 +17,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
body { background: #0d1b2e; }
|
||||
.blog-post { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; color: #171c26; background: #faf7f1; min-height: 100vh; }
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
body { background: #0d1b2e; }
|
||||
.blog-post { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; color: #171c26; background: #faf7f1; min-height: 100vh; }
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Inter+Tight:wght@500;600;700;800&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
body { background: #0d1b2e; }
|
||||
.blog-post { max-width: 720px; margin: 0 auto; padding: 3rem 1.5rem 6rem; color: #171c26; background: #faf7f1; min-height: 100vh; }
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* Blog post specific styles — leverages CSS vars from style.css */
|
||||
:root {
|
||||
@@ -311,6 +311,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -35,7 +35,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
.container {
|
||||
width: 80%;
|
||||
@@ -250,6 +250,6 @@ Odoo > Settings > Technical > Scheduled Actions > backup job</code><
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -35,7 +35,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
:root {
|
||||
--primary: #714b67;
|
||||
@@ -267,6 +267,6 @@ Password: (check your email)</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -34,7 +34,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="../../style.css" />
|
||||
<link rel="stylesheet" href="../../style.css?v=3332fbba93" />
|
||||
<style>
|
||||
:root {
|
||||
--primary: #714b67;
|
||||
@@ -165,6 +165,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
+4
-4
@@ -220,14 +220,14 @@
|
||||
#customQuoteModal .biz-success p{color:var(--midnight)}
|
||||
@media(max-width:600px){.oca-table td,.oca-table th{padding:.5rem .65rem;font-size:.8rem}.ow-panel{left:5%;right:5%}.ow-close{top:.5rem;right:.5rem;font-size:1.6rem}}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<!-- Privacy-friendly analytics by Plausible -->
|
||||
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
|
||||
<script>
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!--
|
||||
@@ -672,7 +672,7 @@
|
||||
</footer>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
|
||||
<script src="/script.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script src="/script.js?v=d2046e3469"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -38,7 +38,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Odoo Community Upgrade page (page-scoped; additive) ---- */
|
||||
.oc-sr-only {
|
||||
@@ -479,7 +479,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="preload" as="image" href="/images/hero/bootcamp-hero-mobile-900.webp" media="(max-width: 640px)" fetchpriority="high" />
|
||||
<link rel="preload" as="image" href="/images/hero/bootcamp-hero-desktop-1920.webp" media="(min-width: 641px)" fetchpriority="high" />
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- ODOO ERP Automation Bootcamp landing page (page-scoped; additive) ---- */
|
||||
.bc-sr-only {
|
||||
@@ -1018,9 +1018,9 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/buy.js"></script>
|
||||
<script defer src="/static/bootcamp-availability.js"></script>
|
||||
<script defer src="/static/bootcamp-waitlist.js"></script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/buy.js?v=31314de600"></script>
|
||||
<script defer src="/static/bootcamp-availability.js?v=94dfd8cd7c"></script>
|
||||
<script defer src="/static/bootcamp-waitlist.js?v=6c2e2fbd33"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -31,7 +31,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Odoo Hosting 2027 landing page (page-scoped; additive) ---- */
|
||||
.cmp-sr-only {
|
||||
@@ -559,7 +559,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
||||
|
||||
+3
-3
@@ -29,7 +29,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* Language selector — the page's top row: the back-link stays left, the selector travels right.
|
||||
Cream canvas, so lang.js's own dark-brass active colour is the correct one (no override). */
|
||||
@@ -274,7 +274,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
@@ -586,6 +586,6 @@
|
||||
</script>
|
||||
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
+4
-4
@@ -220,14 +220,14 @@
|
||||
#customQuoteModal .biz-success p{color:var(--midnight)}
|
||||
@media(max-width:600px){.oca-table td,.oca-table th{padding:.5rem .65rem;font-size:.8rem}.ow-panel{left:5%;right:5%}.ow-close{top:.5rem;right:.5rem;font-size:1.6rem}}
|
||||
</style>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<!-- Privacy-friendly analytics by Plausible -->
|
||||
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
|
||||
<script>
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!--
|
||||
@@ -672,7 +672,7 @@
|
||||
</footer>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
|
||||
<script src="/script.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script src="/script.js?v=d2046e3469"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -38,7 +38,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Odoo Community Upgrade page (page-scoped; additive) ---- */
|
||||
.oc-sr-only {
|
||||
@@ -479,7 +479,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="preload" as="image" href="/images/hero/bootcamp-hero-mobile-900.webp" media="(max-width: 640px)" fetchpriority="high" />
|
||||
<link rel="preload" as="image" href="/images/hero/bootcamp-hero-desktop-1920.webp" media="(min-width: 641px)" fetchpriority="high" />
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- ODOO ERP Automation Bootcamp landing page (page-scoped; additive) ---- */
|
||||
.bc-sr-only {
|
||||
@@ -1018,9 +1018,9 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/buy.js"></script>
|
||||
<script defer src="/static/bootcamp-availability.js"></script>
|
||||
<script defer src="/static/bootcamp-waitlist.js"></script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/buy.js?v=31314de600"></script>
|
||||
<script defer src="/static/bootcamp-availability.js?v=94dfd8cd7c"></script>
|
||||
<script defer src="/static/bootcamp-waitlist.js?v=6c2e2fbd33"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -31,7 +31,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Odoo Hosting 2027 landing page (page-scoped; additive) ---- */
|
||||
.cmp-sr-only {
|
||||
@@ -559,7 +559,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
||||
|
||||
+3
-3
@@ -29,7 +29,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* Language selector — the page's top row: the back-link stays left, the selector travels right.
|
||||
Cream canvas, so lang.js's own dark-brass active colour is the correct one (no override). */
|
||||
@@ -274,7 +274,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
@@ -586,6 +586,6 @@
|
||||
</script>
|
||||
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
+1
-1
@@ -28,7 +28,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
|
||||
<style>
|
||||
/* Utility page, same shell as /freelancer-edit/ and the top bar of
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
|
||||
<style>
|
||||
/* Utility page. Deliberately small: no hero, no footer, no site chrome beyond a
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
|
||||
<style>
|
||||
/* Utility page. Deliberately small: no hero, no footer, no site chrome beyond a brand
|
||||
@@ -147,8 +147,8 @@
|
||||
</style>
|
||||
|
||||
<!-- The 15-point rule, in ONE copy for both forms (this one and the application form). -->
|
||||
<script src="/static/focus-rule.js"></script>
|
||||
<script src="/static/photo-upload.js"></script>
|
||||
<script src="/static/focus-rule.js?v=22ac72a8f0"></script>
|
||||
<script src="/static/photo-upload.js?v=c17638457b"></script>
|
||||
|
||||
<!-- 1) Read the credential, then take it OUT of the address bar.
|
||||
The hash arrives as ?has=... or ?hash=... (both spellings accepted, 'has' first — the
|
||||
|
||||
+4
-4
@@ -230,14 +230,14 @@
|
||||
.bf-topbar-cta{color:var(--brass);white-space:nowrap}
|
||||
.bf-topbar:hover .bf-topbar-cta,.bf-topbar:focus-visible .bf-topbar-cta{color:var(--brass-bright)}
|
||||
</style>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css?v=3332fbba93" />
|
||||
<!-- Privacy-friendly analytics by Plausible -->
|
||||
<script async src="https://plausible.office.odoo4projects.com/js/pa-NhA7Rf-79VopXFQXhSS4e.js"></script>
|
||||
<script>
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!--
|
||||
@@ -701,7 +701,7 @@
|
||||
</footer>
|
||||
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
|
||||
<script src="script.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script src="script.js?v=d2046e3469"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
+2
-2
@@ -25,7 +25,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css?v=3332fbba93" />
|
||||
<style>
|
||||
.legal-hero {
|
||||
padding: 4rem 0 2.5rem;
|
||||
@@ -204,6 +204,6 @@
|
||||
</section>
|
||||
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -43,7 +43,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Odoo Black Friday 2026 page (page-scoped; additive) ---- */
|
||||
.bf-sr-only {
|
||||
@@ -744,7 +744,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Hero — copied from the homepage (index.html): same component, same behaviour. On load the
|
||||
@@ -1275,7 +1275,7 @@
|
||||
</div>
|
||||
|
||||
<script defer src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"></script>
|
||||
<script defer src="/static/black-friday.js"></script>
|
||||
<script defer src="/static/ads-consent.js"></script>
|
||||
<script defer src="/static/black-friday.js?v=df1f299dc5"></script>
|
||||
<script defer src="/static/ads-consent.js?v=0cc2bfb809"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -23,7 +23,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- "Odoo Community + AI agent" page (page-scoped; additive).
|
||||
Reuses the top bar, band rhythm, hero, FAQ and final-CTA treatment already
|
||||
@@ -937,6 +937,6 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -21,7 +21,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Freelancer records — admin (page-scoped). Internal page, never linked. ---- */
|
||||
.adm-bar {
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- "Odoo Community developers" directory (page-scoped; additive).
|
||||
Reuses the top bar, band rhythm, hero, FAQ and final-CTA treatment already
|
||||
@@ -2039,9 +2039,9 @@
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script src="/static/focus-rule.js"></script>
|
||||
<script src="/static/photo-upload.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
<script src="/static/focus-rule.js?v=22ac72a8f0"></script>
|
||||
<script src="/static/photo-upload.js?v=c17638457b"></script>
|
||||
<script>
|
||||
/* ============================================================================
|
||||
Odoo freelancer directory — page script.
|
||||
@@ -2089,6 +2089,14 @@
|
||||
var FOCUS_AXES = ["functional", "system", "modules", "integration", "ai"];
|
||||
var FOCUS_TOTAL = O4PFocus.TOTAL; // the shared rule (static/focus-rule.js)
|
||||
var FOCUS_MAX = O4PFocus.MAX;
|
||||
// THE FACET THRESHOLD — sits beside the 15-point rule. Mirrored verbatim in
|
||||
// work/build-directory.py (`LANG_FACET_MIN`). A language counts for the Language
|
||||
// FILTER only when its 0-5 self-assessment is >= this (3 = "works in it",
|
||||
// 5 = native). It is OUR reading, not the freelancer's: it changes nothing stored
|
||||
// and nothing the card shows (the chain below still prints every language above 0).
|
||||
// Without it, a "1" offered the person under that language and the facet could not
|
||||
// narrow. Do not change any stored score.
|
||||
var LANG_FACET_MIN = 3;
|
||||
var FOCUS_AXIS_LABELS = {
|
||||
functional: "Functional", system: "System", modules: "Modules",
|
||||
integration: "Integration", ai: "AI"
|
||||
@@ -2368,6 +2376,18 @@
|
||||
return out;
|
||||
}
|
||||
|
||||
/* The languages the Language FILTER matches on — score >= LANG_FACET_MIN. Separate
|
||||
from liveLangsDeclared(): the facet is narrower than the card's list, so a "1"
|
||||
language is still shown on the card but no longer offers the person under it.
|
||||
This feeds ONLY the facet attribute + the filter options, never the card. */
|
||||
function liveLangsFacet(rec) {
|
||||
var scores = liveLangScores(rec), out = [];
|
||||
LANG_FIELDS.forEach(function (p) {
|
||||
if (scores[p[1]] >= LANG_FACET_MIN) out.push(p[1]);
|
||||
});
|
||||
return out;
|
||||
}
|
||||
|
||||
function liveAxisRows(rec) {
|
||||
var rows = [];
|
||||
FOCUS_AXES.forEach(function (axis) {
|
||||
@@ -2426,7 +2446,7 @@
|
||||
return (isNaN(n) || n <= 0) ? "" : "yes";
|
||||
}
|
||||
if (kind === "oca") return liveOcaLink(rec) ? "1" : "";
|
||||
if (kind === "langnum") return liveLangsDeclared(rec).map(fold).join("|");
|
||||
if (kind === "langnum") return liveLangsFacet(rec).map(fold).join("|");
|
||||
return liveValues(rec, field).map(fold).join("|");
|
||||
}
|
||||
|
||||
@@ -2592,7 +2612,7 @@
|
||||
} else if (kind === "langnum") {
|
||||
var seenL = [];
|
||||
records.forEach(function (r) {
|
||||
liveLangsDeclared(r).forEach(function (v) {
|
||||
liveLangsFacet(r).forEach(function (v) {
|
||||
if (!seenL.some(function (s) { return fold(s) === fold(v); })) seenL.push(v);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Odoo Community Upgrade page (page-scoped; additive) ---- */
|
||||
.oc-sr-only {
|
||||
@@ -479,7 +479,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="preload" as="image" href="/images/hero/bootcamp-hero-mobile-900.webp" media="(max-width: 640px)" fetchpriority="high" />
|
||||
<link rel="preload" as="image" href="/images/hero/bootcamp-hero-desktop-1920.webp" media="(min-width: 641px)" fetchpriority="high" />
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- ODOO ERP Automation Bootcamp landing page (page-scoped; additive) ---- */
|
||||
.bc-sr-only {
|
||||
@@ -1039,9 +1039,9 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/buy.js"></script>
|
||||
<script defer src="/static/bootcamp-availability.js"></script>
|
||||
<script defer src="/static/bootcamp-waitlist.js"></script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/buy.js?v=31314de600"></script>
|
||||
<script defer src="/static/bootcamp-availability.js?v=94dfd8cd7c"></script>
|
||||
<script defer src="/static/bootcamp-waitlist.js?v=6c2e2fbd33"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -31,7 +31,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Odoo Hosting 2027 landing page (page-scoped; additive) ---- */
|
||||
.cmp-sr-only {
|
||||
@@ -559,7 +559,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Odoo Hosting Offers (evergreen hub) page (page-scoped; additive) ---- */
|
||||
.of-sr-only {
|
||||
@@ -449,7 +449,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Page-scoped top bar: the site has no global header, so the page carries its own way home. -->
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- ODOO x N8N Masterclass landing page (page-scoped; additive).
|
||||
The block below is the bootcamp page's page-scoped CSS, reused so the two
|
||||
@@ -831,7 +831,7 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/buy.js"></script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/buy.js?v=31314de600"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -29,7 +29,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- "Odoo staging environment" guide page (page-scoped; additive).
|
||||
Reuses the top bar, band rhythm, hero and FAQ treatment already shipped on
|
||||
@@ -822,6 +822,6 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
+3
-3
@@ -27,8 +27,8 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" media="print" onload="this.media='all'" />
|
||||
<noscript><link rel="stylesheet" href="/style.css" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" media="print" onload="this.media='all'" />
|
||||
<noscript><link rel="stylesheet" href="/style.css?v=3332fbba93" /></noscript>
|
||||
<style>
|
||||
/* ---- Partner briefing for Andrew (page-scoped; additive) ---- */
|
||||
.andrew-sr-only {
|
||||
@@ -700,6 +700,6 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
+2
-2
@@ -25,7 +25,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css?v=3332fbba93" />
|
||||
<style>
|
||||
.legal-hero {
|
||||
padding: 4rem 0 2.5rem;
|
||||
@@ -205,6 +205,6 @@
|
||||
</section>
|
||||
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
+3
-3
@@ -29,7 +29,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* Language selector — the page's top row: the back-link stays left, the selector travels right.
|
||||
Cream canvas, so lang.js's own dark-brass active colour is the correct one (no override). */
|
||||
@@ -274,7 +274,7 @@
|
||||
window.plausible=window.plausible||function(){(plausible.q=plausible.q||[]).push(arguments)},plausible.init=plausible.init||function(i){plausible.o=i||{}};
|
||||
plausible.init()
|
||||
</script>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
@@ -590,6 +590,6 @@
|
||||
</script>
|
||||
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
+2
-2
@@ -25,7 +25,7 @@
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css?v=3332fbba93" />
|
||||
<style>
|
||||
.legal-hero {
|
||||
padding: 4rem 0 2.5rem;
|
||||
@@ -195,6 +195,6 @@
|
||||
</section>
|
||||
|
||||
</main>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js"></script>
|
||||
<script defer src="/static/agent-odoo4projects/agent.js?v=c3bb0cee2b"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -27,7 +27,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- "What Can I Use Odoo For?" guide page (page-scoped; additive).
|
||||
The block below is odoo-community-upgrade.html's page-scoped CSS, reused so
|
||||
@@ -952,6 +952,6 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -27,7 +27,7 @@
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Marcellus&display=swap" /></noscript>
|
||||
<link rel="stylesheet" href="/style.css" />
|
||||
<link rel="stylesheet" href="/style.css?v=3332fbba93" />
|
||||
<style>
|
||||
/* ---- Workshops and Classes hub page (page-scoped; additive).
|
||||
The block below is the bootcamp page's page-scoped CSS, reused so the two
|
||||
@@ -788,6 +788,6 @@
|
||||
<div class="fcopy">Copyright © ODOO4projects LLC</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script defer src="/static/lang.js"></script>
|
||||
<script defer src="/static/lang.js?v=3ec49a7e62"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user