Port to TypeScript/Elysia
This commit is contained in:
parent
29739d243f
commit
513335c485
17 changed files with 413 additions and 2603 deletions
|
|
@ -1,11 +1,43 @@
|
|||
<article>
|
||||
<h2>About</h2>
|
||||
<p>I program sometimes. I can't decide on a language.</p>
|
||||
<p>Lately I'm focused on processing e-sports statistics in rust for degenerate betting purposes, and writing games in zig with raylib.</p>
|
||||
<p>This blog was made with htmx and rust. I will not post the code unless you bother me about it, because I am lazy.</p>
|
||||
<p><b>bio:</b> mechanist, worldbuilder, hierophant</p>
|
||||
<h3>Current Interests/Projects</h3>
|
||||
<ul>
|
||||
<li>
|
||||
building <a href="https://civ.plus">civ+</a>, a game, a social experiment,
|
||||
and living world
|
||||
</li>
|
||||
<li>building Pantalaimon, an AI agent system (coming soon)</li>
|
||||
<li>
|
||||
finishing up a little
|
||||
<a href="https://gomoku.sepiatones.xyz">gomoku!</a> webapp
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Dormant Interests/Projects</h3>
|
||||
<ul>
|
||||
<li>
|
||||
esports data analysis, especially for professional League of Legends
|
||||
</li>
|
||||
<li>game engine development</li>
|
||||
<li>programming language design</li>
|
||||
<li>fiction writing</li>
|
||||
</ul>
|
||||
<h3>Favorite Languages/Tools</h3>
|
||||
<ul>
|
||||
<li>Rust</li>
|
||||
<li>TypeScript</li>
|
||||
<li>Kotlin</li>
|
||||
<li>Scala</li>
|
||||
<li>HTMX</li>
|
||||
</ul>
|
||||
<h3>Socials</h3>
|
||||
<ul>
|
||||
<li><a href="https://x.com/sepiatonal">x</a></li>
|
||||
<li><a href="https://discord.com/users/105121538805669888">discord</a></li>
|
||||
</ul>
|
||||
<br />
|
||||
<p>
|
||||
This website was made with htmx and rust. I will not post the code unless
|
||||
you bother me about it, because I am lazy.
|
||||
</p>
|
||||
</article>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<head>
|
||||
<meta name="title" content="Other Post">
|
||||
<meta name="date" content="2024-09-24T00:00:00Z">
|
||||
<meta name="title" content="Other Post" />
|
||||
<meta name="date" content="2024-09-24T00:00:00Z" />
|
||||
</head>
|
||||
<article>
|
||||
<h1>Welcome to another post!</h1>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
@import url('https://fonts.cdnfonts.com/css/jetbrains-mono-2');
|
||||
@import url("https://fonts.cdnfonts.com/css/jetbrains-mono-2");
|
||||
|
||||
:root {
|
||||
--font-family: "JetBrains Mono", monospace;
|
||||
--line-height: 1.20rem;
|
||||
--line-height: 1.2rem;
|
||||
--border-thickness: 2px;
|
||||
--text-color: #000;
|
||||
--text-color-alt: #666;
|
||||
|
|
@ -64,17 +64,26 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: var(--font-weight-bold);
|
||||
margin: 0 0;
|
||||
line-height: var(--line-height);
|
||||
}
|
||||
|
||||
h1, h2 {
|
||||
h1,
|
||||
h2 {
|
||||
margin-bottom: var(--line-height);
|
||||
}
|
||||
|
||||
h3, h4, h5, h6 {
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
|
@ -89,7 +98,7 @@ h2 {
|
|||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.0rem;
|
||||
font-size: 1rem;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
|
|
@ -116,7 +125,8 @@ a {
|
|||
text-decoration-thickness: var(--border-thickness);
|
||||
}
|
||||
|
||||
a:link, a:visited {
|
||||
a:link,
|
||||
a:visited {
|
||||
color: var(--text-color);
|
||||
}
|
||||
|
||||
|
|
@ -138,7 +148,7 @@ sub {
|
|||
vertical-align: sub;
|
||||
line-height: 0;
|
||||
width: calc(1ch / 0.75);
|
||||
font-size: .75rem;
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
table {
|
||||
|
|
@ -149,13 +159,12 @@ table {
|
|||
margin: 0 0 calc(var(--line-height) * 2);
|
||||
}
|
||||
|
||||
th, td {
|
||||
th,
|
||||
td {
|
||||
border: var(--border-thickness) solid var(--text-color);
|
||||
padding:
|
||||
calc((var(--line-height) / 2))
|
||||
padding: calc((var(--line-height) / 2))
|
||||
calc(1ch - var(--border-thickness) / 2)
|
||||
calc((var(--line-height) / 2) - (var(--border-thickness)))
|
||||
;
|
||||
calc((var(--line-height) / 2) - (var(--border-thickness)));
|
||||
line-height: var(--line-height);
|
||||
vertical-align: top;
|
||||
text-align: left;
|
||||
|
|
@ -164,7 +173,6 @@ table tbody tr:first-child > * {
|
|||
padding-top: calc((var(--line-height) / 2) - var(--border-thickness));
|
||||
}
|
||||
|
||||
|
||||
th {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
|
@ -191,7 +199,8 @@ p {
|
|||
hyphens: auto;
|
||||
}
|
||||
|
||||
img, video {
|
||||
img,
|
||||
video {
|
||||
display: block;
|
||||
width: 100%;
|
||||
object-fit: contain;
|
||||
|
|
@ -218,11 +227,11 @@ details[open] summary {
|
|||
|
||||
details ::marker {
|
||||
display: inline-block;
|
||||
content: '▶';
|
||||
content: "▶";
|
||||
margin: 0;
|
||||
}
|
||||
details[open] ::marker {
|
||||
content: '▼';
|
||||
content: "▼";
|
||||
}
|
||||
|
||||
details :last-child {
|
||||
|
|
@ -239,7 +248,8 @@ figure pre {
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
pre, code {
|
||||
pre,
|
||||
code {
|
||||
font-family: var(--font-family);
|
||||
}
|
||||
|
||||
|
|
@ -259,7 +269,8 @@ figcaption {
|
|||
margin-top: var(--line-height);
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
ul,
|
||||
ol {
|
||||
padding: 0;
|
||||
margin: 0 0 var(--line-height);
|
||||
}
|
||||
|
|
@ -296,13 +307,14 @@ li::marker {
|
|||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
height: var(--line-height);
|
||||
height: var(--line-height);
|
||||
}
|
||||
|
||||
input, button, textarea {
|
||||
input,
|
||||
button,
|
||||
textarea {
|
||||
border: var(--border-thickness) solid var(--text-color);
|
||||
padding:
|
||||
calc(var(--line-height) / 2 - var(--border-thickness))
|
||||
padding: calc(var(--line-height) / 2 - var(--border-thickness))
|
||||
calc(1ch - var(--border-thickness));
|
||||
margin: 0;
|
||||
font: inherit;
|
||||
|
|
@ -318,7 +330,7 @@ input, button, textarea {
|
|||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
input[type=checkbox] {
|
||||
input[type="checkbox"] {
|
||||
display: inline-grid;
|
||||
place-content: center;
|
||||
vertical-align: top;
|
||||
|
|
@ -326,14 +338,15 @@ input[type=checkbox] {
|
|||
height: var(--line-height);
|
||||
cursor: pointer;
|
||||
}
|
||||
input[type=checkbox]:checked:before {
|
||||
input[type="checkbox"]:checked:before {
|
||||
content: "";
|
||||
width: 1ch;
|
||||
height: calc(var(--line-height) / 2);
|
||||
background: var(--text-color);
|
||||
}
|
||||
|
||||
button:focus, input:focus {
|
||||
button:focus,
|
||||
input:focus {
|
||||
--border-thickness: 3px;
|
||||
outline: none;
|
||||
}
|
||||
|
|
@ -350,7 +363,7 @@ input {
|
|||
}
|
||||
button::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border: 0
|
||||
border: 0;
|
||||
}
|
||||
|
||||
button {
|
||||
|
|
@ -379,7 +392,8 @@ label input {
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
.tree, .tree ul {
|
||||
.tree,
|
||||
.tree ul {
|
||||
position: relative;
|
||||
padding-left: 0;
|
||||
list-style-type: none;
|
||||
|
|
@ -420,28 +434,59 @@ label input {
|
|||
--grid-cells: 0;
|
||||
display: flex;
|
||||
gap: 1ch;
|
||||
width: calc(round(down, 100%, (1ch * var(--grid-cells)) - (1ch * var(--grid-cells) - 1)));
|
||||
width: calc(
|
||||
round(down, 100%, (1ch * var(--grid-cells)) - (1ch * var(--grid-cells) - 1))
|
||||
);
|
||||
margin-bottom: var(--line-height);
|
||||
}
|
||||
|
||||
.grid > *,
|
||||
.grid > input {
|
||||
flex: 0 0 calc(round(down, (100% - (1ch * (var(--grid-cells) - 1))) / var(--grid-cells), 1ch));
|
||||
flex: 0 0
|
||||
calc(
|
||||
round(
|
||||
down,
|
||||
(100% - (1ch * (var(--grid-cells) - 1))) / var(--grid-cells),
|
||||
1ch
|
||||
)
|
||||
);
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(1)) {
|
||||
--grid-cells: 1;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(2)) {
|
||||
--grid-cells: 2;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(3)) {
|
||||
--grid-cells: 3;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(4)) {
|
||||
--grid-cells: 4;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(5)) {
|
||||
--grid-cells: 5;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(6)) {
|
||||
--grid-cells: 6;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(7)) {
|
||||
--grid-cells: 7;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(8)) {
|
||||
--grid-cells: 8;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(9)) {
|
||||
--grid-cells: 9;
|
||||
}
|
||||
.grid:has(> :last-child:nth-child(1)) { --grid-cells: 1; }
|
||||
.grid:has(> :last-child:nth-child(2)) { --grid-cells: 2; }
|
||||
.grid:has(> :last-child:nth-child(3)) { --grid-cells: 3; }
|
||||
.grid:has(> :last-child:nth-child(4)) { --grid-cells: 4; }
|
||||
.grid:has(> :last-child:nth-child(5)) { --grid-cells: 5; }
|
||||
.grid:has(> :last-child:nth-child(6)) { --grid-cells: 6; }
|
||||
.grid:has(> :last-child:nth-child(7)) { --grid-cells: 7; }
|
||||
.grid:has(> :last-child:nth-child(8)) { --grid-cells: 8; }
|
||||
.grid:has(> :last-child:nth-child(9)) { --grid-cells: 9; }
|
||||
|
||||
/* DEBUG UTILITIES */
|
||||
|
||||
.debug .debug-grid {
|
||||
--color: color-mix(in srgb, var(--text-color) 10%, var(--background-color) 90%);
|
||||
--color: color-mix(
|
||||
in srgb,
|
||||
var(--text-color) 10%,
|
||||
var(--background-color) 90%
|
||||
);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
|
|
|||
|
|
@ -6,18 +6,18 @@
|
|||
--background-overlay: #f2e9e1;
|
||||
}
|
||||
|
||||
a {
|
||||
a:link {
|
||||
color: #56949f;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #286983;
|
||||
color: #907aa9;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color: #907aa9;
|
||||
color: #286983;
|
||||
}
|
||||
|
||||
::selection {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue