prettier
This commit is contained in:
parent
c5afbe3f95
commit
cc4682d735
33 changed files with 3375 additions and 2833 deletions
1
.prettierrc.json
Normal file
1
.prettierrc.json
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
|
@ -1,22 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>403 Error</title>
|
||||
<link rel="stylesheet" href="/style/style.css" />
|
||||
<link rel="icon" type="image/gif" href="/res/site/icons/cat.gif">
|
||||
<link rel="icon" type="image/gif" href="/res/site/icons/cat.gif" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name">403 Error</h1>
|
||||
<h2 class="project-tagline">You do not have access to this, stop snooping ÒwÓ.</h2>
|
||||
<h2 class="project-tagline">
|
||||
You do not have access to this, stop snooping ÒwÓ.
|
||||
</h2>
|
||||
|
||||
<a href="/" class="btn">Home</a>
|
||||
</header>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,13 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>404 Error</title>
|
||||
<link rel="stylesheet" href="/style/style.css" />
|
||||
<link rel="icon" type="image/gif" href="/res/site/icons/cat.gif">
|
||||
<link rel="icon" type="image/gif" href="/res/site/icons/cat.gif" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -18,5 +17,4 @@
|
|||
<a href="/" class="btn">Home</a>
|
||||
</header>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,13 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>413 Error</title>
|
||||
<link rel="stylesheet" href="/style/style.css" />
|
||||
<link rel="icon" type="image/gif" href="/res/site/icons/cat.gif">
|
||||
<link rel="icon" type="image/gif" href="/res/site/icons/cat.gif" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -18,5 +17,4 @@
|
|||
<a href="/" class="btn">Home</a>
|
||||
</header>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,22 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>5XX Error</title>
|
||||
<link rel="stylesheet" href="/style/style.css" />
|
||||
<link rel="icon" type="image/gif" href="/res/site/icons/cat.gif">
|
||||
<link rel="icon" type="image/gif" href="/res/site/icons/cat.gif" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name">5XX Error</h1>
|
||||
<h2 class="project-tagline">The server is currently on fire! Please check back later.</h2>
|
||||
<h2 class="project-tagline">
|
||||
The server is currently on fire! Please check back later.
|
||||
</h2>
|
||||
|
||||
<a href="/" class="btn">Home</a>
|
||||
</header>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
18
index.html
18
index.html
|
@ -1,19 +1,23 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Array in a Matrix</title>
|
||||
<link rel="stylesheet" type="text/css" href="./style/alt.style.css" />
|
||||
<link rel="stylesheet" href="./res/site/fonts/DarkNewRoman/stylesheet.css" type="text/css" />
|
||||
<link rel="icon" type="image/x-icon" href="./res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="./res/site/fonts/DarkNewRoman/stylesheet.css"
|
||||
type="text/css"
|
||||
/>
|
||||
<link rel="icon" type="image/x-icon" href="./res/site/icons/favicon.ico" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name" style="font-family: DarkNewRoman;"> Array in a matriX
|
||||
<h1 class="project-name" style="font-family: DarkNewRoman">
|
||||
Array in a matriX
|
||||
</h1>
|
||||
<h2 class="project-tagline">Welcome to the abyss.</h2>
|
||||
</header>
|
||||
|
@ -35,10 +39,8 @@
|
|||
</nav>
|
||||
</div>
|
||||
|
||||
|
||||
<footer class="site-footer">
|
||||
Pages that use JavaScript are denoted by ⨳.
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,14 +1,21 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>About Me</title>
|
||||
<link rel="stylesheet" href="../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../res/site/icons/favicon.ico">
|
||||
<link href="//cdn.jsdelivr.net/npm/font-logos@1/assets/font-logos.css" rel="stylesheet"></head>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
<link
|
||||
href="//cdn.jsdelivr.net/npm/font-logos@1/assets/font-logos.css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
|
@ -19,15 +26,24 @@
|
|||
</header>
|
||||
|
||||
<main id="content" class="main-content" role="main">
|
||||
|
||||
<h3>About Me</h3>
|
||||
My name is Array. My hobbies include skateboarding, biking, surfing the web, play
|
||||
video games (including emulation) and programming. I tinker a lot
|
||||
with electronics and tend to jailbreak and homebrew them whenever possible. I use <a
|
||||
href="https://archlinux.org/">Arch Linux btw <i class="fl-archlinux"></i></a>. I created <a href="https://git.arrayinamatrix.xyz/array-in-a-matrix/arrayinamatrix.xyz">this website</a> and constantly update it with new content (come back later!). I set up, configured, host, and operate this website, and all of its related services.
|
||||
My name is Array. My hobbies include skateboarding, biking, surfing the
|
||||
web, play video games (including emulation) and programming. I tinker a
|
||||
lot with electronics and tend to jailbreak and homebrew them whenever
|
||||
possible. I use
|
||||
<a href="https://archlinux.org/"
|
||||
>Arch Linux btw <i class="fl-archlinux"></i></a
|
||||
>. I created
|
||||
<a
|
||||
href="https://git.arrayinamatrix.xyz/array-in-a-matrix/arrayinamatrix.xyz"
|
||||
>this website</a
|
||||
>
|
||||
and constantly update it with new content (come back later!). I set up,
|
||||
configured, host, and operate this website, and all of its related
|
||||
services.
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
My website is split into a couple sections:
|
||||
|
||||
|
@ -47,7 +63,9 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://bloginamatrix.xyz">Blog</a></td>
|
||||
<td>My personal blog where I info dump and take forever to post.</td>
|
||||
<td>
|
||||
My personal blog where I info dump and take forever to post.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="https://chatinamatrix.xyz">Chat</a></td>
|
||||
|
@ -67,7 +85,10 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>Services</td>
|
||||
<td>Applications that I host but not necessary coded (Most useful imo).</td>
|
||||
<td>
|
||||
Applications that I host but not necessary coded (Most useful
|
||||
imo).
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Projects</td>
|
||||
|
@ -75,21 +96,20 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>Webrings</td>
|
||||
<td>Links to other people's websites which may or may not be similar.</td>
|
||||
<td>
|
||||
Links to other people's websites which may or may not be similar.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<code>
|
||||
You can view my desktop rice <a href="./rice/">here</a>.
|
||||
</code>
|
||||
<br />
|
||||
<br />
|
||||
<code> You can view my desktop rice <a href="./rice/">here</a>. </code>
|
||||
|
||||
<footer class="site-footer">
|
||||
You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,16 +1,19 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>About Me</title>
|
||||
<link rel="stylesheet" href="../../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body style="cursor: url(../../../res/site/icons/archlinux.png), auto;">
|
||||
<body style="cursor: url(../../../res/site/icons/archlinux.png), auto">
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name">Desktop Rice</h1>
|
||||
<h2 class="project-tagline"></h2>
|
||||
|
@ -20,32 +23,40 @@
|
|||
</header>
|
||||
|
||||
<main id="content" class="main-content" role="main">
|
||||
|
||||
<h3><a href="https://jie-fang.github.io/blog/basics-of-ricing">What is Ricing?</a></h3>
|
||||
Ricing is just customizing your operating system to look a certain way or follow a theme. You can see other
|
||||
people's desktop rices <a href="https://libreddit.de/r/unixporn/">here</a>. My dotfiles are <a
|
||||
href="https://git.arrayinamatrix.xyz/array-in-a-matrix/dotfiles">here</a>.
|
||||
|
||||
<h3>
|
||||
<a href="https://jie-fang.github.io/blog/basics-of-ricing"
|
||||
>What is Ricing?</a
|
||||
>
|
||||
</h3>
|
||||
Ricing is just customizing your operating system to look a certain way or
|
||||
follow a theme. You can see other people's desktop rices
|
||||
<a href="https://libreddit.de/r/unixporn/">here</a>. My dotfiles are
|
||||
<a href="https://git.arrayinamatrix.xyz/array-in-a-matrix/dotfiles"
|
||||
>here</a
|
||||
>.
|
||||
|
||||
<h4>My system looks like this:</h4>
|
||||
<div class="zoom">
|
||||
<a href="../../../res/site/images/KDE-rice.png"><img src="../../../res/site/images/KDE-rice.png"
|
||||
alt="KDE desktop on Arch Linux."></a>
|
||||
<a href="../../../res/site/images/KDE-rice.png"
|
||||
><img
|
||||
src="../../../res/site/images/KDE-rice.png"
|
||||
alt="KDE desktop on Arch Linux."
|
||||
/></a>
|
||||
</div>
|
||||
|
||||
<h4>And looks like this:</h4>
|
||||
<div class="zoom">
|
||||
<a href="../../../res/site/images/SwayWM-rice.png"><img src="../../../res/site/images/SwayWM-rice.png"
|
||||
alt="3 images of the Sway window manager (using pywal) on Arch Linux."></a>
|
||||
<a href="../../../res/site/images/SwayWM-rice.png"
|
||||
><img
|
||||
src="../../../res/site/images/SwayWM-rice.png"
|
||||
alt="3 images of the Sway window manager (using pywal) on Arch Linux."
|
||||
/></a>
|
||||
</div>
|
||||
|
||||
<code>
|
||||
This is a two monitor setup.
|
||||
</code>
|
||||
<code> This is a two monitor setup. </code>
|
||||
<footer class="site-footer">
|
||||
You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -1,21 +1,26 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Administration</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../../style/alt.style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="../../../style/alt.style.css"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name"> Administration
|
||||
</h1>
|
||||
<h2 class=" project-tagline">Server statistics and management tools.
|
||||
</h2>
|
||||
<h1 class="project-name">Administration</h1>
|
||||
<h2 class="project-tagline">Server statistics and management tools.</h2>
|
||||
</header>
|
||||
<div class="main-content">
|
||||
<nav>
|
||||
|
@ -23,9 +28,10 @@
|
|||
<a href="../" class="btn">Applications</a>
|
||||
</nav>
|
||||
<nav>
|
||||
<a href="https://docker.arrayinamatrix.xyz/" class="btn">Docker<sup>⨳</sup></a>
|
||||
<a href="https://docker.arrayinamatrix.xyz/" class="btn"
|
||||
>Docker<sup>⨳</sup></a
|
||||
>
|
||||
</nav>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,13 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Cbox</title>
|
||||
<link rel="stylesheet" href="../../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -21,15 +24,21 @@
|
|||
</header>
|
||||
|
||||
<main id="content" class="main-content" role="main">
|
||||
|
||||
<iframe src="https://www3.cbox.ws/box/?boxid=3515749&boxtag=EAcksW" width="100%" height="450"
|
||||
allowtransparency="yes" allow="autoplay" frameborder="0" marginheight="0" marginwidth="0"
|
||||
scrolling="auto"></iframe>
|
||||
<iframe
|
||||
src="https://www3.cbox.ws/box/?boxid=3515749&boxtag=EAcksW"
|
||||
width="100%"
|
||||
height="450"
|
||||
allowtransparency="yes"
|
||||
allow="autoplay"
|
||||
frameborder="0"
|
||||
marginheight="0"
|
||||
marginwidth="0"
|
||||
scrolling="auto"
|
||||
></iframe>
|
||||
|
||||
<footer class="site-footer">
|
||||
You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,108 +1,126 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Apps and Services</title>
|
||||
<link rel="stylesheet" href="../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name">Applications and Services</h1>
|
||||
<h2 class="project-tagline">Apps and services hosted on this domain. <br> (Written by actual developers.)
|
||||
<h2 class="project-tagline">
|
||||
Apps and services hosted on this domain. <br />
|
||||
(Written by actual developers.)
|
||||
</h2>
|
||||
|
||||
<a href="../../" class="btn">Home</a>
|
||||
</header>
|
||||
|
||||
<main id="content" class="main-content" role="main">
|
||||
|
||||
<p><Strong>Note:</Strong> Chat and social applications have been moved to <a href="https://chatinamatrix.xyz">chatinamatrix.xyz</a>.</p>
|
||||
<p>
|
||||
<strong>Note:</strong> Chat and social applications have been moved to
|
||||
<a href="https://chatinamatrix.xyz">chatinamatrix.xyz</a>.
|
||||
</p>
|
||||
|
||||
<section id="matrix">
|
||||
<h3><a href="./matrix/">Matrix homeserver</a></h3>
|
||||
<code>
|
||||
A decentralized End-to-End encrypted and federated chat server. Matrix web clients can be found <a href="https://chatinamatrix.xyz">here</a>.
|
||||
A decentralized End-to-End encrypted and federated chat server. Matrix
|
||||
web clients can be found <a href="https://chatinamatrix.xyz">here</a>.
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="cbox">
|
||||
<h3><a href="./cbox/">Cbox<sup>⨳</sup></a></h3>
|
||||
<h3>
|
||||
<a href="./cbox/">Cbox<sup>⨳</sup></a>
|
||||
</h3>
|
||||
<code>
|
||||
Anonymous real-time live chat app. Come leave a quick message!
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="gemini">
|
||||
<h3><a href="gemini://arrayinamatrix.xyz/">Gemini capsule</a></h3>
|
||||
<code>
|
||||
This is my Gemini capsule, you can learn more about it <a
|
||||
href="https://bloginamatrix.xyz/gemini-capsule/">here</a>. (Requires Gemini compatible browser.)
|
||||
This is my Gemini capsule, you can learn more about it
|
||||
<a href="https://bloginamatrix.xyz/gemini-capsule/">here</a>.
|
||||
(Requires Gemini compatible browser.)
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="wiki">
|
||||
<h3><a href="https://wiki.arrayinamatrix.xyz">Wiki archives<sup>⨳</sup></a></h3>
|
||||
<h3>
|
||||
<a href="https://wiki.arrayinamatrix.xyz"
|
||||
>Wiki archives<sup>⨳</sup></a
|
||||
>
|
||||
</h3>
|
||||
<code>
|
||||
Wiki mirrors hosted using <a href="https://kiwix.org">Kiwix</a>. Come browse Wikipedia, the Arch wiki and more!
|
||||
Wiki mirrors hosted using <a href="https://kiwix.org">Kiwix</a>. Come
|
||||
browse Wikipedia, the Arch wiki and more!
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="tor">
|
||||
<h3><a href="./tor/">Tor hidden services</a></h3>
|
||||
<code>
|
||||
List of all of my Tor hidden services. Use Tor to bypass censorship! (Requires Tor compatible browser.)
|
||||
List of all of my Tor hidden services. Use Tor to bypass censorship!
|
||||
(Requires Tor compatible browser.)
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="git">
|
||||
<h3><a href="https://git.arrayinamatrix.xyz">Gitea<sup>⨳</sup></a></h3>
|
||||
<h3>
|
||||
<a href="https://git.arrayinamatrix.xyz">Gitea<sup>⨳</sup></a>
|
||||
</h3>
|
||||
<code>
|
||||
Lightweight open sourced code hosting. (GitHub replacement!)
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="share">
|
||||
<h3><a href="https://share.arrayinamatrix.xyz">Share<sup>⨳</sup></a></h3>
|
||||
<h3>
|
||||
<a href="https://share.arrayinamatrix.xyz">Share<sup>⨳</sup></a>
|
||||
</h3>
|
||||
<code>
|
||||
Lightweight and minimal temporary file sharing. You can share files using the browser or directly from the terminal!
|
||||
Lightweight and minimal temporary file sharing. You can share files
|
||||
using the browser or directly from the terminal!
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<hr>
|
||||
<br>
|
||||
<br />
|
||||
<hr />
|
||||
<br />
|
||||
|
||||
<section id="privacy">
|
||||
<h3><a href="./privacy/">Privacy Policy</a></h3>
|
||||
<code>
|
||||
Privacy policy of this website and its related services.
|
||||
</code>
|
||||
<code> Privacy policy of this website and its related services. </code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="admin">
|
||||
<h3><a href="./admin/">Administration tools</a></h3>
|
||||
<code>
|
||||
Server statistics and management tools.
|
||||
</code>
|
||||
<code> Server statistics and management tools. </code>
|
||||
</section>
|
||||
|
||||
<!-- <section id="#">
|
||||
|
@ -116,5 +134,4 @@
|
|||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -1,15 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Privacy Policy</title>
|
||||
<link rel="stylesheet" href="../../../style/style.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" crossorigin="anonymous" />
|
||||
<link rel="icon" type="image/x-icon" href="../../../res/site/icons/favicon.ico" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -23,36 +30,60 @@
|
|||
<main id="content" class="main-content" role="main">
|
||||
<h3>Privacy Policy</h3>
|
||||
<section id="website">
|
||||
<h3><a href="https://arrayinamatrix.xyz">arrayinamatrix.xyz</a> & <a
|
||||
href="https://bloginamatrix.xyz">bloginamatrix.xyz</a></h3>
|
||||
<h3>
|
||||
<a href="https://arrayinamatrix.xyz">arrayinamatrix.xyz</a> &
|
||||
<a href="https://bloginamatrix.xyz">bloginamatrix.xyz</a>
|
||||
</h3>
|
||||
<h5>last updated: 22/11/2022</h5>
|
||||
<code>
|
||||
We do not collect any personal data or any information that can be used to identify you. IP addresses are logged for a maximum of one day. If you want your IP address removed from the <a href="../../projects/ip-grabber/">IP Grabber</a>, just <a href="#contact"> contact us</a> and we will purge the list. We record server analytics and statistics such as generic system information (CPU, memory usage, etc.). Pages that require some client side JavaScript code are denoted by the smash product symbol "⨳", external websites are not included.
|
||||
We do not collect any personal data or any information that can be
|
||||
used to identify you. IP addresses are logged for a maximum of one
|
||||
day. If you want your IP address removed from the
|
||||
<a href="../../projects/ip-grabber/">IP Grabber</a>, just
|
||||
<a href="#contact"> contact us</a> and we will purge the list. We
|
||||
record server analytics and statistics such as generic system
|
||||
information (CPU, memory usage, etc.). Pages that require some client
|
||||
side JavaScript code are denoted by the smash product symbol "⨳",
|
||||
external websites are not included.
|
||||
</code>
|
||||
</section>
|
||||
<br>
|
||||
<br>
|
||||
<br />
|
||||
<br />
|
||||
<section id="matrix">
|
||||
<h3><a href="https://chatinamatrix.xyz">chatinamatrix.xyz</a></h3>
|
||||
<h5>last updated: 22/11/2022</h5>
|
||||
<code>
|
||||
Server analytics and statistics are only used to improve and monitor the health of the Dendrite server. We use Google's ReCAPTCHA to reduce automated spam bots. Access logs (include Matrix federation) are purged daily. We only require a password and username to register on our Dendrite chat server, all other data (email address, phone number, etc.) are optional. Messages deleted from this homeserver will not, and can not, guarantee their removal from federated homeservers. <strong>Anyone, including server admins, can see all unencrypted data!</strong>
|
||||
<br>
|
||||
<br>
|
||||
Rules for our matrix homeserver can be found <a href="../../apps/matrix/#rules">here</a>.
|
||||
Server analytics and statistics are only used to improve and monitor
|
||||
the health of the Dendrite server. We use Google's ReCAPTCHA to reduce
|
||||
automated spam bots. Access logs (include Matrix federation) are
|
||||
purged daily. We only require a password and username to register on
|
||||
our Dendrite chat server, all other data (email address, phone number,
|
||||
etc.) are optional. Messages deleted from this homeserver will not,
|
||||
and can not, guarantee their removal from federated homeservers.
|
||||
<strong
|
||||
>Anyone, including server admins, can see all unencrypted
|
||||
data!</strong
|
||||
>
|
||||
<br />
|
||||
<br />
|
||||
Rules for our matrix homeserver can be found
|
||||
<a href="../../apps/matrix/#rules">here</a>.
|
||||
</code>
|
||||
</section>
|
||||
<br>
|
||||
<br>
|
||||
<br />
|
||||
<br />
|
||||
<section id="note">
|
||||
<h3>Note:</h3>
|
||||
<h5>last updated: 22/11/2022</h5>
|
||||
<code>
|
||||
We may update or change our privacy policy without warning. All of our services are provided on a <strong>As-Is</strong> basis without any warranties. We will <strong>NOT</strong> notify you of any changes to the privacy policy.
|
||||
We may update or change our privacy policy without warning. All of our
|
||||
services are provided on a <strong>As-Is</strong> basis without any
|
||||
warranties. We will <strong>NOT</strong> notify you of any changes to
|
||||
the privacy policy.
|
||||
</code>
|
||||
</section>
|
||||
<br>
|
||||
<br>
|
||||
<br />
|
||||
<br />
|
||||
<section id="contact">
|
||||
For additional information or support please email us at
|
||||
<a href="mailto:tensor@arrayinamatrix.xyz">tensor@arrayinamatrix.xyz</a>
|
||||
|
@ -63,5 +94,4 @@
|
|||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,13 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Tor</title>
|
||||
<link rel="stylesheet" href="../../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -20,58 +23,73 @@
|
|||
|
||||
<main id="content" class="main-content" role="main">
|
||||
<section id="array">
|
||||
<h3><a href="http://7o6hlu5tkjsi6z7thygpgqpc7pvb2qamjtaxkvceezcpj236stq25vqd.onion">arrayinamatrix.xyz</a>
|
||||
<h3>
|
||||
<a
|
||||
href="http://7o6hlu5tkjsi6z7thygpgqpc7pvb2qamjtaxkvceezcpj236stq25vqd.onion"
|
||||
>arrayinamatrix.xyz</a
|
||||
>
|
||||
</h3>
|
||||
<code>
|
||||
7o6hlu5tkjsi6z7thygpgqpc7pvb2qamjtaxkvceezcpj236stq25vqd.onion
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="git">
|
||||
<h3>
|
||||
<a href="http://srr5udc7cotv4qbwiwcbatj3yciq2doorz4llmgoie7nfnwsgxy2ivid.onion">git.arrayinamatrix.xyz</a>
|
||||
<a
|
||||
href="http://srr5udc7cotv4qbwiwcbatj3yciq2doorz4llmgoie7nfnwsgxy2ivid.onion"
|
||||
>git.arrayinamatrix.xyz</a
|
||||
>
|
||||
</h3>
|
||||
<code>
|
||||
srr5udc7cotv4qbwiwcbatj3yciq2doorz4llmgoie7nfnwsgxy2ivid.onion
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="wiki">
|
||||
<h3>
|
||||
<a href="http://wqram5hvegtb7ib72y73paou2jkzn7iqqrb2tp5eadckbjm6ekrwucqd.onion">wiki.arrayinamatrix.xyz</a>
|
||||
<a
|
||||
href="http://wqram5hvegtb7ib72y73paou2jkzn7iqqrb2tp5eadckbjm6ekrwucqd.onion"
|
||||
>wiki.arrayinamatrix.xyz</a
|
||||
>
|
||||
</h3>
|
||||
<code>
|
||||
wqram5hvegtb7ib72y73paou2jkzn7iqqrb2tp5eadckbjm6ekrwucqd.onion
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="blog">
|
||||
<h3>
|
||||
<a href="http://xyfrg77bbix6ksxs62rausbyvjluwqhh5o3defg5hz4uketxpfqcneyd.onion">bloginamatrix.xyz</a>
|
||||
<a
|
||||
href="http://xyfrg77bbix6ksxs62rausbyvjluwqhh5o3defg5hz4uketxpfqcneyd.onion"
|
||||
>bloginamatrix.xyz</a
|
||||
>
|
||||
</h3>
|
||||
<code>
|
||||
xyfrg77bbix6ksxs62rausbyvjluwqhh5o3defg5hz4uketxpfqcneyd.onion
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="chat">
|
||||
<h3>
|
||||
<a href="http://rw3lqcaf4so66ecbpgreedaes7t2eyh2legwvjggtdnlw2fb2n3svfyd.onion">chatinamatrix.xyz</a>
|
||||
<a
|
||||
href="http://rw3lqcaf4so66ecbpgreedaes7t2eyh2legwvjggtdnlw2fb2n3svfyd.onion"
|
||||
>chatinamatrix.xyz</a
|
||||
>
|
||||
</h3>
|
||||
<code>
|
||||
rw3lqcaf4so66ecbpgreedaes7t2eyh2legwvjggtdnlw2fb2n3svfyd.onion
|
||||
</code>
|
||||
</section>
|
||||
|
||||
|
||||
<!-- <section id="#">
|
||||
<h3><a href="#">Clickable title</a></h3>
|
||||
<code>
|
||||
|
@ -84,5 +102,4 @@
|
|||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,21 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Banners</title>
|
||||
<link rel="stylesheet" href="../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
||||
<script id="MathJax-script" async="" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<script
|
||||
id="MathJax-script"
|
||||
async=""
|
||||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"
|
||||
></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name">Banners</h1>
|
||||
<h2 class="project-tagline">Banners I've collected from surfing the web. <br> (Gotta catch 'em all!)</h2>
|
||||
<h2 class="project-tagline">
|
||||
Banners I've collected from surfing the web. <br />
|
||||
(Gotta catch 'em all!)
|
||||
</h2>
|
||||
|
||||
<a href="../../" class="btn">Home</a>
|
||||
<a href="../webrings/" class="btn">Webrings<sup>⨳</sup></a>
|
||||
|
@ -23,70 +33,191 @@
|
|||
|
||||
<main id="content" class="main-content" role="main">
|
||||
<h3><a href="#banner">What is a Banner?</a></h3>
|
||||
<section id="banner">An image or GIF that links to a site or represents a idea or belief ... anything!</section>
|
||||
<section id="banner">
|
||||
An image or GIF that links to a site or represents a idea or belief ...
|
||||
anything!
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
<hr />
|
||||
|
||||
<section id="banners">
|
||||
<h3>Banners:</h3>
|
||||
<div class="grid">
|
||||
<a class="grid-item zoom" href="https://brave.com"><img src="../../res/site/banners/brave.png"></a>
|
||||
<a class="grid-item zoom" href="https://getfirefox.com"><img src="../../res/site/banners/firefox_2.gif"></a>
|
||||
<a class="grid-item zoom" href="https://jlehr.neocities.org"><img src="../../res/site/banners/jlehr.gif"></a>
|
||||
<a class="grid-item zoom" href="https://neovim.io/"><img src="../../res/site/banners/vim.gif"></a>
|
||||
<a class="grid-item zoom" href="https://sadgrl.online/"><img src="../../res/site/banners/nft.gif"></a>
|
||||
<a class="grid-item zoom" href="https://thepiratebay.org/"><img src="../../res/site/banners/piracy.gif"></a>
|
||||
<a class="grid-item zoom" href="https://tilde.club"><img src="../../res/site/banners/tildeclub.gif"></a>
|
||||
<a class="grid-item zoom" href="https://ubuntu.com/"><img src="../../res/site/banners/ubuntu.gif"></a>
|
||||
<a class="grid-item zoom" href="https://www.7-zip.org/"><img src="../../res/site/banners/7zip.gif"></a>
|
||||
<a class="grid-item zoom" href="https://www.mozilla.org/en-CA/firefox/products/"><img src="../../res/site/banners/firefox.gif"></a>
|
||||
<a class="grid-item zoom" href="https://yesterweb.org/no-to-web3/"><img src="../../res/site/banners/noweb3_1.gif"></a>
|
||||
<a class="grid-item zoom" href="https://yesterweb.org/no-to-web3/"><img src="../../res/site/banners/noweb3_2.gif"></a>
|
||||
<a class="grid-item zoom" href="https://yesterweb.org/no-to-web3/"><img src="../../res/site/banners/noweb3_3.gif"></a>
|
||||
<img class="grid-item zoom" src="../../res/site/banners/1080p.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/2000.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/800x600.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/amd_powered.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/aniquake.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/anybrowser.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/bvwac.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/evil.webp">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/firefox_badge.png">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/freencool.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/free_palestine.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/freespeech.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/Get_IE_Button.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/gnu-linux.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/google.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/graphicdesign.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/handcode-frk.jpg">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/handcode.jpg">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/hi_color.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/IDreamInHtml.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/jail.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/learn_html.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/LocalNetwork.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/madewithcss.png">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/mozilla.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/neocities.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/neocities-pink.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/netscape.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/nocookie.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/noframes.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/pacman.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/pepsi.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/right-to-repair.jpg">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/steam.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/stop_ie.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/thevoid.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/trustme.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/underconstruction.png">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/w3schools.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/wiby.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/win95.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/win98.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/winxp.gif">
|
||||
<img class="grid-item zoom" src="../../res/site/banners/www.gif">
|
||||
<a class="grid-item zoom" href="https://brave.com"
|
||||
><img src="../../res/site/banners/brave.png"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://getfirefox.com"
|
||||
><img src="../../res/site/banners/firefox_2.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://jlehr.neocities.org"
|
||||
><img src="../../res/site/banners/jlehr.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://neovim.io/"
|
||||
><img src="../../res/site/banners/vim.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://sadgrl.online/"
|
||||
><img src="../../res/site/banners/nft.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://thepiratebay.org/"
|
||||
><img src="../../res/site/banners/piracy.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://tilde.club"
|
||||
><img src="../../res/site/banners/tildeclub.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://ubuntu.com/"
|
||||
><img src="../../res/site/banners/ubuntu.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://www.7-zip.org/"
|
||||
><img src="../../res/site/banners/7zip.gif"
|
||||
/></a>
|
||||
<a
|
||||
class="grid-item zoom"
|
||||
href="https://www.mozilla.org/en-CA/firefox/products/"
|
||||
><img src="../../res/site/banners/firefox.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://yesterweb.org/no-to-web3/"
|
||||
><img src="../../res/site/banners/noweb3_1.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://yesterweb.org/no-to-web3/"
|
||||
><img src="../../res/site/banners/noweb3_2.gif"
|
||||
/></a>
|
||||
<a class="grid-item zoom" href="https://yesterweb.org/no-to-web3/"
|
||||
><img src="../../res/site/banners/noweb3_3.gif"
|
||||
/></a>
|
||||
<img class="grid-item zoom" src="../../res/site/banners/1080p.gif" />
|
||||
<img class="grid-item zoom" src="../../res/site/banners/2000.gif" />
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/800x600.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/amd_powered.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/aniquake.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/anybrowser.gif"
|
||||
/>
|
||||
<img class="grid-item zoom" src="../../res/site/banners/bvwac.gif" />
|
||||
<img class="grid-item zoom" src="../../res/site/banners/evil.webp" />
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/firefox_badge.png"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/freencool.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/free_palestine.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/freespeech.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/Get_IE_Button.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/gnu-linux.gif"
|
||||
/>
|
||||
<img class="grid-item zoom" src="../../res/site/banners/google.gif" />
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/graphicdesign.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/handcode-frk.jpg"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/handcode.jpg"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/hi_color.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/IDreamInHtml.gif"
|
||||
/>
|
||||
<img class="grid-item zoom" src="../../res/site/banners/jail.gif" />
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/learn_html.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/LocalNetwork.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/madewithcss.png"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/mozilla.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/neocities.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/neocities-pink.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/netscape.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/nocookie.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/noframes.gif"
|
||||
/>
|
||||
<img class="grid-item zoom" src="../../res/site/banners/pacman.gif" />
|
||||
<img class="grid-item zoom" src="../../res/site/banners/pepsi.gif" />
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/right-to-repair.jpg"
|
||||
/>
|
||||
<img class="grid-item zoom" src="../../res/site/banners/steam.gif" />
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/stop_ie.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/thevoid.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/trustme.gif"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/underconstruction.png"
|
||||
/>
|
||||
<img
|
||||
class="grid-item zoom"
|
||||
src="../../res/site/banners/w3schools.gif"
|
||||
/>
|
||||
<img class="grid-item zoom" src="../../res/site/banners/wiby.gif" />
|
||||
<img class="grid-item zoom" src="../../res/site/banners/win95.gif" />
|
||||
<img class="grid-item zoom" src="../../res/site/banners/win98.gif" />
|
||||
<img class="grid-item zoom" src="../../res/site/banners/winxp.gif" />
|
||||
<img class="grid-item zoom" src="../../res/site/banners/www.gif" />
|
||||
|
||||
<!-- <img class="grid-item zoom" src="../../res/site/banners/"> -->
|
||||
<!-- <a class="grid-item zoom" href=""><img
|
||||
|
@ -94,48 +225,60 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="custom">
|
||||
<h3>My banner:</h3>
|
||||
You can use these banners to link back to my site:
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<div class="center">
|
||||
<a href="https://arrayinamatrix.xyz"><img src="../../res/site/banners/custom/white_88x31.png"></a>
|
||||
<a href="https://arrayinamatrix.xyz"><img src="../../res/site/banners/custom/white_176x62.png"></a>
|
||||
<a href="https://arrayinamatrix.xyz"><img src="../../res/site/banners/custom/white_264x93.png"></a>
|
||||
<a href="https://arrayinamatrix.xyz"
|
||||
><img src="../../res/site/banners/custom/white_88x31.png"
|
||||
/></a>
|
||||
<a href="https://arrayinamatrix.xyz"
|
||||
><img src="../../res/site/banners/custom/white_176x62.png"
|
||||
/></a>
|
||||
<a href="https://arrayinamatrix.xyz"
|
||||
><img src="../../res/site/banners/custom/white_264x93.png"
|
||||
/></a>
|
||||
</div>
|
||||
<pre
|
||||
class="highlight"><code><a href="https://arrayinamatrix.xyz"><img src="https://arrayinamatrix.xyz/res/site/banners/custom/white_88x31.png"></a>
|
||||
class="highlight"
|
||||
><code><a href="https://arrayinamatrix.xyz"><img src="https://arrayinamatrix.xyz/res/site/banners/custom/white_88x31.png"></a>
|
||||
<a href="https://arrayinamatrix.xyz"><img src="https://arrayinamatrix.xyz/res/site/banners/custom/white_176x62.png"></a>
|
||||
<a href="https://arrayinamatrix.xyz"><img src="https://arrayinamatrix.xyz/res/site/banners/custom/white_264x93.png"></a></code></pre>
|
||||
<br>
|
||||
<br />
|
||||
<div class="center">
|
||||
<a href="https://arrayinamatrix.xyz"><img src="../../res/site/banners/custom/black_88x31.gif"></a>
|
||||
<a href="https://arrayinamatrix.xyz"><img src="../../res/site/banners/custom/black_176x62.gif"></a>
|
||||
<a href="https://arrayinamatrix.xyz"><img src="../../res/site/banners/custom/black_264x93.gif"></a>
|
||||
<a href="https://arrayinamatrix.xyz"
|
||||
><img src="../../res/site/banners/custom/black_88x31.gif"
|
||||
/></a>
|
||||
<a href="https://arrayinamatrix.xyz"
|
||||
><img src="../../res/site/banners/custom/black_176x62.gif"
|
||||
/></a>
|
||||
<a href="https://arrayinamatrix.xyz"
|
||||
><img src="../../res/site/banners/custom/black_264x93.gif"
|
||||
/></a>
|
||||
</div>
|
||||
<pre
|
||||
class="highlight"><code><a href="https://arrayinamatrix.xyz"><img src="https://arrayinamatrix.xyz/res/site/banners/custom/black_88x31.gif"></a>
|
||||
class="highlight"
|
||||
><code><a href="https://arrayinamatrix.xyz"><img src="https://arrayinamatrix.xyz/res/site/banners/custom/black_88x31.gif"></a>
|
||||
<a href="https://arrayinamatrix.xyz"><img src="https://arrayinamatrix.xyz/res/site/banners/custom/black_176x62.gif"></a>
|
||||
<a href="https://arrayinamatrix.xyz"><img src="https://arrayinamatrix.xyz/res/site/banners/custom/black_264x93.gif"></a></code></pre>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
Using <a href="https://www.mathjax.org/#gettingstarted">MathJax</a>:
|
||||
<a href="https://arrayinamatrix.xyz/">
|
||||
<div>
|
||||
\begin{bmatrix}
|
||||
\\
|
||||
& Array & in & a & Matrix & \\
|
||||
\\
|
||||
\end{bmatrix}
|
||||
\begin{bmatrix} \\ & Array & in & a & Matrix & \\ \\ \end{bmatrix}
|
||||
</div>
|
||||
</a>
|
||||
<br>
|
||||
<pre class="highlight"><code><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
||||
<br />
|
||||
<pre
|
||||
class="highlight"
|
||||
><code><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
|
||||
<script id="MathJax-script" async="" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
<a href="https://arrayinamatrix.xyz/">
|
||||
<div>
|
||||
|
@ -153,5 +296,4 @@
|
|||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,13 +1,12 @@
|
|||
function saveCanvas() {
|
||||
saveCanvasButton.download = "image.png";
|
||||
saveCanvasButton.href = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
|
||||
saveCanvasButton.href = canvas
|
||||
.toDataURL("image/png")
|
||||
.replace("image/png", "image/octet-stream");
|
||||
}
|
||||
|
||||
function goFullScreen() {
|
||||
if (canvas.requestFullScreen)
|
||||
canvas.requestFullScreen();
|
||||
else if (canvas.webkitRequestFullScreen)
|
||||
canvas.webkitRequestFullScreen();
|
||||
else if (canvas.mozRequestFullScreen)
|
||||
canvas.mozRequestFullScreen();
|
||||
if (canvas.requestFullScreen) canvas.requestFullScreen();
|
||||
else if (canvas.webkitRequestFullScreen) canvas.webkitRequestFullScreen();
|
||||
else if (canvas.mozRequestFullScreen) canvas.mozRequestFullScreen();
|
||||
}
|
|
@ -36,7 +36,7 @@ xaos.zoom = (function() {
|
|||
const RANGES = 2; // Number of ranges to use for sizing approximation data
|
||||
const RANGE = 4; // Maximum distance to use for approximation
|
||||
const MASK = 0x7; // Mask value for maximum potential source lines
|
||||
const DSIZE = (RANGES + 1); // Shift value for target lines
|
||||
const DSIZE = RANGES + 1; // Shift value for target lines
|
||||
const FPMUL = 64; // Multiplication factor for fixed-point representation
|
||||
const FPRANGE = FPMUL * RANGE; // Fixed point range of approximation
|
||||
const MAX_PRICE = Number.MAX_VALUE; // Maximum price of uninitialized approximation
|
||||
|
@ -124,7 +124,8 @@ xaos.zoom = (function() {
|
|||
* @param initial - the initial value for each entry.
|
||||
*/
|
||||
function makeArray(size, initial) {
|
||||
var i, data = [];
|
||||
var i,
|
||||
data = [];
|
||||
for (i = 0; i < size; i++) {
|
||||
if (typeof initial === "object") {
|
||||
// prototype object
|
||||
|
@ -184,12 +185,12 @@ xaos.zoom = (function() {
|
|||
return {
|
||||
begin: {
|
||||
x: center.x - size / 2,
|
||||
y: (center.y - size / 2) / aspect
|
||||
y: (center.y - size / 2) / aspect,
|
||||
},
|
||||
end: {
|
||||
x: center.x + size / 2,
|
||||
y: (center.y + size / 2) / aspect
|
||||
}
|
||||
y: (center.y + size / 2) / aspect,
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -208,7 +209,7 @@ xaos.zoom = (function() {
|
|||
var line = null;
|
||||
|
||||
for (i = 0, p = begin; i < lines.length; i++, p += step) {
|
||||
line = lines[i]
|
||||
line = lines[i];
|
||||
line.recalculate = true;
|
||||
line.dirty = true;
|
||||
line.isRow = isRow;
|
||||
|
@ -220,7 +221,7 @@ xaos.zoom = (function() {
|
|||
line.symRef = -1;
|
||||
}
|
||||
return step;
|
||||
}
|
||||
};
|
||||
|
||||
/** Calculate price of approximating one line from another
|
||||
*
|
||||
|
@ -247,7 +248,7 @@ xaos.zoom = (function() {
|
|||
this.sourcePos[i] = this.sourcePos[i + 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/** Choose the best approximation for lines based on previous frame
|
||||
*
|
||||
|
@ -291,7 +292,7 @@ xaos.zoom = (function() {
|
|||
maxPos = idealPos + FPRANGE;
|
||||
|
||||
// Find the previous approximation
|
||||
if ((prevBegin !== prevEnd) && (source > prevBegin)) {
|
||||
if (prevBegin !== prevEnd && source > prevBegin) {
|
||||
// Previous line had approximations; use them
|
||||
if (source < prevEnd) {
|
||||
previous = this.oldBest[source - 1];
|
||||
|
@ -369,7 +370,7 @@ xaos.zoom = (function() {
|
|||
previous = this.calcPrices[dest - 1];
|
||||
}
|
||||
price = previous.price + NEW_PRICE;
|
||||
if ((price < best.price) && (source > currBegin)) {
|
||||
if (price < best.price && source > currBegin) {
|
||||
best = this.movePrices[((source - 1) << DSIZE) + (dest & MASK)];
|
||||
best.price = price;
|
||||
best.index = -1;
|
||||
|
@ -418,20 +419,19 @@ xaos.zoom = (function() {
|
|||
while (sourcePos[source] < maxPos) {
|
||||
this.newBest[source++] = best;
|
||||
}
|
||||
|
||||
}
|
||||
prevBegin = currBegin;
|
||||
currBegin = prevEnd;
|
||||
prevEnd = source;
|
||||
}
|
||||
if ((begin > lines[0].oldPosition) && (end < lines[size - 1].oldPosition)) {
|
||||
if (begin > lines[0].oldPosition && end < lines[size - 1].oldPosition) {
|
||||
flag = 1;
|
||||
}
|
||||
if ((sourcePos[0] > 0) && (sourcePos[size - 1] < (size * FPMUL))) {
|
||||
if (sourcePos[0] > 0 && sourcePos[size - 1] < size * FPMUL) {
|
||||
flag = 2;
|
||||
}
|
||||
for (dest = size - 1; dest >= 0; dest--) {
|
||||
line = lines[dest]
|
||||
line = lines[dest];
|
||||
line.symTo = -1;
|
||||
line.symRef = -1;
|
||||
if (best.index < 0) {
|
||||
|
@ -448,7 +448,7 @@ xaos.zoom = (function() {
|
|||
}
|
||||
newPositions(lines, begin, end, step, flag);
|
||||
return step;
|
||||
}
|
||||
};
|
||||
|
||||
/** Choose new positions for lines based on calculated prices
|
||||
*
|
||||
|
@ -470,7 +470,7 @@ xaos.zoom = (function() {
|
|||
if (begin1 > end1) {
|
||||
begin1 = end1;
|
||||
}
|
||||
while (s < (size - 1)) {
|
||||
while (s < size - 1) {
|
||||
e = s + 1;
|
||||
if (lines[e].recalculate) {
|
||||
while (e < size) {
|
||||
|
@ -489,10 +489,10 @@ xaos.zoom = (function() {
|
|||
} else {
|
||||
begin = lines[s].newPosition;
|
||||
}
|
||||
if ((e === size) && (begin > end)) {
|
||||
if (e === size && begin > end) {
|
||||
end = begin;
|
||||
}
|
||||
if ((e - s) === 2) {
|
||||
if (e - s === 2) {
|
||||
delta = (end - begin) * 0.5;
|
||||
} else {
|
||||
delta = (end - begin) / (e - s);
|
||||
|
@ -502,14 +502,15 @@ xaos.zoom = (function() {
|
|||
for (s++; s < e; s++) {
|
||||
begin += delta;
|
||||
lines[s].newPosition = begin;
|
||||
lines[s].priority = 1 / (1 + (Math.abs((lines[s].oldPosition - begin)) * step));
|
||||
lines[s].priority =
|
||||
1 / (1 + Math.abs(lines[s].oldPosition - begin) * step);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
for (s++; s < e; s++) {
|
||||
begin += delta;
|
||||
lines[s].newPosition = begin;
|
||||
lines[s].priority = Math.abs((lines[s].oldPosition - begin)) * step;
|
||||
lines[s].priority = Math.abs(lines[s].oldPosition - begin) * step;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -545,7 +546,7 @@ xaos.zoom = (function() {
|
|||
var istart = 0;
|
||||
var line = null;
|
||||
var otherLine = null;
|
||||
var symj = (2 * symi) - size;
|
||||
var symj = 2 * symi - size;
|
||||
symPosition *= 2;
|
||||
if (symj < 0) {
|
||||
symj = 0;
|
||||
|
@ -557,17 +558,20 @@ xaos.zoom = (function() {
|
|||
continue;
|
||||
}
|
||||
newPosition = line.newPosition;
|
||||
line.symTo = (2 * symi) - i;
|
||||
line.symTo = 2 * symi - i;
|
||||
if (line.symTo > max) {
|
||||
line.symTo = max;
|
||||
}
|
||||
j = ((line.symTo - istart) > RANGE) ? (-RANGE) : (-line.symTo + istart);
|
||||
j = line.symTo - istart > RANGE ? -RANGE : -line.symTo + istart;
|
||||
if (line.recalculate) {
|
||||
while ((j < RANGE) && ((line.symTo + j) < (size - 1))) {
|
||||
while (j < RANGE && line.symTo + j < size - 1) {
|
||||
tmp = symPosition - lines[line.symTo + j].newPosition;
|
||||
abs = Math.abs(tmp - newPosition);
|
||||
if (abs < distance) {
|
||||
if (((i === 0) || (tmp > lines[i - 1].newPosition)) && (tmp < lines[i + 1].newPosition)) {
|
||||
if (
|
||||
(i === 0 || tmp > lines[i - 1].newPosition) &&
|
||||
tmp < lines[i + 1].newPosition
|
||||
) {
|
||||
distance = abs;
|
||||
min = j;
|
||||
}
|
||||
|
@ -577,12 +581,15 @@ xaos.zoom = (function() {
|
|||
j++;
|
||||
}
|
||||
} else {
|
||||
while ((j < RANGE) && ((line.symTo + j) < (size - 1))) {
|
||||
while (j < RANGE && line.symTo + j < size - 1) {
|
||||
if (line.recalculate) {
|
||||
tmp = symPosition - lines[line.symTo + j].newPosition;
|
||||
abs = Math.abs(tmp - newPosition);
|
||||
if (abs < distance) {
|
||||
if (((i === 0) || (tmp > lines[i - 1].newPosition)) && (tmp < lines[i + 1].newPosition)) {
|
||||
if (
|
||||
(i === 0 || tmp > lines[i - 1].newPosition) &&
|
||||
tmp < lines[i + 1].newPosition
|
||||
) {
|
||||
distance = abs;
|
||||
min = j;
|
||||
}
|
||||
|
@ -595,13 +602,18 @@ xaos.zoom = (function() {
|
|||
}
|
||||
line.symTo += min;
|
||||
otherLine = lines[line.symTo];
|
||||
if ((min === RANGE) || (line.symTo <= symi) || (otherLine.symTo !== -1) || (otherLine.symRef !== -1)) {
|
||||
if (
|
||||
min === RANGE ||
|
||||
line.symTo <= symi ||
|
||||
otherLine.symTo !== -1 ||
|
||||
otherLine.symRef !== -1
|
||||
) {
|
||||
line.symTo = -1;
|
||||
continue;
|
||||
}
|
||||
if (!line.recalculate) {
|
||||
line.symTo = -1;
|
||||
if ((otherLine.symTo !== -1) || !otherLine.recalculate) {
|
||||
if (otherLine.symTo !== -1 || !otherLine.recalculate) {
|
||||
continue;
|
||||
}
|
||||
otherLine.symIndex = line.symIndex;
|
||||
|
@ -661,7 +673,7 @@ xaos.zoom = (function() {
|
|||
var buffer = this.image.newBuffer;
|
||||
var bufferWidth = this.image.width;
|
||||
for (i = 0; i < this.rows.length; i++) {
|
||||
if ((this.rows[i].symTo >= 0) && (!this.rows[this.rows[i].symTo].dirty)) {
|
||||
if (this.rows[i].symTo >= 0 && !this.rows[this.rows[i].symTo].dirty) {
|
||||
from_offset = this.rows[i].symTo * bufferWidth;
|
||||
arrayCopy(buffer, from_offset, buffer, to_offset, bufferWidth);
|
||||
this.rows[i].dirty = false;
|
||||
|
@ -669,7 +681,10 @@ xaos.zoom = (function() {
|
|||
to_offset += bufferWidth;
|
||||
}
|
||||
for (i = 0; i < this.columns.length; i++) {
|
||||
if ((this.columns[i].symTo >= 0) && (!this.columns[this.columns[i].symTo].dirty)) {
|
||||
if (
|
||||
this.columns[i].symTo >= 0 &&
|
||||
!this.columns[this.columns[i].symTo].dirty
|
||||
) {
|
||||
to_offset = i;
|
||||
from_offset = this.columns[i].symTo;
|
||||
for (j = 0; j < this.rows.length; j++) {
|
||||
|
@ -680,7 +695,7 @@ xaos.zoom = (function() {
|
|||
this.columns[i].dirty = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/** Build an optimized move table based on relocation table */
|
||||
ZoomContext.prototype.prepareMove = function () {
|
||||
|
@ -695,7 +710,10 @@ xaos.zoom = (function() {
|
|||
move.length = 1;
|
||||
move.from = this.columns[i].symIndex;
|
||||
for (j = i + 1; j < this.columns.length; j++) {
|
||||
if (this.columns[j].dirty || ((j - this.columns[j].symIndex) !== (move.to - move.from))) {
|
||||
if (
|
||||
this.columns[j].dirty ||
|
||||
j - this.columns[j].symIndex !== move.to - move.from
|
||||
) {
|
||||
break;
|
||||
}
|
||||
move.length++;
|
||||
|
@ -708,7 +726,7 @@ xaos.zoom = (function() {
|
|||
}
|
||||
move = this.moveTable[s];
|
||||
move.length = 0;
|
||||
}
|
||||
};
|
||||
|
||||
/** Execute moves defined in move table */
|
||||
ZoomContext.prototype.doMove = function () {
|
||||
|
@ -737,13 +755,13 @@ xaos.zoom = (function() {
|
|||
}
|
||||
newOffset += bufferWidth;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/** Shortcut for prepare and execute move */
|
||||
ZoomContext.prototype.movePixels = function () {
|
||||
this.prepareMove();
|
||||
this.doMove();
|
||||
}
|
||||
};
|
||||
|
||||
/** Prepare fill table based on relocation table */
|
||||
ZoomContext.prototype.prepareFill = function () {
|
||||
|
@ -756,9 +774,18 @@ xaos.zoom = (function() {
|
|||
for (i = 0; i < this.columns.length; i++) {
|
||||
if (this.columns[i].dirty) {
|
||||
j = i - 1;
|
||||
for (k = i + 1; (k < this.columns.length) && this.columns[k].dirty; k++) {}
|
||||
while ((i < this.columns.length) && this.columns[i].dirty) {
|
||||
if ((k < this.columns.length) && ((j < i) || ((this.columns[i].newPosition - this.columns[j].newPosition) > (this.columns[k].newPosition - this.columns[i].newPosition)))) {
|
||||
for (
|
||||
k = i + 1;
|
||||
k < this.columns.length && this.columns[k].dirty;
|
||||
k++
|
||||
) {}
|
||||
while (i < this.columns.length && this.columns[i].dirty) {
|
||||
if (
|
||||
k < this.columns.length &&
|
||||
(j < i ||
|
||||
this.columns[i].newPosition - this.columns[j].newPosition >
|
||||
this.columns[k].newPosition - this.columns[i].newPosition)
|
||||
) {
|
||||
j = k;
|
||||
} else if (j < 0) {
|
||||
break;
|
||||
|
@ -780,7 +807,7 @@ xaos.zoom = (function() {
|
|||
}
|
||||
fill = this.fillTable[s];
|
||||
fill.length = 0;
|
||||
}
|
||||
};
|
||||
|
||||
/** Apply fill table */
|
||||
ZoomContext.prototype.doFill = function () {
|
||||
|
@ -800,9 +827,14 @@ xaos.zoom = (function() {
|
|||
for (i = 0; i < this.rows.length; i++) {
|
||||
if (this.rows[i].dirty) {
|
||||
j = i - 1;
|
||||
for (k = i + 1; (k < this.rows.length) && this.rows[k].dirty; k++) {}
|
||||
while ((i < this.rows.length) && this.rows[i].dirty) {
|
||||
if ((k < this.rows.length) && ((j < i) || ((this.rows[i].newPosition - this.rows[j].newPosition) > (this.rows[k].newPosition - this.rows[i].newPosition)))) {
|
||||
for (k = i + 1; k < this.rows.length && this.rows[k].dirty; k++) {}
|
||||
while (i < this.rows.length && this.rows[i].dirty) {
|
||||
if (
|
||||
k < this.rows.length &&
|
||||
(j < i ||
|
||||
this.rows[i].newPosition - this.rows[j].newPosition >
|
||||
this.rows[k].newPosition - this.rows[i].newPosition)
|
||||
) {
|
||||
j = k;
|
||||
} else if (j < 0) {
|
||||
break;
|
||||
|
@ -841,13 +873,13 @@ xaos.zoom = (function() {
|
|||
this.rows[i].dirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/** Shortcut to prepare and apply fill table */
|
||||
ZoomContext.prototype.fill = function () {
|
||||
this.prepareFill();
|
||||
this.doFill();
|
||||
}
|
||||
};
|
||||
|
||||
/** Render line using solid guessing
|
||||
*
|
||||
|
@ -880,27 +912,36 @@ xaos.zoom = (function() {
|
|||
if (rend < 0) {
|
||||
rend = 0;
|
||||
}
|
||||
for (i = r - 1; (i >= rend) && this.rows[i].dirty; i--) {}
|
||||
for (i = r - 1; i >= rend && this.rows[i].dirty; i--) {}
|
||||
distu = r - i;
|
||||
rend = r + GUESS_RANGE;
|
||||
if (rend >= this.rows.length) {
|
||||
rend = this.rows.length - 1;
|
||||
}
|
||||
for (j = r + 1; (j < rend) && this.rows[j].dirty; j++) {}
|
||||
for (j = r + 1; j < rend && this.rows[j].dirty; j++) {}
|
||||
distd = j - r;
|
||||
if (!USE_SOLIDGUESS || (i < 0) || (j >= this.rows.length) || this.rows[i].dirty || this.rows[j].dirty) {
|
||||
if (
|
||||
!USE_SOLIDGUESS ||
|
||||
i < 0 ||
|
||||
j >= this.rows.length ||
|
||||
this.rows[i].dirty ||
|
||||
this.rows[j].dirty
|
||||
) {
|
||||
for (k = 0, length = this.columns.length; k < length; k++) {
|
||||
current = this.columns[k];
|
||||
if (!this.columns[k].dirty) {
|
||||
buffer[offset] = this.fractal.formula(current.newPosition, newPosition);
|
||||
buffer[offset] = this.fractal.formula(
|
||||
current.newPosition,
|
||||
newPosition
|
||||
);
|
||||
}
|
||||
offset++;
|
||||
}
|
||||
} else {
|
||||
distr = 0;
|
||||
distl = Number.MAX_VALUE / 2;
|
||||
offsetu = offset - (distu * bufferWidth);
|
||||
offsetd = offset + (distd * bufferWidth);
|
||||
offsetu = offset - distu * bufferWidth;
|
||||
offsetd = offset + distd * bufferWidth;
|
||||
for (k = 0, length = this.columns.length; k < length; k++) {
|
||||
current = this.columns[k];
|
||||
if (!this.columns[k].dirty) {
|
||||
|
@ -909,27 +950,40 @@ xaos.zoom = (function() {
|
|||
if (rend >= this.columns.length) {
|
||||
rend = this.columns.length - 1;
|
||||
}
|
||||
for (j = k + 1; (j < rend) && this.columns[j].dirty; j++) {
|
||||
for (j = k + 1; j < rend && this.columns[j].dirty; j++) {
|
||||
distr = j - k;
|
||||
}
|
||||
if (j >= rend) {
|
||||
distr = Number.MAX_VALUE / 2;
|
||||
}
|
||||
}
|
||||
if ((distr < (Number.MAX_VALUE / 4)) && (distl < (Number.MAX_VALUE / 4))) {
|
||||
if (distr < Number.MAX_VALUE / 4 && distl < Number.MAX_VALUE / 4) {
|
||||
offsetl = offset - distl;
|
||||
offsetul = offsetu - distl;
|
||||
offsetdl = offsetd - distl;
|
||||
offsetur = offsetu + distr;
|
||||
offsetdr = offsetd + distr;
|
||||
n = buffer[offsetl];
|
||||
if ((n == buffer[offsetu]) && (n == buffer[offsetd]) && (n == buffer[offsetul]) && (n == buffer[offsetur]) && (n == buffer[offsetdl]) && (n == buffer[offsetdr])) {
|
||||
if (
|
||||
n == buffer[offsetu] &&
|
||||
n == buffer[offsetd] &&
|
||||
n == buffer[offsetul] &&
|
||||
n == buffer[offsetur] &&
|
||||
n == buffer[offsetdl] &&
|
||||
n == buffer[offsetdr]
|
||||
) {
|
||||
buffer[offset] = n;
|
||||
} else {
|
||||
buffer[offset] = this.fractal.formula(current.newPosition, newPosition);
|
||||
buffer[offset] = this.fractal.formula(
|
||||
current.newPosition,
|
||||
newPosition
|
||||
);
|
||||
}
|
||||
} else {
|
||||
buffer[offset] = this.fractal.formula(current.newPosition, newPosition);
|
||||
buffer[offset] = this.fractal.formula(
|
||||
current.newPosition,
|
||||
newPosition
|
||||
);
|
||||
}
|
||||
distl = 0;
|
||||
}
|
||||
|
@ -942,7 +996,7 @@ xaos.zoom = (function() {
|
|||
}
|
||||
row.recalculate = false;
|
||||
row.dirty = false;
|
||||
}
|
||||
};
|
||||
|
||||
/** Render column using solid guessing
|
||||
*
|
||||
|
@ -977,19 +1031,28 @@ xaos.zoom = (function() {
|
|||
if (rend < 0) {
|
||||
rend = 0;
|
||||
}
|
||||
for (i = r - 1; (i >= rend) && this.columns[i].dirty; i--) {}
|
||||
for (i = r - 1; i >= rend && this.columns[i].dirty; i--) {}
|
||||
distl = r - i;
|
||||
rend = r + GUESS_RANGE;
|
||||
if (rend >= this.columns.length) {
|
||||
rend = this.columns.length - 1;
|
||||
}
|
||||
for (j = r + 1; (j < rend) && this.columns[j].dirty; j++) {}
|
||||
for (j = r + 1; j < rend && this.columns[j].dirty; j++) {}
|
||||
distr = j - r;
|
||||
if (!USE_SOLIDGUESS || (i < 0) || (j >= this.columns.length) || this.columns[i].dirty || this.columns[j].dirty) {
|
||||
if (
|
||||
!USE_SOLIDGUESS ||
|
||||
i < 0 ||
|
||||
j >= this.columns.length ||
|
||||
this.columns[i].dirty ||
|
||||
this.columns[j].dirty
|
||||
) {
|
||||
for (k = 0, length = this.rows.length; k < length; k++) {
|
||||
current = this.rows[k];
|
||||
if (!this.rows[k].dirty) {
|
||||
buffer[offset] = this.fractal.formula(newPosition, current.newPosition);
|
||||
buffer[offset] = this.fractal.formula(
|
||||
newPosition,
|
||||
current.newPosition
|
||||
);
|
||||
}
|
||||
offset += bufferWidth;
|
||||
}
|
||||
|
@ -1006,14 +1069,14 @@ xaos.zoom = (function() {
|
|||
if (rend >= this.rows.length) {
|
||||
rend = this.rows.length - 1;
|
||||
}
|
||||
for (j = k + 1; (j < rend) && this.rows[j].dirty; j++) {
|
||||
for (j = k + 1; j < rend && this.rows[j].dirty; j++) {
|
||||
distd = j - k;
|
||||
}
|
||||
if (j >= rend) {
|
||||
distd = Number.MAX_VALUE / 2;
|
||||
}
|
||||
}
|
||||
if ((distd < (Number.MAX_VALUE / 4)) && (distu < (Number.MAX_VALUE / 4))) {
|
||||
if (distd < Number.MAX_VALUE / 4 && distu < Number.MAX_VALUE / 4) {
|
||||
sumu = distu * bufferWidth;
|
||||
sumd = distd * bufferWidth;
|
||||
offsetu = offset - sumu;
|
||||
|
@ -1022,13 +1085,26 @@ xaos.zoom = (function() {
|
|||
offsetld = offsetl + sumd;
|
||||
offsetrd = offsetr + sumd;
|
||||
n = buffer[offsetu];
|
||||
if ((n == buffer[offsetl]) && (n == buffer[offsetr]) && (n == buffer[offsetlu]) && (n == buffer[offsetru]) && (n == buffer[offsetld]) && (n == buffer[offsetrd])) {
|
||||
if (
|
||||
n == buffer[offsetl] &&
|
||||
n == buffer[offsetr] &&
|
||||
n == buffer[offsetlu] &&
|
||||
n == buffer[offsetru] &&
|
||||
n == buffer[offsetld] &&
|
||||
n == buffer[offsetrd]
|
||||
) {
|
||||
buffer[offset] = n;
|
||||
} else {
|
||||
buffer[offset] = this.fractal.formula(newPosition, current.newPosition);
|
||||
buffer[offset] = this.fractal.formula(
|
||||
newPosition,
|
||||
current.newPosition
|
||||
);
|
||||
}
|
||||
} else {
|
||||
buffer[offset] = this.fractal.formula(newPosition, current.newPosition);
|
||||
buffer[offset] = this.fractal.formula(
|
||||
newPosition,
|
||||
current.newPosition
|
||||
);
|
||||
}
|
||||
distu = 0;
|
||||
}
|
||||
|
@ -1041,14 +1117,14 @@ xaos.zoom = (function() {
|
|||
}
|
||||
column.recalculate = false;
|
||||
column.dirty = false;
|
||||
}
|
||||
};
|
||||
|
||||
/** Calculate whether we're taking too long to render the fractal to meet the idealPos FPS */
|
||||
ZoomContext.prototype.tooSlow = function () {
|
||||
var newTime = new Date().getTime(),
|
||||
minFPS = this.zooming ? this.minFPS : 10;
|
||||
return 1000 / (newTime - this.startTime + this.fudgeFactor) < minFPS;
|
||||
}
|
||||
};
|
||||
|
||||
/** Prioritize calculation of lines between begin and end
|
||||
*
|
||||
|
@ -1060,7 +1136,9 @@ xaos.zoom = (function() {
|
|||
var middle;
|
||||
while (begin < end) {
|
||||
middle = begin + ((end - begin) >> 1);
|
||||
lines[middle].priority = (lines[end].newPosition - lines[middle].newPosition) * lines[middle].priority;
|
||||
lines[middle].priority =
|
||||
(lines[end].newPosition - lines[middle].newPosition) *
|
||||
lines[middle].priority;
|
||||
if (lines[middle].symRef !== -1) {
|
||||
lines[middle].priority /= 2.0;
|
||||
}
|
||||
|
@ -1078,7 +1156,7 @@ xaos.zoom = (function() {
|
|||
var j = 0;
|
||||
for (i = 0; i < lines.length; i++) {
|
||||
if (lines[i].recalculate) {
|
||||
for (j = i; (j < lines.length) && lines[j].recalculate; j++) {
|
||||
for (j = i; j < lines.length && lines[j].recalculate; j++) {
|
||||
this.queue[this.queueLength++] = lines[j];
|
||||
}
|
||||
if (j === lines.length) {
|
||||
|
@ -1088,7 +1166,7 @@ xaos.zoom = (function() {
|
|||
i = j;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
/** Sort calculation queue according to priority (using quicksort)
|
||||
*
|
||||
|
@ -1115,8 +1193,7 @@ xaos.zoom = (function() {
|
|||
i++;
|
||||
j--;
|
||||
}
|
||||
}
|
||||
while (j >= i);
|
||||
} while (j >= i);
|
||||
if (l < j) {
|
||||
sortQueue(queue, l, j);
|
||||
}
|
||||
|
@ -1142,7 +1219,7 @@ xaos.zoom = (function() {
|
|||
} else {
|
||||
this.renderColumn(this.queue[i]);
|
||||
}
|
||||
if (!this.recalculate && this.tooSlow() && (i < this.queueLength)) {
|
||||
if (!this.recalculate && this.tooSlow() && i < this.queueLength) {
|
||||
this.incomplete = true;
|
||||
this.fill();
|
||||
break;
|
||||
|
@ -1189,16 +1266,37 @@ xaos.zoom = (function() {
|
|||
stepx = this.approximate(this.columns, area.begin.x, area.end.x);
|
||||
stepy = this.approximate(this.rows, area.begin.y, area.end.y);
|
||||
}
|
||||
if (USE_SYMMETRY && typeof symy === "number" && !(area.begin.y > symy || symy > area.end.y)) {
|
||||
prepareSymmetry(this.rows, Math.floor((symy - area.begin.y) / stepy), symy, stepy);
|
||||
if (
|
||||
USE_SYMMETRY &&
|
||||
typeof symy === "number" &&
|
||||
!(area.begin.y > symy || symy > area.end.y)
|
||||
) {
|
||||
prepareSymmetry(
|
||||
this.rows,
|
||||
Math.floor((symy - area.begin.y) / stepy),
|
||||
symy,
|
||||
stepy
|
||||
);
|
||||
}
|
||||
if (USE_SYMMETRY && typeof symx === "number" && !(area.begin.x > symx || symx > area.end.x)) {
|
||||
prepareSymmetry(this.columns, Math.floor((symx - area.begin.x) / stepx), symx, stepx);
|
||||
if (
|
||||
USE_SYMMETRY &&
|
||||
typeof symx === "number" &&
|
||||
!(area.begin.x > symx || symx > area.end.x)
|
||||
) {
|
||||
prepareSymmetry(
|
||||
this.columns,
|
||||
Math.floor((symx - area.begin.x) / stepx),
|
||||
symx,
|
||||
stepx
|
||||
);
|
||||
}
|
||||
this.image.swapBuffers();
|
||||
this.movePixels();
|
||||
this.calculate();
|
||||
if (USE_SYMMETRY && typeof symx === "number" || typeof symy === "number") {
|
||||
if (
|
||||
(USE_SYMMETRY && typeof symx === "number") ||
|
||||
typeof symy === "number"
|
||||
) {
|
||||
this.doSymmetry();
|
||||
}
|
||||
this.image.paint();
|
||||
|
@ -1211,10 +1309,16 @@ xaos.zoom = (function() {
|
|||
var MAXSTEP = 0.008 * 3;
|
||||
var MUL = 0.3;
|
||||
var area = this.convertArea();
|
||||
var x = area.begin.x + mouse.x * ((area.end.x - area.begin.x) / this.image.width);
|
||||
var y = area.begin.y + mouse.y * ((area.end.y - area.begin.y) / this.image.height);
|
||||
var deltax = (mouse.oldx - mouse.x) * ((area.end.x - area.begin.x) / this.image.width);
|
||||
var deltay = (mouse.oldy - mouse.y) * ((area.end.y - area.begin.y) / this.image.height);
|
||||
var x =
|
||||
area.begin.x + mouse.x * ((area.end.x - area.begin.x) / this.image.width);
|
||||
var y =
|
||||
area.begin.y +
|
||||
mouse.y * ((area.end.y - area.begin.y) / this.image.height);
|
||||
var deltax =
|
||||
(mouse.oldx - mouse.x) * ((area.end.x - area.begin.x) / this.image.width);
|
||||
var deltay =
|
||||
(mouse.oldy - mouse.y) *
|
||||
((area.end.y - area.begin.y) / this.image.height);
|
||||
var step;
|
||||
var mmul;
|
||||
if (mouse.button[1] || (mouse.button[0] && mouse.button[2])) {
|
||||
|
@ -1230,7 +1334,7 @@ xaos.zoom = (function() {
|
|||
this.zooming = false;
|
||||
return;
|
||||
}
|
||||
mmul = Math.pow((1 - step), MUL);
|
||||
mmul = Math.pow(1 - step, MUL);
|
||||
area.begin.x = x + (area.begin.x - x) * mmul;
|
||||
area.end.x = x + (area.end.x - x) * mmul;
|
||||
area.begin.y = y + (area.begin.y - y) * mmul;
|
||||
|
@ -1238,7 +1342,9 @@ xaos.zoom = (function() {
|
|||
this.fractal.region.radius.x = area.end.x - area.begin.x;
|
||||
this.fractal.region.radius.y = area.end.y - area.begin.y;
|
||||
this.fractal.region.center.x = (area.begin.x + area.end.x) / 2;
|
||||
this.fractal.region.center.y = ((area.begin.y + area.end.y) / 2) * (this.image.width / this.image.height);
|
||||
this.fractal.region.center.y =
|
||||
((area.begin.y + area.end.y) / 2) *
|
||||
(this.image.width / this.image.height);
|
||||
this.zooming = true;
|
||||
};
|
||||
|
||||
|
@ -1259,10 +1365,12 @@ xaos.zoom = (function() {
|
|||
canvas.ontouchstart = function (e) {
|
||||
if (e.touches.length < 3) {
|
||||
var touch = e.touches[0];
|
||||
(e.touches.length == 2)?mouse.button[2]=true:mouse.button[2]=false;
|
||||
e.touches.length == 2
|
||||
? (mouse.button[2] = true)
|
||||
: (mouse.button[2] = false);
|
||||
var mouseEvent = new MouseEvent("mousedown", {
|
||||
clientX: touch.clientX,
|
||||
clientY: touch.clientY
|
||||
clientY: touch.clientY,
|
||||
});
|
||||
canvas.dispatchEvent(mouseEvent);
|
||||
}
|
||||
|
@ -1277,17 +1385,17 @@ xaos.zoom = (function() {
|
|||
var touch = e.touches[0];
|
||||
var mouseEvent = new MouseEvent("mousemove", {
|
||||
clientX: touch.clientX,
|
||||
clientY: touch.clientY
|
||||
clientY: touch.clientY,
|
||||
});
|
||||
canvas.dispatchEvent(mouseEvent);
|
||||
};
|
||||
|
||||
canvas.onmousedown = function (e) {
|
||||
mouse.button[e.button] = true;
|
||||
mouse.x = e.offsetX || (e.clientX - canvas.offsetLeft);
|
||||
mouse.y = e.offsetY || (e.clientY - canvas.offsetTop);
|
||||
mouse.oldx = e.offsetX || (e.clientX - canvas.offsetLeft);
|
||||
mouse.oldy = e.offsetY || (e.clientY - canvas.offsetTop);
|
||||
mouse.x = e.offsetX || e.clientX - canvas.offsetLeft;
|
||||
mouse.y = e.offsetY || e.clientY - canvas.offsetTop;
|
||||
mouse.oldx = e.offsetX || e.clientX - canvas.offsetLeft;
|
||||
mouse.oldy = e.offsetY || e.clientY - canvas.offsetTop;
|
||||
doZoom();
|
||||
};
|
||||
|
||||
|
@ -1296,8 +1404,8 @@ xaos.zoom = (function() {
|
|||
};
|
||||
|
||||
canvas.onmousemove = function (e) {
|
||||
mouse.x = e.offsetX || (e.clientX - canvas.offsetLeft);
|
||||
mouse.y = e.offsetY || (e.clientY - canvas.offsetTop);
|
||||
mouse.x = e.offsetX || e.clientX - canvas.offsetLeft;
|
||||
mouse.y = e.offsetY || e.clientY - canvas.offsetTop;
|
||||
};
|
||||
|
||||
canvas.oncontextmenu = function () {
|
||||
|
@ -1309,8 +1417,8 @@ xaos.zoom = (function() {
|
|||
};
|
||||
|
||||
zoomer.drawFractal(true);
|
||||
}
|
||||
}());
|
||||
};
|
||||
})();
|
||||
|
||||
/** Create the default XaoS color palette */
|
||||
xaos.defaultPalette = function () {
|
||||
|
@ -1349,7 +1457,7 @@ xaos.defaultPalette = function() {
|
|||
[152, 97, 184],
|
||||
[8, 3, 12],
|
||||
[247, 92, 235],
|
||||
[31, 32, 16]
|
||||
[31, 32, 16],
|
||||
];
|
||||
var i, y;
|
||||
var r, g, b;
|
||||
|
@ -1360,11 +1468,11 @@ xaos.defaultPalette = function() {
|
|||
r = segments[i % nsegments][0];
|
||||
g = segments[i % nsegments][1];
|
||||
b = segments[i % nsegments][2];
|
||||
rs = (segments[(i + 1) % setsegments % nsegments][0] - r) / segmentsize;
|
||||
gs = (segments[(i + 1) % setsegments % nsegments][1] - g) / segmentsize;
|
||||
bs = (segments[(i + 1) % setsegments % nsegments][2] - b) / segmentsize;
|
||||
rs = (segments[((i + 1) % setsegments) % nsegments][0] - r) / segmentsize;
|
||||
gs = (segments[((i + 1) % setsegments) % nsegments][1] - g) / segmentsize;
|
||||
bs = (segments[((i + 1) % setsegments) % nsegments][2] - b) / segmentsize;
|
||||
for (y = 0; y < segmentsize; y++) {
|
||||
palette.push(255<<24 | b << 16 | g << 8 | r);
|
||||
palette.push((255 << 24) | (b << 16) | (g << 8) | r);
|
||||
r += rs;
|
||||
g += gs;
|
||||
b += bs;
|
||||
|
@ -1378,7 +1486,7 @@ xaos.mandelbrot = {
|
|||
region: {
|
||||
center: { x: -0.75, y: 0.0 },
|
||||
radius: { x: 2.5, y: 2.5 },
|
||||
angle: 0
|
||||
angle: 0,
|
||||
},
|
||||
z0: { x: 0, y: 0 },
|
||||
maxiter: 512,
|
||||
|
@ -1398,13 +1506,13 @@ xaos.mandelbrot = {
|
|||
return this.palette[(maxiter - i) % this.palette.length];
|
||||
}
|
||||
|
||||
zi = ci + (2 * zr * zi);
|
||||
zi = ci + 2 * zr * zi;
|
||||
zr = cr + zr2 - zi2;
|
||||
}
|
||||
|
||||
return this.palette[0];
|
||||
},
|
||||
palette: xaos.defaultPalette()
|
||||
palette: xaos.defaultPalette(),
|
||||
};
|
||||
|
||||
xaos.zoom(document.getElementById("canvas"), xaos.mandelbrot);
|
|
@ -1,53 +1,68 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Games</title>
|
||||
<link rel="stylesheet" href="../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name">Games</h1>
|
||||
<h2 class="project-tagline">Games I programmed or implemented. <br> (Warning: They suck.)</h2>
|
||||
<h2 class="project-tagline">
|
||||
Games I programmed or implemented. <br />
|
||||
(Warning: They suck.)
|
||||
</h2>
|
||||
|
||||
<a href="../../" class="btn">Home</a>
|
||||
</header>
|
||||
|
||||
<main id="content" class="main-content" role="main">
|
||||
|
||||
|
||||
<section id="rps">
|
||||
<h3><a href="./rps/">Rock Paper Scissors 🪨📄✂️<sup>⨳</sup></a></h3>
|
||||
<h3>
|
||||
<a href="./rps/">Rock Paper Scissors 🪨📄✂️<sup>⨳</sup></a>
|
||||
</h3>
|
||||
<code>
|
||||
The first game I ever made! I wrote this when I first began learning Javascript, to be specific I wrote the logic
|
||||
during that time. The game was only playable through the terminal, now its fairly portable and can be integrated
|
||||
into anything.
|
||||
The first game I ever made! I wrote this when I first began learning
|
||||
Javascript, to be specific I wrote the logic during that time. The
|
||||
game was only playable through the terminal, now its fairly portable
|
||||
and can be integrated into anything.
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="es">
|
||||
<h3><a href="./eternal-space/web">Eternal Space<sup>⨳</sup></a></h3>
|
||||
<h3>
|
||||
<a href="./eternal-space/web">Eternal Space<sup>⨳</sup></a>
|
||||
</h3>
|
||||
<code>
|
||||
Currently only playable on a pc, I haven't tried figuring out how to scale down the game lol. I participated in
|
||||
the Opera GX + GameMaker game jam and created this monstrosity. The game jam was alien themed, however I never got
|
||||
that far. Before taking part in this game jam I have never programmed an actual game nor have been in a game jam.
|
||||
I learned how to program in GameMaker Language (basically Javascript) during the event.
|
||||
Currently only playable on a pc, I haven't tried figuring out how to
|
||||
scale down the game lol. I participated in the Opera GX + GameMaker
|
||||
game jam and created this monstrosity. The game jam was alien themed,
|
||||
however I never got that far. Before taking part in this game jam I
|
||||
have never programmed an actual game nor have been in a game jam. I
|
||||
learned how to program in GameMaker Language (basically Javascript)
|
||||
during the event.
|
||||
</code>
|
||||
</section>
|
||||
|
||||
<br>
|
||||
<br />
|
||||
|
||||
<section id="fractal">
|
||||
<h3><a href="./fractal/">Fractal<sup>⨳</sup></a></h3>
|
||||
<h3>
|
||||
<a href="./fractal/">Fractal<sup>⨳</sup></a>
|
||||
</h3>
|
||||
<code>
|
||||
Interactive Javascript real-time fractal renderer using XaoS.js. Works best on a PC.
|
||||
Interactive Javascript real-time fractal renderer using XaoS.js. Works
|
||||
best on a PC.
|
||||
</code>
|
||||
</section>
|
||||
|
||||
|
@ -63,5 +78,4 @@
|
|||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Rock Paper Scissors</title>
|
||||
<link rel="stylesheet" href="../../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -45,5 +48,4 @@
|
|||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,19 +1,24 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>My Projects</title>
|
||||
<link rel="stylesheet" href="../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name">My Projects</h1>
|
||||
<h2 class="project-tagline">Programs and apps that I have coded and random ideas that I fabricated.</h2>
|
||||
<h2 class="project-tagline">
|
||||
Programs and apps that I have coded and random ideas that I fabricated.
|
||||
</h2>
|
||||
|
||||
<a href="../../" class="btn">Home</a>
|
||||
</header>
|
||||
|
@ -30,27 +35,23 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>Dark New Roman</td>
|
||||
<td>A custom serif font based off of Times New Roman.</td>
|
||||
<td>
|
||||
A custom serif font based off of Times New Roman.
|
||||
</td>
|
||||
<td>
|
||||
<a href="../../res/downloads/DarkNewRoman.ttf">Download font (truetype 28.9 KiB)</a>
|
||||
<a href="../../res/downloads/DarkNewRoman.ttf"
|
||||
>Download font (truetype 28.9 KiB)</a
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>IP address gabber</td>
|
||||
<td>
|
||||
Grabs your IPv4 (Internet Protocol) Address.
|
||||
</td>
|
||||
<td>Grabs your IPv4 (Internet Protocol) Address.</td>
|
||||
<td>
|
||||
<a href="./ip-grabber/">ip-grabber<sup>⨳</sup></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Number System Converter (web)</td>
|
||||
<td>
|
||||
Converts decimal numbers into other bases!
|
||||
</td>
|
||||
<td>Converts decimal numbers into other bases!</td>
|
||||
<td>
|
||||
<a href="./nsc-web/">nsc-web<sup>⨳</sup></a>
|
||||
</td>
|
||||
|
@ -58,8 +59,8 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
|
@ -72,29 +73,28 @@
|
|||
<tbody>
|
||||
<tr>
|
||||
<td>Firefox black & red triangle theme</td>
|
||||
<td>
|
||||
A red and black theme for firefox tabs.
|
||||
</td>
|
||||
<td>A red and black theme for firefox tabs.</td>
|
||||
<td>
|
||||
<a
|
||||
href="https://addons.mozilla.org/en-US/firefox/addon/black-red-triangle-theme">https://addons.mozilla.org/en-US/firefox/addon/black-red-triangle-theme/</a>
|
||||
href="https://addons.mozilla.org/en-US/firefox/addon/black-red-triangle-theme"
|
||||
>https://addons.mozilla.org/en-US/firefox/addon/black-red-triangle-theme/</a
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RGB Progress Bar</td>
|
||||
<td>Makes progress bars cycle through different RGB colors.</td>
|
||||
<td>
|
||||
Makes progress bars cycle through different RGB colors.
|
||||
</td>
|
||||
<td>
|
||||
<a
|
||||
href="https://addons.mozilla.org/addon/rgb-progress-bar/">https://addons.mozilla.org/addon/rgb-progress-bar/</a>
|
||||
<a href="https://addons.mozilla.org/addon/rgb-progress-bar/"
|
||||
>https://addons.mozilla.org/addon/rgb-progress-bar/</a
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
|
@ -125,5 +125,4 @@
|
|||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>IP Grabber</title>
|
||||
<link rel="stylesheet" href="../../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
<style>
|
||||
.align-center {
|
||||
text-align: center;
|
||||
|
@ -29,29 +32,41 @@
|
|||
<h3>Grab an IP with the link below!</h3>
|
||||
<p>
|
||||
<a href="http://surprise.arrayinamatrix.xyz">Grabber Link</a>
|
||||
<br>
|
||||
If the link doesn't work, please use the public IPv4 of this website with port 3030 (i.e. #.#.#.#:3030). Also make sure the link is <code>http</code> and not <code>https</code>. For some reason, using the public ip works 100% of the time and the subdomain isn't reliable, I'll figure it out soon.
|
||||
<br />
|
||||
If the link doesn't work, please use the public IPv4 of this website
|
||||
with port 3030 (i.e. #.#.#.#:3030). Also make sure the link is
|
||||
<code>http</code> and not <code>https</code>. For some reason, using
|
||||
the public ip works 100% of the time and the subdomain isn't reliable,
|
||||
I'll figure it out soon.
|
||||
</p>
|
||||
</section>
|
||||
<section id="logged">
|
||||
<h3>Recently Logged:</h3>
|
||||
<object data="../../../res/downloads/ip-addresses.log" type="text/plain">
|
||||
<a href="../../../res/downloads/ip-addresses.log">Embed not showing? Download here.</a>
|
||||
<object
|
||||
data="../../../res/downloads/ip-addresses.log"
|
||||
type="text/plain"
|
||||
>
|
||||
<a href="../../../res/downloads/ip-addresses.log"
|
||||
>Embed not showing? Download here.</a
|
||||
>
|
||||
</object>
|
||||
</section>
|
||||
<section id="about">
|
||||
<h3>Why?</h3>
|
||||
<p>
|
||||
I never created an app that uses both server-side and frontend code, so this is a learning experience.
|
||||
I never created an app that uses both server-side and frontend code,
|
||||
so this is a learning experience.
|
||||
</p>
|
||||
</section>
|
||||
<p class="align-center">
|
||||
<img src="../../../res/site/images/trollface.gif" alt="You mad bro?, Problem?" />
|
||||
<img
|
||||
src="../../../res/site/images/trollface.gif"
|
||||
alt="You mad bro?, Problem?"
|
||||
/>
|
||||
</p>
|
||||
<footer class="site-footer">
|
||||
You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,13 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Number System Converter</title>
|
||||
<link rel="stylesheet" href="../../../style/style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
<script src="./script/script.js"></script>
|
||||
<style>
|
||||
input {
|
||||
|
@ -29,19 +32,47 @@
|
|||
<section>
|
||||
<h3>Enter a decimal number to convert and a base.</h3>
|
||||
<form>
|
||||
<label for="number">Number:</label><br>
|
||||
<input name="number" id="number" type="text" step="1" onChange="numberSystemConverter();">
|
||||
<br>
|
||||
<label for="base">Base (Range 2-36):</label><br>
|
||||
<input name="base" id="base" type="number" value="10" step="1" min="2" max="36"
|
||||
onChange="numberSystemConverter();">
|
||||
<br>
|
||||
<label for="new-base">New base (Range 2-36):</label><br>
|
||||
<input name="new-base" id="new-base" type="number" value="2" step="1" min="2" max="36"
|
||||
onChange="numberSystemConverter();">
|
||||
<br>
|
||||
<label for="converted">Converted number:</label><br>
|
||||
<input name="converted" id="converted" type="text" disabled="true" onChange="numberSystemConverter();">
|
||||
<label for="number">Number:</label><br />
|
||||
<input
|
||||
name="number"
|
||||
id="number"
|
||||
type="text"
|
||||
step="1"
|
||||
onChange="numberSystemConverter();"
|
||||
/>
|
||||
<br />
|
||||
<label for="base">Base (Range 2-36):</label><br />
|
||||
<input
|
||||
name="base"
|
||||
id="base"
|
||||
type="number"
|
||||
value="10"
|
||||
step="1"
|
||||
min="2"
|
||||
max="36"
|
||||
onChange="numberSystemConverter();"
|
||||
/>
|
||||
<br />
|
||||
<label for="new-base">New base (Range 2-36):</label><br />
|
||||
<input
|
||||
name="new-base"
|
||||
id="new-base"
|
||||
type="number"
|
||||
value="2"
|
||||
step="1"
|
||||
min="2"
|
||||
max="36"
|
||||
onChange="numberSystemConverter();"
|
||||
/>
|
||||
<br />
|
||||
<label for="converted">Converted number:</label><br />
|
||||
<input
|
||||
name="converted"
|
||||
id="converted"
|
||||
type="text"
|
||||
disabled="true"
|
||||
onChange="numberSystemConverter();"
|
||||
/>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
|
@ -50,5 +81,4 @@
|
|||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,22 +1,19 @@
|
|||
numberSystemConverter();
|
||||
function numberSystemConverter() {
|
||||
|
||||
let num = document.getElementById('number').value;
|
||||
let base = document.getElementById('base').value;
|
||||
let new_base = document.getElementById('new-base').value;
|
||||
let num = document.getElementById("number").value;
|
||||
let base = document.getElementById("base").value;
|
||||
let new_base = document.getElementById("new-base").value;
|
||||
|
||||
base = parseInt(base);
|
||||
new_base = parseInt(new_base);
|
||||
|
||||
try {
|
||||
|
||||
let dec_num = parseInt(num, base);
|
||||
let new_num = dec_num.toString(new_base);
|
||||
|
||||
document.getElementById('converted').value = new_num;
|
||||
document.getElementById("converted").value = new_num;
|
||||
console.log(`BASE ${base}: ${num} ==> BASE ${new_base}: ${new_num}`);
|
||||
|
||||
} catch (RangeError) {
|
||||
console.log(`One or more bases is not in the range of 2 to 36.`);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,21 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Socials</title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" crossorigin="anonymous">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link rel="stylesheet" type="text/css" href="../../style/alt.style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name"> My Socials
|
||||
</h1>
|
||||
<h1 class="project-name">My Socials</h1>
|
||||
<h2 class="project-tagline">You can contact me here. ∠( ᐛ 」∠)_</h2>
|
||||
</header>
|
||||
<div class="main-content">
|
||||
|
@ -23,21 +29,33 @@
|
|||
<a href="../../" class="btn">Home</a>
|
||||
</nav>
|
||||
<nav>
|
||||
<a href="https://github.com/array-in-a-matrix" class="btn"><i class="fa fa-github"></i> GitHub</a>
|
||||
<a href="https://git.arrayinamatrix.xyz/array-in-a-matrix" class="btn"><i class="fa fa-gitea"
|
||||
aria-hidden="true"></i> Gitea</a>
|
||||
<a href="https://gitlab.com/array.in.a.matrix" class="btn"><i class="fa fa-gitlab"></i> GitLab</a>
|
||||
<a href="https://crowdin.com/profile/array.in.a.matrix" class="btn"><i class="fa fa-question-circle"></i>
|
||||
Crowdin</a> <!-- temporary icon until a free icon for it is available in fork awesome -->
|
||||
<a href="https://github.com/array-in-a-matrix" class="btn"
|
||||
><i class="fa fa-github"></i> GitHub</a
|
||||
>
|
||||
<a href="https://git.arrayinamatrix.xyz/array-in-a-matrix" class="btn"
|
||||
><i class="fa fa-gitea" aria-hidden="true"></i> Gitea</a
|
||||
>
|
||||
<a href="https://gitlab.com/array.in.a.matrix" class="btn"
|
||||
><i class="fa fa-gitlab"></i> GitLab</a
|
||||
>
|
||||
<a href="https://crowdin.com/profile/array.in.a.matrix" class="btn"
|
||||
><i class="fa fa-question-circle"></i> Crowdin</a
|
||||
>
|
||||
<!-- temporary icon until a free icon for it is available in fork awesome -->
|
||||
</nav>
|
||||
<nav>
|
||||
<a href="../apps/matrix/" class="btn"><i class="fa fa-matrix-org"></i> Matrix</a>
|
||||
<a href="https://www.instagram.com/array.in.a.matrix/" class="btn"><i class="fa fa-instagram"></i>
|
||||
Instagram</a>
|
||||
<a href="https://cadence.moe/blog/2020-06-06-why-you-shouldnt-trust-discord" class="btn"><i
|
||||
class="fa fa-discord"></i> Discord</a>
|
||||
<a href="../apps/matrix/" class="btn"
|
||||
><i class="fa fa-matrix-org"></i> Matrix</a
|
||||
>
|
||||
<a href="https://www.instagram.com/array.in.a.matrix/" class="btn"
|
||||
><i class="fa fa-instagram"></i> Instagram</a
|
||||
>
|
||||
<a
|
||||
href="https://cadence.moe/blog/2020-06-06-why-you-shouldnt-trust-discord"
|
||||
class="btn"
|
||||
><i class="fa fa-discord"></i> Discord</a
|
||||
>
|
||||
</nav>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,15 +1,22 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Webrings</title>
|
||||
<link rel="stylesheet" href="../../style/style.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY=" crossorigin="anonymous">
|
||||
<link rel="icon" type="image/x-icon" href="../../res/site/icons/favicon.ico">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/fork-awesome@1.2.0/css/fork-awesome.min.css"
|
||||
integrity="sha256-XoaMnoYC5TH6/+ihMEnospgm0J1PM/nioxbOUdnM8HY="
|
||||
crossorigin="anonymous"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/x-icon"
|
||||
href="../../res/site/icons/favicon.ico"
|
||||
/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -22,83 +29,151 @@
|
|||
</header>
|
||||
|
||||
<main id="content" class="main-content" role="main">
|
||||
<h3><a href="https://wikiless.org/wiki/Webring?lang=en">What is a webring?</a></h3>
|
||||
A webring is a collection of sites that chained to each other where if you follow a link from one site and keep
|
||||
going up the ring you will eventually find the site you started from.
|
||||
<h3>
|
||||
<a href="https://wikiless.org/wiki/Webring?lang=en"
|
||||
>What is a webring?</a
|
||||
>
|
||||
</h3>
|
||||
A webring is a collection of sites that chained to each other where if you
|
||||
follow a link from one site and keep going up the ring you will eventually
|
||||
find the site you started from.
|
||||
|
||||
<br>
|
||||
<hr>
|
||||
<br>
|
||||
<br />
|
||||
<hr />
|
||||
<br />
|
||||
|
||||
<div>
|
||||
|
||||
<div class="grid">
|
||||
<section class="grid-item zoom" id="yesterweb">
|
||||
<div class="yw-widget-full" data-yw-url="https://arrayinamatrix.xyz"></div>
|
||||
<div
|
||||
class="yw-widget-full"
|
||||
data-yw-url="https://arrayinamatrix.xyz"
|
||||
></div>
|
||||
<script src="https://yesterweb.org/js/widget.js"></script>
|
||||
</section>
|
||||
<section class="grid-item zoom" id="retronaut" style="text-align: center;">
|
||||
<section
|
||||
class="grid-item zoom"
|
||||
id="retronaut"
|
||||
style="text-align: center"
|
||||
>
|
||||
Retronaut
|
||||
<br>
|
||||
<a href='https://webring.dinhe.net/prev/https://arrayinamatrix.xyz'>Previous</a>
|
||||
<br />
|
||||
<a href="https://webring.dinhe.net/prev/https://arrayinamatrix.xyz"
|
||||
>Previous</a
|
||||
>
|
||||
<a href="https://webring.dinhe.net/random">Random</a>
|
||||
<a href='https://webring.dinhe.net/next/https://arrayinamatrix.xyz'>Next</a>
|
||||
<a href="https://webring.dinhe.net/next/https://arrayinamatrix.xyz"
|
||||
>Next</a
|
||||
>
|
||||
</section>
|
||||
<section class="grid-item zoom" id="hotline" style="text-align: center;">
|
||||
<section
|
||||
class="grid-item zoom"
|
||||
id="hotline"
|
||||
style="text-align: center"
|
||||
>
|
||||
Hotline
|
||||
<br>
|
||||
<a href='https://hotlinewebring.club/arrayinamatrix/previous'>Previous</a>
|
||||
<a href='https://hotlinewebring.club/arrayinamatrix/next'>Next</a>
|
||||
<br />
|
||||
<a href="https://hotlinewebring.club/arrayinamatrix/previous"
|
||||
>Previous</a
|
||||
>
|
||||
<a href="https://hotlinewebring.club/arrayinamatrix/next">Next</a>
|
||||
</section>
|
||||
<section class="grid-item zoom" id="tilde" style="text-align: center;">
|
||||
<img src="http://tilde.club/~harper/webring.png" border="0" usemap="#notepad.map">
|
||||
<section class="grid-item zoom" id="tilde" style="text-align: center">
|
||||
<img
|
||||
src="http://tilde.club/~harper/webring.png"
|
||||
border="0"
|
||||
usemap="#notepad.map"
|
||||
/>
|
||||
Click for the [
|
||||
<a href="http://tilde.club/~harper/link.html?action=random" target="_top">Random page</a> ]
|
||||
<br>
|
||||
<a
|
||||
href="http://tilde.club/~harper/link.html?action=random"
|
||||
target="_top"
|
||||
>Random page</a
|
||||
>
|
||||
]
|
||||
<br />
|
||||
Want to join the ring? Click here for
|
||||
<a href="http://tilde.club/~harper/link.html?action=info" target="_top">info</a>.
|
||||
<a
|
||||
href="http://tilde.club/~harper/link.html?action=info"
|
||||
target="_top"
|
||||
>info</a
|
||||
>.
|
||||
<map name="notepad.map">
|
||||
<area shape="rect" coords="0, 0, 60, 70" target="_top"
|
||||
href="http://tilde.club/~harper/link.html?action=join">
|
||||
<area shape="rect" coords="130, 0, 417, 75" target="_top"
|
||||
href="http://tilde.club/~harper/link.html?action=random">
|
||||
<area shape="rect" coords="465, 0, 549, 75" target="_top"
|
||||
href="http://tilde.club/~harper/link.html?action=join">
|
||||
<area
|
||||
shape="rect"
|
||||
coords="0, 0, 60, 70"
|
||||
target="_top"
|
||||
href="http://tilde.club/~harper/link.html?action=join"
|
||||
/>
|
||||
<area
|
||||
shape="rect"
|
||||
coords="130, 0, 417, 75"
|
||||
target="_top"
|
||||
href="http://tilde.club/~harper/link.html?action=random"
|
||||
/>
|
||||
<area
|
||||
shape="rect"
|
||||
coords="465, 0, 549, 75"
|
||||
target="_top"
|
||||
href="http://tilde.club/~harper/link.html?action=join"
|
||||
/>
|
||||
</map>
|
||||
</section>
|
||||
<section class="grid-item zoom" id="octoring">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="https://octo-ring.com/"><img
|
||||
src="https://octo-ring.com/static/img/widget/top.png" width="99%"
|
||||
alt="Octo Ring logo" align="top"></a><br><a
|
||||
href="https://octo-ring.com/p/array-in-a-matrix/prev"><img
|
||||
src="https://octo-ring.com/static/img/widget/prev.png" width="33%"
|
||||
alt="previous" align="top" title="previous profile"></a><a
|
||||
href="https://octo-ring.com/p/array-in-a-matrix/random"><img
|
||||
src="https://octo-ring.com/static/img/widget/random.png" width="33%"
|
||||
alt="random" align="top" title="random profile"></a><a
|
||||
href="https://octo-ring.com/p/array-in-a-matrix/next"><img
|
||||
src="https://octo-ring.com/static/img/widget/next.png" width="33%"
|
||||
alt="next" align="top" title="next profile"></a><br><a
|
||||
href="https://octo-ring.com/"><img
|
||||
src="https://octo-ring.com/static/img/widget/bottom.png" width="99%"
|
||||
alt="check out other GitHub profiles in the Octo Ring" align="top"></a></td>
|
||||
<td>
|
||||
<a href="https://octo-ring.com/"
|
||||
><img
|
||||
src="https://octo-ring.com/static/img/widget/top.png"
|
||||
width="99%"
|
||||
alt="Octo Ring logo"
|
||||
align="top" /></a
|
||||
><br /><a
|
||||
href="https://octo-ring.com/p/array-in-a-matrix/prev"
|
||||
><img
|
||||
src="https://octo-ring.com/static/img/widget/prev.png"
|
||||
width="33%"
|
||||
alt="previous"
|
||||
align="top"
|
||||
title="previous profile" /></a
|
||||
><a href="https://octo-ring.com/p/array-in-a-matrix/random"
|
||||
><img
|
||||
src="https://octo-ring.com/static/img/widget/random.png"
|
||||
width="33%"
|
||||
alt="random"
|
||||
align="top"
|
||||
title="random profile" /></a
|
||||
><a href="https://octo-ring.com/p/array-in-a-matrix/next"
|
||||
><img
|
||||
src="https://octo-ring.com/static/img/widget/next.png"
|
||||
width="33%"
|
||||
alt="next"
|
||||
align="top"
|
||||
title="next profile" /></a
|
||||
><br /><a href="https://octo-ring.com/"
|
||||
><img
|
||||
src="https://octo-ring.com/static/img/widget/bottom.png"
|
||||
width="99%"
|
||||
alt="check out other GitHub profiles in the Octo Ring"
|
||||
align="top"
|
||||
/></a>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<div </div>
|
||||
<div
|
||||
</div>
|
||||
<footer class="site-footer">
|
||||
You have reached the end of the page. (ノ◕ヮ◕)ノ*:・゚✧
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
5
package.json
Normal file
5
package.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"devDependencies": {
|
||||
"prettier": "2.8.4"
|
||||
}
|
||||
}
|
17
pnpm-lock.yaml
generated
Normal file
17
pnpm-lock.yaml
generated
Normal file
|
@ -0,0 +1,17 @@
|
|||
lockfileVersion: 5.4
|
||||
|
||||
specifiers:
|
||||
prettier: 2.8.4
|
||||
|
||||
devDependencies:
|
||||
prettier: 2.8.4
|
||||
|
||||
packages:
|
||||
/prettier/2.8.4:
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==,
|
||||
}
|
||||
engines: { node: ">=10.13.0" }
|
||||
hasBin: true
|
||||
dev: true
|
|
@ -1,19 +1,17 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Array in a Matrix</title>
|
||||
<link rel="stylesheet" type="text/css" href="./alt.style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../res/site/icons/favicon.ico">
|
||||
<link rel="icon" type="image/x-icon" href="../res/site/icons/favicon.ico" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header class="page-header" role="banner">
|
||||
<h1 class="project-name"> Project Name
|
||||
</h1>
|
||||
<h1 class="project-name">Project Name</h1>
|
||||
<h2 class="project-tagline">Project tagline</h2>
|
||||
</header>
|
||||
<div class="main-content">
|
||||
|
@ -26,5 +24,4 @@
|
|||
</nav>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -61,7 +61,8 @@ body {
|
|||
font-family: Utopia, "Liberation Serif";
|
||||
text-align: center;
|
||||
/* img size is 50x50 */
|
||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAABbmlDQ1BpY2MAACiRdZE7SwNBFIW/RCWikRRaBLHYQsVCJSiIpcbCJkiICr6aZPMSNuuyu0HEVrCxCFiINr4K/4G2gq2CICiCiI1/wFcjYb2TBBJEZ5m9H2fmXGbOgD9m6AWnOQIF07UT01FtYXFJC7wSIEwnw/iSumNNxuMx/h1f9/hUvRtSvf7f9+doT2ccHXytwmO6ZbvCE8KxdddSvCPcpeeTaeEj4UFbDih8rfRUlV8U56r8odieS0yBX/XUcg2camA9bxeEB4R7C0ZRr51H3SSYMednpXbL7MEhwTRRNFIUWcXAZUiqKZn97YtUfDOsiUeXv8UGtjhy5MU7KGpRumakZkXPyGewoXL/naeTHR2pdg9GoeXZ8977ILAL5ZLnfR97XvkEmp7g0qz71ySn8U/RS3Wt9xBCW3B+VddSe3CxDeFHK2knK1KTTH82C29n0LEInbfQtlzNqrbO6QPMbcoT3cD+AfTL/tDKD92VZ/plHO89AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAuElEQVRoBe3awQ2CQABEUbUEbJEEi5ISpQVETuY38LPkk5gwp9mdx9H7srz2dX3fpul5G/XZts959H2e5/14G/Z3nv+QGPYC/+M/Rv2ceO4uwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+xPhInZOxBZgfyJcxM6J2ALsT4SL2DkRW4D9iXAROydiC7A/ES5i50RsAfYnwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+y8j8rvYJf6v9QVf2KG69fWg3gAAAABJRU5ErkJggg==") repeat 0 0;
|
||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAABbmlDQ1BpY2MAACiRdZE7SwNBFIW/RCWikRRaBLHYQsVCJSiIpcbCJkiICr6aZPMSNuuyu0HEVrCxCFiINr4K/4G2gq2CICiCiI1/wFcjYb2TBBJEZ5m9H2fmXGbOgD9m6AWnOQIF07UT01FtYXFJC7wSIEwnw/iSumNNxuMx/h1f9/hUvRtSvf7f9+doT2ccHXytwmO6ZbvCE8KxdddSvCPcpeeTaeEj4UFbDih8rfRUlV8U56r8odieS0yBX/XUcg2camA9bxeEB4R7C0ZRr51H3SSYMednpXbL7MEhwTRRNFIUWcXAZUiqKZn97YtUfDOsiUeXv8UGtjhy5MU7KGpRumakZkXPyGewoXL/naeTHR2pdg9GoeXZ8977ILAL5ZLnfR97XvkEmp7g0qz71ySn8U/RS3Wt9xBCW3B+VddSe3CxDeFHK2knK1KTTH82C29n0LEInbfQtlzNqrbO6QPMbcoT3cD+AfTL/tDKD92VZ/plHO89AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAuElEQVRoBe3awQ2CQABEUbUEbJEEi5ISpQVETuY38LPkk5gwp9mdx9H7srz2dX3fpul5G/XZts959H2e5/14G/Z3nv+QGPYC/+M/Rv2ceO4uwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+xPhInZOxBZgfyJcxM6J2ALsT4SL2DkRW4D9iXAROydiC7A/ES5i50RsAfYnwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+y8j8rvYJf6v9QVf2KG69fWg3gAAAABJRU5ErkJggg==")
|
||||
repeat 0 0;
|
||||
-webkit-animation: bg-scrolling-reverse 0.92s infinite;
|
||||
/* Safari 4+ */
|
||||
-moz-animation: bg-scrolling-reverse 0.92s infinite;
|
||||
|
@ -88,8 +89,6 @@ body {
|
|||
font-family: "Montserrat", sans-serif;
|
||||
}
|
||||
|
||||
;
|
||||
|
||||
.project-name {
|
||||
color: --primary;
|
||||
font-family: Utopia, "Liberation Serif";
|
||||
|
@ -204,16 +203,16 @@ select,
|
|||
textarea {
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
margin: 0
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
button {
|
||||
overflow: visible
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
|
@ -221,21 +220,20 @@ html input[type="button"],
|
|||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
cursor: pointer
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
.dropdown {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
|
@ -259,23 +257,24 @@ input::-moz-focus-inner {
|
|||
|
||||
@media screen and (min-width: 64em) {
|
||||
.project-tagline {
|
||||
font-size: 1.25rem
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42em) and (max-width: 64em) {
|
||||
.project-tagline {
|
||||
font-size: 1.15rem
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 42em) {
|
||||
.project-tagline {
|
||||
font-size: 1rem
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
footer, site-footer {
|
||||
footer,
|
||||
site-footer {
|
||||
font-family: "Montserrat", sans-serif;
|
||||
font-size: small;
|
||||
display: block;
|
||||
|
@ -283,19 +282,19 @@ footer, site-footer {
|
|||
|
||||
@media screen and (min-width: 64em) {
|
||||
.site-footer {
|
||||
font-size: 1rem
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42em) and (max-width: 64em) {
|
||||
.site-footer {
|
||||
font-size: 1rem
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 42em) {
|
||||
.site-footer {
|
||||
font-size: 0.9rem
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -304,13 +303,13 @@ sup {
|
|||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em
|
||||
bottom: -0.25em;
|
||||
}
|
|
@ -1,13 +1,12 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Dark Matrix</title>
|
||||
<link rel="stylesheet" href="./style.css" />
|
||||
<link rel="icon" type="image/x-icon" href="../res/site/icons/favicon.ico">
|
||||
<link rel="icon" type="image/x-icon" href="../res/site/icons/favicon.ico" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -56,7 +55,9 @@
|
|||
|
||||
<div class="language-js highlighter-rouge">
|
||||
<div class="highlight">
|
||||
<pre class="highlight"><code><span class="c1">// Javascript code with syntax highlighting.</span>
|
||||
<pre
|
||||
class="highlight"
|
||||
><code><span class="c1">// Javascript code with syntax highlighting.</span>
|
||||
<span class="kd">var</span> <span class="nx">fun</span> <span class="o">=</span> <span class="kd">function</span> <span class="nx">lang</span><span class="p">(</span><span class="nx">l</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="nx">dateformat</span><span class="p">.</span><span class="nx">i18n</span> <span class="o">=</span> <span class="nx">require</span><span class="p">(</span><span class="dl">'</span><span class="s1">./lang/</span><span class="dl">'</span> <span class="o">+</span> <span class="nx">l</span><span class="p">)</span>
|
||||
<span class="k">return</span> <span class="kc">true</span><span class="p">;</span>
|
||||
|
@ -67,7 +68,9 @@
|
|||
|
||||
<div class="language-ruby highlighter-rouge">
|
||||
<div class="highlight">
|
||||
<pre class="highlight"><code><span class="c1"># Ruby code with syntax highlighting</span>
|
||||
<pre
|
||||
class="highlight"
|
||||
><code><span class="c1"># Ruby code with syntax highlighting</span>
|
||||
<span class="no">GitHubPages</span><span class="o">::</span><span class="no">Dependencies</span><span class="p">.</span><span class="nf">gems</span><span class="p">.</span><span class="nf">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">gem</span><span class="p">,</span> <span class="n">version</span><span class="o">|</span>
|
||||
<span class="n">s</span><span class="p">.</span><span class="nf">add_dependency</span><span class="p">(</span><span class="n">gem</span><span class="p">,</span> <span class="s2">"= </span><span class="si">#{</span><span class="n">version</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||||
<span class="k">end</span>
|
||||
|
@ -193,13 +196,19 @@
|
|||
<h3 id="small-image">Small image</h3>
|
||||
|
||||
<p>
|
||||
<img src="https://github.githubassets.com/images/icons/emoji/octocat.png" alt="Octocat" />
|
||||
<img
|
||||
src="https://github.githubassets.com/images/icons/emoji/octocat.png"
|
||||
alt="Octocat"
|
||||
/>
|
||||
</p>
|
||||
|
||||
<h3 id="large-image">Large image</h3>
|
||||
|
||||
<p>
|
||||
<img src="https://guides.github.com/activities/hello-world/branching.png" alt="Branching" />
|
||||
<img
|
||||
src="https://guides.github.com/activities/hello-world/branching.png"
|
||||
alt="Branching"
|
||||
/>
|
||||
</p>
|
||||
|
||||
<h3 id="definition-lists-can-be-used-with-html-syntax">
|
||||
|
@ -219,7 +228,9 @@
|
|||
|
||||
<div class="language-plaintext highlighter-rouge">
|
||||
<div class="highlight">
|
||||
<pre class="highlight"><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
|
||||
<pre
|
||||
class="highlight"
|
||||
><code>Long, single-line code blocks should not wrap. They should horizontally scroll if they are too long. This line should be long enough to demonstrate this.
|
||||
</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -232,14 +243,18 @@
|
|||
</div>
|
||||
|
||||
<footer class="site-footer">
|
||||
<span class="site-footer-owner">Based off of <a href="https://github.com/pages-themes/cayman">cayman</a>
|
||||
<span class="site-footer-owner"
|
||||
>Based off of
|
||||
<a href="https://github.com/pages-themes/cayman">cayman</a>
|
||||
by
|
||||
<a href="https://github.com/pages-themes">pages-themes</a>.</span>
|
||||
<a href="https://github.com/pages-themes">pages-themes</a>.</span
|
||||
>
|
||||
|
||||
<span class="site-footer-credits">This page was generated by
|
||||
<a href="https://arrayinamatrix.xyz/">Array in a Matrix</a>.</span>
|
||||
<span class="site-footer-credits"
|
||||
>This page was generated by
|
||||
<a href="https://arrayinamatrix.xyz/">Array in a Matrix</a>.</span
|
||||
>
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
|
||||
</html>
|
195
style/style.css
195
style/style.css
|
@ -4,11 +4,11 @@
|
|||
html {
|
||||
font-family: "Montserrat", sans-serif;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
article,
|
||||
|
@ -24,7 +24,7 @@ menu,
|
|||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block
|
||||
display: block;
|
||||
}
|
||||
|
||||
audio,
|
||||
|
@ -32,53 +32,53 @@ canvas,
|
|||
progress,
|
||||
video {
|
||||
display: inline-block;
|
||||
vertical-align: baseline
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0
|
||||
height: 0;
|
||||
}
|
||||
|
||||
[hidden],
|
||||
template {
|
||||
display: none
|
||||
display: none;
|
||||
}
|
||||
|
||||
a {
|
||||
background-color: transparent
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000
|
||||
color: #000;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
sub,
|
||||
|
@ -86,36 +86,36 @@ sup {
|
|||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0
|
||||
border: 0;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 1em 40px
|
||||
margin: 1em 40px;
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0
|
||||
height: 0;
|
||||
}
|
||||
|
||||
pre {
|
||||
overflow: auto
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
code,
|
||||
|
@ -123,7 +123,7 @@ kbd,
|
|||
pre,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
button,
|
||||
|
@ -133,16 +133,16 @@ select,
|
|||
textarea {
|
||||
color: inherit;
|
||||
font: inherit;
|
||||
margin: 0
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
button {
|
||||
overflow: visible
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
|
@ -150,76 +150,76 @@ html input[type="button"],
|
|||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
cursor: pointer
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input {
|
||||
line-height: normal
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type="number"]::-webkit-inner-spin-button,
|
||||
input[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto
|
||||
height: auto;
|
||||
}
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield;
|
||||
box-sizing: content-box
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
legend {
|
||||
border: 0;
|
||||
padding: 0
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
optgroup {
|
||||
font-weight: bold
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
|
@ -228,7 +228,7 @@ body {
|
|||
font-family: "Montserrat", sans-serif;
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
color: #606c71
|
||||
color: #606c71;
|
||||
}
|
||||
|
||||
#skip-to-content {
|
||||
|
@ -236,7 +236,7 @@ body {
|
|||
width: 1px;
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
top: -10px
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
#skip-to-content:focus {
|
||||
|
@ -246,16 +246,16 @@ body {
|
|||
height: auto;
|
||||
width: auto;
|
||||
background: #e19447;
|
||||
outline: thick solid #e19447
|
||||
outline: thick solid #e19447;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #1e6bb8;
|
||||
text-decoration: none
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.btn {
|
||||
|
@ -267,30 +267,30 @@ a:hover {
|
|||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-radius: 0.3rem;
|
||||
transition: color 0.2s, background-color 0.2s, border-color 0.2s
|
||||
transition: color 0.2s, background-color 0.2s, border-color 0.2s;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
text-decoration: none;
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
border-color: rgba(255, 255, 255, 0.3)
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.btn + .btn {
|
||||
margin-left: 1rem
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 64em) {
|
||||
.btn {
|
||||
padding: 0.75rem 1rem
|
||||
padding: 0.75rem 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42em) and (max-width: 64em) {
|
||||
.btn {
|
||||
padding: 0.6rem 0.9rem;
|
||||
font-size: 0.9rem
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -299,12 +299,12 @@ a:hover {
|
|||
display: block;
|
||||
width: 100%;
|
||||
padding: 0.75rem;
|
||||
font-size: 0.9rem
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.btn + .btn {
|
||||
margin-top: 1rem;
|
||||
margin-left: 0
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -362,7 +362,8 @@ a:hover {
|
|||
}
|
||||
|
||||
body {
|
||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAABbmlDQ1BpY2MAACiRdZE7SwNBFIW/RCWikRRaBLHYQsVCJSiIpcbCJkiICr6aZPMSNuuyu0HEVrCxCFiINr4K/4G2gq2CICiCiI1/wFcjYb2TBBJEZ5m9H2fmXGbOgD9m6AWnOQIF07UT01FtYXFJC7wSIEwnw/iSumNNxuMx/h1f9/hUvRtSvf7f9+doT2ccHXytwmO6ZbvCE8KxdddSvCPcpeeTaeEj4UFbDih8rfRUlV8U56r8odieS0yBX/XUcg2camA9bxeEB4R7C0ZRr51H3SSYMednpXbL7MEhwTRRNFIUWcXAZUiqKZn97YtUfDOsiUeXv8UGtjhy5MU7KGpRumakZkXPyGewoXL/naeTHR2pdg9GoeXZ8977ILAL5ZLnfR97XvkEmp7g0qz71ySn8U/RS3Wt9xBCW3B+VddSe3CxDeFHK2knK1KTTH82C29n0LEInbfQtlzNqrbO6QPMbcoT3cD+AfTL/tDKD92VZ/plHO89AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAuElEQVRoBe3awQ2CQABEUbUEbJEEi5ISpQVETuY38LPkk5gwp9mdx9H7srz2dX3fpul5G/XZts959H2e5/14G/Z3nv+QGPYC/+M/Rv2ceO4uwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+xPhInZOxBZgfyJcxM6J2ALsT4SL2DkRW4D9iXAROydiC7A/ES5i50RsAfYnwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+y8j8rvYJf6v9QVf2KG69fWg3gAAAABJRU5ErkJggg==") repeat 0 0;
|
||||
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAABbmlDQ1BpY2MAACiRdZE7SwNBFIW/RCWikRRaBLHYQsVCJSiIpcbCJkiICr6aZPMSNuuyu0HEVrCxCFiINr4K/4G2gq2CICiCiI1/wFcjYb2TBBJEZ5m9H2fmXGbOgD9m6AWnOQIF07UT01FtYXFJC7wSIEwnw/iSumNNxuMx/h1f9/hUvRtSvf7f9+doT2ccHXytwmO6ZbvCE8KxdddSvCPcpeeTaeEj4UFbDih8rfRUlV8U56r8odieS0yBX/XUcg2camA9bxeEB4R7C0ZRr51H3SSYMednpXbL7MEhwTRRNFIUWcXAZUiqKZn97YtUfDOsiUeXv8UGtjhy5MU7KGpRumakZkXPyGewoXL/naeTHR2pdg9GoeXZ8977ILAL5ZLnfR97XvkEmp7g0qz71ySn8U/RS3Wt9xBCW3B+VddSe3CxDeFHK2knK1KTTH82C29n0LEInbfQtlzNqrbO6QPMbcoT3cD+AfTL/tDKD92VZ/plHO89AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAuElEQVRoBe3awQ2CQABEUbUEbJEEi5ISpQVETuY38LPkk5gwp9mdx9H7srz2dX3fpul5G/XZts959H2e5/14G/Z3nv+QGPYC/+M/Rv2ceO4uwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+xPhInZOxBZgfyJcxM6J2ALsT4SL2DkRW4D9iXAROydiC7A/ES5i50RsAfYnwkXsnIgtwP5EuIidE7EF2J8IF7FzIrYA+y8j8rvYJf6v9QVf2KG69fWg3gAAAABJRU5ErkJggg==")
|
||||
repeat 0 0;
|
||||
-webkit-animation: bg-scrolling-reverse 0.92s infinite;
|
||||
/* Safari 4+ */
|
||||
-moz-animation: bg-scrolling-reverse 0.92s infinite;
|
||||
|
@ -379,66 +380,66 @@ body {
|
|||
|
||||
@media screen and (min-width: 64em) {
|
||||
.page-header {
|
||||
padding: 5rem 6rem
|
||||
padding: 5rem 6rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42em) and (max-width: 64em) {
|
||||
.page-header {
|
||||
padding: 3rem 4rem
|
||||
padding: 3rem 4rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 42em) {
|
||||
.page-header {
|
||||
padding: 2rem 1rem
|
||||
padding: 2rem 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.project-name {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.1rem
|
||||
margin-bottom: 0.1rem;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 64em) {
|
||||
.project-name {
|
||||
font-size: 3.25rem
|
||||
font-size: 3.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42em) and (max-width: 64em) {
|
||||
.project-name {
|
||||
font-size: 2.25rem
|
||||
font-size: 2.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 42em) {
|
||||
.project-name {
|
||||
font-size: 1.75rem
|
||||
font-size: 1.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
.project-tagline {
|
||||
margin-bottom: 2rem;
|
||||
font-weight: normal;
|
||||
opacity: 0.7
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 64em) {
|
||||
.project-tagline {
|
||||
font-size: 1.25rem
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42em) and (max-width: 64em) {
|
||||
.project-tagline {
|
||||
font-size: 1.15rem
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 42em) {
|
||||
.project-tagline {
|
||||
font-size: 1rem
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -448,7 +449,7 @@ body {
|
|||
}
|
||||
|
||||
.main-content :first-child {
|
||||
margin-top: 0
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 64em) {
|
||||
|
@ -456,21 +457,21 @@ body {
|
|||
max-width: 64rem;
|
||||
padding: 2rem 6rem;
|
||||
margin: 0 auto;
|
||||
font-size: 1.1rem
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42em) and (max-width: 64em) {
|
||||
.main-content {
|
||||
padding: 2rem 4rem;
|
||||
font-size: 1.1rem
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 42em) {
|
||||
.main-content {
|
||||
padding: 2rem 1rem;
|
||||
font-size: 1rem
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -485,11 +486,11 @@ body {
|
|||
font-size: 11px;
|
||||
line-height: 10px;
|
||||
padding: 3px 5px;
|
||||
vertical-align: middle
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.main-content img {
|
||||
max-width: 100%
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.main-content h1,
|
||||
|
@ -505,7 +506,7 @@ body {
|
|||
}
|
||||
|
||||
.main-content p {
|
||||
margin-bottom: 1em
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.main-content code {
|
||||
|
@ -514,7 +515,7 @@ body {
|
|||
font-size: 0.9rem;
|
||||
color: #567482;
|
||||
background-color: #f3f6fa;
|
||||
border-radius: 0.3rem
|
||||
border-radius: 0.3rem;
|
||||
}
|
||||
|
||||
.main-content pre {
|
||||
|
@ -526,7 +527,7 @@ body {
|
|||
word-wrap: normal;
|
||||
background-color: #f3f6fa;
|
||||
border: solid 1px #dce6f0;
|
||||
border-radius: 0.3rem
|
||||
border-radius: 0.3rem;
|
||||
}
|
||||
|
||||
.main-content pre > code {
|
||||
|
@ -537,16 +538,16 @@ body {
|
|||
word-break: normal;
|
||||
white-space: pre;
|
||||
background: transparent;
|
||||
border: 0
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.main-content .highlight {
|
||||
margin-bottom: 1rem
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.main-content .highlight pre {
|
||||
margin-bottom: 0;
|
||||
word-break: normal
|
||||
word-break: normal;
|
||||
}
|
||||
|
||||
.main-content .highlight pre,
|
||||
|
@ -556,7 +557,7 @@ body {
|
|||
font-size: 0.9rem;
|
||||
line-height: 1.45;
|
||||
border-radius: 0.3rem;
|
||||
-webkit-overflow-scrolling: touch
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.main-content pre code,
|
||||
|
@ -569,34 +570,34 @@ body {
|
|||
line-height: inherit;
|
||||
word-wrap: normal;
|
||||
background-color: transparent;
|
||||
border: 0
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.main-content pre code:before,
|
||||
.main-content pre code:after,
|
||||
.main-content pre tt:before,
|
||||
.main-content pre tt:after {
|
||||
content: normal
|
||||
content: normal;
|
||||
}
|
||||
|
||||
.main-content ul,
|
||||
.main-content ol {
|
||||
margin-top: 0
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.main-content blockquote {
|
||||
padding: 0 1rem;
|
||||
margin-left: 0;
|
||||
color: #819198;
|
||||
border-left: 0.3rem solid #dce6f0
|
||||
border-left: 0.3rem solid #dce6f0;
|
||||
}
|
||||
|
||||
.main-content blockquote > :first-child {
|
||||
margin-top: 0
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.main-content blockquote > :last-child {
|
||||
margin-bottom: 0
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.main-content table {
|
||||
|
@ -605,33 +606,33 @@ body {
|
|||
overflow: auto;
|
||||
word-break: normal;
|
||||
word-break: keep-all;
|
||||
-webkit-overflow-scrolling: touch
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
|
||||
.main-content table th {
|
||||
font-weight: bold
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.main-content table th,
|
||||
.main-content table td {
|
||||
padding: 0.5rem 1rem;
|
||||
border: 1px solid #e9ebec
|
||||
border: 1px solid #e9ebec;
|
||||
}
|
||||
|
||||
.main-content dl {
|
||||
padding: 0
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.main-content dl dt {
|
||||
padding: 0;
|
||||
margin-top: 1rem;
|
||||
font-size: 1rem;
|
||||
font-weight: bold
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.main-content dl dd {
|
||||
padding: 0;
|
||||
margin-bottom: 1rem
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.main-content hr {
|
||||
|
@ -639,30 +640,30 @@ body {
|
|||
padding: 0;
|
||||
margin: 1rem 0;
|
||||
background-color: #dce6f0;
|
||||
border: 0
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.site-footer {
|
||||
padding-top: 2rem;
|
||||
margin-top: 2rem;
|
||||
border-top: solid 1px #eff0f1
|
||||
border-top: solid 1px #eff0f1;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 64em) {
|
||||
.site-footer {
|
||||
font-size: 1rem
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 42em) and (max-width: 64em) {
|
||||
.site-footer {
|
||||
font-size: 1rem
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 42em) {
|
||||
.site-footer {
|
||||
font-size: 0.9rem
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -700,7 +701,7 @@ section {
|
|||
}
|
||||
|
||||
.zoom {
|
||||
transition: transform .2s;
|
||||
transition: transform 0.2s;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.zoom img {
|
||||
|
@ -720,7 +721,7 @@ section {
|
|||
}
|
||||
|
||||
main div {
|
||||
box-sizing: unset
|
||||
box-sizing: unset;
|
||||
}
|
||||
.center {
|
||||
text-align: center;
|
||||
|
|
Loading…
Add table
Reference in a new issue