5 Commits

Author SHA1 Message Date
7bcb210d47 feat: Add own the dot copyright
All checks were successful
Build Docker / Build Image (push) Successful in 3m2s
2026-02-12 19:12:19 +11:00
1987551aca feat: Add ownthedot.com
All checks were successful
Build Docker / Build Image (push) Successful in 1m1s
2026-01-30 21:09:05 +11:00
b1c6122b4e Merge pull request 'Feat add /ownthedot page' (#4) from ownthedot into main
All checks were successful
Build Docker / Build Image (push) Successful in 52s
Reviewed-on: #4
2026-01-30 19:05:43 +11:00
d30faa349c fix: Cleanup format and add title accent
All checks were successful
Build Docker / Build Image (push) Successful in 1m13s
2026-01-30 14:51:11 +07:00
63bcc6e05e feat: Add opengraph info
All checks were successful
Build Docker / Build Image (push) Successful in 46s
2026-01-30 14:39:57 +07:00
27 changed files with 634 additions and 71 deletions

Binary file not shown.

View File

@@ -403,6 +403,8 @@ def index():
if 'localhost' in request.host or '127.0.0.1' in request.host or DEV:
hns_scripts = ''
if 'ownthedot.com' in request.host:
return render_template('ownthedot.html', year=year)
tld = request.host.split('.')[-1]
if tld not in tlds and 'localhost' not in tld:
return render_template('index.html',year=year, handshake_scripts=hns_scripts)

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -143,7 +167,7 @@
<div class="block-content">
<div class="clean-blog-post">
<div class="row">
<div class="col-lg-5"><img class="rounded img-fluid" src="/assets/img/blog/links_dashboard.png" style="border-width: 1px;border-style: solid;"></div>
<div class="col-lg-5"><img class="img-fluid rounded" src="/assets/img/blog/links_dashboard.png" style="border-width: 1px;border-style: solid;"></div>
<div class="col-lg-7">
<h3>HNS Links</h3>
<div class="info"><span class="text-muted">Feb 24, 2024 by&nbsp;<a href="https://nathan.woodburn.au" target="_blank">Nathan.Woodburn/</a></span></div>
@@ -153,7 +177,7 @@
</div>
<div class="clean-blog-post">
<div class="row">
<div class="col-lg-5"><img class="rounded img-fluid" src="/assets/img/blog/dot_anz.webp"></div>
<div class="col-lg-5"><img class="img-fluid rounded" src="/assets/img/blog/dot_anz.webp"></div>
<div class="col-lg-7">
<h3>New Domains</h3>
<div class="info"><span class="text-muted">Feb 21, 2024 by&nbsp;<a href="https://nathan.woodburn.au" target="_blank">Nathan.Woodburn/</a></span></div>
@@ -163,7 +187,7 @@
</div>
<div class="clean-blog-post">
<div class="row">
<div class="col-lg-5"><img class="rounded img-fluid" src="/assets/img/pins/pins_single.jpg"></div>
<div class="col-lg-5"><img class="img-fluid rounded" src="/assets/img/pins/pins_single.jpg"></div>
<div class="col-lg-7">
<h3>Pins is now on HNSAU</h3>
<div class="info"><span class="text-muted">Feb 12, 2024 by&nbsp;<a href="https://nathan.woodburn.au" target="_blank">Nathan.Woodburn/</a></span></div>
@@ -173,7 +197,7 @@
</div>
<div class="clean-blog-post">
<div class="row">
<div class="col-lg-5"><img class="rounded img-fluid" src="/assets/img/scenery/beach1.jpg"></div>
<div class="col-lg-5"><img class="img-fluid rounded" src="/assets/img/scenery/beach1.jpg"></div>
<div class="col-lg-7">
<h3>The Happening</h3>
<div class="info"><span class="text-muted">Jan 20, 2024 by&nbsp;<a href="https://nathan.woodburn.au" target="_blank">Nathan.Woodburn/</a></span></div>
@@ -208,9 +232,9 @@
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -177,9 +201,9 @@
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -144,12 +168,12 @@
<p>G'day,<br>HNSAU have just released HNS Links. This is a new service that provides easy to manage links pages.<br>It is simple to use and has HTTPS auto redirect for compatible resolvers to ensure higher security for your visitors.<br>HNS Links uses Varo auth to allow the owner of the domain to easily login to manage their links page.</p><a class="btn btn-primary" role="button" href="https://links.hns.au" style="margin-bottom: 25px;">Visit HNS Links</a>
<div class="row">
<div class="col-md-6">
<figure class="figure"><img class="rounded img-fluid figure-img" src="/assets/img/blog/links_example_1.png" alt="A generic square placeholder image with rounded corners in a figure.">
<figure class="figure"><img class="img-fluid figure-img rounded" src="/assets/img/blog/links_example_1.png" alt="A generic square placeholder image with rounded corners in a figure.">
<figcaption class="figure-caption">.Example links page</figcaption>
</figure>
</div>
<div class="col-md-6">
<figure class="figure"><img class="rounded img-fluid figure-img" src="/assets/img/blog/links_example_2.png" alt="A generic square placeholder image with rounded corners in a figure.">
<figure class="figure"><img class="img-fluid figure-img rounded" src="/assets/img/blog/links_example_2.png" alt="A generic square placeholder image with rounded corners in a figure.">
<figcaption class="figure-caption">.Example links page</figcaption>
</figure>
</div>
@@ -182,9 +206,9 @@
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -67,8 +67,32 @@ Register even more Australian SLDs on HNSAU.">
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -122,7 +146,7 @@ Register even more Australian SLDs on HNSAU.">
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -149,12 +173,12 @@ Register even more Australian SLDs on HNSAU.">
<p>.Australia/ and .NewZealand/ will be not be for sale until we can guarantee use in partnership with Australian or Kiwi businesses and individuals. We are offering SLDs for Aussies and Kiwis if they have a specific project or use in mind. These will be given after consideration with the HNSAU team.</p>
<div class="row">
<div class="col-md-6">
<figure class="figure"><img class="rounded img-fluid figure-img" src="/assets/img/blog/dot_australia.png" alt="A generic square placeholder image with rounded corners in a figure.">
<figure class="figure"><img class="img-fluid figure-img rounded" src="/assets/img/blog/dot_australia.png" alt="A generic square placeholder image with rounded corners in a figure.">
<figcaption class="figure-caption">.Australia/ domains</figcaption>
</figure>
</div>
<div class="col-md-6">
<figure class="figure"><img class="rounded img-fluid figure-img" src="/assets/img/blog/dot_newzealand.webp" alt="A generic square placeholder image with rounded corners in a figure.">
<figure class="figure"><img class="img-fluid figure-img rounded" src="/assets/img/blog/dot_newzealand.webp" alt="A generic square placeholder image with rounded corners in a figure.">
<figcaption class="figure-caption">.NewZealand/ domains</figcaption>
</figure>
</div>
@@ -187,9 +211,9 @@ Register even more Australian SLDs on HNSAU.">
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -66,8 +66,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -121,7 +145,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -150,7 +174,7 @@
<p>There are 2 options for pins. Both comes with 1 of each of the original colours (gold, silver and bronze).<br><br>The first option adds 2 gold with silver highlight pins.<br><br>The second option adds 2 silver with gold highlight pins.<br><br>Each pack has 5 pins and includes shipping worldwide for only US$45</p><a class="btn btn-primary" role="button" href="/pins">Order Pins</a>
</div>
<div class="col-md-6">
<figure class="figure"><img class="rounded img-fluid figure-img" src="/assets/img/pins/pins_dual.jpg" alt="Dual Plated HNS Pins">
<figure class="figure"><img class="img-fluid figure-img rounded" src="/assets/img/pins/pins_dual.jpg" alt="Dual Plated HNS Pins">
<figcaption class="figure-caption">Dual Plated Pins</figcaption>
</figure>
</div>
@@ -183,9 +207,9 @@
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -179,9 +203,9 @@
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -72,8 +72,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -130,7 +154,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img class="light-only" src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;"><img class="dark-only" src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img class="light-only" src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;"><img class="dark-only" src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link active" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -248,9 +272,9 @@
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img class="light-only" src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;"><img class="dark-only" src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img class="light-only" src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;"><img class="dark-only" src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -187,9 +211,9 @@
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -8,18 +8,24 @@
<meta name="theme-color" content="#ffffff">
<link rel="canonical" href="https://hns.au/ownthedot">
<meta property="og:url" content="https://hns.au/ownthedot">
<meta name="twitter:description" content="Handshake Australia; The leading hub for Australians leveraging the decentralized web, powered by Handshake.">
<meta name="twitter:image" content="https://hns.au/assets/img/HNSAU-social.webp">
<meta name="twitter:title" content="HNS AU">
<meta property="og:type" content="website">
<meta property="og:title" content="HNS AU">
<meta name="twitter:card" content="summary_large_image">
<meta property="og:description" content="Handshake Australia; The leading hub for Australians leveraging the decentralized web, powered by Handshake.">
<meta property="og:image" content="https://hns.au/assets/img/HNSAU-social.webp">
<meta property="og:title" content="Own The Dot | HNSAU">
<meta property="og:description" content="The future of domain ownership starts with you.
#OwnTheDot
Handshake.Australia/">
<meta name="description" content="The future of domain ownership starts with you.
#OwnTheDot
Handshake.Australia/">
<meta name="twitter:description" content="The future of domain ownership starts with you.
#OwnTheDot
Handshake.Australia/">
<meta name="twitter:title" content="Own The Dot | HNSAU">
<script>
(function() {
@@ -67,8 +73,32 @@ Handshake.Australia/">
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -122,7 +152,7 @@ Handshake.Australia/">
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img class="light-only" src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;"><img class="dark-only" src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img class="light-only" src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;"><img class="dark-only" src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>
@@ -141,8 +171,7 @@ Handshake.Australia/">
<div style="max-width: 800px;margin: auto;"><img src="/assets/img/HandshakeAustraliaT.webp" width="50%" style="max-width: 400px;margin-left: 20px;"></div>
<section class="text-start clean-block clean-hero">
<div class="text" style="max-width: 700px;width: 95%;">
<h1 style="color: black;">Own the Dot</h1>
<h3 style="color: black;">The future of domain ownership starts with you.<br>#OwnTheDot</h3>
<h1 style="color: black;">Own the Dot</h1><span style="display: block;font-size: 26px;color: black;">The future of domain ownership starts with you.</span><span style="display: block;font-size: 26px;color: var(--bs-primary);font-weight: bold;">#OwnTheDot</span>
</div>
</section>
</div>
@@ -150,8 +179,7 @@ Handshake.Australia/">
<div style="max-width: 800px;margin: auto;"><img src="/assets/img/HandshakeAustraliaTW.webp" width="50%" style="max-width: 400px;margin-left: 20px;"></div>
<section class="text-start clean-block clean-hero">
<div class="text" style="max-width: 700px;width: 95%;">
<h1 style="color: white;">Own the Dot</h1>
<h3 style="color: white;">The future of domain ownership starts with you.<br>#OwnTheDot</h3>
<h1 style="color: white;">Own the Dot</h1><span style="display: block;font-size: 26px;color: white;">The future of domain ownership starts with you.</span><span style="display: block;font-size: 26px;color: var(--bs-primary);font-weight: bold;">#OwnTheDot</span>
</div>
</section>
</div>
@@ -159,7 +187,7 @@ Handshake.Australia/">
<div class="container">
<div class="block-heading">
<h2 class="text-primary">What Is Handshake?</h2>
<p style="max-width: 600px;">Handshake is a decentralized naming system that changes how internet domain names work.<br><br>Today, most domain names are controlled by central authorities. You dont truly own them you rent them, follow their rules, and risk losing them if policies change.<br><br>Handshake removes the middleman. It lets individuals own internet names directly, without relying on a central company or government.<br><br>In simple terms: Handshake lets you truly own your name on the internet.<br><br></p>
<p style="max-width: 600px;">Handshake is a decentralized naming system that changes how internet domain names work.<br><br>Today, most domain names are controlled by central authorities. You dont truly own them you rent them, follow their rules, and risk losing them if policies change.<br><br>Handshake removes the middleman. It lets individuals own internet names directly, without relying on a central company or government.<br><br>In simple terms: Handshake lets you truly own your name on the internet.<br><br></p>
</div>
<div class="row align-items-center">
<div class="col-md-6"><img class="img-thumbnail img-fluid" src="/assets/img/campaign/ownthedot-hands.jpg"></div>
@@ -174,19 +202,19 @@ Handshake.Australia/">
<li>Ownership is recorded on a public, decentralized blockchain</li>
<li>No single entity controls it</li>
</ul>
<p>Once the handshake happens, that name belongs to you as long as you control your keys. No renewals forced by registries. No arbitrary takedowns.</p>
<p>Once the handshake happens, that name belongs to you as long as you control your keys. No renewals forced by registries. No arbitrary takedowns.</p>
</div>
</div>
<div>
<h3>Why Own a Unique HNS Name?</h3>
<div class="getting-started-info">
<p>Owning a Handshake name is about more than having a website its about control and independence.</p>
<p>Owning a Handshake name is about more than having a website its about control and independence.</p>
<ul>
<li>True ownership You own the name outright, not a lease</li>
<li>Censorship resistance No central authority can seize it</li>
<li>Early advantage Access premium names before mass adoption</li>
<li>Brand control Own your own namespace, not just a subdomain</li>
<li>Future-ready Built for a decentralized internet</li>
<li>True ownership - You own the name outright, not a lease</li>
<li>Censorship resistance - No central authority can seize it</li>
<li>Early advantage - Access premium names before mass adoption</li>
<li>Brand control - Own your own namespace, not just a subdomain</li>
<li>Future-ready - Built for a decentralized internet</li>
</ul>
<p>Your name becomes digital property, not a permission slip.</p>
</div>
@@ -194,7 +222,12 @@ Handshake.Australia/">
<div>
<h3>Own The Dot</h3>
<div class="getting-started-info">
<p>For decades, the “dot” in domain names has been controlled by centralized gatekeepers.<br><br>Handshake changes that.<br><br>When you own a Handshake name, youre not just registering a domain youre claiming a piece of the internet itself.<br><br>Own the name.<br>Own the rules.<br>Own The Dot.</p>
<p>For decades, the “dot” in domain names has been controlled by centralized gatekeepers.<br><br>Handshake changes that.<br><br>When you own a Handshake name, youre not just registering a domain youre claiming a piece of the internet itself.<br><br>Own the name.<br>Own the rules.<br>Own The Dot.</p>
</div>
</div>
<div>
<div class="getting-started-info">
<p>OWN THE DOT&nbsp;by ERWIN GROEN is marked CC0 1.0 Universal. To view a copy of this mark, visit&nbsp;<a href="https://creativecommons.org/publicdomain/zero/1.0/" target="_blank">https://creativecommons.org/publicdomain/zero/1.0/</a></p>
</div>
</div>
</div>
@@ -226,9 +259,9 @@ Handshake.Australia/">
<p style="color: var(--bs-body-color);">© {{year}} Handshake AU</p>
</div>
</footer>
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-sun light-only" style="font-size: 20px;margin: auto;">
<div class="text-end floating-switch" style="margin: 10px;"><button class="btn btn-primary btn-sm" type="button" onclick="toggle();"><svg class="bi bi-sun light-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"></path>
</svg><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" class="bi bi-moon-fill dark-only" style="font-size: 20px;margin: auto;">
</svg><svg class="bi bi-moon-fill dark-only" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 16 16" style="font-size: 20px;margin: auto;">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"></path>
</svg></button></div>
<script src="/assets/bootstrap/js/bootstrap.min.js"></script>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -120,7 +144,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -120,7 +144,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>

View File

@@ -64,8 +64,32 @@
element.setAttribute('aria-pressed', 'false');
});
const iconTheme = theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme;
for (const themeSwitcher of themeSwitchers) {
const adaptIcon = !!themeSwitcher.dataset.bsAdaptIcon;
if (adaptIcon) {
const btnIcon = themeSwitcher.querySelector('[data-bss-adaptable]');
try {
const themeIcons = JSON.parse(themeSwitcher.dataset.bssIcons || "{}");
const newIconMarkup = themeIcons[iconTheme];
const template = document.createElement("template");
template.innerHTML = newIconMarkup;
const newIconFragment = template.content.cloneNode(true);
if (newIconFragment?.children?.length) {
newIconFragment.children[0].dataset.bssAdaptable = true;
}
btnIcon.replaceWith(newIconFragment);
} catch (e) {}
}
const btnToActivate = themeSwitcher.querySelector('[data-bs-theme-value="' + theme + '"]');
if (btnToActivate) {
@@ -119,7 +143,7 @@
<body>
<nav class="navbar navbar-expand-lg fixed-top bg-secondary-subtle clean-navbar navbar-light">
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button data-bs-toggle="collapse" class="navbar-toggler" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="container-fluid"><a class="navbar-brand logo" href="/" style="width: 50%;"><img src="/assets/img/HandshakeAustraliaT.webp" style="margin-right: 10px;height: 50px;" class="light-only"><img src="/assets/img/HandshakeAustraliaTW.webp" style="margin-right: 10px;height: 50px;" class="dark-only"></a><button class="navbar-toggler" data-bs-toggle="collapse" data-bs-target="#navcol-1"><span class="visually-hidden">Toggle navigation</span><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navcol-1">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/" style="color: var(--bs-primary);">Home</a></li>