Public: Add landing page version using xhr instead of fetch
As of https://github.com/SerenityOS/serenity/pull/15275 this is required for LibWeb compatibility :^)
This commit is contained in:
parent
fe793ec764
commit
d5b1771404
1 changed files with 97 additions and 0 deletions
97
public/xhr.html
Normal file
97
public/xhr.html
Normal file
|
@ -0,0 +1,97 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="referrer" content="no-referrer">
|
||||
<link rel="icon" href="avatar.svg" type="image/svg+xml;charset=UTF-8">
|
||||
<link rel="stylesheet" href="style/index.css" type="text/css;charset=UTF-8">
|
||||
<title>nwex.de</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>networkException</h1>
|
||||
<h2>try to catch(this: Exception);</h2>
|
||||
|
||||
<main>
|
||||
I'm a developer, maintainer and system administrator working a variety of open source projects.
|
||||
|
||||
You can find my talks <a href="/talks">here</a>.
|
||||
</main>
|
||||
<section>
|
||||
<h3>Projects I maintain in my free time</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/t2linux/wiki">The t2linux.org wiki - A project to run Linux on Apple T2 devices</a></li>
|
||||
<li><a href="https://github.com/ungoogled-software/ungoogled-chromium">Chromium sans integration with Google</a></li>
|
||||
<li><a href="https://github.com/ungoogled-software/ungoogled-chromium-archlinux">Arch Linux packaging for ungoogled-chromium</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Projects I contribute to in my free time</h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="https://github.com/SerenityOS/serenity">The Serenity Operating System 🐞</a></li>
|
||||
</ul>
|
||||
|
||||
Everything listed here I do <a href="https://justforfunnoreally.dev">for fun</a>.
|
||||
</section>
|
||||
<section>
|
||||
<h3>Links</h3>
|
||||
|
||||
<ul>
|
||||
<li><a rel="me" href="https://chaos.social/@networkexception">joinmastodon.org</a></li>
|
||||
<li><a href="https://github.com/networkException">github.com</a></li>
|
||||
<li><a href="https://gitlab.upi.li/networkException">gitlab.org</a></li>
|
||||
<li><a href="https://keybase.io/networkexception">keybase.io</a></li>
|
||||
<li><a href="https://matrix.to/#/@networkexception:chat.upi.li">matrix.org</a></li>
|
||||
<li><a href="https://twitter.com/netwrkException">twitter.com</a></li>
|
||||
<li><a lang="en" href="https://en.pronouns.page/@networkException">en.pronouns.page</a></li>
|
||||
<li><a lang="de" href="https://de.pronouns.page/@networkException">de.pronouns.page</a></li>
|
||||
<li><a href="mailto:hello@nwex.de">email</a></li>
|
||||
|
||||
<li>networkException#0001@discord.com</li>
|
||||
|
||||
<li><a href="/gpg.key">My GPG key</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h3>This website</h3>
|
||||
|
||||
<p>
|
||||
Although I also know my way around frontend development and design as well, I'm far less skilled at it.
|
||||
As such this website is trying to impress in a different way:
|
||||
</p>
|
||||
<p>
|
||||
It implements parts of the <a href="https://html.spec.whatwg.org/multipage/parsing.html#tokenization">HTML parser spec</a>
|
||||
to tokenize and highlight <a href="https://en.wikipedia.org/wiki/Quine_%28computing%29">its own source code</a>.
|
||||
</p>
|
||||
<p>
|
||||
You can find the full source code of the site <a href="https://gitlab.upi.li/networkException/nwex.de">here</a>.
|
||||
|
||||
It's licensed under the <a href="https://spdx.org/licenses/BSD-2-Clause.html">BSD 2-Clause "Simplified" License</a>,
|
||||
so feel free to use the code as a reference to implement your own parser! If you have something interesting to share
|
||||
or just want to tell how the code might have helped you, make sure to send me a message :^)
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- Inner workings of the page -->
|
||||
|
||||
<script type="module">
|
||||
import { tokenize, normalizeNewlines, highlight } from './script/html.js';
|
||||
import { render } from './script/view.js';
|
||||
import { Inspector } from './script/html/inspector.js';
|
||||
|
||||
const request = new XMLHttpRequest();
|
||||
request.addEventListener("load", async function() {
|
||||
const text = this.responseText;
|
||||
|
||||
window.tokens = tokenize(normalizeNewlines(text));
|
||||
window.spans = highlight(tokens);
|
||||
|
||||
const inspector = new Inspector();
|
||||
|
||||
render(text, spans, inspector);
|
||||
});
|
||||
request.open("GET", window.location.href);
|
||||
request.send();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in a new issue