tickle/index.html

205 lines
4.8 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>Tickle</title>
<meta charset="UTF-8" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Lobster&family=Nunito+Sans:ital,wght@0,400;0,700;1,400&display=swap"
rel="stylesheet"
/>
<style>
:root {
--accent: hotpink;
--background: #fdfdfd;
font-family: "Nunito Sans", sans-serif;
}
body,
html {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
body {
padding: 3em;
max-width: 52em;
margin: 0 auto;
}
pre {
margin: 0;
padding: 3em;
max-width: inherit;
max-height: 100vh;
overflow: scroll;
background: rgb(192, 192, 192);
position: absolute;
top: 0;
left: 50%;
transition: all 1s cubic-bezier(0.68, -0.55, 0.265, 1.55);
transform: translate(-50%, -100%);
}
.is-source-enabled pre {
transform: translate(-50%, 0);
}
button {
display: inline-block;
border: none;
margin: 0;
text-decoration: none;
font-family: inherit;
font-size: 1rem;
display: flex;
justify-content: center;
align-content: center;
text-align: center;
vertical-align: middle;
background: var(--accent);
color: var(--background);
cursor: pointer;
padding: 0.5em 1em;
border-radius: 0 0 0.2em 0;
box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
-webkit-appearance: none;
-moz-appearance: none;
}
h1,
h2,
h3,
h4 {
color: var(--accent);
font-family: "Lobster", serif;
}
a {
color: var(--accent);
position: relative;
text-decoration: none;
padding: 0.1em;
}
a::after {
content: "";
position: absolute;
background-color: var(--accent);
position: absolute;
left: 0;
bottom: 3px;
width: 100%;
height: 1px;
z-index: -1;
transition: all 0.1s ease-in;
}
a:hover {
color: var(--background);
transition: all 0.3s ease-in-out;
}
a:hover::after {
bottom: 0;
height: 100%;
transition: all 0.3s ease-in-out;
}
.menu,
.burger {
position: fixed;
top: 0;
left: 0;
}
.menu {
padding: 1em;
transform: translateX(-100%);
display: flex;
flex-direction: column;
top: 0;
bottom: 0;
transition: all 0.3s ease-out;
gap: 1em;
}
.menu a {
text-decoration: none;
background: var(--background);
color: var(--accent);
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
padding: 0.2em 0.4em;
}
.menu a:hover {
background: var(--accent);
color: var(--background);
}
.is-menu-open .menu {
transform: translateX(0);
transition-duration: 0.1s;
}
.is-menu-open .burger {
color: transparent;
}
.is-menu-open .burger,
#Loading {
top: 0;
right: 0;
width: 100%;
height: 100%;
border-radius: 0;
background: rgba(17, 17, 17, 0.2);
cursor: default;
}
#Loading {
position: fixed;
text-align: center;
align-items: center;
justify-content: center;
font-size: 8rem;
color: var(--accent);
opacity: 0;
transition: opacity 0.3s ease-in, height 0s linear 0.3s;
height: 0;
display: flex;
overflow: hidden;
}
#Loading > * {
animation: load 1.2s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
}
.is-loading #Loading {
opacity: 1;
height: 100%;
transition: opacity 1s ease-in, height 0 linear;
}
@keyframes load {
0% {
transform: scale(0.95);
}
5% {
transform: scale(1.1);
}
39% {
transform: scale(0.85);
}
45% {
transform: scale(1);
}
60% {
transform: scale(0.95);
}
100% {
transform: scale(0.9);
}
}
</style>
</head>
<body>
<nav class="left-nav">
<button id="Burger" class="burger">&#8801;</button>
<div id="Menu" class="menu"></div>
</nav>
<main id="Body"></main>
<pre id="Source"></pre>
<div id="Loading">
<p></p>
</div>
<script type="module">
import blog from "./modules/templateBlog.mjs";
blog();
</script>
</body>
</html>