Domain migration of fosterhangdaan.com

All services have been moved to `hangdaan.com`
This commit is contained in:
Foster Hangdaan 2025-01-20 09:27:21 -05:00
parent 4454cc0f6e
commit 1168edf1f7
Signed by: foster
GPG key ID: E48D7F49A852F112
15 changed files with 63 additions and 57 deletions

View file

@ -4,11 +4,11 @@
* About
This is the source code of [[https://www.fosterhangdaan.com]]. It is made with a static site generator called [[https://lume.land/][Lume]].
This is the source code of [[https://www.foster.hangdaan.com][foster.hangdaan.com]]. It is made with a static site generator called [[https://lume.land/][Lume]].
* Repository
In case you have received this code from another source, the repository can be found online at [[https://code.fosterhangdaan.com/foster/website]].
In case you have received this code from another source, the repository can be found online at [[https://code.hangdaan.com/foster/website]].
* Getting Started
@ -46,7 +46,7 @@ Sources for assets used in the site:
* My Contact Information
- Email: [[mailto:foster@hangdaan.email][foster@hangdaan.email]]
- GPG Public Key: [[https://minio.fosterhangdaan.com/public/foster-pubkey.asc][DBD3 8E38 4B9E 1F4F 19F9 5BAE E48D 7F49 A852 F112]]
- GPG Public Key: [[https://s3.hangdaan.com/public/foster-pubkey.asc][DBD3 8E38 4B9E 1F4F 19F9 5BAE E48D 7F49 A852 F112]]
* License

View file

@ -6,7 +6,7 @@ import feed from "lume/plugins/feed.ts";
import code_highlight from "lume/plugins/code_highlight.ts";
import toc from "lume-markdown-plugins/toc.ts";
import footnotes from "lume-markdown-plugins/footnotes.ts";
import kroki from "https://code.fosterhangdaan.com/foster/lume-plugin-kroki/raw/tag/v1.0.1/mod.ts";
import kroki from "https://code.hangdaan.com/foster/lume-plugin-kroki/raw/tag/v1.0.1/mod.ts";
import lang_typescript from "npm:highlight.js/lib/languages/typescript";
import lang_javascript from "npm:highlight.js/lib/languages/javascript";
@ -14,7 +14,7 @@ import lang_bash from "npm:highlight.js/lib/languages/bash";
const site = lume({
src: "./src",
location: new URL("https://www.fosterhangdaan.com/"),
location: new URL("https://www.foster.hangdaan.com/"),
});
site.ignore("README.md", "README.org", "LICENSE.txt", "LICENSE.md");
@ -76,7 +76,7 @@ site.use(toc({
}));
site.use(footnotes());
site.use(kroki({
server: "https://kroki.fosterhangdaan.com",
server: "https://kroki.hangdaan.com",
}));
site.process([".html"], (pages) => {

View file

@ -8,9 +8,9 @@
]
},
"tasks": {
"build": "deno run --allow-write='.' --allow-read='.' --allow-net='deno.land,cdn.deno.land,esm.sh,0.0.0.0:3000,jsr.io,lumeland.github.io,code.fosterhangdaan.com' --allow-import=code.fosterhangdaan.com,deno.land,jsr.io --allow-sys=networkInterfaces --deny-env lume.ts",
"check": "deno fmt --check && deno lint && deno check --allow-import=code.fosterhangdaan.com,deno.land,jsr.io .",
"serve": "deno run --allow-write='.' --allow-read='.' --allow-net='deno.land,cdn.deno.land,esm.sh,0.0.0.0:3000,jsr.io,lumeland.github.io,code.fosterhangdaan.com' --allow-import=code.fosterhangdaan.com,deno.land,jsr.io --allow-sys=networkInterfaces --deny-env lume.ts -s",
"build": "deno run --allow-write='.' --allow-read='.' --allow-net='deno.land,cdn.deno.land,esm.sh,0.0.0.0:3000,jsr.io,lumeland.github.io,code.hangdaan.com' --allow-import=code.hangdaan.com,deno.land,jsr.io --allow-sys=networkInterfaces --deny-env lume.ts",
"check": "deno fmt --check && deno lint && deno check --allow-import=code.hangdaan.com,deno.land,jsr.io .",
"serve": "deno run --allow-write='.' --allow-read='.' --allow-net='deno.land,cdn.deno.land,esm.sh,0.0.0.0:3000,jsr.io,lumeland.github.io,code.hangdaan.com' --allow-import=code.hangdaan.com,deno.land,jsr.io --allow-sys=networkInterfaces --deny-env lume.ts -s",
"deploy": "rsync -avh --progress --delete ./_site/ podman:/srv/www/fosterhangdaan.com/"
},
"imports": {

3
deno.lock generated
View file

@ -1078,6 +1078,9 @@
"https://code.fosterhangdaan.com/foster/lume-plugin-kroki/raw/tag/v1.0.1/deps.ts": "9fbdd3352d05215ae61afe70c52f42f16d068a81bf694f8df053a6a1e7221299",
"https://code.fosterhangdaan.com/foster/lume-plugin-kroki/raw/tag/v1.0.1/mod.ts": "195d60f71ec5bb3eb3aa95008a559dca0635e031d6c113be4646bc07697d3c32",
"https://code.fosterhangdaan.com/foster/lume-plugin-kroki/raw/tag/v1.0.1/resources/diagrams.json": "a1ca8c52b7f5a8d5335d3872ba0c0d2a4b32ef120efd8819557787a4232b649f",
"https://code.hangdaan.com/foster/lume-plugin-kroki/raw/tag/v1.0.1/deps.ts": "9fbdd3352d05215ae61afe70c52f42f16d068a81bf694f8df053a6a1e7221299",
"https://code.hangdaan.com/foster/lume-plugin-kroki/raw/tag/v1.0.1/mod.ts": "195d60f71ec5bb3eb3aa95008a559dca0635e031d6c113be4646bc07697d3c32",
"https://code.hangdaan.com/foster/lume-plugin-kroki/raw/tag/v1.0.1/resources/diagrams.json": "a1ca8c52b7f5a8d5335d3872ba0c0d2a4b32ef120efd8819557787a4232b649f",
"https://deno.land/std@0.170.0/_util/asserts.ts": "d0844e9b62510f89ce1f9878b046f6a57bf88f208a10304aab50efcb48365272",
"https://deno.land/std@0.170.0/_util/os.ts": "8a33345f74990e627b9dfe2de9b040004b08ea5146c7c9e8fe9a29070d193934",
"https://deno.land/std@0.170.0/encoding/base64.ts": "8605e018e49211efc767686f6f687827d7f5fd5217163e981d8d693105640d7a",

View file

@ -8,12 +8,12 @@ export default function ({ comp }: Lume.Data) {
{comp.separator()}
<div className="social-links">
<a
href="https://code.fosterhangdaan.com/foster"
href="https://code.hangdaan.com/foster"
title="Forgejo"
rel="me"
>
<img
src="https://minio.fosterhangdaan.com/public/images/icons/simple-icons/13.9.0/forgejo.svg"
src="https://s3.hangdaan.com/public/images/icons/simple-icons/13.9.0/forgejo.svg"
className="icon"
style={iconStyle}
alt="forgejo"
@ -21,46 +21,49 @@ export default function ({ comp }: Lume.Data) {
</a>
<a href="mailto:foster@hangdaan.email" title="eMail">
<img
src="https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/filled/mail.svg"
src="https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/filled/mail.svg"
className="icon"
style={iconStyle}
alt="e-mail"
/>
</a>
<a
href="https://lemmy.fosterhangdaan.com/u/foster"
href="https://lemmy.hangdaan.com/u/foster"
title="Lemmy"
rel="me"
>
<img
src="https://minio.fosterhangdaan.com/public/images/icons/simple-icons/13.9.0/lemmy.svg"
src="https://s3.hangdaan.com/public/images/icons/simple-icons/13.9.0/lemmy.svg"
className="icon"
style={iconStyle}
alt="lemmy icon"
/>
</a>
<a href="https://pay.fosterhangdaan.com" title="Donate">
<a href="https://pay.hangdaan.com" title="Donate">
<img
src="https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/heart-dollar.svg"
src="https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/heart-dollar.svg"
className="icon"
style={iconStyle}
alt="donate"
/>
</a>
<a href="https://www.fosterhangdaan.com/blog/feed.rss" title="RSS Feed">
<a
href="https://www.foster.hangdaan.com/blog/feed.rss"
title="RSS Feed"
>
<img
src="https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/rss.svg"
src="https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/rss.svg"
className="icon"
style={iconStyle}
alt="rss"
/>
</a>
<a
href="https://www.fosterhangdaan.com/blog/feed.json"
href="https://www.foster.hangdaan.com/blog/feed.json"
title="JSON Feed"
>
<img
src="https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/braces.svg"
src="https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/braces.svg"
className="icon"
style={iconStyle}
alt="json feed"
@ -69,8 +72,8 @@ export default function ({ comp }: Lume.Data) {
</div>
<p>Copyright &copy; 2023 Foster Hangdaan</p>
<div className="meta">
<a href="https://code.fosterhangdaan.com/foster/website">Source</a>
<a href="https://code.fosterhangdaan.com/foster/website/src/branch/trunk/LICENSE.txt">
<a href="https://code.hangdaan.com/foster/website">Source</a>
<a href="https://code.hangdaan.com/foster/website/src/branch/trunk/LICENSE.txt">
License
</a>
</div>

View file

@ -4,7 +4,7 @@ const items = [
path: "/",
icon: {
src:
"https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/home.svg",
"https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/home.svg",
alt: "home icon",
},
},
@ -13,7 +13,7 @@ const items = [
path: "/blog",
icon: {
src:
"https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/news.svg",
"https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/news.svg",
alt: "blog icon",
},
},
@ -22,7 +22,7 @@ const items = [
path: "/resume",
icon: {
src:
"https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/file-cv.svg",
"https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/file-cv.svg",
alt: "resume icon",
},
},
@ -31,7 +31,7 @@ const items = [
path: "/contact",
icon: {
src:
"https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/address-book.svg",
"https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/address-book.svg",
alt: "address book icon",
},
},

View file

@ -4,7 +4,7 @@ export default function () {
<span className="outer-outline" />
<span>
<img
src="https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/diamonds.svg"
src="https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/diamonds.svg"
className="icon"
style={{ filter: "var(--filter-black)" }}
alt=""

View file

@ -58,7 +58,7 @@ export default function (
<img
alt="email icon"
className="icon"
src="https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/mail.svg"
src="https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/mail.svg"
/>
Email reply
</a>

View file

@ -163,13 +163,13 @@ blockquote {
left: calc(-0.75rem - 1.5rem);
filter: var(--filter-bg);
content: "";
background-image: url("https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/quote.svg");
background-image: url("https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/quote.svg");
background-repeat: no-repeat !important;
background-size: contain !important;
}
&.info {
&::before {
background-image: url("https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/info-circle.svg");
background-image: url("https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/info-circle.svg");
}
& {
color: var(--color-blue);
@ -178,7 +178,7 @@ blockquote {
}
&.success {
&::before {
background-image: url("https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/check.svg");
background-image: url("https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/check.svg");
}
& {
color: var(--color-success);
@ -187,7 +187,7 @@ blockquote {
}
&.warning {
&::before {
background-image: url("https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/alert-triangle.svg");
background-image: url("https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/alert-triangle.svg");
}
& {
color: var(--color-warn);
@ -196,7 +196,7 @@ blockquote {
}
&.danger {
&::before {
background-image: url("https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/circle-x.svg");
background-image: url("https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/circle-x.svg");
}
& {
color: var(--color-error);

View file

@ -1,6 +1,6 @@
/* Tokyo Night styles for highlight.js */
@import "https://minio.fosterhangdaan.com/public/releases/js/highlightjs/11.10.0/styles/tokyo-night-dark.css";
@import "https://minio.fosterhangdaan.com/public/releases/js/highlightjs/11.10.0/styles/tokyo-night-light.css"
@import "https://s3.hangdaan.com/public/releases/js/highlightjs/11.10.0/styles/tokyo-night-dark.css";
@import "https://s3.hangdaan.com/public/releases/js/highlightjs/11.10.0/styles/tokyo-night-light.css"
(prefers-color-scheme: light);
/* Tokyo night color palette */

View file

@ -1,9 +1,9 @@
@font-face {
font-family: "Mona Sans";
src:
url("https://minio.fosterhangdaan.com/public/fonts/mona-sans/1.0.1/MonaSans%5Bslnt,wdth,wght%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/mona-sans/1.0.1/MonaSans%5Bslnt,wdth,wght%5D.woff2")
format("woff2 supports variations"),
url("https://minio.fosterhangdaan.com/public/fonts/mona-sans/1.0.1/MonaSans%5Bslnt,wdth,wght%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/mona-sans/1.0.1/MonaSans%5Bslnt,wdth,wght%5D.woff2")
format("woff2-variations");
font-weight: 200 900;
font-stretch: 75% 125%;
@ -13,9 +13,9 @@
@font-face {
font-family: "Hubot Sans";
src:
url("https://minio.fosterhangdaan.com/public/fonts/hubot-sans/1.0.1/HubotSans%5Bslnt,wdth,wght%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/hubot-sans/1.0.1/HubotSans%5Bslnt,wdth,wght%5D.woff2")
format("woff2 supports variations"),
url("https://minio.fosterhangdaan.com/public/fonts/hubot-sans/1.0.1/HubotSans%5Bslnt,wdth,wght%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/hubot-sans/1.0.1/HubotSans%5Bslnt,wdth,wght%5D.woff2")
format("woff2-variations");
font-weight: 200 900;
font-stretch: 75% 125%;
@ -25,9 +25,9 @@
@font-face {
font-family: "Monaspace Neon";
src:
url("https://minio.fosterhangdaan.com/public/fonts/monaspace/1.101/MonaspaceNeonVarVF%5Bwght,wdth,slnt%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/monaspace/1.101/MonaspaceNeonVarVF%5Bwght,wdth,slnt%5D.woff2")
format("woff2 supports variations"),
url("https://minio.fosterhangdaan.com/public/fonts/monaspace/1.101/MonaspaceNeonVarVF%5Bwght,wdth,slnt%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/monaspace/1.101/MonaspaceNeonVarVF%5Bwght,wdth,slnt%5D.woff2")
format("woff2-variations");
font-weight: 200 800;
font-stretch: 100% 125%;
@ -37,9 +37,9 @@
@font-face {
font-family: "Monaspace Radon";
src:
url("https://minio.fosterhangdaan.com/public/fonts/monaspace/1.101/MonaspaceRadonVarVF%5Bwght,wdth,slnt%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/monaspace/1.101/MonaspaceRadonVarVF%5Bwght,wdth,slnt%5D.woff2")
format("woff2 supports variations"),
url("https://minio.fosterhangdaan.com/public/fonts/monaspace/1.101/MonaspaceRadonVarVF%5Bwght,wdth,slnt%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/monaspace/1.101/MonaspaceRadonVarVF%5Bwght,wdth,slnt%5D.woff2")
format("woff2-variations");
font-weight: 200 800;
font-stretch: 100% 125%;
@ -49,9 +49,9 @@
@font-face {
font-family: "Monaspace Xenon";
src:
url("https://minio.fosterhangdaan.com/public/fonts/monaspace/1.101/MonaspaceXenonVarVF%5Bwght,wdth,slnt%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/monaspace/1.101/MonaspaceXenonVarVF%5Bwght,wdth,slnt%5D.woff2")
format("woff2 supports variations"),
url("https://minio.fosterhangdaan.com/public/fonts/monaspace/1.101/MonaspaceXenonVarVF%5Bwght,wdth,slnt%5D.woff2")
url("https://s3.hangdaan.com/public/fonts/monaspace/1.101/MonaspaceXenonVarVF%5Bwght,wdth,slnt%5D.woff2")
format("woff2-variations");
font-weight: 200 800;
font-stretch: 100% 125%;

View file

@ -9,7 +9,7 @@ export default function ({ nav, comp }: Lume.Data) {
return (
<div className="no-posts">
<img
src="https://minio.fosterhangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/coffee.svg"
src="https://s3.hangdaan.com/public/images/icons/tabler-icons/3.14.0/outline/coffee.svg"
className="icon"
alt=""
/>

View file

@ -61,7 +61,7 @@ list? Well, Tokyo Night is that colour palette. This website uses the Night
variant for its dark theme and the Light variant for its light theme.
I also created an **unofficial**
[Tokyo Night organization](https://code.fosterhangdaan.com/tokyo-night) to serve
[Tokyo Night organization](https://code.hangdaan.com/tokyo-night) to serve
as a hub where one can find the ports made by others as well as ports made by
myself. You can find a good amount of resources in that organization if you plan
on using Tokyo Night in a project.

View file

@ -20,7 +20,7 @@ if you are unfamiliar with this process.
> {.warning}
You can download my [GPG](https://gnupg.org/) public key here:
[Foster Hangdaan's Public Key](https://minio.fosterhangdaan.com/public/foster-pubkey.asc){download}.
[Foster Hangdaan's Public Key](https://s3.hangdaan.com/public/foster-pubkey.asc){download}.
The key's fingerprint should match the one below:
```txt

View file

@ -6,7 +6,7 @@ export default function (data: Lume.Data) {
<p>
I am a software developer, open-source enthusiast, and lover of pizza.
You'll most likely find me within{" "}
<a href="https://code.fosterhangdaan.com">my lab</a>{" "}
<a href="https://code.hangdaan.com">my lab</a>{" "}
tinkering with my inventions and the latest JavaScript frameworks. Other
times, I help in the battle for an open web and for user privacy by
contributing in the development of free and open-source software.
@ -21,7 +21,7 @@ export default function (data: Lume.Data) {
</p>
<ul>
<li>
<a href="https://code.fosterhangdaan.com/foster/vimm-dl">
<a href="https://code.hangdaan.com/foster/vimm-dl">
Vimm DL
</a>{" "}
&mdash; A secure command-line tool to automate game downloads from
@ -29,31 +29,31 @@ export default function (data: Lume.Data) {
<a href="https://vimm.net/vault">Vimm's Vault</a>.
</li>
<li>
<a href="https://code.fosterhangdaan.com/foster/ipme">IpMe</a>{" "}
<a href="https://code.hangdaan.com/foster/ipme">IpMe</a>{" "}
&mdash; A self-hostable API for obtaining your public IP address.
</li>
<li>
<a href="https://code.fosterhangdaan.com/foster/grub-themes">
<a href="https://code.hangdaan.com/foster/grub-themes">
GRUB Themes
</a>{" "}
&mdash; Collection of themes for the <strong>GR</strong>and{" "}
<strong>U</strong>nified <strong>B</strong>ootloader.
</li>
<li>
<a href="https://code.fosterhangdaan.com/foster/bitcoin-core-container">
<a href="https://code.hangdaan.com/foster/bitcoin-core-container">
Bitcoin Core Container
</a>{" "}
&mdash; A containerized Bitcoin node.
</li>
<li>
<a href="https://code.fosterhangdaan.com/foster/website">
<a href="https://code.hangdaan.com/foster/website">
This website
</a>{" "}
&mdash; My personal website &amp; blog.
</li>
</ul>
<p>
<a href="https://code.fosterhangdaan.com/foster?tab=repositories&fork=0&mirror=0&sort=alphabetically">
<a href="https://code.hangdaan.com/foster?tab=repositories&fork=0&mirror=0&sort=alphabetically">
View all projects
</a>
</p>
@ -110,12 +110,12 @@ export default function (data: Lume.Data) {
<tbody>
<tr>
<td>BTC (Bitcoin)</td>
<td>btcnode.fosterhangdaan.com</td>
<td>btcnode.hangdaan.com</td>
<td>8333</td>
</tr>
<tr>
<td>XMR (Monero)</td>
<td>xmrnode.fosterhangdaan.com</td>
<td>xmrnode.hangdaan.com</td>
<td>18080</td>
</tr>
</tbody>