Compare commits
122 Commits
Author | SHA1 | Date |
---|---|---|
Emilia Allison | 8e8f8d830c | |
Emilia Allison | 720f49587b | |
Emilia Allison | fcb3b42bc7 | |
Emilia Allison | 4f94881acc | |
Emilia Allison | 64226497d8 | |
Emilia Allison | 6da3ea4df4 | |
Emilia Allison | e4b24647c1 | |
Emilia Allison | 4ba630ecc8 | |
Emilia Allison | 18f6ff6196 | |
Emilia Allison | 4047a3c8ab | |
Emilia Allison | fbd4c91b9b | |
Emilia Allison | 6dbe14b0b2 | |
Emilia Allison | ed00f2bdfe | |
Emilia Allison | e2b60db31d | |
Emilia Allison | e9aa55a520 | |
Emilia Allison | f54de47a25 | |
Emilia Allison | 7110401183 | |
Emilia Allison | d9b7f73b19 | |
Emilia Allison | a2a7268ded | |
Emilia Allison | 8e0e18ac84 | |
Emilia Allison | a50eeeaf79 | |
Emilia Allison | 0fda2bc258 | |
Emilia Allison | d7bfb4a231 | |
Emilia Allison | 1e8c7c74e5 | |
Emilia Allison | 3dbac61e65 | |
Emilia Allison | 8bb2fc1542 | |
Emilia Allison | 170c0f3080 | |
Emilia Allison | acb6e4b9a9 | |
Emilia Allison | 21855241fd | |
Emilia Allison | 7c7cf7b406 | |
Emilia Allison | 36acf28e9f | |
Emilia Allison | 040c1dc854 | |
Emilia Allison | 6b06289882 | |
Emilia Allison | bea03194cc | |
Emilia Allison | f3543edbfe | |
Emilia Allison | 070d9ef020 | |
Emilia Allison | 4b052d2c37 | |
Emilia Allison | 638306709f | |
Emilia Allison | f6324dbca6 | |
Emilia Allison | e9a6d0aaaf | |
Emilia Allison | 87a773e8ad | |
Emilia Allison | a80bd749a3 | |
Emilia Allison | 5ec8cf52a1 | |
Emilia Allison | b23d95bc0a | |
Emilia Allison | b633b5a256 | |
Emilia Allison | 0e575802cf | |
Emilia Allison | bc05b9fc72 | |
Emilia Allison | 0cc9e20c7c | |
Emilia Allison | 2023a4c222 | |
Emilia Allison | 5d2b977cd2 | |
Emilia Allison | a0f022ce73 | |
Emilia Allison | 7b3793ea7d | |
Emilia Allison | 069fe18b33 | |
Emilia Allison | 7d20c023d2 | |
Emilia Allison | 8396d5e469 | |
Emilia Allison | b2e1b424b5 | |
Emilia Allison | 8020b188ee | |
Emilia Allison | cb94084dda | |
Emilia Allison | f6f9e1481e | |
Emilia Allison | 987eed2efa | |
Emilia Allison | adcd9b0f38 | |
Emilia Allison | d77ccd47ee | |
Emilia Allison | 8ea9f702c5 | |
Emilia Allison | d9015cb46b | |
Emilia Allison | 6730d50add | |
Emilia Allison | 7b0aa74317 | |
Emilia Allison | 361bd134c9 | |
Emilia Allison | aee6302f6e | |
Emilia Allison | 4579c37b64 | |
Emilia Allison | c5ef691077 | |
Emilia Allison | 16540edeb6 | |
Emilia Allison | 2f03f9d830 | |
Emilia Allison | 91769a9635 | |
Emilia Allison | 336ef6f6e7 | |
Emilia Allison | 98239c4fd2 | |
Emilia Allison | 850d0c259c | |
Emilia Allison | ecff203c0d | |
Emilia Allison | ffb9822565 | |
Emilia Allison | 0fe8096950 | |
Emilia Allison | 1f07fd9926 | |
Emilia Allison | 1882e1d156 | |
Emilia Allison | ee64123194 | |
Emilia Allison | d221971467 | |
Emilia Allison | 7d3ad1ddfd | |
Emilia Allison | f50f72d919 | |
Emilia Allison | 6250629545 | |
Emilia Allison | e8da14c9e8 | |
Emilia Allison | 98d34c5476 | |
Emilia Allison | 90a4565e2e | |
Emilia Allison | 7de98a4c7d | |
Emilia Allison | 588cf081fa | |
Emilia Allison | b14dbda2c3 | |
Emilia Allison | c6928b85aa | |
Emilia Allison | c3f7678f25 | |
Emilia Allison | f64d1d557d | |
Emilia Allison | 85c2aadc39 | |
Emilia Allison | f13aa49e61 | |
Emilia Allison | 32c169e957 | |
Emilia Allison | 04ddc30772 | |
Emilia Allison | 6abb6a6187 | |
Emilia Allison | 590d7aa9ab | |
Emilia Allison | 1a046b926a | |
Emilia Allison | cad991a116 | |
Emilia Allison | 080175aab2 | |
Emilia Allison | 52bd9c4c84 | |
Emilia Allison | 7609dcf13d | |
Emilia Allison | e6a7310e04 | |
Emilia Allison | 9aa86dd896 | |
Emilia Allison | 7ba36b5b17 | |
Emilia Allison | b62f80656b | |
Emilia Allison | f21678220a | |
Emilia Allison | fc9a27d453 | |
Emilia Allison | 56cc9367fd | |
Emilia Allison | d4826b33ab | |
Emilia Allison | 8790ec387e | |
Emilia Allison | 6948b50eef | |
Emilia Allison | a91c3a4b80 | |
Emilia Allison | 7772782946 | |
Emilia Allison | 513a507896 | |
Emilia Allison | 2102217b0e | |
Emilia Allison | 59f6b00bd3 | |
Emilia Allison | 5df9643336 |
|
@ -24,7 +24,7 @@ jobs:
|
|||
key: ${{ secrets.SSH_KEY }}
|
||||
script: |
|
||||
cd repo/src
|
||||
sass sass/:css/
|
||||
sass scss/:css/
|
||||
- name: Build hugo
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
|
@ -42,7 +42,7 @@ jobs:
|
|||
username: ubuntu
|
||||
key: ${{ secrets.SSH_KEY }}
|
||||
script: |
|
||||
sudo su
|
||||
rm -rf /usr/share/nginx/html/ilia.moe
|
||||
cp -r repo/src /usr/share/nginx/html/ilia.moe
|
||||
cp -r repo/hugo/recipe/public /usr/share/nginx/html/ilia.moe/cool-stuff/recipes
|
||||
sudo rm -rf /usr/share/nginx/html/ilia.moe
|
||||
sudo cp -r repo/src /usr/share/nginx/html/ilia.moe
|
||||
sudo cp -r repo/hugo/recipe/public /usr/share/nginx/html/ilia.moe/cool-stuff/recipes
|
||||
sudo cp repo/error_pages/* /usr/share/nginx/html/resources
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
src/css/
|
||||
src/pictures
|
||||
push_updates.sh
|
||||
hugo/*/public/
|
||||
hugo/*/resources/_gen/
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
[submodule "hugo/recipe/themes/ilia-hugo-theme"]
|
||||
path = hugo/recipe/themes/ilia-hugo-theme
|
||||
url = git@github.com:em-ilia/ilia-hugo-theme.git
|
||||
[submodule "hugo/recipe/themes/waltuh-hugo-theme"]
|
||||
path = hugo/recipe/themes/waltuh-hugo-theme
|
||||
url = https://git.ilia.moe/emilia/waltuh-hugo-theme
|
||||
|
|
13
README.md
13
README.md
|
@ -1,11 +1,6 @@
|
|||
# welcome to my ~~video game channel~~ website
|
||||
the part that's public, anyway
|
||||
the part that's public, anyway --- which is essentially all of it
|
||||
|
||||
There's no backend component to my public website, so it's pretty much "open source" anyway—
|
||||
you're downloading it if you open the page.
|
||||
I wanted to use git to track it anyway, and GitHub is a pretty easy way to move files around.
|
||||
(*just to be super clear—compromising my GitHub would not also imply compromising
|
||||
my website*)
|
||||
I mean, people who use GitHub pages for a personal website are essentially doing what I'm doing but
|
||||
with fewer steps
|
||||
(except I'm cooler because I have to manage nginx).
|
||||
Everything is pretty messy since I don't have a good handle
|
||||
on what I want to host at any one time besides just my
|
||||
landing page.
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>uh oh!!!</title>
|
||||
<style>
|
||||
@keyframes bob-move {
|
||||
from {
|
||||
transform:scale(0.8,0.8);
|
||||
}
|
||||
50% {
|
||||
transform:scale(1.2,1.2);
|
||||
}
|
||||
to {
|
||||
transform:scale(0.8,0.8);
|
||||
}
|
||||
}
|
||||
#bob {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
|
||||
background-image: url(https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fcdn3.bigcommerce.com%2Fs-d2dn6h1e%2Fproducts%2F77%2Fimages%2F339%2Fbobthebuilder__87641.1444836482.1280.1280.jpg%3Fc%3D2&f=1&nofb=1);
|
||||
background-repeat: no-repeat;
|
||||
|
||||
animation-duration: 0.15s, 1s;
|
||||
animation-name: bob-move;
|
||||
animation-iteration-count: infinite;
|
||||
}
|
||||
h1, h2 {
|
||||
margin: 0;
|
||||
}
|
||||
#toggle {
|
||||
position: absolute;
|
||||
top: -100vh;
|
||||
left: -100vw;
|
||||
}
|
||||
|
||||
#lorem-div {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
height: 100vh;
|
||||
width: 100wv;
|
||||
opacity: 0;
|
||||
color: brown;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
}
|
||||
input[type=checkbox]:checked ~ #lorem-div {
|
||||
opacity: 1;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
transform: scale(1.3,2.9) rotate(-38deg);
|
||||
}
|
||||
#lorem-div > label {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
#lorem-div > p {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body style="overflow:hidden">
|
||||
<div id="bob"></div>
|
||||
<h1>
|
||||
please do not step on us
|
||||
</h1>
|
||||
<h2>
|
||||
we are trying to grow
|
||||
</h2>
|
||||
<p>
|
||||
this site is under construction right now.
|
||||
</p>
|
||||
<input type="checkbox" id="toggle">
|
||||
<div id="lorem-div">
|
||||
<label for="toggle">
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer tempus, lacus in volutpat tristique, nisl purus cursus massa, et tempus neque est in augue. Donec eget mi viverra, viverra libero at, maximus ante. Vestibulum quis purus quis tortor porta pretium id ut augue. Nullam commodo finibus lorem non vehicula. Ut mollis lacus in laoreet blandit. Donec consequat bibendum nibh, sed imperdiet dolor. Nullam feugiat sem massa, eget dapibus augue feugiat a. Phasellus mollis condimentum fermentum. Morbi et orci quis purus semper dictum vitae ac mi.
|
||||
|
||||
Pellentesque ut nulla eget lorem rhoncus maximus non sed arcu. Maecenas ornare posuere lorem, in mattis nibh tristique porta. Aliquam consequat odio eu erat fringilla facilisis. Duis et lectus luctus, varius urna eleifend, iaculis felis. Ut eget sodales orci. Praesent a sagittis erat. Suspendisse at augue velit.
|
||||
|
||||
Etiam vel libero imperdiet, facilisis ex et, sollicitudin sem. Mauris egestas id tortor id hendrerit. Pellentesque scelerisque eu urna id commodo. Donec lacinia vel ex eu ultricies. Etiam sagittis dolor justo. Phasellus suscipit feugiat justo, malesuada tempus urna condimentum sed. Quisque gravida semper neque tincidunt aliquet. Pellentesque aliquam dui quis lorem efficitur, id congue dui tempus.
|
||||
|
||||
Nulla eu mauris vel elit sodales eleifend nec vel lectus. Nunc a fringilla nibh, vitae mollis ex. Pellentesque feugiat scelerisque neque vel dignissim. Cras eget metus id justo vulputate consectetur. Mauris eget orci eu sem vulputate euismod. Phasellus nisl erat, suscipit et nulla at, pharetra vestibulum massa. Cras malesuada, dolor a eleifend vehicula, mi mauris auctor mi, nec condimentum nibh tellus eget lorem. Praesent a nisi nec elit lobortis aliquet convallis eu justo. Curabitur non lectus sit amet magna malesuada ultrices. Integer sed neque vel justo finibus suscipit. Duis eu tincidunt nulla, aliquet posuere mauris. Donec sit amet massa sed elit venenatis posuere. Donec ipsum lacus, laoreet a rhoncus vel, tincidunt auctor sapien. Mauris fermentum arcu non ultrices ullamcorper. Nullam commodo diam sit amet vehicula pharetra.
|
||||
|
||||
Morbi luctus non elit ut mollis. Nunc bibendum sagittis vestibulum. Curabitur tincidunt massa dolor, eget fermentum risus vestibulum vel. In ac est in enim malesuada congue a a nisi. Nunc sit amet fermentum ligula. Donec turpis leo, ullamcorper et est nec, lobortis maximus magna. Vestibulum quis auctor libero. Mauris lacus sem, sagittis et porta id, posuere eu neque. Quisque nulla nulla, imperdiet aliquet pretium eget, imperdiet at arcu. Duis rutrum, tortor at luctus luctus, ligula lacus lacinia ipsum, eget commodo nibh lectus id magna.
|
||||
|
||||
In consequat nunc ligula, et consectetur turpis venenatis in. Sed in enim bibendum, imperdiet justo ut, aliquet felis. Integer eget lectus orci. Maecenas nulla dolor, lobortis eu elit nec, fringilla dapibus dui. Quisque faucibus finibus tempus. Sed nec elit sed felis pellentesque malesuada. Aliquam dignissim, dui in dignissim elementum, erat est vestibulum ligula, non efficitur mi sem quis nunc. Ut semper, ex vel consectetur ultrices, justo nunc sagittis nulla, nec porta odio magna quis felis. Aliquam luctus pellentesque accumsan. Nam cursus sapien id mauris efficitur, eget lacinia mi volutpat. Ut varius euismod arcu a accumsan. Nulla tellus neque, interdum id convallis vitae, molestie vitae velit. Integer rutrum malesuada mauris at pulvinar. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris leo sem, aliquet et lacinia sed, laoreet ac nibh. Integer eu dui vitae lectus pulvinar ullamcorper ac sit amet felis.
|
||||
|
||||
Curabitur dictum et tellus ac dignissim. Suspendisse semper tempus sapien. Integer eget enim hendrerit nisi sollicitudin lobortis. In at lacinia dolor. Etiam consequat condimentum ligula, vitae tempus enim rhoncus quis. Curabitur eget leo consequat, suscipit erat eu, tempus velit. Phasellus finibus eu nisl non mollis. Suspendisse tincidunt euismod nulla eu mattis. Duis scelerisque felis magna, consectetur fringilla tortor aliquet nec. Nullam faucibus, nisi non rhoncus congue, felis nisi pulvinar felis, a dignissim justo quam ac dui. Phasellus eu lectus ut urna sagittis rhoncus eget vitae lorem. Nulla maximus ante quis nibh euismod dignissim. Integer id viverra massa. Nam vulputate, nibh viverra bibendum pharetra, arcu nibh consectetur leo, eget efficitur leo mi at orci.
|
||||
|
||||
Sed gravida sem lorem, et tempus arcu mollis nec. Proin vestibulum enim eu metus luctus lobortis. Donec ac eros eget lectus vulputate semper sed et urna. Nullam placerat vestibulum purus. Praesent et tincidunt urna. Suspendisse potenti. Suspendisse potenti. Praesent mauris massa, ultricies varius lacinia et, pulvinar ac libero. Aenean venenatis varius eros, a ornare eros malesuada ut. Aenean rutrum dictum neque vitae placerat. Donec arcu lectus, lacinia interdum tortor eu, vestibulum finibus est. Fusce volutpat nec sem vitae aliquet. Sed quis sem non felis egestas varius. Maecenas mauris dolor, dapibus sit amet vestibulum ac, ullamcorper id urna. Vivamus sed iaculis velit, non mattis est.
|
||||
|
||||
Suspendisse feugiat nisl eros, pharetra rutrum neque congue ac. Nunc ornare eros vitae faucibus aliquet. Fusce luctus lorem augue, non fermentum quam ullamcorper at. Ut gravida nulla nec nibh fermentum, et fermentum metus semper. Praesent molestie massa at tempus tincidunt. Donec ornare metus at nisl varius, id porttitor tellus euismod. Aenean eget odio nec urna rutrum rutrum at et ipsum. Fusce efficitur quam quis ornare pulvinar.
|
||||
|
||||
Maecenas feugiat erat id purus imperdiet fermentum. Vestibulum porta fermentum est, sed vehicula magna dapibus eu. Morbi sem felis, tincidunt malesuada diam eu, condimentum eleifend erat. Maecenas mattis dolor quis tempus blandit. Proin egestas sem sed augue hendrerit viverra. Maecenas commodo dui sit amet sem tristique, id rutrum ante mollis. Suspendisse venenatis efficitur urna, efficitur bibendum diam dignissim id. Curabitur et ex molestie, gravida ex vel, accumsan nulla. Nam vulputate elementum magna a imperdiet.
|
||||
</p>
|
||||
</label>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body style="overflow:hidden">
|
||||
<style>
|
||||
@keyframes peepy-move {
|
||||
from {
|
||||
transform: rotate(3deg) scale(0.9,0.9) translate(-5%,-5%);
|
||||
}
|
||||
50% {
|
||||
transform: rotate(-3deg) scale(1.1,1.1) translate(5%,5%);
|
||||
}
|
||||
to {
|
||||
transform: rotate(3deg) scale(0.9,0.9) translate(-5%,-5%);
|
||||
}
|
||||
}
|
||||
@keyframes peepy-color {
|
||||
from {
|
||||
filter: hue-rotate(0deg)
|
||||
}
|
||||
to {
|
||||
filter: hue-rotate(359deg)
|
||||
}
|
||||
}
|
||||
.peepy {
|
||||
position: absolute;
|
||||
top: -20%;
|
||||
left: -20%;
|
||||
width: 140%;
|
||||
height: 140%;
|
||||
z-index: -1;
|
||||
|
||||
background-image: url(https://cdn.shopify.com/s/files/1/2597/3774/products/itemlabel-cow-peepy-site-1.jpg?v=1620839788&width=1200);
|
||||
background-size: 25% 25%;
|
||||
animation-duration: 0.2s, 1s;
|
||||
animation-name: peepy-move, peepy-color;
|
||||
animation-iteration-count: infinite;
|
||||
|
||||
}
|
||||
</style>
|
||||
<div class="peepy"></div>
|
||||
<h1 style="transform: rotate(15deg) translate(10vw,50vh); text-align: center;">
|
||||
peepy. peepy. have you seen him? i love peepy.
|
||||
do you love peepy?
|
||||
i need peepy. peepy?
|
||||
peepy.
|
||||
<h2>
|
||||
</body>
|
||||
</html>
|
|
@ -1,7 +1,13 @@
|
|||
baseURL = 'https://ilia.moe/cool-stuff/recipes'
|
||||
languageCode = 'en-us'
|
||||
title = 'Recipes'
|
||||
theme = 'ilia-hugo-theme'
|
||||
theme = 'waltuh-hugo-theme'
|
||||
|
||||
[taxonomies]
|
||||
tag = 'tags'
|
||||
|
||||
[markup]
|
||||
[markup.goldmark]
|
||||
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
||||
|
|
|
@ -3,3 +3,13 @@ title: "Recipes"
|
|||
---
|
||||
|
||||
# Recipes
|
||||
### Seldom updated
|
||||
|
||||
## About
|
||||
|
||||
These recipes aren't very good; they're mostly just notes for myself.
|
||||
Some of them are stolen from various sources and modified (copyright law for recipes is weird),
|
||||
but others are original.
|
||||
Cooking isn't that hard.
|
||||
|
||||
## Pages
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
title: "Fettuccine Alfredo"
|
||||
lastmod: 2023-07-20T14:25:00-04:00
|
||||
date: 2023-07-20T14:25:00-04:00
|
||||
author: "Emilia"
|
||||
tags: []
|
||||
---
|
||||
|
||||
### Ingredients
|
||||
- 0.25 cup butter (unsalted ideally)
|
||||
- 1 cup heavy cream
|
||||
- 0.75 cups parmesan cheese
|
||||
- 8 ounces (half box) fettuccine
|
||||
|
||||
### Notes
|
||||
|
||||
- Obviously, salt the sauce.
|
||||
- Pepper in the sauce is nice too.
|
||||
|
||||
### Procedure
|
||||
1. Begin boiling water for pasta, begin cooking when boiling
|
||||
2. Melt butter and cream over medium or medium-low heat
|
||||
3. Continue cooking at this temperature until mixture begins to bubble
|
||||
4. Simmer for around 15 minutes or until reduced
|
||||
5. Remove from heat, and cheese, and mix
|
|
@ -0,0 +1,62 @@
|
|||
---
|
||||
title: "Tim's Hot Chocolate"
|
||||
lastmod: 2023-07-20T18:50:17-04:00
|
||||
date: 2023-07-20T18:50:17-04:00
|
||||
authors:
|
||||
- "Emilia"
|
||||
- "Tim"
|
||||
tags: []
|
||||
---
|
||||
|
||||
## Recipe
|
||||
|
||||
The ingredients listed below are for roughly one tablespoon of mix,
|
||||
which makes two fluid ounces of product.
|
||||
Obviously, one should scale this recipe to produce the desired quantity of output.
|
||||
|
||||
<br />
|
||||
|
||||
### Notes
|
||||
|
||||
- A little bit of salt is probably good,
|
||||
but I think there is a fair amount in the milk---be cautious here.
|
||||
|
||||
### Ingredients
|
||||
|
||||
- 1 g cocoa powder
|
||||
- 3 g stevia
|
||||
- 4 g powdered milk
|
||||
- 44g water
|
||||
|
||||
### Procedure
|
||||
|
||||
1. Mix dry ingredients
|
||||
2. Heat water
|
||||
3. Add dry ingredients to water
|
||||
|
||||
## Appendix
|
||||
|
||||
<!-- Just to add space for the h3 -->
|
||||
<br />
|
||||
<br />
|
||||
|
||||
### Price per 8oz glass
|
||||
|
||||
The prices below are sourced from a local chain grocery store, retrieved 20 July 2023.
|
||||
In Pennsylvania, sales tax is not levied on non-prepared food items, such as those in this recipe.
|
||||
|
||||
| Item | Cost ($) | Mass (oz) | Mass (g) | $/g |
|
||||
| :--- | ---: | ---: | ---: | ---: |
|
||||
| Cocoa | 4.49 | 8 | 227 | 0.0198 |
|
||||
| Stevia | 5.99 | 9.8 | 278 | 0.0215 |
|
||||
| Milk | 5.79 | 9.6 | 272 | 0.0213 |
|
||||
|
||||
From this table, we conclude that the price per gram is $0.0212
|
||||
(a weighted average of the ingredients).
|
||||
|
||||
If we are to prepare an `8 oz` glass, we will require `4 Tbsp` of mix;
|
||||
this is approximately `32 g` of mix.
|
||||
Therefore our final cost is **$0.678**
|
||||
(we assume the cost of water is negligible).
|
||||
|
||||
<br />
|
|
@ -14,6 +14,12 @@ tags: []
|
|||
- 2 tsp Worcestershire sauce
|
||||
- 8 oz (half box) dried macaroni
|
||||
|
||||
### Notes
|
||||
|
||||
- 1 cup of cheese means half of a block. Do not use an entire block or you will suffer.
|
||||
- Sharper cheeses help the sauce to have flavor. Mild cheddar yields sub par flavor.
|
||||
- Toast bread crumbs before baking them! They do not have the right texture otherwise.
|
||||
|
||||
### Procedure
|
||||
1. Begin boiling water for pasta, begin cooking when boiling
|
||||
2. Melt butter in a medium saucepan over medium-low heat
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
title: "Pumpkin Brownies"
|
||||
lastmod: 2022-09-10T14:21:19-04:00
|
||||
date: 2022-09-10T14:21:19-04:00
|
||||
author: "Emilia"
|
||||
tags: ["baked"]
|
||||
---
|
||||
|
||||
### Ingredients
|
||||
- 1 cup butter
|
||||
- 1.5 cups brown sugar
|
||||
- 1 Tbsp pumpkin pie spice
|
||||
- Can substitute choice of cinnamon, ginger, cloves, and nutmeg
|
||||
- 2 tsp vanilla
|
||||
- 1 tsp salt
|
||||
- 1 tsp baking powder
|
||||
- 1 egg
|
||||
- 1 cup pumpkin puree
|
||||
- 2.25 cups flour
|
||||
|
||||
### Procedure
|
||||
1. (Optional) Brown butter in a sauce pan, then cool
|
||||
2. Combine melted butter and sugar in a mixing bowl
|
||||
3. Add in spice, vanilla, salt, baking powder, egg, and pumpkin. Mix until combined.
|
||||
4. Slowly incorporate flour
|
||||
5. Spread batter in a greased 9x13 pan (or other size)
|
||||
6. Bake @350°F for 30–35 minutes
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
title: "Sandwich Bread"
|
||||
lastmod: 2022-09-10T14:33:38-04:00
|
||||
date: 2022-09-10T14:33:38-04:00
|
||||
author: "Emilia"
|
||||
tags: ["baked"]
|
||||
---
|
||||
|
||||
### Ingredients
|
||||
- 0.75 cups water
|
||||
- 0.5 cups milk
|
||||
- 1 Tbsp yeast
|
||||
- 3 cups flour
|
||||
- 1.5 tsp salt
|
||||
- 1 Tbsp sugar
|
||||
- 3 Tbsp unsalted butter
|
||||
|
||||
### Procedure
|
||||
1. Heat water and milk to around 100°F
|
||||
2. Add yeast to liquid mixture, wait for bloom
|
||||
3. Whisk together flour, salt, and sugar
|
||||
- Sufficient to mix a bit with dough hook
|
||||
4. Pour liquid into dry ingredient mix
|
||||
- Mix until reasonably incorporated
|
||||
5. Add in butter, about one tablespoon at a time, while kneading
|
||||
6. Knead one to two minutes after butter fully incorporated
|
||||
7. Cover and let rise 1.5 hours
|
||||
8. Punch down and shape dough into vessel or final shape
|
||||
9. Let rise again for 0.75 to 1.0 hours
|
||||
10. Bake at 350°F for 35 to 40 minutes
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
title: "Stickybuns"
|
||||
title: "Sticky Buns"
|
||||
lastmod: ":git"
|
||||
date: 2022-06-29T14:46:50-04:00
|
||||
author: "Joshua Weissman"
|
|
@ -1 +1 @@
|
|||
Subproject commit b33d57d56576d0d78abf92c966ca65affcffe79f
|
||||
Subproject commit 9dc35c1017df047a6b244ac8a431e0694fd54547
|
|
@ -0,0 +1 @@
|
|||
Subproject commit 5671f376d5c80b2f125c17af373665f417aebd85
|
|
@ -0,0 +1,14 @@
|
|||
clean:
|
||||
rm -rf css/*
|
||||
|
||||
css:
|
||||
sass scss:css
|
||||
|
||||
css-watch:
|
||||
sass -w scss:css
|
||||
|
||||
server:
|
||||
python -m http.server -b 127.0.0.1
|
||||
|
||||
dev:
|
||||
make -j 2 css-watch server
|
|
@ -6,26 +6,28 @@
|
|||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
</head>
|
||||
<body>
|
||||
<div class="overlay">
|
||||
</div>
|
||||
<div class="outerdiv contentholder">
|
||||
<div class="contentholder__topfiller"></div>
|
||||
<div class="content">
|
||||
<h1>
|
||||
<div id="overlay"></div>
|
||||
<main class="offset-grid--top--wide fullsize side-a">
|
||||
<div>
|
||||
<div class="flex column-tight">
|
||||
<h1 class="ff-serif fs-700 padding-high-top">
|
||||
About
|
||||
</h1>
|
||||
<h2>isn't that the page title?</h2>
|
||||
<p>
|
||||
I'm not super keen on saying that much about myself on the <mark class="internet">internet</mark>.
|
||||
Anyway, here's some information about myself, posted on the aforementioned <mark class="internet">internet</mark>.
|
||||
<h3 class="ff-serif fs-500 padding-none-top">there used to be a subtitle here</h3>
|
||||
<p class="ff-sans fs-300 padding-high-top">
|
||||
I'm not super keen on saying that much about myself on the <span class="waltuh-gradient">internet</span>.
|
||||
Here's some information about myself, posted on the aforementioned <span class="waltuh-gradient">internet</span>.
|
||||
</p>
|
||||
<p>
|
||||
I'm studying mathematics (with a focus on computation) at Penn State, and will hopefully be graduating in 2023.
|
||||
<p class="ff-sans fs-300 padding-mid-top">
|
||||
I work for a pretty neat company as an associate robotic automation engineer.
|
||||
(this means I am cool, I think.)
|
||||
</p>
|
||||
</div>
|
||||
<div class="content">
|
||||
<h1>Opinions</h1>
|
||||
<h2>A 100% exhaustive list, of course</h2>
|
||||
<div class="flex column-tight">
|
||||
<h1 class="ff-serif fs-700 padding-high-top">Opinions</h1>
|
||||
<h3 class="ff-serif fs-500 padding-none-top">A 100% exhaustive list, of course</h3>
|
||||
<span class="ff-sans fs-300 padding-low-top">
|
||||
<ul>
|
||||
<li>
|
||||
the modern internet is bloated
|
||||
<ol>
|
||||
|
@ -33,17 +35,22 @@ the modern internet is bloated
|
|||
</ol>
|
||||
</li>
|
||||
<li>open source software is very cool</li>
|
||||
<li>
|
||||
linux distros don't matter
|
||||
<ol>
|
||||
<li>btw i use</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>social media is kinda yucky</li>
|
||||
<li>social media is kinda yucky!</li>
|
||||
<li>the military industrial complex</li>
|
||||
<li>my taste in music is objectively just ok</li>
|
||||
<li>🦐</li>
|
||||
<li>my taste in music is <s>objectively just ok</s> taylor swift</li>
|
||||
<li>FluentControl whistle noise 🔥 🗣</li>
|
||||
<li>🦐 🍤</li>
|
||||
</ul>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="../">
|
||||
</a>
|
||||
<div class="side-a__main-content-cover"></div>
|
||||
</main>
|
||||
<footer class="lock-bottom">
|
||||
<p><a href="../">Return</a></p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,245 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Emilia Allison</title>
|
||||
<link rel="stylesheet" href="/css/books.css">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
</head>
|
||||
<body class="no-overflow">
|
||||
<div id="overlay">
|
||||
</div>
|
||||
<main class="offset-grid--top--wide--column side-a">
|
||||
<div>
|
||||
<h1>
|
||||
Books
|
||||
</h1>
|
||||
<h3 class="padding-none-top padding-low-bottom">primarily those that I've read</h3>
|
||||
<p>
|
||||
I wouldn't say that I read a lot.
|
||||
This page exists because I am generally dissatisfied with Goodreads
|
||||
and its competitors.
|
||||
My commentary may or may not include spoilers (clearly marked).
|
||||
The contents are placed here in no particular order.
|
||||
</p>
|
||||
<h1 class="padding-mid-top">
|
||||
the books
|
||||
</h1>
|
||||
|
||||
<!-- Book Template
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> TITLE </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> BOOK AUTHOR </p>
|
||||
<p class="book-entry__year"> PUBLICATION YEAR </p>
|
||||
<p class="book-entry__score"> SCORE OUT OF 10 </p>
|
||||
<p class="book-entry__comments"> COMMENTARY
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
-->
|
||||
|
||||
|
||||
<div class="book-entry-container">
|
||||
<!-- Put books below -->
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> The Message </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> Ta-Nehisi Coates </p>
|
||||
<p class="book-entry__year"> 2024 </p>
|
||||
<p class="book-entry__score"> 8 </p>
|
||||
<p class="book-entry__comments">
|
||||
I really enjoyed the prose in this book;
|
||||
the elegance of the author's descriptions
|
||||
served, in my opinion, to enhance the message
|
||||
of one of the core themes.
|
||||
I do indeed find myself haunted by this book,
|
||||
for which I am glad.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> Cowboy, Cross My Heart </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> Donna Grant </p>
|
||||
<p class="book-entry__year"> 2018 </p>
|
||||
<p class="book-entry__score"> 3 </p>
|
||||
<p class="book-entry__comments">
|
||||
I did not read this book voluntarily,
|
||||
and I will not elaborate on this fact.
|
||||
While I can mostly certainly appreciate the allure of a good cowboy,
|
||||
especially one with new stainless steel appliances and a ranch,
|
||||
the inciting incident of the plot is a bit too goofy for my taste.
|
||||
<span class=spoiler>There's like a rodeo pageant sexual harassment
|
||||
scheme being run by an evil cabal of anti-cowboys?</span>
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2>Dune</h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author">Frank Herbert</p>
|
||||
<p class="book-entry__year">1965</p>
|
||||
<p class="book-entry__score">8</p>
|
||||
<p class="book-entry__comments">
|
||||
I read the first Dune book without having seen the
|
||||
<a href="https://en.wikipedia.org/wiki/Dune_(1984_film)">Lynch film</a>
|
||||
and before the new movie was released.
|
||||
Unfortunately, I found that, in addition to the typical suspension of disbelief
|
||||
required by this genre, it was necessary to look past many <em>interesting</em>
|
||||
opinions Frank had regarding women (see: Heretics of Dune).
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> Dune Messiah </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> Frank Herbert </p>
|
||||
<p class="book-entry__year"> 1969 </p>
|
||||
<p class="book-entry__score"> 8 </p>
|
||||
<p class="book-entry__comments">
|
||||
Messiah is more philosophical than Dune.
|
||||
Herbert's anti-theocracy and anti-autocracy messaging is far stronger here.
|
||||
One might say that Herbert's rejection of charismatically driven tyranny
|
||||
was prescient.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> Children of Dune </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> Frank Herbert </p>
|
||||
<p class="book-entry__year"> 1976 </p>
|
||||
<p class="book-entry__score"> 6 </p>
|
||||
<p class="book-entry__comments">
|
||||
In my mind, Children of Dune exists almost solely to set up its sequel.
|
||||
This book has some very uncomfortable moments
|
||||
(although by no means the worst this series has to offer)
|
||||
arising from Herbert's use of children characters with adult memories.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> God Emperor of Dune </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> Frank Herbert </p>
|
||||
<p class="book-entry__year"> 1981 </p>
|
||||
<p class="book-entry__score"> 9 </p>
|
||||
<p class="book-entry__comments">
|
||||
A common criticism of GEoD is heavy use of monologue;
|
||||
I quite enjoyed the Worm's lengthy expositions.
|
||||
Philosophy aside, I enjoy this book for the absurdity of
|
||||
its premise:
|
||||
<span class=spoiler> a giant worm has near-complete control over
|
||||
the entirety of humanity. </span>
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> Heretics of Dune </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> Frank Herbert </p>
|
||||
<p class="book-entry__year"> 1984 </p>
|
||||
<p class="book-entry__score"> 5 </p>
|
||||
<p class="book-entry__comments">
|
||||
How I adore Herbert's writing of women.
|
||||
There are many interesting ideas in Heretics,
|
||||
but this is in large part overshadowed by the more objectionable content.
|
||||
<span class=spoiler>
|
||||
As far as I can tell, Duncan is thirteen in this book.
|
||||
Fine, he reacquires his old memories, but the Bene Gesserit
|
||||
were planning to imprint him <em>before</em> that.
|
||||
The idea of imprinting is revolting on its own,
|
||||
but the pairing with an underage character is more so.
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> Neuromancer </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> William Gibson </p>
|
||||
<p class="book-entry__year"> 1984 </p>
|
||||
<p class="book-entry__score"> 5 </p>
|
||||
<p class="book-entry__comments">
|
||||
Although I found it hard to follow at times,
|
||||
Neuromancer's numerous contributions (if not outright creation of) to the genre
|
||||
cannot be dismissed.
|
||||
I found Gibson's writing of women characters to be lackluster;
|
||||
I personally can do without unexpected smut.
|
||||
The sequel, Count Zero, leaned this direction so quickly as to
|
||||
prompt my abandonment of the trilogy.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> Be More Chill </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> Ned Vizzini </p>
|
||||
<p class="book-entry__year"> 2004 </p>
|
||||
<p class="book-entry__score"> 3 </p>
|
||||
<p class="book-entry__comments">
|
||||
I have little to say about this entry.
|
||||
YA is not typically my preference, and this book did little to change that.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<section class="book-entry">
|
||||
<details>
|
||||
<summary><h2> To Kill a Mockingbird </h2></summary>
|
||||
<div>
|
||||
<p class="book-entry__author"> Harper Lee </p>
|
||||
<p class="book-entry__year"> 1960 </p>
|
||||
<p class="book-entry__score"> 10 </p>
|
||||
<p class="book-entry__comments">
|
||||
Everybody has read this book, I just think it's quite good
|
||||
and wanted to include it here despite that.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</section>
|
||||
|
||||
<!-- Stop putting books here -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<a href="./">
|
||||
</a>
|
||||
<div class="side-a__main-content-cover"></div>
|
||||
</main>
|
||||
<footer class="lock-bottom">
|
||||
<p><a href="./">Return</a></p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
css/
|
|
@ -0,0 +1,14 @@
|
|||
clean:
|
||||
rm css/*
|
||||
|
||||
css:
|
||||
sass scss:css
|
||||
|
||||
css-watch:
|
||||
sass -w scss:css
|
||||
|
||||
server:
|
||||
python -m http.server
|
||||
|
||||
dev:
|
||||
make -j 2 css-watch server
|
|
@ -0,0 +1,112 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>CSS Purgatory - Base</title>
|
||||
<link rel="stylesheet" href="css/base.css">
|
||||
<!-- Base v1.1 -->
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<header id="title" class="hr">
|
||||
<h1>Base</h1>
|
||||
</header>
|
||||
<article class="">
|
||||
<section id="description" class="hr">
|
||||
<h2>Description</h2>
|
||||
<div class="container">
|
||||
<p><em>Base</em> is not a style, it is a template for other styles to be copied from</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<section id="colors" class="hr">
|
||||
<h2>Colors</h2>
|
||||
<div class="container flex">
|
||||
<div>
|
||||
<div class="colors--block bg-dark text-white">#Color hex code</div>
|
||||
<p> HSL: Color hsl
|
||||
</div>
|
||||
<div>
|
||||
<div class="colors--block bg-light text-white">#Color hex code</div>
|
||||
<p> HSL: Color hsl
|
||||
</div>
|
||||
<div>
|
||||
<div class="colors--block bg-white text-dark">#Color hex code</div>
|
||||
<p> HSL: Color hsl
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<section id="typography" class="hr">
|
||||
<h2>Typography</h2>
|
||||
<div class="container two-columns">
|
||||
<div>
|
||||
<p class="ff-serif fs-900">Heading 1</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-serif fs-800">Heading 2</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-serif fs-700">Heading 3</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-600">Heading 4</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-500">Heading 5</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-400">Heading 6</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-300">Text</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<p class="ff-sans-cond fs-200">Subtext</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<section id="samples" class="hr">
|
||||
<h2>Sample Pages</h2>
|
||||
<ul class="container two-columns">
|
||||
<li><a href="samplepage">First Sample Page</a></li>
|
||||
<li><a href="landingpage">Second Sample Page</a></li>
|
||||
<li><a>Third Sample Page</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
<footer>
|
||||
<a href="../">Return to Purgatory</a>
|
||||
</footer>
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Base - Landing Page</title>
|
||||
<link rel="stylesheet" href="css/base.css">
|
||||
<style>
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
<!-- Base v1.1 -->
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<header>
|
||||
<div class="container flex column">
|
||||
<h1 class="text-dark">Base Landing Page</h1>
|
||||
<p>One might want a flashy landing page</p>
|
||||
</div>
|
||||
</header>
|
||||
</main>
|
||||
<footer class="lock-bottom">
|
||||
<a href="./">Return to Base</a>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Base - Sample Page</title>
|
||||
<link rel="stylesheet" href="css/base.css">
|
||||
<!-- Base v1.1 -->
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<header id="title">
|
||||
<h1>
|
||||
Base - Sample Page
|
||||
</h1>
|
||||
<div class="container">
|
||||
<p>Where one might put a page showcasing the features of a theme</p>
|
||||
</div>
|
||||
</header>
|
||||
<article>
|
||||
<section id="fakecontent" class="container">
|
||||
<h2>Fake content 1</h2>
|
||||
<p>Some content might go here on a real page.</p>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sagittis congue turpis et laoreet. Integer finibus velit purus, id semper augue pulvinar eu. In sed diam bibendum, faucibus neque eget, malesuada nisi. Maecenas nulla ante, sagittis sed mollis malesuada, imperdiet et turpis. Curabitur eget vehicula justo. Etiam nec magna sed dui lacinia molestie quis vitae velit. Donec eu erat metus. Duis congue, risus vel gravida elementum, risus velit vestibulum felis, rhoncus varius purus turpis ut sapien. Etiam non libero ex. Interdum et malesuada fames ac ante ipsum primis in faucibus. Etiam facilisis, orci at aliquet congue, massa felis semper nisl, consectetur commodo eros odio vel nibh.</p>
|
||||
</section>
|
||||
<section id="fakecontent2" class="container">
|
||||
<h2>Fake content 2</h2>
|
||||
<p>Some other content might go here, but it would be separated from the first bit of content.</p>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec arcu enim, dictum eu tincidunt quis, ultrices in tortor. Vivamus pharetra elementum mauris sit amet elementum. Sed diam tortor, consequat nec ex et, mattis tincidunt nunc. Fusce id sem justo. Phasellus ac blandit libero. Donec eu orci ac libero blandit sollicitudin sit amet eu nunc. Aenean finibus fermentum ligula id fringilla. Maecenas sit amet tortor metus. </p>
|
||||
</section>
|
||||
</article>
|
||||
<footer>
|
||||
<a href="./">Return to Base</a>
|
||||
</footer>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,206 @@
|
|||
@use "sass:math";
|
||||
@mixin reset {
|
||||
/* ----------------- */
|
||||
/* Custom Properties */
|
||||
/* ----------------- */
|
||||
/*
|
||||
This values are to be overridden
|
||||
after being injected into
|
||||
the global scope.
|
||||
*/
|
||||
|
||||
/* colors */
|
||||
|
||||
$color-dark: hsl(0 0% 0%); /* Black */
|
||||
$color-light: hsl(0 0% 50%); /* Gray */
|
||||
$color-white: hsl(0 0% 100%);/* White */
|
||||
|
||||
/* font */
|
||||
|
||||
/* Sizes divided by 16 so values given in px */
|
||||
$fs-900: math.div(125rem, 16);
|
||||
$fs-800: math.div(75rem, 16);
|
||||
$fs-700: math.div(56rem, 16);
|
||||
$fs-600: math.div(32rem, 16);
|
||||
$fs-500: math.div(28rem, 16);
|
||||
$fs-400: math.div(24rem, 16);
|
||||
$fs-300: math.div(18rem, 16);
|
||||
$fs-200: math.div(16rem, 16);
|
||||
|
||||
$ff-serif: serif;
|
||||
$ff-sans-cond: sans-serif;
|
||||
$ff-sans: sans-serif;
|
||||
|
||||
/* --------------- */
|
||||
/* Utility Classes */
|
||||
/* --------------- */
|
||||
|
||||
/* Layouts */
|
||||
|
||||
.container {
|
||||
padding-inline: clamp(0.5rem, 4rem, 5rem);
|
||||
margin-inline: auto;
|
||||
max-width: 80rem;
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.column {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
.row {
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-evenly;
|
||||
align-content: baseline;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.two-columns {
|
||||
display: grid;
|
||||
/* Will shrink to one column, never exceed two!
|
||||
* The `max` in `minmax` asks that the columns
|
||||
* be no smaller */
|
||||
grid-template-columns: repeat(auto-fit, minmax(max(30rem, 40%), 1fr));
|
||||
column-gap: 1rem;
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
|
||||
.lock-bottom {
|
||||
position: absolute;
|
||||
bottom: 0%;
|
||||
}
|
||||
|
||||
/* Other */
|
||||
|
||||
.hr::after { /* Add fake hr after header */
|
||||
content: '';
|
||||
|
||||
position: absolute;
|
||||
display: block;
|
||||
clear: both;
|
||||
width: 100%;
|
||||
height: 0.15rem;
|
||||
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
/* Color Classes */
|
||||
|
||||
.bg-dark { background-color: $color-dark; }
|
||||
.bg-light { background-color: $color-light; }
|
||||
.bg-white { background-color: $color-white; }
|
||||
|
||||
.text-dark { color: $color-dark; }
|
||||
.text-light { color: $color-light; }
|
||||
.text-white { color: $color-white; }
|
||||
|
||||
/* Font Classes */
|
||||
|
||||
.fs-900 { font-size: $fs-900; }
|
||||
.fs-800 { font-size: $fs-800; }
|
||||
.fs-700 { font-size: $fs-700; }
|
||||
.fs-600 { font-size: $fs-600; }
|
||||
.fs-500 { font-size: $fs-500; }
|
||||
.fs-400 { font-size: $fs-400; }
|
||||
.fs-300 { font-size: $fs-300; }
|
||||
.fs-200 { font-size: $fs-200; }
|
||||
|
||||
.ff-serif { font-family: $ff-serif; }
|
||||
.ff-sans-cond { font-family: $ff-sans-cond; }
|
||||
.ff-sans { font-family: $ff-sans; }
|
||||
|
||||
.uppercase { text-transform: uppercase; }
|
||||
.lowercase { text-transform: lowercase; }
|
||||
|
||||
/* Semantic Tags and Their Classes */
|
||||
|
||||
header {
|
||||
margin-bottom: 3vh;
|
||||
}
|
||||
|
||||
section:not(:last-of-type) {
|
||||
margin-bottom: 3vh;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 3vh;
|
||||
}
|
||||
|
||||
/* ----- */
|
||||
/* Reset */
|
||||
/* ----- */
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body, h1, h2, h3, h4, h5, h6, p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6, p {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: $ff-sans;
|
||||
font-size: $fs-400;
|
||||
color: $color-dark;
|
||||
background-color: $color-white;
|
||||
line-height: 1.5;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-left: 1vw;
|
||||
margin-top: 1vh;
|
||||
}
|
||||
|
||||
img, picture {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
input, button, textarea, select {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
scroll-behaviour: auto !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include reset;
|
||||
|
||||
/* -------------------- */
|
||||
/* Non-Reusable Classes */
|
||||
/* -------------------- */
|
||||
/* meant for these pages
|
||||
* only, not to be used
|
||||
* in practice */
|
||||
|
||||
.colors--block {
|
||||
padding: 3rem 1rem 1rem;
|
||||
border: 1px solid black;
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>CSS Purgatory - Emilia Allison</title>
|
||||
<link rel="stylesheet" href="../../css/about.css">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<style>
|
||||
/* For classes not supplied by base.css
|
||||
*/
|
||||
.contentholder .contentholder__topfiller {
|
||||
height: 5vh;
|
||||
background-color: transparent;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="overlay"></div>
|
||||
<main class="offset-grid--top--wide fullsize">
|
||||
<div>
|
||||
<h1>
|
||||
CSS Purgatory
|
||||
</h1>
|
||||
<h2>i have not read <i>Purgatorio</i></h2>
|
||||
<p>
|
||||
The styling here will probably land me in purgatory
|
||||
</p>
|
||||
<h1>
|
||||
the styles
|
||||
</h1>
|
||||
<ol>
|
||||
<li>
|
||||
<h3>
|
||||
<a href="base">base</a>
|
||||
</h3>
|
||||
<p>
|
||||
Base format for color and typography schemes
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>
|
||||
<a href="https://ilia.moe">ilia1</a>
|
||||
</h3>
|
||||
<p>
|
||||
First layout used for <a href="https://ilia.moe">the homepage</a>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>
|
||||
<a href="pink">pink</a>
|
||||
</h3>
|
||||
<p>
|
||||
Second candidate format for the homepage
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>
|
||||
<a href="waltuh">Waltuh</a>
|
||||
</h3>
|
||||
<p>
|
||||
wacky and zany purple theme, collaborative
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,173 @@
|
|||
/* ----------------- */
|
||||
/* Custom Properties */
|
||||
/* ----------------- */
|
||||
/* Many of the prop-
|
||||
* erties here are
|
||||
* where the substa-
|
||||
* ntive changes
|
||||
* will be made */
|
||||
|
||||
:root {
|
||||
|
||||
/* colors */
|
||||
|
||||
--color-dark: 348 79% 81% ;/* White */
|
||||
--color-light: 0 0% 50% ; /* Gray */
|
||||
/*--color-white: 348 79% 97% ;*/
|
||||
--color-white: var( --color-dark) / .2 ;
|
||||
--color-accent: 45 79% 81% ;/* White */
|
||||
|
||||
/* font */
|
||||
|
||||
/* Sizes divided by 16 so values given in px */
|
||||
--fs-900: calc(125rem / 16);
|
||||
--fs-800: calc(75rem / 16);
|
||||
--fs-700: calc(56rem / 16);
|
||||
--fs-600: calc(32rem / 16);
|
||||
--fs-500: calc(28rem / 16);
|
||||
--fs-400: calc(24rem / 16);
|
||||
--fs-300: calc(18rem / 16);
|
||||
--fs-200: calc(16rem / 16);
|
||||
|
||||
--ff-serif: serif;
|
||||
--ff-sans-cond: sans-serif;
|
||||
--ff-sans: sans-serif;
|
||||
|
||||
}
|
||||
|
||||
/* ----- */
|
||||
/* Reset */
|
||||
/* ----- */
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body, h1, h2, h3, h4, h5, h6, p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6, p {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: var(--ff-sans);
|
||||
font-size: var(--fs-400);
|
||||
color: hsl( var(--color-dark) );
|
||||
background-color: hsl( var(--color-white) );
|
||||
line-height: 1.5;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-left: 1vw;
|
||||
margin-top: 1vh;
|
||||
}
|
||||
|
||||
img, picture {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
input, button, textarea, select {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
scroll-behaviour: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* --------------- */
|
||||
/* Utility Classes */
|
||||
/* --------------- */
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.column {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
.row {
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-evenly;
|
||||
align-content: baseline;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.two-columns {
|
||||
display: grid;
|
||||
/* Will shrink to one column, never exceed two!
|
||||
* The `max` in `minmax` asks that the columns
|
||||
* be no smaller */
|
||||
grid-template-columns: repeat(auto-fit, minmax(max(30rem, 40%), 1fr));
|
||||
column-gap: 1rem;
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding-inline: clamp(0.5rem, 4rem, 5rem);
|
||||
margin-inline: auto;
|
||||
max-width: 80rem;
|
||||
}
|
||||
|
||||
/* Color Classes */
|
||||
|
||||
.bg-dark { background-color: hsl( var(--color-dark) ); }
|
||||
.bg-light { background-color: hsl( var(--color-light) ); }
|
||||
.bg-white { background-color: hsl( var(--color-white) ); }
|
||||
|
||||
.text-dark { color: hsl( var(--color-dark) ); }
|
||||
.text-light { color: hsl( var(--color-light) ); }
|
||||
.text-white { color: hsl( var(--color-white) ); }
|
||||
|
||||
/* Font Classes */
|
||||
|
||||
.fs-900 { font-size: var(--fs-900); }
|
||||
.fs-800 { font-size: var(--fs-800); }
|
||||
.fs-700 { font-size: var(--fs-700); }
|
||||
.fs-600 { font-size: var(--fs-600); }
|
||||
.fs-500 { font-size: var(--fs-500); }
|
||||
.fs-400 { font-size: var(--fs-400); }
|
||||
.fs-300 { font-size: var(--fs-300); }
|
||||
.fs-200 { font-size: var(--fs-200); }
|
||||
|
||||
.ff-serif { font-family: var(--ff-serif); }
|
||||
.ff-sans-cond { font-family: var(--ff-sans-cond); }
|
||||
.ff-sans { font-family: var(--ff-sans); }
|
||||
|
||||
.uppercase { text-transform: uppercase; }
|
||||
.lowercase { text-transform: lowercase; }
|
||||
|
||||
/* -------------------- */
|
||||
/* Non-Reusable Classes */
|
||||
/* -------------------- */
|
||||
/* meant for these pages
|
||||
* only, not to be used
|
||||
* in practice */
|
||||
|
||||
.colors--block {
|
||||
padding: 3rem 1rem 1rem;
|
||||
border: 1px solid black;
|
||||
}
|
|
@ -0,0 +1,123 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>CSS Purgatory - pink</title>
|
||||
<link rel="stylesheet" href="index.css">
|
||||
<!-- Base v1 -->
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
<header id="title">
|
||||
<h1>pink</h1>
|
||||
</header>
|
||||
|
||||
<hr>
|
||||
|
||||
<article class="">
|
||||
<section id="description">
|
||||
<h2>Description</h2>
|
||||
<div class="container">
|
||||
<p>
|
||||
<em>pink</em> is being considered as a replacement for <em>ilia1</em>.
|
||||
While <em>ilia1</em> features a dark background and a static effect overlay,
|
||||
<em>pink</em> is meant to be brighter.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<section id="colors">
|
||||
<h2>Colors</h2>
|
||||
<div class="container flex">
|
||||
<div>
|
||||
<div class="colors--block bg-dark text-white">#Color hex code</div>
|
||||
<p> HSL: 348 79% 81%
|
||||
</div>
|
||||
<div>
|
||||
<div class="colors--block bg-light text-white">#Color hex code</div>
|
||||
<p> HSL: 0 0% 50%
|
||||
</div>
|
||||
<div>
|
||||
<div class="colors--block bg-white text-dark">#f5a8b8</div>
|
||||
<p> HSL: 348
|
||||
</div>
|
||||
<div>
|
||||
<div class="colors--block bg-white text-dark">#f5a8b8</div>
|
||||
<p> HSL: 348
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<section id="typography">
|
||||
<h2>Typography</h2>
|
||||
<div class="container two-columns">
|
||||
<div>
|
||||
<p class="ff-serif fs-900">Heading 1</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-serif fs-800">Heading 2</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-serif fs-700">Heading 3</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-600">Heading 4</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-500">Heading 5</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-400">Heading 6</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-300">Text</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<p class="ff-sans-cond fs-200">Subtext</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">font information</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<hr>
|
||||
|
||||
<section id="samples">
|
||||
<h2>Sample Pages</h2>
|
||||
<ul class="container two-columns">
|
||||
<li><a>First Sample Page</a></li>
|
||||
<li><a>Second Sample Page</a></li>
|
||||
<li><a>Third Sample Page</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</article>
|
||||
|
||||
<hr>
|
||||
|
||||
<footer>
|
||||
<a href="../">Return to Purgatory</a>
|
||||
</footer>
|
||||
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
css/*
|
|
@ -0,0 +1,14 @@
|
|||
watch_scss:
|
||||
sass -w scss/:css/
|
||||
|
||||
scss:
|
||||
sass scss/:css/
|
||||
|
||||
server:
|
||||
python3 -m http.server
|
||||
|
||||
dev:
|
||||
make -j 2 watch_scss server
|
||||
|
||||
clean:
|
||||
rm css/*
|
|
@ -0,0 +1,115 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en"><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>CSS Purgatory - Waltuh</title>
|
||||
<link rel="stylesheet" href="css/waltuh.css">
|
||||
<!-- Base v1.1 -->
|
||||
</head>
|
||||
<body class="vsc-initialized">
|
||||
<main>
|
||||
<header id="title" class="hr">
|
||||
<h1>Waltuh</h1>
|
||||
</header>
|
||||
<article class="">
|
||||
<section id="description" class="hr">
|
||||
<h2>Description</h2>
|
||||
<div class="container">
|
||||
<span class="waltuh-gradient">Waltuh</span>,
|
||||
put your theme away.
|
||||
It's collaborative!</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<section id="colors" class="hr">
|
||||
<h2>Colors</h2>
|
||||
<div class="container flex">
|
||||
<div>
|
||||
<div class="colors--block bg-dark text-white">#Color hex code</div>
|
||||
<p> HSL: Color hsl
|
||||
</p></div>
|
||||
<div>
|
||||
<div class="colors--block bg-light text-white">#Color hex code</div>
|
||||
<p> HSL: Color hsl
|
||||
</p></div>
|
||||
<div>
|
||||
<div class="colors--block bg-white text-dark">#Color hex code</div>
|
||||
<p> HSL: Color hsl
|
||||
</p></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<section id="typography" class="hr">
|
||||
<h2>Typography</h2>
|
||||
<div class="container two-columns">
|
||||
<div>
|
||||
<p class="ff-serif fs-900">Heading 1</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">Inconsolata wght:400</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-serif fs-800">Heading 2</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">Inconsolata wght:300</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-serif fs-700">Heading 3</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">Inconsolata wght:200</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-600">Heading 4</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">unused size</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-500">Heading 5</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">unused size</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-400">Heading 6</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">unused size</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p class="ff-sans fs-300">Text</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">Jost wght:400</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<p class="ff-sans-cond fs-200">Subtext</p>
|
||||
<p class="ff-sans-cond fs-200 text-light">Jost wght:400</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<section id="samples" class="hr">
|
||||
<h2>Sample Pages</h2>
|
||||
<ul class="container two-columns">
|
||||
<li><a href="http://0.0.0.0:8000/samplepage">First Sample Page</a></li>
|
||||
<li><a href="http://0.0.0.0:8000/landingpage">Second Sample Page</a></li>
|
||||
<li><a>Third Sample Page</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
</article>
|
||||
|
||||
|
||||
|
||||
<footer>
|
||||
<a href="../">Return to Purgatory</a>
|
||||
</footer>
|
||||
|
||||
</main>
|
||||
|
||||
|
||||
</body></html>
|
|
@ -0,0 +1,29 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en"><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Waltuh - Landing Page</title>
|
||||
<link rel="stylesheet" href="css/waltuh.css">
|
||||
<style>
|
||||
body {
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
<!-- Base v1.1 -->
|
||||
</head>
|
||||
<body class="vsc-initialized">
|
||||
<div id="overlay"></div>
|
||||
<main class="offset-grid--top fullsize">
|
||||
<div>
|
||||
<h1 class="text-dark ff-serif fs-800 gap-large-bottom">this is <span class="waltuh-gradient">Waltuh</span>.</h1>
|
||||
<p>You know how they say, "It's been a pleasure?"</p>
|
||||
<p>It hasn't.</p>
|
||||
</div>
|
||||
</main>
|
||||
<footer class="lock-bottom">
|
||||
<a href="./">Return to Waltuh</a>
|
||||
</footer>
|
||||
|
||||
|
||||
</body></html>
|
|
@ -0,0 +1,54 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en"><head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Waltuh - Sample Page</title>
|
||||
<link rel="stylesheet" href="css/waltuh.css">
|
||||
<!-- Base v1.1 -->
|
||||
</head>
|
||||
<body class="vsc-initialized">
|
||||
<main>
|
||||
<header id="title">
|
||||
<h1>
|
||||
Waltuh - Sample Page
|
||||
</h1>
|
||||
<div class="container">
|
||||
<p>Where one might put a page showcasing the features of a theme</p>
|
||||
</div>
|
||||
</header>
|
||||
<article>
|
||||
<section id="fakecontent" class="container">
|
||||
<h2>Fake content 1</h2>
|
||||
<p>Some content might go here on a real page.</p>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed
|
||||
sagittis congue turpis et laoreet. Integer finibus velit purus, id
|
||||
semper augue pulvinar eu. In sed diam bibendum, faucibus neque eget,
|
||||
malesuada nisi. Maecenas nulla ante, sagittis sed mollis malesuada,
|
||||
imperdiet et turpis. Curabitur eget vehicula justo. Etiam nec magna sed
|
||||
dui lacinia molestie quis vitae velit. Donec eu erat metus. Duis congue,
|
||||
risus vel gravida elementum, risus velit vestibulum felis, rhoncus
|
||||
varius purus turpis ut sapien. Etiam non libero ex. Interdum et
|
||||
malesuada fames ac ante ipsum primis in faucibus. Etiam facilisis, orci
|
||||
at aliquet congue, massa felis semper nisl, consectetur commodo eros
|
||||
odio vel nibh.</p>
|
||||
</section>
|
||||
<section id="fakecontent2" class="container">
|
||||
<h2>Fake content 2</h2>
|
||||
<p>Some other content might go here, but it would be separated from the first bit of content.</p>
|
||||
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec arcu
|
||||
enim, dictum eu tincidunt quis, ultrices in tortor. Vivamus pharetra
|
||||
elementum mauris sit amet elementum. Sed diam tortor, consequat nec ex
|
||||
et, mattis tincidunt nunc. Fusce id sem justo. Phasellus ac blandit
|
||||
libero. Donec eu orci ac libero blandit sollicitudin sit amet eu nunc.
|
||||
Aenean finibus fermentum ligula id fringilla. Maecenas sit amet tortor
|
||||
metus. </p>
|
||||
</section>
|
||||
</article>
|
||||
<footer>
|
||||
<a href="./">Return to Waltuh</a>
|
||||
</footer>
|
||||
</main>
|
||||
|
||||
|
||||
</body></html>
|
|
@ -0,0 +1,33 @@
|
|||
@use "sass:color";
|
||||
@use "sass:math";
|
||||
|
||||
$-color-white: hsl(280 30% 80%);
|
||||
$-color-dark: color.adjust($-color-white, $lightness: -50%);
|
||||
$-color-light: hsl(190 80% 30%);
|
||||
$-ff-serif: "Inconsolata", monospace;
|
||||
$-ff-sans: "Jost", sans-serif;
|
||||
$-fs-900: math.div(100rem, 16);
|
||||
|
||||
@forward "base" with (
|
||||
$color-white: $-color-white,
|
||||
$color-dark: $-color-dark,
|
||||
$color-light: $-color-light,
|
||||
$ff-serif: $-ff-serif,
|
||||
$ff-sans: $-ff-sans,
|
||||
$fs-900: $-fs-900
|
||||
);
|
||||
|
||||
@font-face {
|
||||
font-family: "Inconsolata";
|
||||
src: url("fonts/Inconsolata.ttf");
|
||||
|
||||
font-display: swap;
|
||||
font-variation-settings: "wdth" 85;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Jost";
|
||||
src: url("fonts/Jost.ttf");
|
||||
|
||||
font-display: swap;
|
||||
}
|
|
@ -0,0 +1,214 @@
|
|||
//
|
||||
//
|
||||
// Do Not Change This File!
|
||||
//
|
||||
//
|
||||
@use "sass:math";
|
||||
/* ----------------- */
|
||||
/* Custom Properties */
|
||||
/* ----------------- */
|
||||
/*
|
||||
This values are to be overridden
|
||||
after being injected into
|
||||
the global scope.
|
||||
*/
|
||||
|
||||
/* colors */
|
||||
|
||||
$color-dark: hsl(0 0% 0%) !default; /* Black */
|
||||
$color-light: hsl(0 0% 50%) !default; /* Gray */
|
||||
$color-white: hsl(0 0% 100%) !default;/* White */
|
||||
|
||||
/* font */
|
||||
|
||||
/* Sizes divided by 16 so values given in px */
|
||||
$fs-900: math.div(125rem, 16) !default;
|
||||
$fs-800: math.div(75rem, 16) !default;
|
||||
$fs-700: math.div(56rem, 16) !default;
|
||||
$fs-600: math.div(32rem, 16) !default;
|
||||
$fs-500: math.div(28rem, 16) !default;
|
||||
$fs-400: math.div(24rem, 16) !default;
|
||||
$fs-300: math.div(18rem, 16) !default;
|
||||
$fs-200: math.div(16rem, 16) !default;
|
||||
|
||||
$ff-serif: serif !default;
|
||||
$ff-sans-cond: sans-serif !default;
|
||||
$ff-sans: sans-serif !default;
|
||||
|
||||
/* --------------- */
|
||||
/* Utility Classes */
|
||||
/* --------------- */
|
||||
|
||||
/* Layouts */
|
||||
|
||||
.container {
|
||||
padding-inline: clamp(0.5rem, 4rem, 5rem);
|
||||
margin-inline: auto;
|
||||
max-width: 80rem;
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.column {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
align-content: center;
|
||||
}
|
||||
|
||||
.row {
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-evenly;
|
||||
align-content: baseline;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.two-columns {
|
||||
display: grid;
|
||||
/* Will shrink to one column, never exceed two!
|
||||
* The `max` in `minmax` asks that the columns
|
||||
* be no smaller */
|
||||
grid-template-columns: repeat(auto-fit, minmax(max(30rem, 40%), 1fr));
|
||||
column-gap: 1rem;
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
|
||||
.lock-bottom {
|
||||
position: absolute;
|
||||
bottom: 0%;
|
||||
}
|
||||
|
||||
/* Other */
|
||||
|
||||
.hr::after { /* Add fake hr after header */
|
||||
content: '';
|
||||
|
||||
position: absolute;
|
||||
display: block;
|
||||
clear: both;
|
||||
width: 100%;
|
||||
height: 0.15rem;
|
||||
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
/* Color Classes */
|
||||
|
||||
.bg-dark { background-color: $color-dark; }
|
||||
.bg-light { background-color: $color-light; }
|
||||
.bg-white { background-color: $color-white; }
|
||||
|
||||
.text-dark { color: $color-dark; }
|
||||
.text-light { color: $color-light; }
|
||||
.text-white { color: $color-white; }
|
||||
|
||||
/* Font Classes */
|
||||
|
||||
.fs-900 { font-size: $fs-900; }
|
||||
.fs-800 { font-size: $fs-800; }
|
||||
.fs-700 { font-size: $fs-700; }
|
||||
.fs-600 { font-size: $fs-600; }
|
||||
.fs-500 { font-size: $fs-500; }
|
||||
.fs-400 { font-size: $fs-400; }
|
||||
.fs-300 { font-size: $fs-300; }
|
||||
.fs-200 { font-size: $fs-200; }
|
||||
|
||||
.ff-serif { font-family: $ff-serif; }
|
||||
.ff-sans-cond { font-family: $ff-sans-cond; }
|
||||
.ff-sans { font-family: $ff-sans; }
|
||||
|
||||
.uppercase { text-transform: uppercase; }
|
||||
.lowercase { text-transform: lowercase; }
|
||||
|
||||
/* Semantic Tags and Their Classes */
|
||||
|
||||
header {
|
||||
margin-bottom: 3vh;
|
||||
}
|
||||
|
||||
section:not(:last-of-type) {
|
||||
margin-bottom: 3vh;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 3vh;
|
||||
}
|
||||
|
||||
/* ----- */
|
||||
/* Reset */
|
||||
/* ----- */
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body, h1, h2, h3, h4, h5, h6, p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6, p {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: $ff-sans;
|
||||
font-size: $fs-400;
|
||||
color: $color-dark;
|
||||
background-color: $color-white;
|
||||
line-height: 1.5;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-left: 1vw;
|
||||
margin-top: 1vh;
|
||||
* {
|
||||
z-index: 2;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
img, picture {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
input, button, textarea, select {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
scroll-behaviour: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------- */
|
||||
/* Non-Reusable Classes */
|
||||
/* -------------------- */
|
||||
/* meant for these pages
|
||||
* only, not to be used
|
||||
* in practice */
|
||||
|
||||
.colors--block {
|
||||
padding: 3rem 1rem 1rem;
|
||||
border: 1px solid black;
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
@forward "header";
|
||||
@forward "overlay";
|
||||
@forward "marks";
|
|
@ -0,0 +1,39 @@
|
|||
@use "sass:math";
|
||||
@use "sass:color";
|
||||
@use "../variables" as *;
|
||||
|
||||
|
||||
@keyframes waltuh-gradient-anim {
|
||||
$r: 6em;
|
||||
$pd: math.div(2*math.$pi,10);
|
||||
from {
|
||||
background-position: 6em 0em;
|
||||
}
|
||||
@for $i from 1 through 9 {
|
||||
#{$i*10}% {
|
||||
background-position: $r*math.cos($i*$pd) $r*math.sin($i*$pd);
|
||||
}
|
||||
}
|
||||
to {
|
||||
background-position: 6em 0em;
|
||||
}
|
||||
}
|
||||
@keyframes wipeIn {
|
||||
from { clip-path: inset(0 100% 0 0); }
|
||||
to { clip-path: inset(0 0 0 0); }
|
||||
}
|
||||
|
||||
span.waltuh-gradient {
|
||||
font-weight: 600;
|
||||
|
||||
color: transparent;
|
||||
$grad1: color.adjust($color-dark, $saturation: +80%, $lightness: +20%);
|
||||
$grad2: color.adjust($grad1, $lightness: +30%);
|
||||
background: repeating-radial-gradient($color-dark, $grad1, $grad2 80%, white);
|
||||
background-size: 30vmin 30vmin;
|
||||
background-clip: text;
|
||||
|
||||
animation: waltuh-gradient-anim 12s linear infinite,
|
||||
wipeIn 0.25s ease-in;
|
||||
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
@keyframes overlay-breathe {
|
||||
from {opacity: 0.04;}
|
||||
to {opacity: 0.10;}
|
||||
}
|
||||
#overlay {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: fixed;
|
||||
|
||||
opacity: 0.10;
|
||||
z-index: 1;
|
||||
background-image: url('https://ilia.moe/img/noise.gif');
|
||||
background-size: 20vmin;
|
||||
|
||||
animation: overlay-breathe 3s ease-in infinite alternate;
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
@use "sass:list";
|
||||
@use "../variables" as *;
|
||||
|
||||
%grid {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
@mixin grid-3x3-offset($top: 1fr, $bottom: 1fr, $left: 1fr, $right: 1fr) {
|
||||
@debug "mixin top: #{$top}";
|
||||
@extend %grid;
|
||||
grid-template-rows: $top 1fr $bottom;
|
||||
grid-template-columns: $left 1fr $right;
|
||||
grid-template-areas:
|
||||
"nw n ne"
|
||||
"w center e"
|
||||
"sw s se";
|
||||
}
|
||||
|
||||
/* Classes */
|
||||
%offset-grid {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
|
||||
div {
|
||||
justify-self: center;
|
||||
grid-area: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
h1, h2, h3 {
|
||||
display: inline-block;
|
||||
width: min-content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Grid Offset Hell
|
||||
$offset-amt: 0.33fr;
|
||||
@each $dir in [top, bottom, left, right] {
|
||||
$dir_adj: "";
|
||||
@if $dir {
|
||||
$dir_adj: "--#{$dir}";
|
||||
}
|
||||
|
||||
@each $size, $size_val in (null: 1fr, wide: 0.8fr, narrow: 1.2fr) {
|
||||
$size_adj: "";
|
||||
@if $size {
|
||||
$size_adj: "--#{$size}";
|
||||
}
|
||||
.offset-grid#{$dir_adj}#{$size_adj} {
|
||||
$-l: [1fr, 1fr, 1fr, 1fr];
|
||||
@if $dir == top {
|
||||
$-l: [$offset-amt, 1fr, $size_val, $size_val];
|
||||
} @else if $dir == bottom {
|
||||
$-l: [1fr, $offset-amt, $size_val, $size_val];
|
||||
} @else if $dir == left {
|
||||
$-l: [$size_val, $size_val, $offset-amt, 1fr];
|
||||
} @else if $dir == right {
|
||||
$-l: [$size_val, $size_val, 1fr, $offset-amt];
|
||||
}
|
||||
@debug "list: #{$-l}";
|
||||
@debug list.nth($-l, 1);
|
||||
@include grid-3x3-offset($top: list.nth($-l,1), $bottom: list.nth($-l,2),
|
||||
$left: list.nth($-l,3), $right: list.nth($-l,4));
|
||||
|
||||
@extend %offset-grid;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
@forward "grid";
|
||||
@forward "modifiers";
|
|
@ -0,0 +1,20 @@
|
|||
.fullsize {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
height: 100vh !important;
|
||||
width: 100vw !important;
|
||||
}
|
||||
|
||||
$gap-sizes: ("small": 1vmin, "mid": 3vmin, "large": 5vmin);
|
||||
|
||||
@each $size, $dist in $gap-sizes {
|
||||
@each $dir in [top, bottom, left, right] {
|
||||
.gap-#{$size}-#{$dir} {
|
||||
margin-#{$dir}: $dist;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
/* ------ */
|
||||
/* */
|
||||
/* Waltuh */
|
||||
/* */
|
||||
/* ------ */
|
||||
|
||||
// Global Variables
|
||||
@use "variables" as *;
|
||||
@use "components";
|
||||
@use "layouts";
|
||||
|
||||
.fs-900 { font-size: $fs-900; font-weight: 400;}
|
||||
.fs-800 { font-size: $fs-800; font-weight: 300;}
|
||||
.fs-700 { font-size: $fs-700; font-weight: 250;}
|
||||
.fs-600 { font-size: $fs-600; font-weight: 300;}
|
||||
.fs-500 { font-size: $fs-500; font-weight: 200;}
|
||||
.fs-400 { font-size: $fs-400; font-weight: 200;}
|
|
@ -1,40 +1,76 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Emilia Allison</title>
|
||||
<link rel="stylesheet" href="/css/about.css">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
</head>
|
||||
<body>
|
||||
<div class="overlay">
|
||||
|
||||
<body class="no-overflow">
|
||||
<div id="overlay">
|
||||
</div>
|
||||
<div class="outerdiv contentholder">
|
||||
<div class="contentholder__topfiller"></div>
|
||||
<div class="content">
|
||||
<h1>
|
||||
<main class="offset-grid--top--wide--column side-a">
|
||||
<div>
|
||||
<h1 class="ff-serif fs-700 gap-small-bottom">
|
||||
Cool Stuff
|
||||
</h1>
|
||||
<h2>it's debatable</h2>
|
||||
<h3 class="gap-mid-bottom ff-serif fs-500">it's debatably cool</h3>
|
||||
<span class="ff-sans fs-300 span-full-width">
|
||||
<p>
|
||||
Cool stuff is code for links to subpages.
|
||||
If a page uses/requires JavaScript, its link will be marked with (☕).
|
||||
If a page uses/requires JavaScript (or WASM), its link will be marked with (☕).
|
||||
When relevant, a link to a Git repo will be provided (💻).
|
||||
If content is useful for my job, it will be marked with
|
||||
(🤵‍♀️).
|
||||
</p>
|
||||
<h1>
|
||||
</span>
|
||||
<h1 class="gap-small-bottom ff-serif fs-700">
|
||||
the stuff
|
||||
</h1>
|
||||
<h3>
|
||||
css purgatory
|
||||
</h3>
|
||||
<p>
|
||||
None yet
|
||||
</p>
|
||||
<h3>
|
||||
Static
|
||||
<h3 class="ff-serif fs-500">
|
||||
Artisan Handcrafted
|
||||
</h3>
|
||||
<span class="ff-sans fs-300 span-full-width">
|
||||
<ul>
|
||||
<li><a href="/cool-stuff/recipes">Recipes</li>
|
||||
<li><a href="plate-tool-beta">Plate tool</a>
|
||||
<a href="https://git.ilia.moe/emilia/plate-tool">☕💻
|
||||
🤵‍♀️</a>
|
||||
</li>
|
||||
</ul>
|
||||
</span>
|
||||
<h3 class="ff-serif fs-500 padding-low-top">
|
||||
Static Generated (sometimes)
|
||||
</h3>
|
||||
<span class="ff-sans fs-300 span-full-width">
|
||||
<ul>
|
||||
<li><a href="recipes">Recipes</a>
|
||||
<ul>
|
||||
I so desperately need to update this section.
|
||||
None of these are up-to-date.
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="/pictures">Pictures</a>
|
||||
<ul>
|
||||
Password protected for your non-enjoyment.
|
||||
intentionally bizarre pictures blasted onto your screen
|
||||
by way of a terrible python pipeline.
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="books">Books</a>
|
||||
<ul>
|
||||
proof of basic literacy
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="../">
|
||||
</a>
|
||||
<div class="side-a__main-content-cover"></div>
|
||||
</main>
|
||||
<footer class="lock-bottom">
|
||||
<p><a href="../">Return</a></p>
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -12,39 +12,44 @@
|
|||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://ilia.moe/">
|
||||
<meta property="og:title" content="what">
|
||||
<meta property="og:description" content="did you just try to embed my website">
|
||||
<meta property="og:description" content="did you just try to embed my website? please don't do that">
|
||||
<meta property="og:image" content="https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fclimbers.lsa.umich.edu%2Fwp-content%2Fuploads%2F2013%2F12%2FCitrullus-lanatus-from-Russia.jpg&f=1&nofb=1">
|
||||
<!-- Twitter -->
|
||||
<meta property="twitter:card" content="summary_large_image" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="overlay">
|
||||
</div>
|
||||
<div class="outerdiv">
|
||||
<div class="name">
|
||||
<h1 class="name__header">Emilia</h1>
|
||||
<!--<p class="name__subcontent">she/her</p>-->
|
||||
<p class="name__subcontent">mathematics enjoyer</p>
|
||||
<p class="name__subcontent" id="pgp_p">pgp:
|
||||
<a href="https://keyserver.ubuntu.com/pks/lookup?search=0x8cbc050e7bbb8779eccd42074b33e52e3bd25455&fingerprint=on&op=index" id="pgp_a">
|
||||
<body class="vsc-initialized">
|
||||
<div id="overlay"></div>
|
||||
<main class="offset-grid--top fullsize">
|
||||
<div>
|
||||
<h1 class="text-dark ff-mono fs-800 gap-large-bottom">
|
||||
Em<span class="waltuh-gradient-underline">ilia</span>.
|
||||
</h1>
|
||||
<div class="ff-sans fs-400">
|
||||
<p>allegedly an engineer???</p>
|
||||
<p id="pgp_p">pgp:
|
||||
<a href="https://keyserver.ubuntu.com/pks/lookup?search=0x8cbc050e7bbb8779eccd42074b33e52e3bd25455&fingerprint=on&op=index" id="pgp_a" class="fixed">
|
||||
8CBC 050E 7BBB 8779 ECCD 4207 4B33 E52E 3BD2 5455
|
||||
</a></p>
|
||||
<p class="name__subcontent generated">bottom text</p>
|
||||
</a>
|
||||
</p>
|
||||
<p class="fs-100 padding-mid-top">bottom text (now with extra spice™)</p>
|
||||
</div>
|
||||
<div class="links">
|
||||
<a class="links__sub" title="about" href="about">
|
||||
</div>
|
||||
<footer class="lock-bottom flex row">
|
||||
<a title="about" href="about">
|
||||
📄
|
||||
</a>
|
||||
<a class="links__sub" id="moonlink" title="cool stuff" href="cool-stuff">
|
||||
<a id="moonlink" title="cool stuff" href="cool-stuff">
|
||||
🌜
|
||||
</a>
|
||||
<a class="links__sub" title="git provider" href="https://github.com/em-ilia">
|
||||
<a title="git provider" href="https://git.ilia.moe/explore/repos">
|
||||
💻
|
||||
</a>
|
||||
<a class="links__sub" title="i love email" href="mailto:em@ilia.moe">
|
||||
<a title="i love email" href="mailto:em@ilia.moe">
|
||||
📠
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<a id="camera" title="picture" href="pictures">
|
||||
📷
|
||||
</a>
|
||||
</footer>
|
||||
</main>
|
||||
</html>
|
||||
|
|
|
@ -12,6 +12,9 @@ if (is_mobile === '1') {
|
|||
}
|
||||
|
||||
const moon = document.getElementById('moonlink');
|
||||
console.log(moon);
|
||||
moon.onmouseover = function() {moon.innerHTML = "🌛"}
|
||||
moon.onmouseout = function() {moon.innerHTML = "🌜"}
|
||||
|
||||
const camera = document.getElementById('camera');
|
||||
camera.onmouseover = function() {camera.innerHTML = "📸"}
|
||||
camera.onmouseout = function() {camera.innerHTML = "📷"}
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
@import 'global'
|
||||
@import 'anim'
|
|
@ -1,26 +0,0 @@
|
|||
// GRADIENTS (you might need them!)
|
||||
$rainbow-gradient: repeating-linear-gradient(to left, red, violet, indigo, blue, green, yellow, orange, red, violet)
|
||||
|
||||
// ANIMATIONS (love to see them)
|
||||
@keyframes gradient-bg
|
||||
from
|
||||
background-position: 0%
|
||||
to
|
||||
background-position: 100%
|
||||
|
||||
@mixin rainbow-text()
|
||||
animation: gradient-bg 4s linear infinite
|
||||
|
||||
// MARKS
|
||||
mark.rainbow
|
||||
background-image: $rainbow-gradient
|
||||
background-size: 1000% 1000%
|
||||
color: transparent
|
||||
-webkit-background-clip: text
|
||||
-webkit-text-fill-color: transparent
|
||||
@include rainbow-text()
|
||||
|
||||
// ALIASES
|
||||
mark.internet
|
||||
@extend .rainbow
|
||||
font-weight: bold
|
|
@ -1,138 +0,0 @@
|
|||
@import 'responsive'
|
||||
@import 'anim'
|
||||
|
||||
$primary-color: #f4b7c3
|
||||
$secondary-color: #f4e8b7
|
||||
$tertiary-color: #b7c3f4
|
||||
$outer-bg: #091519
|
||||
//$outer-bg: #f2e1ba // nice sand color, light theme maybe?
|
||||
$inner-bg: #112932
|
||||
|
||||
@mixin div-center()
|
||||
display: flex
|
||||
justify-content: center
|
||||
align-items: center
|
||||
flex-direction: column
|
||||
align-content: center
|
||||
|
||||
*
|
||||
border-color: $tertiary-color
|
||||
|
||||
body
|
||||
@include div-center()
|
||||
width: 100%
|
||||
height: 100%
|
||||
padding: 0 0 0 0
|
||||
margin: 0 0 0 0
|
||||
overflow: hidden
|
||||
background-color: black
|
||||
|
||||
--is-mobile: 0
|
||||
@include mobile()
|
||||
--is-mobile: 1
|
||||
|
||||
.overlay
|
||||
width: 100%
|
||||
height: 100vh
|
||||
|
||||
position: fixed
|
||||
|
||||
opacity: 0.03
|
||||
z-index: 1
|
||||
background-image: url('../img/noise.gif')
|
||||
background-size: 25%
|
||||
|
||||
@include mobile()
|
||||
background-size: 200%
|
||||
|
||||
.outerdiv
|
||||
@include div-center()
|
||||
width: 90%
|
||||
height: 100vh
|
||||
background-color: $outer-bg
|
||||
flex-direction: column
|
||||
|
||||
@include mobile()
|
||||
width: 100%
|
||||
|
||||
.contentholder
|
||||
justify-content: flex-start
|
||||
overflow: scroll
|
||||
div
|
||||
width: 30rem
|
||||
margin: 1% 0
|
||||
|
||||
@include mobile
|
||||
width: 20rem
|
||||
|
||||
.contentholder__topfiller
|
||||
height: 5%
|
||||
background-color: transparent
|
||||
|
||||
.content
|
||||
z-index: 100
|
||||
|
||||
.returnLink *
|
||||
margin: 3% 0
|
||||
font-size: large
|
||||
|
||||
|
||||
h1
|
||||
color: $primary-color
|
||||
font-family: serif
|
||||
font-size: xxx-large
|
||||
margin: 5px 5px
|
||||
text-align: center
|
||||
|
||||
h2
|
||||
color: $secondary-color
|
||||
font-family: serif
|
||||
font-size: large
|
||||
text-align: center
|
||||
|
||||
h3
|
||||
color: $secondary-color
|
||||
font-size: large
|
||||
|
||||
p
|
||||
color: $secondary-color
|
||||
font-family: sans-serif
|
||||
font-size: large
|
||||
text-align: left
|
||||
margin: 5px 0px
|
||||
|
||||
ol
|
||||
margin: 0px 0px
|
||||
list-style-type: decimal
|
||||
|
||||
ul
|
||||
list-style-type: none
|
||||
li
|
||||
&:before
|
||||
content: "- "
|
||||
|
||||
li
|
||||
@extend p
|
||||
|
||||
a
|
||||
text-decoration: none
|
||||
&:link
|
||||
color: $secondary-color
|
||||
&:visited
|
||||
color: $secondary-color
|
||||
|
||||
header
|
||||
margin: 1% 0 1% 0
|
||||
|
||||
border-style: solid
|
||||
border-width: 0px 0px 2px 0px
|
||||
|
||||
h2
|
||||
margin: 0
|
||||
margin-top: -8px
|
||||
|
||||
article
|
||||
margin: 3% 0
|
||||
|
||||
border-style: solid
|
||||
border-width: 0px 0px 2px 0px
|
|
@ -1,51 +0,0 @@
|
|||
@import 'global'
|
||||
@import 'anim'
|
||||
|
||||
.name
|
||||
margin-top: -10vh
|
||||
|
||||
z-index: 100
|
||||
|
||||
.name__subcontent
|
||||
text-align: left
|
||||
|
||||
@include mobile
|
||||
text-align: center
|
||||
|
||||
a
|
||||
font-size: small
|
||||
display: none
|
||||
position: absolute
|
||||
margin-left: 5px
|
||||
margin-top: 5px
|
||||
|
||||
@include mobile
|
||||
position: relative
|
||||
|
||||
|
||||
.links
|
||||
//background-color: rgba(255,0,0,.2)
|
||||
width: 40%
|
||||
height: 10%
|
||||
position: absolute
|
||||
bottom: 0
|
||||
|
||||
z-index: 99
|
||||
display: flex
|
||||
justify-content: center
|
||||
align-items: center
|
||||
|
||||
@include mobile
|
||||
width: 80%
|
||||
|
||||
.links__sub
|
||||
height: 6vh
|
||||
width: 15%
|
||||
margin: 3%
|
||||
|
||||
display: table-cell
|
||||
text-align: center
|
||||
vertical-align: middle
|
||||
|
||||
font-size: 6vh
|
||||
text-decoration: none
|
|
@ -1,6 +0,0 @@
|
|||
// ok yikes I'll do my best
|
||||
|
||||
// Disable actual check for desktop testing
|
||||
@mixin mobile()
|
||||
@media (pointer: coarse)
|
||||
@content
|
|
@ -0,0 +1,5 @@
|
|||
@use "waltuh/waltuh";
|
||||
|
||||
h1 {
|
||||
margin-top: 3vh;
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
@use "waltuh/waltuh";
|
||||
@use "waltuh/variables"; // Needed to extend ff-serif
|
||||
|
||||
h1 {
|
||||
@extend .ff-serif;
|
||||
@extend .fs-700;
|
||||
}
|
||||
|
||||
h3 {
|
||||
@extend .ff-serif;
|
||||
@extend .fs-500;
|
||||
}
|
||||
|
||||
h2 {
|
||||
@extend .ff-serif;
|
||||
@extend .fs-500;
|
||||
}
|
||||
|
||||
details > div {
|
||||
@extend .padding-low-top;
|
||||
}
|
||||
|
||||
p {
|
||||
@extend .ff-sans;
|
||||
@extend .fs-300;
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
@use "waltuh/waltuh";
|
||||
@use "waltuh/variables" as *;
|
||||
|
||||
#pgp_a {
|
||||
position: fixed;
|
||||
display: none;
|
||||
|
||||
font-size: $fs-200;
|
||||
margin-top: 0.6rem;
|
||||
}
|
||||
|
||||
footer {
|
||||
width: 100%;
|
||||
font-size: clamp(2rem, $fs-800, 15vw);
|
||||
justify-content: center !important;
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
@use "waltuh/waltuh";
|
||||
|
||||
main {
|
||||
grid-template-rows: 0.1fr 1fr 1fr !important; // Override default
|
||||
grid-template-columns: 15vw 1fr 15vw !important; // Mobile compat is less of a concern for this page
|
||||
|
||||
div:first-child {
|
||||
div:first-child {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-top: 3vh;
|
||||
}
|
||||
|
||||
summary {
|
||||
margin-left: 0.5rem;
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
.gallery {
|
||||
width: 100%;
|
||||
margin-top: 3vh;
|
||||
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
|
||||
flex-wrap: wrap;
|
||||
|
||||
img {
|
||||
width: clamp(12rem, calc(20vw + 1vmin), calc(20vw + 1vmin)); // Add 1vmin to account for padding
|
||||
aspect-ratio: auto;
|
||||
|
||||
margin: 1vmin 1vmin;
|
||||
padding: 1vmin 1vmin;
|
||||
|
||||
background: white;
|
||||
|
||||
+ .black-bg {
|
||||
background: black !important;
|
||||
}
|
||||
+ .no-bg {
|
||||
background: transparent !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
@use "sass:color";
|
||||
@use "sass:math";
|
||||
|
||||
$-color-white: hsl(280 30% 80%);
|
||||
$-color-dark: color.adjust($-color-white, $lightness: -50%);
|
||||
$-color-light: hsl(190 80% 30%);
|
||||
$-ff-mono: "Inconsolata", monospace;
|
||||
$-ff-serif: "Playfair", serif;
|
||||
$-ff-sans: "Jost", sans-serif;
|
||||
$-fs-900: math.div(100rem, 16);
|
||||
|
||||
@forward "base" with (
|
||||
$color-white: $-color-white,
|
||||
$color-dark: $-color-dark,
|
||||
$color-light: $-color-light,
|
||||
$ff-serif: $-ff-serif,
|
||||
$ff-sans: $-ff-sans,
|
||||
$ff-mono: $-ff-mono,
|
||||
$fs-900: $-fs-900
|
||||
);
|
||||
|
||||
@font-face {
|
||||
font-family: "Inconsolata";
|
||||
src: url("/fonts/Inconsolata.ttf");
|
||||
|
||||
font-display: swap;
|
||||
font-variation-settings: "wdth" 85;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Jost";
|
||||
src: url("/fonts/Jost.ttf");
|
||||
|
||||
font-display: swap;
|
||||
font-variation-settings: "wght" 300;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Shantell";
|
||||
src: url("/fonts/Shantell.ttf");
|
||||
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Playfair";
|
||||
src: url("/fonts/Playfair.ttf");
|
||||
|
||||
font-display: swap;
|
||||
font-variation-settings: "wght" 300;
|
||||
font-variation-settings: "wdth" 85;
|
||||
}
|
|
@ -0,0 +1,242 @@
|
|||
//
|
||||
//
|
||||
// Do Not Change This File!
|
||||
//
|
||||
//
|
||||
@use "sass:math";
|
||||
/* ----------------- */
|
||||
/* Custom Properties */
|
||||
/* ----------------- */
|
||||
/*
|
||||
This values are to be overridden
|
||||
after being injected into
|
||||
the global scope.
|
||||
*/
|
||||
|
||||
/* colors */
|
||||
|
||||
$color-dark: hsl(0 0% 0%) !default; /* Black */
|
||||
$color-light: hsl(0 0% 50%) !default; /* Gray */
|
||||
$color-white: hsl(0 0% 100%) !default;/* White */
|
||||
|
||||
/* font */
|
||||
|
||||
/* Sizes divided by 16 so values given in px */
|
||||
$fs-900: math.div(125rem, 16) !default;
|
||||
$fs-800: math.div(75rem, 16) !default;
|
||||
$fs-700: math.div(56rem, 16) !default;
|
||||
$fs-600: math.div(32rem, 16) !default;
|
||||
$fs-500: math.div(28rem, 16) !default;
|
||||
$fs-400: math.div(24rem, 16) !default;
|
||||
$fs-300: math.div(18rem, 16) !default;
|
||||
$fs-200: math.div(16rem, 16) !default;
|
||||
$fs-100: math.div(12rem, 16) !default;
|
||||
|
||||
$ff-serif: serif !default;
|
||||
$ff-sans-cond: sans-serif !default;
|
||||
$ff-sans: sans-serif !default;
|
||||
$ff-mono: monospace !default;
|
||||
|
||||
/* --------------- */
|
||||
/* Utility Classes */
|
||||
/* --------------- */
|
||||
|
||||
/* Layouts */
|
||||
|
||||
.container {
|
||||
padding-inline: clamp(0.5rem, 4rem, 5rem);
|
||||
margin-inline: auto;
|
||||
max-width: 80rem;
|
||||
}
|
||||
|
||||
.flex {
|
||||
display: flex;
|
||||
gap: 2rem;
|
||||
}
|
||||
|
||||
.column {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
align-content: center;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
.column-tight {
|
||||
@extend .column;
|
||||
gap: 0rem;
|
||||
}
|
||||
|
||||
.row {
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-evenly;
|
||||
align-content: baseline;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.two-columns {
|
||||
display: grid;
|
||||
/* Will shrink to one column, never exceed two!
|
||||
* The `max` in `minmax` asks that the columns
|
||||
* be no smaller */
|
||||
grid-template-columns: repeat(auto-fit, minmax(max(30rem, 40%), 1fr));
|
||||
column-gap: 1rem;
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
|
||||
.lock-bottom {
|
||||
position: fixed;
|
||||
bottom: 0%;
|
||||
}
|
||||
|
||||
.span-full-width {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Other */
|
||||
|
||||
.hr::after { /* Add fake hr after header */
|
||||
content: '';
|
||||
|
||||
position: absolute;
|
||||
display: block;
|
||||
clear: both;
|
||||
width: 100%;
|
||||
height: 0.15rem;
|
||||
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
/* Color Classes */
|
||||
|
||||
.bg-dark { background-color: $color-dark; }
|
||||
.bg-light { background-color: $color-light; }
|
||||
.bg-white { background-color: $color-white; }
|
||||
|
||||
.text-dark { color: $color-dark; }
|
||||
.text-light { color: $color-light; }
|
||||
.text-white { color: $color-white; }
|
||||
|
||||
/* Font Classes */
|
||||
|
||||
.fs-900 { font-size: $fs-900; }
|
||||
.fs-800 { font-size: $fs-800; }
|
||||
.fs-700 { font-size: $fs-700; }
|
||||
.fs-600 { font-size: $fs-600; }
|
||||
.fs-500 { font-size: $fs-500; }
|
||||
.fs-400 { font-size: $fs-400; }
|
||||
.fs-300 { font-size: $fs-300; }
|
||||
.fs-200 { font-size: $fs-200; }
|
||||
.fs-100 { font-size: $fs-100; }
|
||||
|
||||
.ff-serif { font-family: $ff-serif; }
|
||||
.ff-sans-cond { font-family: $ff-sans-cond; }
|
||||
.ff-sans { font-family: $ff-sans; }
|
||||
.ff-mono { font-family: $ff-mono; }
|
||||
|
||||
.uppercase { text-transform: uppercase; }
|
||||
.lowercase { text-transform: lowercase; }
|
||||
|
||||
/* Padding Classes */
|
||||
$padding-amounts: ("low": 0.5rem, "mid": 1rem, "high": 1.5rem, "none": 0rem);
|
||||
|
||||
$padding-directions: "all", "top", "bottom", "left", "right";
|
||||
|
||||
@each $amount-name, $amount-val in $padding-amounts {
|
||||
@each $dir in $padding-directions {
|
||||
.padding-#{$amount-name}-#{$dir} {
|
||||
padding-#{$dir}: $amount-val;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Semantic Tags and Their Classes */
|
||||
|
||||
header {
|
||||
margin-bottom: 3vh;
|
||||
}
|
||||
|
||||
section:not(:last-of-type) {
|
||||
margin-bottom: 3vh;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 3vh;
|
||||
}
|
||||
|
||||
/* ----- */
|
||||
/* Reset */
|
||||
/* ----- */
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body, h1, h2, h3, h4, h5, h6, p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6, p {
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h1, h2, h3 {
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: $ff-sans;
|
||||
font-size: $fs-400;
|
||||
color: $color-dark;
|
||||
background-color: $color-white;
|
||||
line-height: 1.5;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
main {
|
||||
margin-left: 1vw;
|
||||
margin-top: 1vh;
|
||||
* {
|
||||
z-index: 2;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
img, picture {
|
||||
max-width: 100%;
|
||||
display: block;
|
||||
}
|
||||
|
||||
input, button, textarea, select {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
scroll-behaviour: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------- */
|
||||
/* Non-Reusable Classes */
|
||||
/* -------------------- */
|
||||
/* meant for these pages
|
||||
* only, not to be used
|
||||
* in practice */
|
||||
|
||||
.colors--block {
|
||||
padding: 3rem 1rem 1rem;
|
||||
border: 1px solid black;
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
.book-entry-container {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.book-entry {
|
||||
width: 100%;
|
||||
position: relative;
|
||||
margin-bottom: 1vh !important;
|
||||
&:last-of-type {
|
||||
margin-bottom: 5vh;
|
||||
}
|
||||
details {
|
||||
summary {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
div {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 0.5fr 1fr;
|
||||
grid-template-rows: max-content 1fr;
|
||||
grid-template-areas:
|
||||
"author year score"
|
||||
"comments comments comments";
|
||||
|
||||
padding: 2%;
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
&[open] {
|
||||
border: 2px solid;
|
||||
border-top: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.book-entry__author {
|
||||
grid-area: author;
|
||||
justify-self: end;
|
||||
font-family: "Inconsolata", monospace;
|
||||
}
|
||||
.book-entry__year {
|
||||
grid-area: year;
|
||||
justify-self: center;
|
||||
font-family: "Inconsolata", monospace;
|
||||
}
|
||||
.book-entry__score {
|
||||
|
||||
grid-area: score;
|
||||
justify-self: start;
|
||||
font-family: "Inconsolata", monospace;
|
||||
&:before {
|
||||
content: "Score: ";
|
||||
}
|
||||
&:after {
|
||||
content: " / 10";
|
||||
}
|
||||
}
|
||||
.book-entry__comments {
|
||||
grid-area: comments;
|
||||
padding-top: 0.5rem;
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
@forward "header";
|
||||
@forward "overlay";
|
||||
@forward "marks";
|
||||
@forward "book_entry";
|
|
@ -0,0 +1,70 @@
|
|||
@use "sass:math";
|
||||
@use "sass:color";
|
||||
@use "../variables" as *;
|
||||
|
||||
|
||||
@keyframes waltuh-gradient-anim {
|
||||
$r: 6em;
|
||||
$pd: math.div(2*math.$pi,10);
|
||||
from {
|
||||
background-position: 6em 0em;
|
||||
}
|
||||
@for $i from 1 through 9 {
|
||||
#{$i*10}% {
|
||||
background-position: $r*math.cos($i*$pd) $r*math.sin($i*$pd);
|
||||
}
|
||||
}
|
||||
to {
|
||||
background-position: 6em 0em;
|
||||
}
|
||||
}
|
||||
@keyframes wipeIn {
|
||||
from { clip-path: inset(0 100% 0 0); }
|
||||
to { clip-path: inset(0 0 0 0); }
|
||||
}
|
||||
|
||||
span.waltuh-gradient {
|
||||
font-weight: 600;
|
||||
|
||||
color: transparent;
|
||||
$grad1: color.adjust($color-dark, $saturation: +80%, $lightness: +20%);
|
||||
$grad2: color.adjust($grad1, $lightness: +30%);
|
||||
background: repeating-radial-gradient($color-dark, $grad1, $grad2 80%, white);
|
||||
background-size: 30vmin 30vmin;
|
||||
background-clip: text;
|
||||
|
||||
animation: waltuh-gradient-anim 12s linear infinite,
|
||||
wipeIn 0.25s ease-in;
|
||||
|
||||
}
|
||||
|
||||
span.waltuh-gradient-underline {
|
||||
position: relative;
|
||||
|
||||
&::after {
|
||||
@extend span, .waltuh-gradient;
|
||||
background-clip: unset;
|
||||
border-radius: 2rem;
|
||||
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0.2rem;
|
||||
left: 10%;
|
||||
height: 0.4rem;
|
||||
width: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
span.spoiler {
|
||||
background: black;
|
||||
color: transparent;
|
||||
user-select: none;
|
||||
|
||||
transition: background 100ms ease,
|
||||
color 100ms ease;
|
||||
|
||||
&:hover, &:active, &:focus {
|
||||
background: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
@keyframes overlay-breathe {
|
||||
from {opacity: 0.04;}
|
||||
to {opacity: 0.10;}
|
||||
}
|
||||
#overlay {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: fixed;
|
||||
|
||||
opacity: 0.10;
|
||||
z-index: 1;
|
||||
background-image: url('https://ilia.moe/img/noise.gif');
|
||||
background-size: 20vmin;
|
||||
|
||||
animation: overlay-breathe 3s ease-in infinite alternate;
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
@use "sass:list";
|
||||
@use "../variables" as *;
|
||||
|
||||
%grid {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
@mixin grid-3x3-offset($top: 1fr, $bottom: 1fr, $left: 1fr, $right: 1fr) {
|
||||
//@debug "mixin top: #{$top}";
|
||||
@extend %grid;
|
||||
grid-template-rows: $top 1fr $bottom;
|
||||
grid-template-columns: $left 1fr $right;
|
||||
grid-template-areas:
|
||||
"nw n ne"
|
||||
"w center e"
|
||||
"sw s se";
|
||||
}
|
||||
|
||||
/* Classes */
|
||||
%offset-grid {
|
||||
margin: 0;
|
||||
height: 100vh;
|
||||
width: 100%;
|
||||
|
||||
&>div {
|
||||
justify-self: center;
|
||||
grid-area: center;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
z-index: 10;
|
||||
|
||||
h1, h2, h3 {
|
||||
display: inline-block;
|
||||
//width: min-content; // Looks terrible in practice
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Grid Offset Hell
|
||||
// no actually what the heck is happening here omg
|
||||
// this is so cursed why did i do this
|
||||
$offset-amt: 0.33fr;
|
||||
@each $dir in [top, bottom, left, right] {
|
||||
$dir_adj: "";
|
||||
@if $dir {
|
||||
$dir_adj: "--#{$dir}";
|
||||
}
|
||||
|
||||
@each $size, $size_val in (null: 1fr, wide: 20vw, narrow: 1.2fr) {
|
||||
$size_adj: "";
|
||||
@if $size {
|
||||
$size_adj: "--#{$size}";
|
||||
}
|
||||
.offset-grid#{$dir_adj}#{$size_adj} {
|
||||
$-l: [1fr, 1fr, 1fr, 1fr];
|
||||
@if $dir == top {
|
||||
$-l: [$offset-amt, 1fr, $size_val, $size_val];
|
||||
} @else if $dir == bottom {
|
||||
$-l: [1fr, $offset-amt, $size_val, $size_val];
|
||||
} @else if $dir == left {
|
||||
$-l: [$size_val, $size_val, $offset-amt, 1fr];
|
||||
} @else if $dir == right {
|
||||
$-l: [$size_val, $size_val, 1fr, $offset-amt];
|
||||
}
|
||||
//@debug "list: #{$-l}";
|
||||
//@debug list.nth($-l, 1);
|
||||
@include grid-3x3-offset($top: list.nth($-l,1), $bottom: list.nth($-l,2),
|
||||
$left: list.nth($-l,3), $right: list.nth($-l,4));
|
||||
|
||||
@extend %offset-grid;
|
||||
|
||||
&--column {
|
||||
@extend .offset-grid#{$dir_adj}#{$size_adj};
|
||||
div {
|
||||
grid-area: n / s;
|
||||
* {
|
||||
max-width: 800px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.side-a {
|
||||
a {
|
||||
grid-area: nw / nw / se / se;
|
||||
z-index: 2;
|
||||
}
|
||||
.side-a__main-content-cover {
|
||||
grid-area: n / n / s / s;
|
||||
width: 110%;
|
||||
height: 100%;
|
||||
z-index: 3;
|
||||
background: rgba(1,1,1,0.05);
|
||||
box-shadow: 0px 0px 10px 10px rgba(1,1,1,0.05);
|
||||
backdrop-filter: blur(1px);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
@forward "grid";
|
||||
@forward "modifiers";
|
|
@ -0,0 +1,20 @@
|
|||
.fullsize {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
height: 100vh !important;
|
||||
width: 100vw !important;
|
||||
}
|
||||
|
||||
$gap-sizes: ("small": 1vmin, "mid": 3vmin, "large": 5vmin);
|
||||
|
||||
@each $size, $dist in $gap-sizes {
|
||||
@each $dir in [top, bottom, left, right] {
|
||||
.gap-#{$size}-#{$dir} {
|
||||
margin-#{$dir}: $dist;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
/* ------ */
|
||||
/* */
|
||||
/* Waltuh */
|
||||
/* */
|
||||
/* ------ */
|
||||
|
||||
// Global Variables
|
||||
@use "variables" as *;
|
||||
@use "components";
|
||||
@use "layouts";
|
||||
|
||||
.fs-900 { font-size: $fs-900; font-weight: 400;}
|
||||
.fs-800 { font-size: $fs-800; font-weight: 300;}
|
||||
.fs-700 { font-size: $fs-700; font-weight: 250;}
|
||||
.fs-600 { font-size: $fs-600; font-weight: 300;}
|
||||
.fs-500 { font-size: $fs-500; font-weight: 200;}
|
||||
.fs-400 { font-size: $fs-400; font-weight: 200;}
|
Loading…
Reference in New Issue