v7
This commit is contained in:
parent
5a55a4843e
commit
c60ff08abf
15 changed files with 67 additions and 177 deletions
|
@ -1,11 +1,8 @@
|
||||||
<section class="nav" role="navigation" aria-label="Site navigation">
|
<section class="nav" role="navigation" aria-label="Site navigation">
|
||||||
<p>
|
<p>
|
||||||
<a href="/">Home</a>
|
<a href="/">Home</a>
|
||||||
<span>Branding (WIP...)</span>
|
<a href="/qna/">FAQ</a>
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<a href="/projects/">Projects</a>
|
<a href="/projects/">Projects</a>
|
||||||
<a href="/domain/">Domain</a>
|
|
||||||
<a href="/links/">Links</a>
|
<a href="/links/">Links</a>
|
||||||
</p>
|
</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<title>abtmtr.link - CRT</title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<link rel="stylesheet" href="/styles/crt.css" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<main>
|
|
||||||
<div class="screen">
|
|
||||||
<iframe src="/"></iframe>
|
|
||||||
<div class="crt"></div>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,30 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<title>Domain - abtmtr.link</title>
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
||||||
<link rel="stylesheet" href="/styles/normal.css" />
|
|
||||||
<link rel="stylesheet" href="/styles/style.css" />
|
|
||||||
<style></style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<$ loader.html $>
|
|
||||||
<header>
|
|
||||||
<section>
|
|
||||||
<h1>Domain</h1>
|
|
||||||
<p>What's on this domain.</p>
|
|
||||||
</section>
|
|
||||||
<$ nav.html $>
|
|
||||||
<section id="accessibility" hidden></section>
|
|
||||||
</header>
|
|
||||||
<main>
|
|
||||||
<section id="data_get">
|
|
||||||
<h1>Getting domain indexes...</h1>
|
|
||||||
</section>
|
|
||||||
</main>
|
|
||||||
<section id="accessibility" hidden></section>
|
|
||||||
<script src="/scripts/accessibility.js"></script>
|
|
||||||
<script src="./scripts/data_get_domain.js"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Binary file not shown.
Before Width: | Height: | Size: 158 KiB |
|
@ -75,12 +75,7 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<section class="header" title="Image attribution: Celeste">
|
<h1><small><small>welcome to</small></small> ABTMTR.LINK</h1>
|
||||||
<div>
|
|
||||||
<small>⸻ welcome to ⸻</small>
|
|
||||||
<h1>ABTMTR.LINK</h1>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<$ nav.html $>
|
<$ nav.html $>
|
||||||
<section id="accessibility" hidden></section>
|
<section id="accessibility" hidden></section>
|
||||||
<div id="buttonroll" hidden></div>
|
<div id="buttonroll" hidden></div>
|
||||||
|
@ -91,48 +86,15 @@
|
||||||
Hey!
|
Hey!
|
||||||
<span class="rs waving">👋</span>
|
<span class="rs waving">👋</span>
|
||||||
</h1>
|
</h1>
|
||||||
<section id="data_whoami">
|
<p>Welcome to abtmtr.link.</p>
|
||||||
<p>
|
<p>abtmtr.link is a domain for a suite of services, ranging from <b>micro-blogging</b> to <b>web search</b>.</p>
|
||||||
I'm...
|
|
||||||
<small
|
|
||||||
><a href="https://pronouns.cc/@MeowcaTheoRange" target="_blank"
|
|
||||||
>not loading</a
|
|
||||||
>.</small
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
</section>
|
</section>
|
||||||
<p>
|
<section id="data_get">
|
||||||
I'm a web developer, Fediverse enthusiast, and compulsory Minnesotan.
|
<h1>Getting domain indexes...</h1>
|
||||||
</p>
|
|
||||||
<p>I run this domain and all of the services on it!</p>
|
|
||||||
<p id="no-fetchy" style="display: none">
|
|
||||||
For me, it is <b id="time">12:00 PM</b> on a
|
|
||||||
<b id="weekday">Sunday</b>. <b id="timezone">(UTC-0)</b><br />
|
|
||||||
<small
|
|
||||||
>data locally fetched from
|
|
||||||
<a href="https://pronouns.cc/@MeowcaTheoRange" target="_blank"
|
|
||||||
>pronouns.cc</a
|
|
||||||
></small
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<button id="buttonflags" disabled>Cool Flags</button>
|
|
||||||
</section>
|
</section>
|
||||||
<section class="horizontal">
|
|
||||||
<section id="status"></section>
|
|
||||||
<section id="about"></section>
|
|
||||||
</section>
|
|
||||||
<section id="fields"></section>
|
|
||||||
</main>
|
</main>
|
||||||
<div id="WindowHolder"></div>
|
|
||||||
<script src="/scripts/windows.js"></script>
|
|
||||||
<script src="/scripts/accessibility.js"></script>
|
<script src="/scripts/accessibility.js"></script>
|
||||||
<script src="./scripts/data_get_whoami.js"></script>
|
|
||||||
<script src="./scripts/roll_buttons.js"></script>
|
<script src="./scripts/roll_buttons.js"></script>
|
||||||
<script src="/projects/item/hex/scripts/index.js"></script>
|
<script src="./scripts/data_get_domain.js"></script>
|
||||||
<script>
|
|
||||||
window.manager = new WindowManager(
|
|
||||||
document.getElementById("WindowHolder")
|
|
||||||
);
|
|
||||||
</script>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<header>
|
<header>
|
||||||
<section>
|
<section>
|
||||||
<h1>Links</h1>
|
<h1>Links</h1>
|
||||||
<p>Where else you can find me.</p>
|
<p>Where else you can find traces of abtmtr.link.</p>
|
||||||
</section>
|
</section>
|
||||||
<$ nav.html $>
|
<$ nav.html $>
|
||||||
<section id="accessibility" hidden></section>
|
<section id="accessibility" hidden></section>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
<header>
|
<header>
|
||||||
<section>
|
<section>
|
||||||
<h1>Projects</h1>
|
<h1>Projects</h1>
|
||||||
<p>Various projects I've made.</p>
|
<p>Various projects.</p>
|
||||||
</section>
|
</section>
|
||||||
<$ nav.html $>
|
<$ nav.html $>
|
||||||
<section id="accessibility" hidden></section>
|
<section id="accessibility" hidden></section>
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
42
views/qna/index.html
Normal file
42
views/qna/index.html
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>abtmtr.link</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<link rel="stylesheet" href="/styles/normal.css" />
|
||||||
|
<link rel="stylesheet" href="/styles/style.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<h1>FAQ</h1>
|
||||||
|
<p>What's going on with abtmtr.link?</p>
|
||||||
|
<$ nav.html $>
|
||||||
|
<section id="accessibility" hidden></section>
|
||||||
|
<div id="buttonroll" hidden></div>
|
||||||
|
</header>
|
||||||
|
<main>
|
||||||
|
<section id="data_get"></section>
|
||||||
|
<section>
|
||||||
|
<h1>Wasn't abtmtr.link a personal website?</h1>
|
||||||
|
<p>abtmtr.link is still a personal website, but there's not really a person to attach it to at this moment.</p>
|
||||||
|
<p>Whatever ends up happening to abtmtr.link will be written here.</p>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h1>I'm confused.</h1>
|
||||||
|
<p>We are too.</p>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h1>Who's "we"?</h1>
|
||||||
|
<p><i>No answer.</i></p>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h1>Genuinely, why is this page so cryptic? Is this an ARG?</h1>
|
||||||
|
<p>There is no ARG. This is just how we have fun :3</p>
|
||||||
|
<p>Check <a href="https://pronouns.cc/@MeowcaTheoRange">pronouns.cc</a> for more info.</p>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
<script src="/scripts/accessibility.js"></script>
|
||||||
|
<!-- <script src="./scripts/get_qna.js"></script> -->
|
||||||
|
</body>
|
||||||
|
</html>
|
13
views/qna/scripts/get_qna.js
Normal file
13
views/qna/scripts/get_qna.js
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
const data_get = document.getElementById("data_get");
|
||||||
|
fetch_ask("https://blog.abtmtr.link/api/collections/mtr/posts/quick-q-and-a")
|
||||||
|
.then((x) => x.json())
|
||||||
|
.then((data) => {
|
||||||
|
data_get.innerHTML = data.data.body
|
||||||
|
.replace(/^### (.*?$)/gim, '<h3>$1</h3>') // h3 tag
|
||||||
|
.replace(/^## (.*?$)/gim, '<h2>$1</h2>') // h2 tag
|
||||||
|
.replace(/^# (.*?$)/gim, '<h1>$1</h1>') // h1 tag
|
||||||
|
.replace(/\[(.*?)\]\((.*?)\)/gim, '<a href="$2" target="_blank">$1</a>') // link text
|
||||||
|
.replace(/\*\*(.*?)\*\*/gim, '<b>$1</b>') // bold text
|
||||||
|
.replace(/\*(.*?)\*/gim, '<i>$1</i>') // italic text
|
||||||
|
.replace(/\`(.*?)\`/gim, '<code>$1</code>') // code text
|
||||||
|
});
|
|
@ -41,9 +41,9 @@ fetch_ask("https://blog.abtmtr.link/api/collections/paste/posts/domain")
|
||||||
const id = `${subdomain.name.replaceAll(".", "")}-uptime`;
|
const id = `${subdomain.name.replaceAll(".", "")}-uptime`;
|
||||||
return (
|
return (
|
||||||
html +
|
html +
|
||||||
`<h1><a href="${subdomain.url}" target="_blank">${
|
`<h2><a href="${subdomain.url}" target="_blank">${
|
||||||
subdomain.name
|
subdomain.name
|
||||||
}</a></h1>
|
}</a></h2>
|
||||||
${subdomain.description.map((x) => `<p>${x}</p>`).join("")}
|
${subdomain.description.map((x) => `<p>${x}</p>`).join("")}
|
||||||
<img src="${subdomain.src}" alt="${subdomain.name}" title="${
|
<img src="${subdomain.src}" alt="${subdomain.name}" title="${
|
||||||
subdomain.name
|
subdomain.name
|
|
@ -1,77 +0,0 @@
|
||||||
const data_whoami = document.getElementById("data_whoami");
|
|
||||||
const time = document.getElementById("time");
|
|
||||||
const weekday = document.getElementById("weekday");
|
|
||||||
const timezone = document.getElementById("timezone");
|
|
||||||
const nofetchy = document.getElementById("no-fetchy");
|
|
||||||
const about = document.getElementById("about");
|
|
||||||
const statusus = document.getElementById("status");
|
|
||||||
const buttonflags = document.getElementById("buttonflags");
|
|
||||||
const fields = document.getElementById("fields");
|
|
||||||
|
|
||||||
const URL_REGEXP =
|
|
||||||
/(([a-z0-9.-]*)(((:\/\/)([a-z0-9.-]*))((\/)([\w;,\/?:@&=+$\-_.!~*'()#]*))?)|(((mailto|tel):)([\w;,\/?:@&=+$\-_.!~*'()#]*)))/g;
|
|
||||||
fetch_ask("https://pronouns.cc/api/v1/users/MeowcaTheoRange")
|
|
||||||
.then((x) => x.json())
|
|
||||||
.then((user) => {
|
|
||||||
data_whoami.innerHTML = `
|
|
||||||
<p>I'm <a href="https://pronouns.cc/@MeowcaTheoRange" target="_blank"><b>${
|
|
||||||
user.names[0].value
|
|
||||||
}</b></a>, also better known online as <b>${
|
|
||||||
user.display_name
|
|
||||||
}</b>. <small>(${user.pronouns
|
|
||||||
.filter((pronoun) => pronoun.status == "okay")
|
|
||||||
.map((pronoun) => pronoun.pronouns.split("/")[0])
|
|
||||||
.join("/")})</small></p>`;
|
|
||||||
about.innerHTML = `<h2>Bio</h2><p>${user.display_name}<br />${user.bio
|
|
||||||
.replace(URL_REGEXP, (m) => `<a href="${m}" target="_blank">${m}</a>`)
|
|
||||||
.replaceAll("\n", "<br />")}</p>`;
|
|
||||||
const curTime = new Date();
|
|
||||||
timezone.innerHTML = `(UTC${user.utc_offset > 0 ? "+" : "-"}${Math.abs(
|
|
||||||
user.utc_offset / (60 * 60)
|
|
||||||
)})`;
|
|
||||||
buttonflags.onclick = () => {
|
|
||||||
user.flags.forEach((flag) => {
|
|
||||||
const props = flag.description.split(";");
|
|
||||||
initDocument(
|
|
||||||
props[0].split(","),
|
|
||||||
props[1],
|
|
||||||
props[2],
|
|
||||||
props[3],
|
|
||||||
flag.name
|
|
||||||
);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
buttonflags.disabled = false;
|
|
||||||
function updateTime() {
|
|
||||||
curTime.setTime(Date.now());
|
|
||||||
time.innerHTML = curTime.toLocaleTimeString("en-us", {
|
|
||||||
timeZone: "America/Chicago",
|
|
||||||
});
|
|
||||||
weekday.innerHTML = curTime.toLocaleString("en-us", {
|
|
||||||
weekday: "long",
|
|
||||||
timeZone: "America/Chicago",
|
|
||||||
});
|
|
||||||
|
|
||||||
window.requestAnimationFrame(updateTime);
|
|
||||||
}
|
|
||||||
window.requestAnimationFrame(updateTime);
|
|
||||||
nofetchy.style.display = null;
|
|
||||||
fields.innerHTML = user.fields
|
|
||||||
.map(
|
|
||||||
(fieldset) => `
|
|
||||||
<section>
|
|
||||||
<h2>${fieldset.name}</h2>
|
|
||||||
<ul>${fieldset.entries
|
|
||||||
.map((entry) => `<li>${entry.value}</li>`)
|
|
||||||
.join("")}</ul>
|
|
||||||
</section>`
|
|
||||||
)
|
|
||||||
.join("");
|
|
||||||
});
|
|
||||||
|
|
||||||
fetch_ask("https://local.abtmtr.link/api/v1/accounts/stat/statuses")
|
|
||||||
.then((x) => x.json())
|
|
||||||
.then((statuses) => {
|
|
||||||
console.log(statuses);
|
|
||||||
statusus.innerHTML = `<h2><a href="${statuses[0].url}" target="_blank">Current status</a></h2>${statuses[0].content}<p></p>`;
|
|
||||||
});
|
|
|
@ -51,7 +51,7 @@
|
||||||
|
|
||||||
.nav p {
|
.nav p {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 1fr 1fr;
|
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||||
gap: 1em;
|
gap: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue