feat: Initial commit :)

This commit is contained in:
daudix-UFO
2023-08-31 03:38:44 +03:00
parent 940c84f4ee
commit f6cc7270d8
44 changed files with 2725 additions and 1 deletions

248
_sass/comments.scss Normal file
View File

@ -0,0 +1,248 @@
/* Comments */
section#comments {
.comment {
display: grid;
column-gap: 1rem;
grid-template-areas:
"avatar name"
"avatar time"
"avatar post"
"...... card"
"...... interactions";
grid-template-columns: min-content;
justify-items: start;
margin: 2rem auto 2rem -1rem;
padding: 1rem;
.avatar-link {
grid-area: avatar;
height: 4rem;
position: relative;
width: 4rem;
.avatar {
margin: unset;
background-color: var(--bg2);
border-radius: var(--border-radius);
box-shadow: var(--shadow);
height: 100%;
width: 100%;
}
&.op::after {
background-color: var(--accent-color);
border-radius: 50%;
bottom: -0.25rem;
color: var(--dark4);
content: "";
display: block;
font-size: 1.25rem;
font-weight: bold;
height: 1.5rem;
line-height: 1.5rem;
position: absolute;
right: -0.25rem;
text-align: center;
width: 1.5rem;
}
}
.author {
align-items: center;
cursor: default;
display: flex;
font-weight: bold;
gap: 0.5rem;
grid-area: name;
.instance {
background-color: var(--fg05);
border-radius: 9999px;
color: var(--text);
font-size: smaller;
font-weight: normal;
padding: 0.25rem 0.75rem;
&:hover {
opacity: 0.8;
text-decoration: none;
}
&.op {
background-color: var(--accent-color);
color: var(--dark4);
&::before {
content: "";
font-weight: bold;
margin-inline-end: 0.25rem;
margin-inline-start: -0.25rem;
}
}
}
}
time {
@extend small;
font-size: smaller;
opacity: 0.9;
grid-area: time;
line-height: 1.5rem;
&.edited::after {
content: " *";
}
}
main {
grid-area: post;
justify-self: stretch;
p:first-child {
margin-top: 0.25rem;
}
p:last-child {
margin-bottom: 0;
}
}
.card {
color: inherit;
grid-area: card;
max-width: 400px;
&:hover {
text-decoration: none;
}
figure {
border-radius: var(--border-radius);
background-color: var(--bg2);
box-shadow: var(--shadow);
margin-left: 0;
margin-right: 0;
overflow: hidden;
transition: var(--transition);
img {
margin: unset;
}
&:hover {
transform: translateY(-0.5rem);
}
}
figcaption {
display: grid;
gap: 0.5rem;
margin: 0;
padding: 1rem;
text-align: left;
* {
display: inline-block;
line-height: 1.25;
margin: 0;
overflow: hidden;
padding: 0;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
// Hide the card from the shared post
&:first-of-type .card {
display: none;
}
footer {
@extend small;
display: flex;
gap: 0.4rem;
grid-area: interactions;
margin-top: 0.925rem;
.boosts {
cursor: default;
font-weight: 600;
font-variation-settings: "wght" 600; /* needed for webkit */
font-size: 90%;
padding: 0.4rem 1rem;
border-radius: var(--border-radius);
background-color: var(--orange-bg);
color: var(--orange-fg);
&::before {
color: var(--orange2);
content: "🔁";
margin-inline-end: 0.25rem;
}
}
.faves {
cursor: default;
font-weight: 600;
font-variation-settings: "wght" 600; /* needed for webkit */
font-size: 90%;
padding: 0.4rem 1rem;
border-radius: var(--border-radius);
background-color: var(--red-bg);
color: var(--red-fg);
&::before {
color: var(--red2);
content: "❤️";
margin-inline-end: 0.25rem;
}
}
}
.emoji {
margin: unset;
display: inline;
height: 1.25rem;
vertical-align: middle;
width: 1.25rem;
}
.invisible {
display: none;
}
.ellipsis::after {
content: "";
}
details {
summary {
background-image: linear-gradient(
90deg,
transparent,
transparent 0.4rem,
var(--bg2) 0.4rem,
var(--bg2) calc(100% - 0.4rem),
transparent calc(100% - 0.4rem),
transparent
),
repeating-linear-gradient(
45deg,
var(--bg1),
var(--bg1) 0.3rem,
var(--accent-color) 0.3rem,
var(--accent-color) 0.6rem
);
border-radius: var(--border-radius-small);
color: inherit;
cursor: pointer;
box-shadow: var(--shadow);
margin-top: 0.925rem;
padding: 1rem;
}
}
}
}

8
_sass/fonts.scss Normal file
View File

@ -0,0 +1,8 @@
/* Typography */
@font-face {
font-family: "InterVar";
font-weight: 100 900;
font-display: swap;
font-style: oblique italic 0deg 10deg;
src: url("../fonts/Inter.var.woff2?v=4.0") format("woff2");
}

478
_sass/main.scss Normal file
View File

@ -0,0 +1,478 @@
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
scroll-behavior: smooth;
scrollbar-color: var(--fg50) transparent;
}
body {
font-size: 16px;
font-family: "InterVar", sans-serif;
font-weight: 400;
line-height: 1.6;
color: var(--text);
background-color: var(--background);
/* ⇩⇩ put footer at the bottom for short pages, such as the 404 ⇩⇩ */
display: grid;
min-height: 100vh;
grid-template-rows: auto minmax(auto, 1fr) auto; /* header, stuff, footer */
}
@media only screen and (max-device-width: 480px) {
body {
font-size: 14px;
}
}
@media (prefers-color-scheme: dark) {
html {
background-color: var(--dark5);
}
}
/* Layout */
.container {
width: 80%;
margin-left: auto;
margin-right: auto;
max-width: var(--content-width);
}
@media only screen and (max-device-width: 480px) {
/*mobile*/
.container {
width: 90%;
}
}
:target {
scroll-margin-top: 25vh;
animation: glow-in-out var(--transition-long);
animation-delay: 1s;
}
@keyframes glow-in-out {
0% {
text-shadow: none;
}
50% {
text-shadow: var(--glow);
}
100% {
text-shadow: none;
}
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 3rem 0 1rem;
font-weight: 600;
line-height: 1.25;
font-variation-settings: "wght" 600; /* needed for webkit */
}
h1 {
font-size: 1.5rem;
}
@media screen and (min-width: 640px) {
h1 {
font-size: 1.6rem;
}
}
h2 {
font-size: 1.2rem;
}
a {
font-weight: 600;
text-decoration: none;
color: var(--accent-color);
cursor: pointer;
font-variation-settings: "wght" 600; /* needed for webkit */
}
a:hover {
text-decoration: underline;
}
b {
font-weight: 600;
}
small {
color: var(--fg50);
}
dl {
padding: 0;
}
dl dt {
padding: 0;
margin-top: 1rem;
font-size: 1rem;
font-weight: bold;
}
dl dd {
padding: 0;
margin-bottom: 1rem;
}
hr {
margin: 3rem auto 4rem;
width: 40%;
opacity: 40%;
}
blockquote {
padding: 0 1rem;
margin-left: 0;
color: var(--fg40);
border-left: 0.3rem solid var(--fg07);
}
blockquote > :first-child {
margin-top: 0;
}
blockquote > :last-child {
margin-bottom: 0;
}
abbr {
cursor: help;
}
kbd {
background-color: var(--fg05);
border: 1px solid var(--fg07);
border-radius: 4px;
box-shadow: inset 0 -1px 0 var(--fg09);
color: var(--text);
display: inline-block;
font-size: 11px;
line-height: 10px;
padding: 3px 5px;
vertical-align: middle;
cursor: pointer;
user-select: none;
-webkit-user-select: none;
}
kbd:active {
box-shadow: inset 0 0px 0 var(--fg09);
vertical-align: bottom;
filter: contrast(0.2);
}
/* Tables */
table {
border-collapse: collapse;
border-spacing: 0;
}
table {
display: block;
width: 100%;
overflow: auto;
word-break: normal;
word-break: keep-all;
}
table th {
font-weight: bold;
}
table th,
table td {
padding: 0.5rem 1rem;
border: 1px solid var(--fg05);
}
td,
th {
padding: 0;
}
/* Make tables vertically aligned to the top */
tbody td {
vertical-align: top;
}
/* Media */
img {
display: block;
margin: 2rem auto;
max-width: 100%;
}
img.full {
width: 100%;
}
img.pixels {
image-rendering: crisp-edges; /* older firefox browsers */
image-rendering: pixelated;
}
video {
display: block;
margin: 2rem auto;
max-width: 100%;
}
.media {
border-radius: var(--border-radius-small);
box-shadow: var(--shadow);
}
.media.hover {
transition: var(--transition-longer);
}
.media.hover:hover {
transform: scale(125%);
border-radius: unset;
box-shadow: var(--shadow-raised);
}
@media only screen and (max-device-width: 480px) {
/*mobile*/
.media.hover:hover {
transform: scale(110%);
}
}
/* Navbar */
.nav-container {
display: block;
width: 80%;
margin-left: auto;
margin-right: auto;
max-width: var(--content-width);
}
.nav {
position: sticky;
top: 0;
z-index: 1;
background-color: var(--nav-bg);
backdrop-filter: blur(24px) saturate(180%);
-webkit-backdrop-filter: blur(24px) saturate(180%);
border-bottom: 1px solid var(--fg07);
box-shadow: var(--shadow);
overflow: auto;
}
.nav-container {
margin: 0.5rem auto;
position: relative;
text-align: center;
}
.nav-title {
color: var(--fg50);
display: inline-block;
margin: 0;
}
.nav-title:hover {
text-decoration: underline;
}
.nav ul {
list-style-type: none;
margin: 1rem 0 0;
padding: 0;
text-align: center;
}
.nav li {
color: var(--fg50);
display: inline-block;
}
.nav a {
display: inline-block;
font-weight: 900;
font-size: 90%;
padding: 0.4rem 1rem;
border-radius: var(--border-radius);
background-color: transparent;
color: var(--fg50);
/* transition: var(--transition); */
}
.nav a:hover {
background-color: var(--fg05);
/* box-shadow: var(--glow); */
}
.nav svg {
fill: var(--fg50);
height: 1rem;
width: 1rem;
vertical-align: middle;
transform: translateY(-0.125rem);
}
@media (min-width: 640px) {
.nav-container {
text-align: left;
}
.nav ul {
bottom: 0;
position: absolute;
right: 0;
}
}
/* Footer */
.site-footer {
text-align: center;
padding: 3rem 0 3rem;
font-size: 1rem;
margin-top: 4rem;
}
/* Link arrows */
.page-link::after {
content: "";
}
.site-link::after {
content: "";
}
/* Buttons */
.dialog-buttons {
display: flex;
flex-direction: row;
align-items: baseline;
justify-content: space-between;
margin-top: 6rem;
}
.inline-button {
display: inline-block;
font-weight: 900;
font-size: 90%;
padding: 0.4rem 1rem;
border-radius: var(--border-radius);
background-color: var(--fg05);
color: var(--text);
}
/* ASCII */
.ascii {
line-height: normal;
margin: 3rem 0 1rem;
padding: 2px 1rem;
max-width: 80vw;
overflow-x: auto;
transition: var(--transition-long);
background: linear-gradient(to top, var(--text) 0%, transparent 100%);
background-clip: text;
-webkit-background-clip: text;
-moz-background-clip: text;
-webkit-text-fill-color: transparent;
-moz-text-fill-color: transparent;
}
.ascii:hover {
-webkit-text-fill-color: var(--text);
-moz-text-fill-color: var(--text);
text-shadow: var(--glow);
}
@media only screen and (max-device-width: 480px) {
/*mobile*/
.ascii {
max-width: 90vw;
}
}
@media only screen and (max-device-width: 640px) {
/*mobile*/
.ascii {
display: none;
}
}
@media (prefers-color-scheme: dark) {
.highlight {
filter: contrast(0.4) saturate(2);
}
}
/* Code Blocks */
.highlighter-rouge {
line-height: normal;
margin: 1rem 0 1rem;
padding: 2px 1rem;
border-radius: var(--border-radius-small);
background-color: var(--bg2);
max-width: 80vw;
overflow-x: auto;
box-shadow: var(--shadow);
}
@media only screen and (max-device-width: 480px) {
/*mobile*/
.highlighter-rouge {
max-width: 90vw;
}
}
.highlighter-rouge * {
background-color: transparent;
}
/* Inline Code */
code.highlighter-rouge {
padding: 2px 6px;
background-color: var(--fg07);
color: var(--red-fg);
box-shadow: none;
}
/* Statements */
.statement-container {
margin: 1rem 0 1rem;
line-height: normal;
}
.statement-container h2 {
margin: inherit;
}
.archive {
background-color: var(--purple-bg);
color: var(--purple-fg);
}
.disclaimer {
background-color: var(--red-bg);
color: var(--red-fg);
}
.trigger {
background-color: var(--yellow-bg);
color: var(--yellow-fg);
}

217
_sass/rouge-github.scss Normal file
View File

@ -0,0 +1,217 @@
.highlight table td {
padding: 5px;
}
.highlight table pre {
margin: 0;
}
.highlight .cm {
color: #999988;
font-style: italic;
}
.highlight .cp {
color: #999999;
font-weight: bold;
}
.highlight .c1 {
color: #999988;
font-style: italic;
}
.highlight .cs {
color: #999999;
font-weight: bold;
font-style: italic;
}
.highlight .c,
.highlight .cd {
color: #999988;
font-style: italic;
}
.highlight .err {
color: #a61717;
background-color: #e3d2d2;
}
.highlight .gd {
color: #000000;
background-color: #ffdddd;
}
.highlight .ge {
color: #000000;
font-style: italic;
}
.highlight .gr {
color: #aa0000;
}
.highlight .gh {
color: #999999;
}
.highlight .gi {
color: #000000;
background-color: #ddffdd;
}
.highlight .go {
color: #888888;
}
.highlight .gp {
color: #555555;
}
.highlight .gs {
font-weight: bold;
}
.highlight .gu {
color: #aaaaaa;
}
.highlight .gt {
color: #aa0000;
}
.highlight .kc {
color: #000000;
font-weight: bold;
}
.highlight .kd {
color: #000000;
font-weight: bold;
}
.highlight .kn {
color: #000000;
font-weight: bold;
}
.highlight .kp {
color: #000000;
font-weight: bold;
}
.highlight .kr {
color: #000000;
font-weight: bold;
}
.highlight .kt {
color: #445588;
font-weight: bold;
}
.highlight .k,
.highlight .kv {
color: #000000;
font-weight: bold;
}
.highlight .mf {
color: #009999;
}
.highlight .mh {
color: #009999;
}
.highlight .il {
color: #009999;
}
.highlight .mi {
color: #009999;
}
.highlight .mo {
color: #009999;
}
.highlight .m,
.highlight .mb,
.highlight .mx {
color: #009999;
}
.highlight .sb {
color: #d14;
}
.highlight .sc {
color: #d14;
}
.highlight .sd {
color: #d14;
}
.highlight .s2 {
color: #d14;
}
.highlight .se {
color: #d14;
}
.highlight .sh {
color: #d14;
}
.highlight .si {
color: #d14;
}
.highlight .sx {
color: #d14;
}
.highlight .sr {
color: #009926;
}
.highlight .s1 {
color: #d14;
}
.highlight .ss {
color: #990073;
}
.highlight .s {
color: #d14;
}
.highlight .na {
color: #008080;
}
.highlight .bp {
color: #999999;
}
.highlight .nb {
color: #0086b3;
}
.highlight .nc {
color: #445588;
font-weight: bold;
}
.highlight .no {
color: #008080;
}
.highlight .nd {
color: #3c5d5d;
font-weight: bold;
}
.highlight .ni {
color: #800080;
}
.highlight .ne {
color: #990000;
font-weight: bold;
}
.highlight .nf {
color: #990000;
font-weight: bold;
}
.highlight .nl {
color: #990000;
font-weight: bold;
}
.highlight .nn {
color: #555555;
}
.highlight .nt {
color: #000080;
}
.highlight .vc {
color: #008080;
}
.highlight .vg {
color: #008080;
}
.highlight .vi {
color: #008080;
}
.highlight .nv {
color: #008080;
}
.highlight .ow {
color: #000000;
font-weight: bold;
}
.highlight .o {
color: #000000;
font-weight: bold;
}
.highlight .w {
color: #bbbbbb;
}
.highlight {
background-color: transparent;
}

124
_sass/variables.scss Normal file
View File

@ -0,0 +1,124 @@
:root {
/* GNOME Color Palette */
--blue1: rgb(153, 193, 241);
--blue2: rgb(98, 160, 234);
--blue3: rgb(53, 132, 228);
--blue4: rgb(28, 113, 216);
--blue5: rgb(26, 95, 180);
--green1: rgb(143, 240, 164);
--green2: rgb(87, 227, 137);
--green3: rgb(51, 209, 122);
--green4: rgb(46, 194, 126);
--green5: rgb(38, 162, 105);
--yellow1: rgb(249, 240, 107);
--yellow2: rgb(248, 228, 92);
--yellow3: rgb(246, 211, 45);
--yellow4: rgb(245, 194, 17);
--yellow5: rgb(229, 165, 10);
--orange1: rgb(255, 190, 111);
--orange2: rgb(255, 163, 72);
--orange3: rgb(255, 120, 0);
--orange4: rgb(230, 97, 0);
--orange5: rgb(198, 70, 0);
--red1: rgb(246, 97, 81);
--red2: rgb(237, 51, 59);
--red3: rgb(224, 27, 36);
--red4: rgb(192, 28, 40);
--red5: rgb(165, 29, 45);
--purple1: rgb(220, 138, 221);
--purple2: rgb(192, 97, 203);
--purple3: rgb(145, 65, 172);
--purple4: rgb(129, 61, 156);
--purple5: rgb(97, 53, 131);
--brown1: rgb(205, 171, 143);
--brown2: rgb(181, 131, 90);
--brown3: rgb(152, 106, 68);
--brown4: rgb(134, 94, 60);
--brown5: rgb(99, 69, 44);
--light1: rgb(255, 255, 255);
--light2: rgb(246, 245, 244);
--light3: rgb(222, 221, 218);
--light4: rgb(192, 191, 188);
--light5: rgb(154, 153, 150);
--dark1: rgb(119, 118, 123);
--dark2: rgb(94, 92, 100);
--dark3: rgb(61, 56, 70);
--dark4: rgb(36, 31, 49);
--dark5: rgb(0, 0, 0);
/* General Setup */
--border: var(--light3);
--border-radius: 0.75rem;
--border-radius-small: 0.5rem;
--accent-color: var(--orange2);
--secondary-accent-color: var(--purple4);
--text: var(--dark4);
--background: var(--bg1);
--content-width: 720px;
/* Custom Color Palette */
--bg1: rgb(250, 250, 250);
--bg2: rgb(255, 255, 255);
--bg3: rgb(75, 75, 75);
--fg01: rgba(0, 0, 0, 0.01);
--fg03: rgba(0, 0, 0, 0.03);
--fg05: rgba(0, 0, 0, 0.05);
--fg07: rgba(0, 0, 0, 0.07);
--fg09: rgba(0, 0, 0, 0.09);
--fg40: rgba(0, 0, 0, 0.4);
--fg50: rgba(0, 0, 0, 0.5);
--nav-bg: rgba(255, 255, 255, 0.5);
--purple-bg: rgba(145, 65, 172, 0.1);
--purple-fg: rgb(145, 65, 172);
--red-bg: rgba(224, 27, 36, 0.1);
--red-fg: rgb(224, 27, 36);
--yellow-bg: rgba(156, 110, 3, 0.1);
--yellow-fg: rgb(156, 110, 3);
--orange-bg: rgba(255, 120, 0, 0.1);
--orange-fg: rgb(255, 120, 0);
/* Custom Variables */
--shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 1px 3px 1px rgba(0, 0, 0, 0.07),
0 2px 6px 2px rgba(0, 0, 0, 0.03);
--shadow-raised: 0 0 0 1px rgba(0, 0, 0, 0.03),
0 2px 6px 2px rgba(0, 0, 0, 0.09), 0 4px 12px 4px rgba(0, 0, 0, 0.06);
--glow: var(--accent-color) -6px 0 12px,
var(--secondary-accent-color) 6px 0 12px;
--transition: 200ms;
--transition-longer: 400ms;
--transition-long: 800ms;
}
@media (prefers-color-scheme: dark) {
:root {
--text: var(--light2);
--background: var(--bg3);
--fg01: rgba(255, 255, 255, 0.01);
--fg03: rgba(255, 255, 255, 0.03);
--fg05: rgba(255, 255, 255, 0.05);
--fg07: rgba(255, 255, 255, 0.07);
--fg09: rgba(255, 255, 255, 0.09);
--fg40: rgba(255, 255, 255, 0.4);
--fg50: rgba(255, 255, 255, 0.5);
--bg1: rgb(36, 36, 36);
--bg2: rgb(30, 30, 30);
--bg3: rgb(11, 11, 11);
--nav-bg: rgba(0, 0, 0, 0.5);
--purple-bg: rgba(220, 138, 221, 0.1);
--purple-fg: rgb(220, 138, 221);
--red-bg: rgba(226, 97, 81, 0.1);
--red-fg: rgb(246, 97, 81);
--yellow-bg: rgba(248, 228, 92, 0.1);
--yellow-fg: rgb(248, 228, 92);
--orange-bg: rgba(255, 190, 111, 0.1);
--orange-fg: rgb(255, 190, 111);
}
}