1
Fork 0
mirror of https://github.com/RGBCube/Site synced 2025-08-02 14:07:47 +00:00

treewide: site redesign

This commit is contained in:
RGBCube 2025-06-01 21:32:33 +03:00
parent 3d663619e6
commit 4b146bbe4e
Signed by: RGBCube
SSH key fingerprint: SHA256:CzqbPcfwt+GxFYNnFVCqoN5Itn4YFrshg1TrnACpA5M
80 changed files with 1842 additions and 1117 deletions

256
site/assets/css/default.css Normal file
View file

@ -0,0 +1,256 @@
@import "tailwindcss";
@theme {
--font-sans: "Exo 2";
--font-serif: "Exo 2";
--font-mono: "Ubuntu Mono";
@keyframes blink {
0%, 100% {
opacity: 100%;
}
50% {
opacity: 0%;
}
}
--animate-blink: blink 0.2s steps(1) infinite;
@keyframes blink-red-white {
0%, 100% {
background-color: red;
}
50% {
background-color: white;
}
}
--animate-blink-red-white: blink-red-white 0.2s steps(1) infinite;
@keyframes to-the-future {
0% {
transform: skewX(0deg);
}
100% {
transform: skewX(-89.9deg);
}
}
--animate-to-the-future: to-the-future 50ms cubic-bezier(
0.16,
0.56,
0.44,
0.93
) 1;
@keyframes shake-x {
0%, 100% {}
50% {
transform: translateX(4px);
}
}
--animate-shake-x: shake-x 0.07s linear infinite;
@keyframes shake-y {
0%, 100% {}
50% {
transform: translateY(4px);
}
}
--animate-shake-y: shake-y 0.08s linear infinite;
@keyframes slide-down-shake {
0% {
transform: translateY(-100%);
}
70% {
transform: translateY(0);
}
75% {
transform: translateY(0) translateX(2px);
}
80% {
transform: translateY(0) translateX(-2px);
}
85% {
transform: translateY(0) translateX(1px);
}
90% {
transform: translateY(0) translateX(-1px);
}
95% {
transform: translateY(0) translateX(0.5px);
}
100% {
transform: translateY(0) translateX(0);
}
}
--animate-slide-down-shake: slide-down-shake 0.8s linear forwards;
}
.shake {
@apply animate-shake-x;
& > * {
@apply animate-shake-y;
}
}
.nuclear {
&:active {
@apply animate-blink-red-white text-white;
-webkit-text-stroke: 0.05rem black;
}
&:hover {
@apply text-white;
-webkit-text-stroke: 0.05rem black;
&:not(:active) {
background: repeating-linear-gradient(
45deg,
yellow 0rem,
yellow 0.625rem,
black 0.625rem,
black 1.25rem
);
}
}
}
.text-content {
@apply space-y-3;
* {
@apply wrap-break-word text-pretty;
&:not(ol, ul) {
@apply space-y-3;
}
}
h1, h2, h3, h4, h5, h6 {
@apply text-balance before:pr-2 font-bold;
}
h1 {
@apply text-4xl before:content-["#"];
}
h2 {
@apply text-3xl before:content-["##"];
}
h3 {
@apply text-2xl before:content-["###"];
}
h4 {
@apply text-xl before:content-["####"];
}
p {
&:has(img) {
@apply flex justify-center;
}
}
a {
@apply inline-block wrap-anywhere text-[red] dark:text-[yellow] px-1 pb-0.75
border-2 border-[transparent] border-dashed;
* {
@apply wrap-anywhere;
}
&:hover {
@apply border-[red] dark:border-[yellow];
}
&:active {
@apply border-[fuchsia] dark:border-[springgreen] animate-to-the-future;
}
}
table {
@apply border-collapse whitespace-nowrap;
}
th, td {
@apply p-1 border-2;
}
th {
@apply bg-black text-white border-black dark:bg-white dark:text-black
dark:border-white;
}
td {
@apply border-black dark:border-white;
}
pre:has(> code) {
@apply px-3 py-2;
}
div:has(> pre code) {
@apply border-2 border-black dark:border-white;
}
li {
@apply relative pl-4;
&::before {
@apply content-[""] absolute left-0 size-2 top-1/2 -translate-y-1/3
rotate-45 border-t-2 border-r-2 border-black dark:border-white;
}
&:hover {
&::before {
@apply size-4 -translate-x-2/3 border-[red] dark:border-[yellow];
}
}
}
hr {
@apply border-1 border-black dark:border-white
-mx-4; /* Keep in sync with p-N in text.vto. */
}
blockquote {
@apply border-l-2 pl-4 py-2 border-black bg-[#eee] dark:border-white
dark:bg-[#222];
}
.hljs-attr {
@apply text-[darkblue] dark:text-[lightblue];
}
.hljs-built_in {
@apply text-[darkred] dark:text-[firebrick];
}
.hljs-comment {
@apply italic text-[dimgray] dark:text-[darkgray];
}
.hljs-keyword {
@apply text-[darkred] dark:text-[firebrick];
}
.hljs-number {
@apply text-[darkslateblue] dark:text-[mediumslateblue];
}
.hljs-string {
@apply text-[darkgreen] dark:text-[limegreen];
}
.hljs-symbol {
@apply text-[darkgoldenrod] dark:text-[gold];
}
.hljs-title {
@apply text-[indianred] dark:text-[lightcoral];
}
.hljs-type {
@apply text-[darkcyan] dark:text-[aquamarine];
}
}

595
site/assets/css/fonts.css Normal file
View file

@ -0,0 +1,595 @@
@font-face {
font-family: "Exo 2";
font-style: italic;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-cyrillic-ext-italic.woff2") format("woff2");
unicode-range:
U+0460-052F,
U+1C80-1C8A,
U+20B4,
U+2DE0-2DFF,
U+A640-A69F,
U+FE2E-FE2F;
}
@font-face {
font-family: "Exo 2";
font-style: italic;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-cyrillic-italic.woff2") format("woff2");
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
font-family: "Exo 2";
font-style: italic;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-vietnamese-italic.woff2") format("woff2");
unicode-range:
U+0102-0103,
U+0110-0111,
U+0128-0129,
U+0168-0169,
U+01A0-01A1,
U+01AF-01B0,
U+0300-0301,
U+0303-0304,
U+0308-0309,
U+0323,
U+0329,
U+1EA0-1EF9,
U+20AB;
}
@font-face {
font-family: "Exo 2";
font-style: italic;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-latin-ext-italic.woff2") format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Exo 2";
font-style: italic;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-latin-italic.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Exo 2";
font-style: normal;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-cyrillic-ext-normal.woff2") format("woff2");
unicode-range:
U+0460-052F,
U+1C80-1C8A,
U+20B4,
U+2DE0-2DFF,
U+A640-A69F,
U+FE2E-FE2F;
}
@font-face {
font-family: "Exo 2";
font-style: normal;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-cyrillic-normal.woff2") format("woff2");
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
font-family: "Exo 2";
font-style: normal;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-vietnamese-normal.woff2") format("woff2");
unicode-range:
U+0102-0103,
U+0110-0111,
U+0128-0129,
U+0168-0169,
U+01A0-01A1,
U+01AF-01B0,
U+0300-0301,
U+0303-0304,
U+0308-0309,
U+0323,
U+0329,
U+1EA0-1EF9,
U+20AB;
}
@font-face {
font-family: "Exo 2";
font-style: normal;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-latin-ext-normal.woff2") format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Exo 2";
font-style: normal;
font-weight: 100 900;
font-display: block;
src: url("/assets/fonts/Exo_2-latin-normal.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 400;
font-display: block;
src: url(/assets/fonts/Ubuntu_Mono-italic-400-cyrillic-ext.woff2)
format("woff2");
unicode-range:
U+0460-052F,
U+1C80-1C8A,
U+20B4,
U+2DE0-2DFF,
U+A640-A69F,
U+FE2E-FE2F;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-400-cyrillic.woff2")
format("woff2");
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-400-greek-ext.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-400-greek.woff2") format("woff2");
unicode-range:
U+0370-0377,
U+037A-037F,
U+0384-038A,
U+038C,
U+038E-03A1,
U+03A3-03FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-400-latin-ext.woff2")
format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-400-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-700-cyrillic-ext.woff2")
format("woff2");
unicode-range:
U+0460-052F,
U+1C80-1C8A,
U+20B4,
U+2DE0-2DFF,
U+A640-A69F,
U+FE2E-FE2F;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-700-cyrillic.woff2")
format("woff2");
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-700-greek-ext.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-700-greek.woff2") format("woff2");
unicode-range:
U+0370-0377,
U+037A-037F,
U+0384-038A,
U+038C,
U+038E-03A1,
U+03A3-03FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-700-latin-ext.woff2")
format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: italic;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-italic-700-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-400-cyrillic-ext.woff2")
format("woff2");
unicode-range:
U+0460-052F,
U+1C80-1C8A,
U+20B4,
U+2DE0-2DFF,
U+A640-A69F,
U+FE2E-FE2F;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-400-cyrillic.woff2")
format("woff2");
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-400-greek-ext.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-400-greek.woff2") format("woff2");
unicode-range:
U+0370-0377,
U+037A-037F,
U+0384-038A,
U+038C,
U+038E-03A1,
U+03A3-03FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-400-latin-ext.woff2")
format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 400;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-400-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-700-cyrillic-ext.woff2")
format("woff2");
unicode-range:
U+0460-052F,
U+1C80-1C8A,
U+20B4,
U+2DE0-2DFF,
U+A640-A69F,
U+FE2E-FE2F;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-700-cyrillic.woff2")
format("woff2");
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-700-greek-ext.woff2")
format("woff2");
unicode-range: U+1F00-1FFF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-700-greek.woff2") format("woff2");
unicode-range:
U+0370-0377,
U+037A-037F,
U+0384-038A,
U+038C,
U+038E-03A1,
U+03A3-03FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-700-latin-ext.woff2")
format("woff2");
unicode-range:
U+0100-02BA,
U+02BD-02C5,
U+02C7-02CC,
U+02CE-02D7,
U+02DD-02FF,
U+0304,
U+0308,
U+0329,
U+1D00-1DBF,
U+1E00-1E9F,
U+1EF2-1EFF,
U+2020,
U+20A0-20AB,
U+20AD-20C0,
U+2113,
U+2C60-2C7F,
U+A720-A7FF;
}
@font-face {
font-family: "Ubuntu Mono";
font-style: normal;
font-weight: 700;
font-display: block;
src: url("/assets/fonts/Ubuntu_Mono-normal-700-latin.woff2") format("woff2");
unicode-range:
U+0000-00FF,
U+0131,
U+0152-0153,
U+02BB-02BC,
U+02C6,
U+02DA,
U+02DC,
U+0304,
U+0308,
U+0329,
U+2000-206F,
U+20AC,
U+2122,
U+2191,
U+2193,
U+2212,
U+2215,
U+FEFF,
U+FFFD;
}
@font-face {
font-family: "ecrou";
font-display: block;
src: url("/assets/fonts/ecrou.woff2") format("woff2");
}