Skip to content

Commit 933fe2a

Browse files
author
github-actions
committed
Site Update from develop branch. [skip ci]
1 parent e9b8977 commit 933fe2a

72 files changed

Lines changed: 145 additions & 187 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

README.page-vue-render.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

about.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

about.page-vue-render.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

authorGuide/adaptations/adaptations.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
<div class="site-nav-dropdown-btn-container"><i class="site-nav-dropdown-btn-icon" onclick="handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"><span class="glyphicon glyphicon-menu-down" aria-hidden="true"></span></i></div></div><ul class="site-nav-dropdown-container site-nav-list"><li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/integrations/setupWithMarkbind.html">MarkBind</a></div></li></ul></li> <li><div class="site-nav-default-list-item site-nav-list-item-0" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/configuration.html">Configuration</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-0" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/urlSharing.html">URL Sharing</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-0" onclick="handleSiteNavClick(this)">Site Adaptations
2020

21-
<div class="site-nav-dropdown-btn-container"><i class="site-nav-dropdown-btn-icon" onclick="handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"><span class="glyphicon glyphicon-menu-down" aria-hidden="true"></span></i></div></div><ul class="site-nav-dropdown-container site-nav-list"><li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/adaptations/adaptations.html">Adaptations</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/adaptations/configuration.html">Configuration</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/adaptations/samplePage.html">Sample Adaptation Page</a></div></li></ul></li> <li><div class="site-nav-default-list-item site-nav-list-item-0" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/all.html">Components</a> <div class="site-nav-dropdown-btn-container"><i class="site-nav-dropdown-btn-icon site-nav-rotate-icon" onclick="handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"><span class="glyphicon glyphicon-menu-down" aria-hidden="true"></span></i></div></div><ul class="site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"><li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/toggles.html">Toggles</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/tabs.html">Tabs</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/placeholders.html">Placeholders</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/settings.html">Settings Dialog</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/share.html">Focused Views</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/labels.html">Labels</a></div></li></ul></li><!--]--><!--v-if--></ul><!--]--></div></div><!--]--><!--v-if--></nav> <div id="content-wrapper"><div data-v-ef898034><nav aria-label="breadcrumb" class="breadcrumb-divider" data-v-ef898034><ol class="breadcrumb" data-v-ef898034><li class="notlink breadcrumb-marker" data-v-ef898034> ››   </li><!--[--><!--]--></ol></nav></div> <p><span id="title" class="d-none">Site Adaptations</span></p> <h1 id="site-adaptations">Site Adaptations<a class="fa fa-anchor" href="#site-adaptations" onclick="event.stopPropagation()"></a></h1> <p><strong>Adaptations</strong> are pre-configured site variants. It is meant for websites to use the same site page, but allow different branding, customizability for a specific audience just from a single URL parameter.</p> <p>A use case is: A documentation site shared across multiple institutions, each with their own colour scheme and default content selections.</p> <hr> <h2 id="how-it-works">How It Works<a class="fa fa-anchor" href="#how-it-works" onclick="event.stopPropagation()"></a></h2> <p>An adaptation is a JSON file hosted alongside your site content. When a user visits a URL with <code class="hljs inline no-lang">?adapt=&lt;id&gt;</code> or a hash indicator like <code class="hljs inline no-lang">#/id</code> (for example, <code class="hljs inline no-lang">https://example.com/#/dark</code>), CustardUI fetches that file, applies the theme and state overrides, and persists the active adaptation to <code class="hljs inline no-lang">localStorage</code> — so it remains active across all pages without the parameter or hash needing to be in every URL.</p> <p><strong>Activation priority (highest wins):</strong></p> <ol><li><code class="hljs inline no-lang">&lt;meta name=&quot;cv-adapt&quot; content=&quot;&lt;id&gt;&quot;&gt;</code> on the page — forces a specific adaptation for that page on every visit</li> <li>Explicit URL activation — <code class="hljs inline no-lang">?adapt=&lt;id&gt;</code> parameter or hash <code class="hljs inline no-lang">#/id</code> indicator</li> <li><code class="hljs inline no-lang">localStorage</code> — persisted from a previous activation</li></ol> <hr> <h2 id="quick-start">Quick Start<a class="fa fa-anchor" href="#quick-start" onclick="event.stopPropagation()"></a></h2> <p><strong><span class="large">Step 1: Create the adaptation JSON file</span></strong></p> <p>Place the file at <code class="hljs inline no-lang">{baseUrl}/{id}/{id}.json</code>. For a site with <code class="hljs inline no-lang">data-base-url=&quot;/docs&quot;</code> and adaptation id <code class="hljs inline no-lang">dark</code>:</p> <pre><code class="hljs"><span>/docs/dark/dark.json
21+
<div class="site-nav-dropdown-btn-container"><i class="site-nav-dropdown-btn-icon" onclick="handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"><span class="glyphicon glyphicon-menu-down" aria-hidden="true"></span></i></div></div><ul class="site-nav-dropdown-container site-nav-list"><li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/adaptations/adaptations.html">Adaptations</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/adaptations/configuration.html">Configuration</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/adaptations/samplePage.html">Sample Adaptation Page</a></div></li></ul></li> <li><div class="site-nav-default-list-item site-nav-list-item-0" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/all.html">Components</a> <div class="site-nav-dropdown-btn-container"><i class="site-nav-dropdown-btn-icon site-nav-rotate-icon" onclick="handleSiteNavClick(this.parentNode.parentNode, false); event.stopPropagation();"><span class="glyphicon glyphicon-menu-down" aria-hidden="true"></span></i></div></div><ul class="site-nav-dropdown-container site-nav-dropdown-container-open site-nav-list"><li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/toggles.html">Toggles</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/tabs.html">TabGroups and Tabs</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/placeholders.html">Placeholders</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/settings.html">Settings Dialog</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/share.html">Focused Views</a></div></li> <li><div class="site-nav-default-list-item site-nav-list-item-1" onclick="handleSiteNavClick(this)"><a href="/devdocs/authorGuide/components/labels.html">Labels</a></div></li></ul></li><!--]--><!--v-if--></ul><!--]--></div></div><!--]--><!--v-if--></nav> <div id="content-wrapper"><div data-v-ef898034><nav aria-label="breadcrumb" class="breadcrumb-divider" data-v-ef898034><ol class="breadcrumb" data-v-ef898034><li class="notlink breadcrumb-marker" data-v-ef898034> ››   </li><!--[--><!--]--></ol></nav></div> <p><span id="title" class="d-none">Site Adaptations</span></p> <h1 id="site-adaptations">Site Adaptations<a class="fa fa-anchor" href="#site-adaptations" onclick="event.stopPropagation()"></a></h1> <p><strong>Adaptations</strong> are pre-configured site variants. It is meant for websites to use the same site page, but allow different branding, customizability for a specific audience just from a single URL parameter.</p> <p>A use case is: A documentation site shared across multiple institutions, each with their own colour scheme and default content selections.</p> <hr> <h2 id="how-it-works">How It Works<a class="fa fa-anchor" href="#how-it-works" onclick="event.stopPropagation()"></a></h2> <p>An adaptation is a JSON file hosted alongside your site content. When a user visits a URL with <code class="hljs inline no-lang">?adapt=&lt;id&gt;</code> or a hash indicator like <code class="hljs inline no-lang">#/id</code> (for example, <code class="hljs inline no-lang">https://example.com/#/dark</code>), CustardUI fetches that file, applies the theme and state overrides, and persists the active adaptation to <code class="hljs inline no-lang">localStorage</code> — so it remains active across all pages without the parameter or hash needing to be in every URL.</p> <p><strong>Activation priority (highest wins):</strong></p> <ol><li><code class="hljs inline no-lang">&lt;meta name=&quot;cv-adapt&quot; content=&quot;&lt;id&gt;&quot;&gt;</code> on the page — forces a specific adaptation for that page on every visit</li> <li>Explicit URL activation — <code class="hljs inline no-lang">?adapt=&lt;id&gt;</code> parameter or hash <code class="hljs inline no-lang">#/id</code> indicator</li> <li><code class="hljs inline no-lang">localStorage</code> — persisted from a previous activation</li></ol> <hr> <h2 id="quick-start">Quick Start<a class="fa fa-anchor" href="#quick-start" onclick="event.stopPropagation()"></a></h2> <p><strong><span class="large">Step 1: Create the adaptation JSON file</span></strong></p> <p>Place the file at <code class="hljs inline no-lang">{baseUrl}/{id}/{id}.json</code>. For a site with <code class="hljs inline no-lang">data-base-url=&quot;/docs&quot;</code> and adaptation id <code class="hljs inline no-lang">dark</code>:</p> <pre><code class="hljs"><span>/docs/dark/dark.json
2222
</span></code><div class="function-btn-container"><button onclick="copyCodeBlock(this)" class="function-btn d-print-none">
2323
<div class="tooltip-container">
2424
<span class="tooltiptext">Copy</span>
@@ -458,7 +458,7 @@
458458

459459
</div>
460460
</div>
461-
</button></div></pre><p>This removes the stored adaptation. On the next page load (without a page meta tag), no adaptation will be active.</p> <hr></div> <nav id="page-nav" data-v-6b1b63d2><!--[--><div class="nav-component slim-scroll"><a class="navbar-brand page-nav-title" href="#">Topics</a> <nav id="mb-page-nav" class="nav nav-pills flex-column my-0 small no-flex-wrap" data-v-6b1b63d2><!--[--><a class="nav-link py-1" href="#site-adaptations">Site Adaptations‎</a> <nav class="nav nav-pills flex-column my-0 nested no-flex-wrap"><a class="nav-link py-1" href="#how-it-works">How It Works‎</a> <a class="nav-link py-1" href="#quick-start">Quick Start‎</a> <a class="nav-link py-1" href="#file-placement">File Placement‎</a> <a class="nav-link py-1" href="#per-page-activation">Per-Page Activation‎</a> <a class="nav-link py-1" href="#activation-landing-page">Activation Landing Page‎</a> <a class="nav-link py-1" href="#clearing-an-adaptation">Clearing an Adaptation‎</a></nav><!--]--><!--v-if--></nav></div><!--]--><!--v-if--></nav> <div class="scroll-top-button fa-lg d-print-none" style="display:none;bottom:2%;right:2%;position:fixed;" aria-hidden="true"><!--[--><i class="fas fa-arrow-circle-up"></i><!--]--></div></div> <div><footer><div class="text-center"><small>[Generated by <a href="https://markbind.org/">MarkBind 6.3.1</a> on Mon, 30 Mar 2026, 2:23:11 GMT+8]</small><br></div></footer></div><!--]--></div>
461+
</button></div></pre><p>This removes the stored adaptation. On the next page load (without a page meta tag), no adaptation will be active.</p> <hr></div> <nav id="page-nav" data-v-6b1b63d2><!--[--><div class="nav-component slim-scroll"><a class="navbar-brand page-nav-title" href="#">Topics</a> <nav id="mb-page-nav" class="nav nav-pills flex-column my-0 small no-flex-wrap" data-v-6b1b63d2><!--[--><a class="nav-link py-1" href="#site-adaptations">Site Adaptations‎</a> <nav class="nav nav-pills flex-column my-0 nested no-flex-wrap"><a class="nav-link py-1" href="#how-it-works">How It Works‎</a> <a class="nav-link py-1" href="#quick-start">Quick Start‎</a> <a class="nav-link py-1" href="#file-placement">File Placement‎</a> <a class="nav-link py-1" href="#per-page-activation">Per-Page Activation‎</a> <a class="nav-link py-1" href="#activation-landing-page">Activation Landing Page‎</a> <a class="nav-link py-1" href="#clearing-an-adaptation">Clearing an Adaptation‎</a></nav><!--]--><!--v-if--></nav></div><!--]--><!--v-if--></nav> <div class="scroll-top-button fa-lg d-print-none" style="display:none;bottom:2%;right:2%;position:fixed;" aria-hidden="true"><!--[--><i class="fas fa-arrow-circle-up"></i><!--]--></div></div> <div><footer><div class="text-center"><small>[Generated by <a href="https://markbind.org/">MarkBind 6.3.1</a> on Mon, 30 Mar 2026, 2:53:53 GMT+8]</small><br></div></footer></div><!--]--></div>
462462
</body><script src="/devdocs/markbind/js/bootstrap-utility.min.js"></script>
463463
<script src="/devdocs/markbind/js/polyfill.min.js"></script>
464464
<script src="/devdocs/markbind/js/vue.global.prod.min.js"></script>

authorGuide/adaptations/adaptations.page-vue-render.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)