Compare commits
8 commits
77c7828d61
...
fc1b264f1b
Author | SHA1 | Date | |
---|---|---|---|
Jessica Canady | fc1b264f1b | ||
Jessica Canady | 39c8612480 | ||
Jessica Canady | 55be98eae9 | ||
Jessica Canady | f7c9ad7da9 | ||
Jessica Canady | 1bf44f3344 | ||
Jessica Canady | 4ad4d44cac | ||
Jessica Canady | 9c2fc2d583 | ||
Jessica Canady | 87502823c5 |
|
@ -1,5 +1,2 @@
|
|||
@import "tailwindcss/base";
|
||||
@import "tailwindcss/components";
|
||||
@import "tailwindcss/utilities";
|
||||
|
||||
/* This file is for your main application CSS */
|
||||
@import "style";
|
||||
@import "color/pink";
|
||||
|
|
95
assets/css/buttons.css
Normal file
95
assets/css/buttons.css
Normal file
|
@ -0,0 +1,95 @@
|
|||
.button-container {
|
||||
display: table;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
button,
|
||||
.button,
|
||||
a.button {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 18px;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
/* variants */
|
||||
/* sizes */
|
||||
}
|
||||
button.outline,
|
||||
.button.outline,
|
||||
a.button.outline {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
padding: 8px 18px;
|
||||
}
|
||||
button.outline :hover,
|
||||
.button.outline :hover,
|
||||
a.button.outline :hover {
|
||||
transform: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
button.primary,
|
||||
.button.primary,
|
||||
a.button.primary {
|
||||
box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
button.primary:hover,
|
||||
.button.primary:hover,
|
||||
a.button.primary:hover {
|
||||
box-shadow: 0 2px 6px rgba(50, 50, 93, 0.21), 0 1px 3px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
button.link,
|
||||
.button.link,
|
||||
a.button.link {
|
||||
background: none;
|
||||
font-size: 1rem;
|
||||
}
|
||||
button.small,
|
||||
.button.small,
|
||||
a.button.small {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
button.wide,
|
||||
.button.wide,
|
||||
a.button.wide {
|
||||
min-width: 200px;
|
||||
padding: 14px 24px;
|
||||
}
|
||||
|
||||
a.read-more,
|
||||
a.read-more:hover,
|
||||
a.read-more:active {
|
||||
display: inline-flex;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
padding: 0;
|
||||
margin: 20px 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.code-toolbar {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.code-toolbar .toolbar-item a {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 3px 8px;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
12
assets/css/color/background_auto.css
Normal file
12
assets/css/color/background_auto.css
Normal file
|
@ -0,0 +1,12 @@
|
|||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--background: white;
|
||||
--color: #101010;
|
||||
}
|
||||
}
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--background: #101010;
|
||||
--color: #A9B7C6;
|
||||
}
|
||||
}
|
3
assets/css/color/background_blue.css
Normal file
3
assets/css/color/background_blue.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #1D212C;
|
||||
}
|
4
assets/css/color/background_dark.css
Normal file
4
assets/css/color/background_dark.css
Normal file
|
@ -0,0 +1,4 @@
|
|||
:root {
|
||||
--background: #101010;
|
||||
--color: #A9B7C6;
|
||||
}
|
3
assets/css/color/background_green.css
Normal file
3
assets/css/color/background_green.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #1F222A;
|
||||
}
|
3
assets/css/color/background_light.css
Normal file
3
assets/css/color/background_light.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #f0f0f0;
|
||||
}
|
3
assets/css/color/background_orange.css
Normal file
3
assets/css/color/background_orange.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #222129;
|
||||
}
|
3
assets/css/color/background_pink.css
Normal file
3
assets/css/color/background_pink.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #21202C;
|
||||
}
|
3
assets/css/color/background_red.css
Normal file
3
assets/css/color/background_red.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #221F29;
|
||||
}
|
26
assets/css/color/blue-auto.css
Normal file
26
assets/css/color/blue-auto.css
Normal file
|
@ -0,0 +1,26 @@
|
|||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--accent: rgb(35,176,255);
|
||||
--accent-alpha-70: rgba(35,176,255,.7);
|
||||
--accent-alpha-20: rgba(35,176,255,.2);
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--accent: rgb(32,128,192);
|
||||
--accent-alpha-70: rgba(32,128,192,.7);
|
||||
--accent-alpha-20: rgba(32,128,192,.2);
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
11
assets/css/color/blue-light.css
Normal file
11
assets/css/color/blue-light.css
Normal file
|
@ -0,0 +1,11 @@
|
|||
:root {
|
||||
--accent: rgb(32,128,192);
|
||||
--accent-alpha-70: rgba(32,128,192,.7);
|
||||
--accent-alpha-20: rgba(32,128,192,.2);
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
8
assets/css/color/blue.css
Normal file
8
assets/css/color/blue.css
Normal file
|
@ -0,0 +1,8 @@
|
|||
:root {
|
||||
--accent: rgb(35,176,255);
|
||||
--accent-alpha-70: rgba(35,176,255,.7);
|
||||
--accent-alpha-20: rgba(35,176,255,.2);
|
||||
--background: #1D212C;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
26
assets/css/color/green-auto.css
Normal file
26
assets/css/color/green-auto.css
Normal file
|
@ -0,0 +1,26 @@
|
|||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--accent: rgb(120,226,160);
|
||||
--accent-alpha-70: rgba(120,226,160,.7);
|
||||
--accent-alpha-20: rgba(120,226,160,.2);
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--accent: rgb(24, 192, 128);
|
||||
--accent-alpha-70: rgba(24, 192, 128,.7);
|
||||
--accent-alpha-20: rgba(24, 192, 128,.2);
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
11
assets/css/color/green-light.css
Normal file
11
assets/css/color/green-light.css
Normal file
|
@ -0,0 +1,11 @@
|
|||
:root {
|
||||
--accent: rgb(24, 192, 128);
|
||||
--accent-alpha-70: rgba(24, 192, 128,.7);
|
||||
--accent-alpha-20: rgba(24, 192, 128,.2);
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
8
assets/css/color/green.css
Normal file
8
assets/css/color/green.css
Normal file
|
@ -0,0 +1,8 @@
|
|||
:root {
|
||||
--accent: rgb(120,226,160);
|
||||
--accent-alpha-70: rgba(120,226,160,.7);
|
||||
--accent-alpha-20: rgba(120,226,160,.2);
|
||||
--background: #1F222A;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
26
assets/css/color/orange-auto.css
Normal file
26
assets/css/color/orange-auto.css
Normal file
|
@ -0,0 +1,26 @@
|
|||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--accent: rgb(255,168,106);
|
||||
--accent-alpha-70: rgba(255,168,106,.7);
|
||||
--accent-alpha-20: rgba(255,168,106,.2);
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--accent: rgb(240,128,48);
|
||||
--accent-alpha-70: rgba(240,128,48,.7);
|
||||
--accent-alpha-20: rgba(240,128,48,.2);
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
11
assets/css/color/orange-light.css
Normal file
11
assets/css/color/orange-light.css
Normal file
|
@ -0,0 +1,11 @@
|
|||
:root {
|
||||
--accent: rgb(240,128,48);
|
||||
--accent-alpha-70: rgba(240,128,48,.7);
|
||||
--accent-alpha-20: rgba(240,128,48,.2);
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
8
assets/css/color/orange.css
Normal file
8
assets/css/color/orange.css
Normal file
|
@ -0,0 +1,8 @@
|
|||
:root {
|
||||
--accent: rgb(255,168,106);
|
||||
--accent-alpha-70: rgba(255,168,106,.7);
|
||||
--accent-alpha-20: rgba(255,168,106,.2);
|
||||
--background: #222129;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
26
assets/css/color/pink-auto.css
Normal file
26
assets/css/color/pink-auto.css
Normal file
|
@ -0,0 +1,26 @@
|
|||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--accent: rgb(224,64,192);
|
||||
--accent-alpha-70: rgba(224,64,192);
|
||||
--accent-alpha-20: rgba(224,64,192,.2);
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--accent: rgb(238,114,241);
|
||||
--accent-alpha-70: rgba(238,114,241,.7);
|
||||
--accent-alpha-20: rgba(238,114,241,.2);
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
11
assets/css/color/pink-light.css
Normal file
11
assets/css/color/pink-light.css
Normal file
|
@ -0,0 +1,11 @@
|
|||
:root {
|
||||
--accent: rgb(224,64,192);
|
||||
--accent-alpha-70: rgba(224,64,192);
|
||||
--accent-alpha-20: rgba(224,64,192,.2);
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
8
assets/css/color/pink.css
Normal file
8
assets/css/color/pink.css
Normal file
|
@ -0,0 +1,8 @@
|
|||
:root {
|
||||
--accent: rgb(238,114,241);
|
||||
--accent-alpha-70: rgba(238,114,241,.7);
|
||||
--accent-alpha-20: rgba(238,114,241,.2);
|
||||
--background: #21202C;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
26
assets/css/color/red-auto.css
Normal file
26
assets/css/color/red-auto.css
Normal file
|
@ -0,0 +1,26 @@
|
|||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--accent: rgb(255,98,102);
|
||||
--accent-alpha-70: rgba(255,98,102,.7);
|
||||
--accent-alpha-20: rgba(255,98,102,.2);
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
:root {
|
||||
--accent: rgb(240,48,64);
|
||||
--accent-alpha-70: rgba(240,48,64,.7);
|
||||
--accent-alpha-20: rgba(240,48,64,.2);
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
11
assets/css/color/red-light.css
Normal file
11
assets/css/color/red-light.css
Normal file
|
@ -0,0 +1,11 @@
|
|||
:root {
|
||||
--accent: rgb(240,48,64);
|
||||
--accent-alpha-70: rgba(240,48,64,.7);
|
||||
--accent-alpha-20: rgba(240,48,64,.2);
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
}
|
||||
:root div.logo {
|
||||
color: white;
|
||||
}
|
8
assets/css/color/red.css
Normal file
8
assets/css/color/red.css
Normal file
|
@ -0,0 +1,8 @@
|
|||
:root {
|
||||
--accent: rgb(255,98,102);
|
||||
--accent-alpha-70: rgba(255,98,102,.7);
|
||||
--accent-alpha-20: rgba(255,98,102,.2);
|
||||
--background: #221F29;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
31
assets/css/font-hack-subset.css
Normal file
31
assets/css/font-hack-subset.css
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*!
|
||||
* Hack typeface https://github.com/source-foundry/Hack
|
||||
* License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
|
||||
*/
|
||||
/* FONT PATHS
|
||||
* -------------------------- */
|
||||
@font-face {
|
||||
font-family: "Hack";
|
||||
/* Use full version (not a subset) for unicode icon support */
|
||||
src: url("fonts/hack-regular.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-regular.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Hack";
|
||||
src: url("fonts/hack-bold-subset.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-bold-subset.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Hack";
|
||||
src: url("fonts/hack-italic-subset.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-italic-webfont.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Hack";
|
||||
src: url("fonts/hack-bolditalic-subset.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-bolditalic-subset.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
}
|
30
assets/css/font-hack.css
Normal file
30
assets/css/font-hack.css
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*!
|
||||
* Hack typeface https://github.com/source-foundry/Hack
|
||||
* License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
|
||||
*/
|
||||
/* FONT PATHS
|
||||
* -------------------------- */
|
||||
@font-face {
|
||||
font-family: "Hack";
|
||||
src: url("fonts/hack-regular.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-regular.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Hack";
|
||||
src: url("fonts/hack-bold.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-bold.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Hack";
|
||||
src: url("fonts/hack-italic.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-italic.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Hack";
|
||||
src: url("fonts/hack-bolditalic.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-bolditalic.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
}
|
56
assets/css/footer.css
Normal file
56
assets/css/footer.css
Normal file
|
@ -0,0 +1,56 @@
|
|||
.footer {
|
||||
flex-grow: 0;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.footer__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0;
|
||||
width: 760px;
|
||||
max-width: 100%;
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer__inner {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
.footer a {
|
||||
color: inherit;
|
||||
}
|
||||
.footer .copyright {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
font-size: 1rem;
|
||||
}
|
||||
.footer .copyright--user {
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
.footer .copyright > *:first-child:not(:only-child) {
|
||||
margin-right: 10px;
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright > *:first-child:not(:only-child) {
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright {
|
||||
flex-direction: column;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright-theme-sep {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright-theme {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
}
|
75
assets/css/header.css
Normal file
75
assets/css/header.css
Normal file
|
@ -0,0 +1,75 @@
|
|||
.header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
.header__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header__logo {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
}
|
||||
.header__logo:after {
|
||||
content: "";
|
||||
background: repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 16px);
|
||||
display: block;
|
||||
width: 100%;
|
||||
right: 10px;
|
||||
}
|
||||
.header__logo a {
|
||||
flex: 0 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
.header .menu {
|
||||
margin: 20px 0;
|
||||
}
|
||||
.header .menu__inner {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.header .menu__inner li.active {
|
||||
color: var(--accent-alpha-70);
|
||||
}
|
||||
.header .menu__inner li:not(:last-of-type) {
|
||||
margin-right: 20px;
|
||||
margin-bottom: 10px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
.header .menu__sub-inner {
|
||||
position: relative;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.header .menu__sub-inner:not(:only-child) {
|
||||
margin-left: 20px;
|
||||
}
|
||||
.header .menu__sub-inner-more {
|
||||
position: absolute;
|
||||
background: var(--background);
|
||||
box-shadow: var(--shadow);
|
||||
color: white;
|
||||
border: 2px solid;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
list-style: none;
|
||||
z-index: 99;
|
||||
top: 35px;
|
||||
left: 0;
|
||||
}
|
||||
.header .menu__sub-inner-more-trigger {
|
||||
color: var(--accent);
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
.header .menu__sub-inner-more li {
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
white-space: nowrap;
|
||||
}
|
5
assets/css/home.css
Normal file
5
assets/css/home.css
Normal file
|
@ -0,0 +1,5 @@
|
|||
div.homepage {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
|
||||
grid-gap: 3em;
|
||||
}
|
8
assets/css/logo.css
Normal file
8
assets/css/logo.css
Normal file
|
@ -0,0 +1,8 @@
|
|||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
background: var(--accent);
|
||||
color: black;
|
||||
padding: 5px 10px;
|
||||
}
|
246
assets/css/main.css
Normal file
246
assets/css/main.css
Normal file
|
@ -0,0 +1,246 @@
|
|||
@charset "UTF-8";
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||
font-size: 1rem;
|
||||
line-height: 1.54;
|
||||
color: var(--color);
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
body {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.bg {
|
||||
background: radial-gradient(at right top, #F68EF0, #74B9DF);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
min-height: 100vh;
|
||||
min-height: 100dvh;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.3rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
h4, h5, h6 {
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
img.left {
|
||||
margin-right: auto;
|
||||
}
|
||||
img.center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
img.right {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
figure {
|
||||
display: table;
|
||||
max-width: 100%;
|
||||
margin: 25px 0;
|
||||
}
|
||||
figure.left, figure img {
|
||||
margin-right: auto;
|
||||
}
|
||||
figure.center, figure img {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
figure.right, figure img {
|
||||
margin-left: auto;
|
||||
}
|
||||
figure figcaption {
|
||||
font-size: 14px;
|
||||
padding: 5px 10px;
|
||||
margin-top: 5px;
|
||||
background: var(--accent);
|
||||
color: var(--background);
|
||||
}
|
||||
figure figcaption.left {
|
||||
text-align: left;
|
||||
}
|
||||
figure figcaption.center {
|
||||
text-align: center;
|
||||
}
|
||||
figure figcaption.right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||
font-feature-settings: normal;
|
||||
background: var(--accent-alpha-20);
|
||||
padding: 1px 6px;
|
||||
margin: 0 2px;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||
padding: 20px;
|
||||
font-size: 0.95rem;
|
||||
overflow: auto;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
background: none;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-top: 1px solid var(--accent);
|
||||
border-bottom: 1px solid var(--accent);
|
||||
margin: 40px 0;
|
||||
padding: 25px;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
blockquote {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
blockquote:before {
|
||||
content: "”";
|
||||
font-family: Georgia, serif;
|
||||
font-size: 3.875rem;
|
||||
position: absolute;
|
||||
left: -40px;
|
||||
top: -20px;
|
||||
}
|
||||
blockquote p:first-of-type {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote p:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
blockquote p {
|
||||
position: relative;
|
||||
}
|
||||
blockquote p:before {
|
||||
content: ">";
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -25px;
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
table {
|
||||
table-layout: fixed;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
margin: 40px 0;
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: 1px dashed var(--accent);
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
th {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
margin-left: 30px;
|
||||
padding: 0;
|
||||
}
|
||||
ul li, ol li {
|
||||
position: relative;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
ul, ol {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
ol ol {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 40px;
|
||||
max-width: 864px;
|
||||
margin: 2em auto;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
hr {
|
||||
width: 100%;
|
||||
border: none;
|
||||
background: var(--border-color);
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
70
assets/css/pagination.css
Normal file
70
assets/css/pagination.css
Normal file
|
@ -0,0 +1,70 @@
|
|||
.pagination {
|
||||
margin-top: 50px;
|
||||
}
|
||||
.pagination__title {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
margin: 100px 0 20px;
|
||||
}
|
||||
.pagination__title-h {
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: 5px 10px;
|
||||
background: var(--background);
|
||||
font-size: 0.8rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.1em;
|
||||
z-index: 1;
|
||||
}
|
||||
.pagination__title hr {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
margin-top: 15px;
|
||||
z-index: 0;
|
||||
}
|
||||
.pagination__buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.pagination__buttons {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
.button {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1rem;
|
||||
border-radius: 8px;
|
||||
max-width: 40%;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
appearance: none;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.button {
|
||||
max-width: 80%;
|
||||
}
|
||||
}
|
||||
.button + .button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.button a {
|
||||
display: flex;
|
||||
padding: 8px 16px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
.button__text {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
106
assets/css/post.css
Normal file
106
assets/css/post.css
Normal file
|
@ -0,0 +1,106 @@
|
|||
@charset "UTF-8";
|
||||
.posts {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.post {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
margin: 20px auto;
|
||||
padding: 20px 0;
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.post {
|
||||
max-width: 660px;
|
||||
}
|
||||
}
|
||||
.post:not(:last-of-type) {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
.post .post-meta-inline, .post .post-meta {
|
||||
font-size: 1rem;
|
||||
margin-bottom: 10px;
|
||||
color: var(--accent-alpha-70);
|
||||
}
|
||||
.post-meta-inline {
|
||||
display: inline;
|
||||
}
|
||||
.post-title {
|
||||
--border: 2px dashed var(--accent);
|
||||
position: relative;
|
||||
color: var(--accent);
|
||||
margin: 0 0 15px;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: var(--border);
|
||||
font-weight: normal;
|
||||
}
|
||||
.post-title a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.post .post-tags-inline, .post .post-tags {
|
||||
margin-bottom: 20px;
|
||||
font-size: 1rem;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.post-tags {
|
||||
display: block;
|
||||
}
|
||||
.post-tags-inline {
|
||||
display: inline;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.post-tags-inline {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.post-content {
|
||||
margin-top: 30px;
|
||||
}
|
||||
.post-cover {
|
||||
border: 20px solid var(--accent);
|
||||
background: transparent;
|
||||
margin: 40px 0;
|
||||
padding: 20px;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.post-cover {
|
||||
padding: 10px;
|
||||
border-width: 10px;
|
||||
}
|
||||
}
|
||||
.post ul {
|
||||
list-style: none;
|
||||
}
|
||||
.post ul li:before {
|
||||
content: "►";
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.post--regulation h1 {
|
||||
justify-content: center;
|
||||
}
|
||||
.post--regulation h2 {
|
||||
justify-content: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.post--regulation h2 + h2 {
|
||||
margin-top: -10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.post-list .post-date {
|
||||
color: var(--accent);
|
||||
text-decoration: none;
|
||||
}
|
||||
.post-list a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.post-list .post-list-title {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.post-list .post-tag {
|
||||
text-decoration: underline;
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
83
assets/css/sass/buttons.css
Normal file
83
assets/css/sass/buttons.css
Normal file
|
@ -0,0 +1,83 @@
|
|||
.button-container {
|
||||
display: table;
|
||||
margin-left: auto;
|
||||
margin-right: auto; }
|
||||
|
||||
button,
|
||||
.button,
|
||||
a.button {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 18px;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
/* variants */
|
||||
/* sizes */ }
|
||||
button.outline,
|
||||
.button.outline,
|
||||
a.button.outline {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
padding: 8px 18px; }
|
||||
button.outline :hover,
|
||||
.button.outline :hover,
|
||||
a.button.outline :hover {
|
||||
transform: none;
|
||||
box-shadow: none; }
|
||||
button.primary,
|
||||
.button.primary,
|
||||
a.button.primary {
|
||||
box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08); }
|
||||
button.primary:hover,
|
||||
.button.primary:hover,
|
||||
a.button.primary:hover {
|
||||
box-shadow: 0 2px 6px rgba(50, 50, 93, 0.21), 0 1px 3px rgba(0, 0, 0, 0.08); }
|
||||
button.link,
|
||||
.button.link,
|
||||
a.button.link {
|
||||
background: none;
|
||||
font-size: 1rem; }
|
||||
button.small,
|
||||
.button.small,
|
||||
a.button.small {
|
||||
font-size: .8rem; }
|
||||
button.wide,
|
||||
.button.wide,
|
||||
a.button.wide {
|
||||
min-width: 200px;
|
||||
padding: 14px 24px; }
|
||||
|
||||
a.read-more,
|
||||
a.read-more:hover,
|
||||
a.read-more:active {
|
||||
display: inline-flex;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
padding: 0;
|
||||
margin: 20px 0;
|
||||
max-width: 100%; }
|
||||
|
||||
.code-toolbar {
|
||||
margin-bottom: 20px; }
|
||||
.code-toolbar .toolbar-item a {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 3px 8px;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none; }
|
92
assets/css/sass/buttons.scss
Normal file
92
assets/css/sass/buttons.scss
Normal file
|
@ -0,0 +1,92 @@
|
|||
.button-container {
|
||||
display: table;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
button,
|
||||
.button,
|
||||
a.button {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 18px;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
|
||||
/* variants */
|
||||
|
||||
&.outline {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
padding: 8px 18px;
|
||||
|
||||
:hover {
|
||||
transform: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
&.primary {
|
||||
box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0 2px 6px rgba(50, 50, 93, .21), 0 1px 3px rgba(0, 0, 0, .08);
|
||||
}
|
||||
}
|
||||
|
||||
&.link {
|
||||
background: none;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
|
||||
/* sizes */
|
||||
|
||||
&.small {
|
||||
font-size: .8rem;
|
||||
}
|
||||
|
||||
&.wide {
|
||||
min-width: 200px;
|
||||
padding: 14px 24px;
|
||||
}
|
||||
}
|
||||
|
||||
a.read-more,
|
||||
a.read-more:hover,
|
||||
a.read-more:active {
|
||||
display: inline-flex;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
padding: 0;
|
||||
margin: 20px 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.code-toolbar {
|
||||
margin-bottom: 20px;
|
||||
|
||||
.toolbar-item a {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 3px 8px;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
}
|
14
assets/css/sass/color/background_auto.scss
Normal file
14
assets/css/sass/color/background_auto.scss
Normal file
|
@ -0,0 +1,14 @@
|
|||
:root {
|
||||
|
||||
@media (prefers-color-scheme: light) {
|
||||
--background: white;
|
||||
|
||||
--color: #101010;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
--background: #101010;
|
||||
|
||||
--color: #A9B7C6;
|
||||
}
|
||||
}
|
3
assets/css/sass/color/background_blue.scss
Normal file
3
assets/css/sass/color/background_blue.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #1D212C;
|
||||
}
|
5
assets/css/sass/color/background_dark.scss
Normal file
5
assets/css/sass/color/background_dark.scss
Normal file
|
@ -0,0 +1,5 @@
|
|||
:root {
|
||||
--background: #101010;
|
||||
|
||||
--color: #A9B7C6;
|
||||
}
|
3
assets/css/sass/color/background_green.scss
Normal file
3
assets/css/sass/color/background_green.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #1F222A;
|
||||
}
|
3
assets/css/sass/color/background_light.scss
Normal file
3
assets/css/sass/color/background_light.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #f0f0f0;
|
||||
}
|
3
assets/css/sass/color/background_orange.scss
Normal file
3
assets/css/sass/color/background_orange.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #222129;
|
||||
}
|
3
assets/css/sass/color/background_pink.scss
Normal file
3
assets/css/sass/color/background_pink.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #21202C;
|
||||
}
|
3
assets/css/sass/color/background_red.scss
Normal file
3
assets/css/sass/color/background_red.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
:root {
|
||||
--background: #221F29;
|
||||
}
|
29
assets/css/sass/color/blue-auto.scss
Normal file
29
assets/css/sass/color/blue-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
|||
:root {
|
||||
@media (prefers-color-scheme: dark) {
|
||||
--accent: rgb(35,176,255);
|
||||
--accent-alpha-70: rgba(35,176,255,.7);
|
||||
--accent-alpha-20: rgba(35,176,255,.2);
|
||||
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
|
||||
div.logo {
|
||||
color: black;
|
||||
}
|
||||
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
--accent: rgb(32,128,192);
|
||||
--accent-alpha-70: rgba(32,128,192,.7);
|
||||
--accent-alpha-20: rgba(32,128,192,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
12
assets/css/sass/color/blue-light.scss
Normal file
12
assets/css/sass/color/blue-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
|||
:root {
|
||||
--accent: rgb(32,128,192);
|
||||
--accent-alpha-70: rgba(32,128,192,.7);
|
||||
--accent-alpha-20: rgba(32,128,192,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
9
assets/css/sass/color/blue.scss
Normal file
9
assets/css/sass/color/blue.scss
Normal file
|
@ -0,0 +1,9 @@
|
|||
:root {
|
||||
--accent: rgb(35,176,255);
|
||||
--accent-alpha-70: rgba(35,176,255,.7);
|
||||
--accent-alpha-20: rgba(35,176,255,.2);
|
||||
|
||||
--background: #1D212C;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
29
assets/css/sass/color/green-auto.scss
Normal file
29
assets/css/sass/color/green-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
|||
:root {
|
||||
@media (prefers-color-scheme: dark) {
|
||||
--accent: rgb(120,226,160);
|
||||
--accent-alpha-70: rgba(120,226,160,.7);
|
||||
--accent-alpha-20: rgba(120,226,160,.2);
|
||||
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
|
||||
div.logo {
|
||||
color: black;
|
||||
}
|
||||
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
--accent: rgb(24, 192, 128);
|
||||
--accent-alpha-70: rgba(24, 192, 128,.7);
|
||||
--accent-alpha-20: rgba(24, 192, 128,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
12
assets/css/sass/color/green-light.scss
Normal file
12
assets/css/sass/color/green-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
|||
:root {
|
||||
--accent: rgb(24, 192, 128);
|
||||
--accent-alpha-70: rgba(24, 192, 128,.7);
|
||||
--accent-alpha-20: rgba(24, 192, 128,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
9
assets/css/sass/color/green.scss
Normal file
9
assets/css/sass/color/green.scss
Normal file
|
@ -0,0 +1,9 @@
|
|||
:root {
|
||||
--accent: rgb(120,226,160);
|
||||
--accent-alpha-70: rgba(120,226,160,.7);
|
||||
--accent-alpha-20: rgba(120,226,160,.2);
|
||||
|
||||
--background: #1F222A;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
29
assets/css/sass/color/orange-auto.scss
Normal file
29
assets/css/sass/color/orange-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
|||
:root {
|
||||
@media (prefers-color-scheme: dark) {
|
||||
--accent: rgb(255,168,106);
|
||||
--accent-alpha-70: rgba(255,168,106,.7);
|
||||
--accent-alpha-20: rgba(255,168,106,.2);
|
||||
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
|
||||
div.logo {
|
||||
color: black;
|
||||
}
|
||||
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
--accent: rgb(240,128,48);
|
||||
--accent-alpha-70: rgba(240,128,48,.7);
|
||||
--accent-alpha-20: rgba(240,128,48,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
12
assets/css/sass/color/orange-light.scss
Normal file
12
assets/css/sass/color/orange-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
|||
:root {
|
||||
--accent: rgb(240,128,48);
|
||||
--accent-alpha-70: rgba(240,128,48,.7);
|
||||
--accent-alpha-20: rgba(240,128,48,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
9
assets/css/sass/color/orange.scss
Normal file
9
assets/css/sass/color/orange.scss
Normal file
|
@ -0,0 +1,9 @@
|
|||
:root {
|
||||
--accent: rgb(255,168,106);
|
||||
--accent-alpha-70: rgba(255,168,106,.7);
|
||||
--accent-alpha-20: rgba(255,168,106,.2);
|
||||
|
||||
--background: #222129;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
29
assets/css/sass/color/pink-auto.scss
Normal file
29
assets/css/sass/color/pink-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
|||
:root {
|
||||
@media (prefers-color-scheme: dark) {
|
||||
--accent: rgb(224,64,192);
|
||||
--accent-alpha-70: rgba(224,64,192);
|
||||
--accent-alpha-20: rgba(224,64,192,.2);
|
||||
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
|
||||
div.logo {
|
||||
color: black;
|
||||
}
|
||||
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
--accent: rgb(238,114,241);
|
||||
--accent-alpha-70: rgba(238,114,241,.7);
|
||||
--accent-alpha-20: rgba(238,114,241,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
12
assets/css/sass/color/pink-light.scss
Normal file
12
assets/css/sass/color/pink-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
|||
:root {
|
||||
--accent: rgb(224,64,192);
|
||||
--accent-alpha-70: rgba(224,64,192);
|
||||
--accent-alpha-20: rgba(224,64,192,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
9
assets/css/sass/color/pink.scss
Normal file
9
assets/css/sass/color/pink.scss
Normal file
|
@ -0,0 +1,9 @@
|
|||
:root {
|
||||
--accent: rgb(238,114,241);
|
||||
--accent-alpha-70: rgba(238,114,241,.7);
|
||||
--accent-alpha-20: rgba(238,114,241,.2);
|
||||
|
||||
--background: #21202C;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
29
assets/css/sass/color/red-auto.scss
Normal file
29
assets/css/sass/color/red-auto.scss
Normal file
|
@ -0,0 +1,29 @@
|
|||
:root {
|
||||
@media (prefers-color-scheme: dark) {
|
||||
--accent: rgb(255,98,102);
|
||||
--accent-alpha-70: rgba(255,98,102,.7);
|
||||
--accent-alpha-20: rgba(255,98,102,.2);
|
||||
|
||||
--background: #101010;
|
||||
--color: #f0f0f0;
|
||||
--border-color: rgba(255,240,224,.125);
|
||||
|
||||
div.logo {
|
||||
color: black;
|
||||
}
|
||||
|
||||
}
|
||||
@media (prefers-color-scheme: light) {
|
||||
--accent: rgb(240,48,64);
|
||||
--accent-alpha-70: rgba(240,48,64,.7);
|
||||
--accent-alpha-20: rgba(240,48,64,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #201030;
|
||||
--border-color: rgba(0,0,16,.125);
|
||||
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
}
|
12
assets/css/sass/color/red-light.scss
Normal file
12
assets/css/sass/color/red-light.scss
Normal file
|
@ -0,0 +1,12 @@
|
|||
:root {
|
||||
--accent: rgb(240,48,64);
|
||||
--accent-alpha-70: rgba(240,48,64,.7);
|
||||
--accent-alpha-20: rgba(240,48,64,.2);
|
||||
|
||||
--background: white;
|
||||
--color: #1D212C;
|
||||
--border-color: rgba(0, 0, 0, .1);
|
||||
div.logo {
|
||||
color: white;
|
||||
}
|
||||
}
|
9
assets/css/sass/color/red.scss
Normal file
9
assets/css/sass/color/red.scss
Normal file
|
@ -0,0 +1,9 @@
|
|||
:root {
|
||||
--accent: rgb(255,98,102);
|
||||
--accent-alpha-70: rgba(255,98,102,.7);
|
||||
--accent-alpha-20: rgba(255,98,102,.2);
|
||||
|
||||
--background: #221F29;
|
||||
--color: white;
|
||||
--border-color: rgba(255, 255, 255, .1);
|
||||
}
|
27
assets/css/sass/font-hack-subset.css
Normal file
27
assets/css/sass/font-hack-subset.css
Normal file
|
@ -0,0 +1,27 @@
|
|||
/*!
|
||||
* Hack typeface https://github.com/source-foundry/Hack
|
||||
* License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
|
||||
*/
|
||||
/* FONT PATHS
|
||||
* -------------------------- */
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
/* Use full version (not a subset) for unicode icon support */
|
||||
src: url("fonts/hack-regular.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-regular.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: normal; }
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url("fonts/hack-bold-subset.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-bold-subset.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: normal; }
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url("fonts/hack-italic-subset.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-italic-webfont.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: italic; }
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url("fonts/hack-bolditalic-subset.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-bolditalic-subset.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: italic; }
|
34
assets/css/sass/font-hack-subset.scss
Normal file
34
assets/css/sass/font-hack-subset.scss
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*!
|
||||
* Hack typeface https://github.com/source-foundry/Hack
|
||||
* License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
|
||||
*/
|
||||
/* FONT PATHS
|
||||
* -------------------------- */
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
/* Use full version (not a subset) for unicode icon support */
|
||||
src: url('fonts/hack-regular.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-regular.woff?sha=3114f1256') format('woff');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url('fonts/hack-bold-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bold-subset.woff?sha=3114f1256') format('woff');
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url('fonts/hack-italic-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-italic-webfont.woff?sha=3114f1256') format('woff');
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url('fonts/hack-bolditalic-subset.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bolditalic-subset.woff?sha=3114f1256') format('woff');
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
}
|
26
assets/css/sass/font-hack.css
Normal file
26
assets/css/sass/font-hack.css
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*!
|
||||
* Hack typeface https://github.com/source-foundry/Hack
|
||||
* License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
|
||||
*/
|
||||
/* FONT PATHS
|
||||
* -------------------------- */
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url("fonts/hack-regular.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-regular.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: normal; }
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url("fonts/hack-bold.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-bold.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: normal; }
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url("fonts/hack-italic.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-italic.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: italic; }
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url("fonts/hack-bolditalic.woff2?sha=3114f1256") format("woff2"), url("fonts/hack-bolditalic.woff?sha=3114f1256") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: italic; }
|
33
assets/css/sass/font-hack.scss
Normal file
33
assets/css/sass/font-hack.scss
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*!
|
||||
* Hack typeface https://github.com/source-foundry/Hack
|
||||
* License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
|
||||
*/
|
||||
/* FONT PATHS
|
||||
* -------------------------- */
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url('fonts/hack-regular.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-regular.woff?sha=3114f1256') format('woff');
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url('fonts/hack-bold.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bold.woff?sha=3114f1256') format('woff');
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url('fonts/hack-italic.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-italic.woff?sha=3114f1256') format('woff');
|
||||
font-weight: 400;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Hack';
|
||||
src: url('fonts/hack-bolditalic.woff2?sha=3114f1256') format('woff2'), url('fonts/hack-bolditalic.woff?sha=3114f1256') format('woff');
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
}
|
40
assets/css/sass/footer.css
Normal file
40
assets/css/sass/footer.css
Normal file
|
@ -0,0 +1,40 @@
|
|||
.footer {
|
||||
flex-grow: 0;
|
||||
opacity: .5; }
|
||||
.footer__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0;
|
||||
width: 760px;
|
||||
max-width: 100%; }
|
||||
@media (max-width: 899px) {
|
||||
.footer__inner {
|
||||
flex-direction: column; } }
|
||||
.footer a {
|
||||
color: inherit; }
|
||||
.footer .copyright {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
font-size: 1rem; }
|
||||
.footer .copyright--user {
|
||||
margin: auto;
|
||||
text-align: center; }
|
||||
.footer .copyright > *:first-child:not(:only-child) {
|
||||
margin-right: 10px; }
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright > *:first-child:not(:only-child) {
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0; } }
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright {
|
||||
flex-direction: column;
|
||||
margin-top: 10px; } }
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright-theme-sep {
|
||||
display: none; } }
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright-theme {
|
||||
font-size: 0.75rem; } }
|
62
assets/css/sass/footer.scss
Normal file
62
assets/css/sass/footer.scss
Normal file
|
@ -0,0 +1,62 @@
|
|||
@import "variables";
|
||||
|
||||
.footer {
|
||||
flex-grow: 0;
|
||||
opacity: .5;
|
||||
|
||||
&__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0;
|
||||
width: 760px;
|
||||
max-width: 100%;
|
||||
|
||||
@media (max-width: $tablet-max-width) {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
font-size: 1rem;
|
||||
|
||||
&--user {
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
& > *:first-child:not(:only-child) {
|
||||
margin-right: 10px;
|
||||
|
||||
@media (max-width: $tablet-max-width) {
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: $tablet-max-width) {
|
||||
flex-direction: column;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.copyright-theme-sep {
|
||||
@media (max-width: $tablet-max-width) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.copyright-theme {
|
||||
@media (max-width: $tablet-max-width) {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
}
|
||||
}
|
61
assets/css/sass/header.css
Normal file
61
assets/css/sass/header.css
Normal file
|
@ -0,0 +1,61 @@
|
|||
.header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative; }
|
||||
.header__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between; }
|
||||
.header__logo {
|
||||
display: flex;
|
||||
flex: 1; }
|
||||
.header__logo:after {
|
||||
content: '';
|
||||
background: repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 16px);
|
||||
display: block;
|
||||
width: 100%;
|
||||
right: 10px; }
|
||||
.header__logo a {
|
||||
flex: 0 0 auto;
|
||||
max-width: 100%; }
|
||||
.header .menu {
|
||||
margin: 20px 0; }
|
||||
.header .menu__inner {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
.header .menu__inner li.active {
|
||||
color: var(--accent-alpha-70); }
|
||||
.header .menu__inner li:not(:last-of-type) {
|
||||
margin-right: 20px;
|
||||
margin-bottom: 10px;
|
||||
flex: 0 0 auto; }
|
||||
.header .menu__sub-inner {
|
||||
position: relative;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0; }
|
||||
.header .menu__sub-inner:not(:only-child) {
|
||||
margin-left: 20px; }
|
||||
.header .menu__sub-inner-more {
|
||||
position: absolute;
|
||||
background: var(--background);
|
||||
box-shadow: var(--shadow);
|
||||
color: white;
|
||||
border: 2px solid;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
list-style: none;
|
||||
z-index: 99;
|
||||
top: 35px;
|
||||
left: 0; }
|
||||
.header .menu__sub-inner-more-trigger {
|
||||
color: var(--accent);
|
||||
user-select: none;
|
||||
cursor: pointer; }
|
||||
.header .menu__sub-inner-more li {
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
white-space: nowrap; }
|
96
assets/css/sass/header.scss
Normal file
96
assets/css/sass/header.scss
Normal file
|
@ -0,0 +1,96 @@
|
|||
@import "variables";
|
||||
|
||||
@mixin menu {
|
||||
position: absolute;
|
||||
background: var(--background);
|
||||
box-shadow: var(--shadow);
|
||||
color: white;
|
||||
border: 2px solid;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
list-style: none;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
|
||||
&__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
&__logo {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
background: repeating-linear-gradient(90deg, var(--accent), var(--accent) 2px, transparent 0, transparent 16px);
|
||||
display: block;
|
||||
width: 100%;
|
||||
right: 10px;
|
||||
}
|
||||
|
||||
a {
|
||||
flex: 0 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.menu {
|
||||
margin: 20px 0;
|
||||
|
||||
&__inner {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
&.active {
|
||||
color: var(--accent-alpha-70);
|
||||
}
|
||||
|
||||
&:not(:last-of-type) {
|
||||
margin-right: 20px;
|
||||
margin-bottom: 10px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__sub-inner {
|
||||
position: relative;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
|
||||
&:not(:only-child) {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
&-more {
|
||||
@include menu;
|
||||
top: 35px;
|
||||
left: 0;
|
||||
|
||||
&-trigger {
|
||||
color: var(--accent);
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
4
assets/css/sass/home.css
Normal file
4
assets/css/sass/home.css
Normal file
|
@ -0,0 +1,4 @@
|
|||
div.homepage {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
|
||||
grid-gap: 3em; }
|
5
assets/css/sass/home.scss
Normal file
5
assets/css/sass/home.scss
Normal file
|
@ -0,0 +1,5 @@
|
|||
div.homepage {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
|
||||
grid-gap: 3em;
|
||||
}
|
7
assets/css/sass/logo.css
Normal file
7
assets/css/sass/logo.css
Normal file
|
@ -0,0 +1,7 @@
|
|||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
background: var(--accent);
|
||||
color: black;
|
||||
padding: 5px 10px; }
|
8
assets/css/sass/logo.scss
Normal file
8
assets/css/sass/logo.scss
Normal file
|
@ -0,0 +1,8 @@
|
|||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
background: var(--accent);
|
||||
color: black;
|
||||
padding: 5px 10px;
|
||||
}
|
66
assets/css/sass/main.css
Normal file
66
assets/css/sass/main.css
Normal file
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
Error: wrong number of arguments (1 for 3) for `rgb'
|
||||
on line 242 of main.scss
|
||||
|
||||
237: padding: 40px;
|
||||
238: max-width: 864px;
|
||||
239: // min-height: 100vh;
|
||||
240: margin: 2em auto;
|
||||
241:
|
||||
242: background: rgb(0 0 0 / .4);
|
||||
243:
|
||||
244: @media (max-width: $phone-max-width) {
|
||||
245: padding: 20px;
|
||||
246: margin: 0 auto;
|
||||
247: }
|
||||
|
||||
Backtrace:
|
||||
main.scss:242
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/script/tree/funcall.rb:311:in `reformat_argument_error'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/script/tree/funcall.rb:158:in `rescue in _perform'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/script/tree/funcall.rb:127:in `_perform'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/script/tree/node.rb:50:in `perform'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:398:in `visit_prop'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:440:in `block (2 levels) in visit_rule'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:440:in `map'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:440:in `block in visit_rule'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:438:in `visit_rule'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `map'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `visit_children'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `block in visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:157:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:10:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/root_node.rb:36:in `css_tree'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/root_node.rb:20:in `render'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/engine.rb:290:in `render'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/exec/sass_scss.rb:396:in `run'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/exec/sass_scss.rb:63:in `process_result'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/exec/base.rb:50:in `parse'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/exec/base.rb:18:in `parse!'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/bin/sass:13:in `<top (required)>'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/bin/sass:25:in `load'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/bin/sass:25:in `<main>'
|
||||
*/
|
||||
body:before {
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
content: "Error: wrong number of arguments (1 for 3) for `rgb'\A on line 242 of main.scss\A \A 237: padding: 40px;\A 238: max-width: 864px;\A 239: // min-height: 100vh;\A 240: margin: 2em auto;\A 241: \A 242: background: rgb(0 0 0 / .4);\A 243: \A 244: @media (max-width: $phone-max-width) {\A 245: padding: 20px;\A 246: margin: 0 auto;\A 247: }"; }
|
263
assets/css/sass/main.scss
Normal file
263
assets/css/sass/main.scss
Normal file
|
@ -0,0 +1,263 @@
|
|||
@import "variables";
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||
font-size: 1rem;
|
||||
line-height: 1.54;
|
||||
// background-color: var(--background);
|
||||
color: var(--color);
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.bg {
|
||||
background: radial-gradient(at right top, #F68EF0, #74B9DF);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
min-height: 100vh;
|
||||
min-height: 100dvh;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.3rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
h4, h5, h6 {
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
|
||||
&.left {
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
&.center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
&.right {
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
figure {
|
||||
display: table;
|
||||
max-width: 100%;
|
||||
margin: 25px 0;
|
||||
|
||||
&.left, img {
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
&.center, img {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
&.right, img {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
font-size: 14px;
|
||||
padding: 5px 10px;
|
||||
margin-top: 5px;
|
||||
background: var(--accent);
|
||||
color: var(--background);
|
||||
|
||||
&.left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&.center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&.right {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||
font-feature-settings: normal;
|
||||
background: var(--accent-alpha-20);
|
||||
padding: 1px 6px;
|
||||
margin: 0 2px;
|
||||
font-size: .95rem;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-family: Hack, DejaVu Sans Mono, Monaco, Consolas, Ubuntu Mono, monospace;
|
||||
padding: 20px;
|
||||
font-size: .95rem;
|
||||
overflow: auto;
|
||||
border-top: 1px solid rgba(255, 255, 255, .1);
|
||||
border-bottom: 1px solid rgba(255, 255, 255, .1);
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
code {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
background: none;
|
||||
}
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-top: 1px solid var(--accent);
|
||||
border-bottom: 1px solid var(--accent);
|
||||
margin: 40px 0;
|
||||
padding: 25px;
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
&:before {
|
||||
content: '”';
|
||||
font-family: Georgia, serif;
|
||||
font-size: 3.875rem;
|
||||
position: absolute;
|
||||
left: -40px;
|
||||
top: -20px;
|
||||
}
|
||||
|
||||
p:first-of-type {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
p:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
p:before {
|
||||
content: '>';
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -25px;
|
||||
color: var(--accent);
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
table-layout: fixed;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
margin: 40px 0;
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: 1px dashed var(--accent);
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
th {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
margin-left: 30px;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
ol ol {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 40px;
|
||||
max-width: 864px;
|
||||
// min-height: 100vh;
|
||||
margin: 2em auto;
|
||||
|
||||
background: rgb(0 0 0 / .4);
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
padding: 20px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
hr {
|
||||
width: 100%;
|
||||
border: none;
|
||||
background: var(--border-color);
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
57
assets/css/sass/pagination.css
Normal file
57
assets/css/sass/pagination.css
Normal file
|
@ -0,0 +1,57 @@
|
|||
.pagination {
|
||||
margin-top: 50px; }
|
||||
.pagination__title {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
margin: 100px 0 20px; }
|
||||
.pagination__title-h {
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: 5px 10px;
|
||||
background: var(--background);
|
||||
font-size: .8rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .1em;
|
||||
z-index: 1; }
|
||||
.pagination__title hr {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
margin-top: 15px;
|
||||
z-index: 0; }
|
||||
.pagination__buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center; }
|
||||
@media (max-width: 683px) {
|
||||
.pagination__buttons {
|
||||
flex-direction: column; } }
|
||||
|
||||
.button {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1rem;
|
||||
border-radius: 8px;
|
||||
max-width: 40%;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
appearance: none; }
|
||||
@media (max-width: 683px) {
|
||||
.button {
|
||||
max-width: 80%; } }
|
||||
.button + .button {
|
||||
margin-left: 10px; }
|
||||
.button a {
|
||||
display: flex;
|
||||
padding: 8px 16px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden; }
|
||||
.button__text {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden; }
|
77
assets/css/sass/pagination.scss
Normal file
77
assets/css/sass/pagination.scss
Normal file
|
@ -0,0 +1,77 @@
|
|||
@import 'variables';
|
||||
|
||||
.pagination {
|
||||
margin-top: 50px;
|
||||
|
||||
&__title {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
margin: 100px 0 20px;
|
||||
|
||||
&-h {
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: 5px 10px;
|
||||
background: var(--background);
|
||||
font-size: .8rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: .1em;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
hr {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
margin-top: 15px;
|
||||
z-index: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.button {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1rem;
|
||||
border-radius: 8px;
|
||||
max-width: 40%;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
appearance: none;
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
max-width: 80%;
|
||||
}
|
||||
|
||||
+ .button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
a {
|
||||
display: flex;
|
||||
padding: 8px 16px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
&__text {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
79
assets/css/sass/post.css
Normal file
79
assets/css/sass/post.css
Normal file
|
@ -0,0 +1,79 @@
|
|||
@charset "UTF-8";
|
||||
.posts {
|
||||
width: 100%;
|
||||
margin: 0 auto; }
|
||||
|
||||
.post {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
margin: 20px auto;
|
||||
padding: 20px 0; }
|
||||
@media (max-width: 899px) {
|
||||
.post {
|
||||
max-width: 660px; } }
|
||||
.post:not(:last-of-type) {
|
||||
border-bottom: 1px solid var(--border-color); }
|
||||
.post .post-meta, .post .post-meta-inline {
|
||||
font-size: 1rem;
|
||||
margin-bottom: 10px;
|
||||
color: var(--accent-alpha-70); }
|
||||
.post-meta-inline {
|
||||
display: inline; }
|
||||
.post-title {
|
||||
--border: 2px dashed var(--accent);
|
||||
position: relative;
|
||||
color: var(--accent);
|
||||
margin: 0 0 15px;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: var(--border);
|
||||
font-weight: normal; }
|
||||
.post-title a {
|
||||
text-decoration: none; }
|
||||
.post .post-tags, .post .post-tags-inline {
|
||||
margin-bottom: 20px;
|
||||
font-size: 1rem;
|
||||
opacity: .5; }
|
||||
.post-tags {
|
||||
display: block; }
|
||||
.post-tags-inline {
|
||||
display: inline; }
|
||||
@media (max-width: 683px) {
|
||||
.post-tags-inline {
|
||||
display: block; } }
|
||||
.post-content {
|
||||
margin-top: 30px; }
|
||||
.post-cover {
|
||||
border: 20px solid var(--accent);
|
||||
background: transparent;
|
||||
margin: 40px 0;
|
||||
padding: 20px; }
|
||||
@media (max-width: 683px) {
|
||||
.post-cover {
|
||||
padding: 10px;
|
||||
border-width: 10px; } }
|
||||
.post ul {
|
||||
list-style: none; }
|
||||
.post ul li:before {
|
||||
content: '►';
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
color: var(--accent); }
|
||||
|
||||
.post--regulation h1 {
|
||||
justify-content: center; }
|
||||
.post--regulation h2 {
|
||||
justify-content: center;
|
||||
margin-bottom: 10px; }
|
||||
.post--regulation h2 + h2 {
|
||||
margin-top: -10px;
|
||||
margin-bottom: 20px; }
|
||||
|
||||
.post-list .post-date {
|
||||
color: var(--accent);
|
||||
text-decoration: none; }
|
||||
.post-list a {
|
||||
text-decoration: none; }
|
||||
.post-list .post-list-title {
|
||||
text-decoration: underline; }
|
||||
.post-list .post-tag {
|
||||
text-decoration: underline; }
|
135
assets/css/sass/post.scss
Normal file
135
assets/css/sass/post.scss
Normal file
|
@ -0,0 +1,135 @@
|
|||
@import "variables";
|
||||
|
||||
.posts {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.post {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
margin: 20px auto;
|
||||
padding: 20px 0;
|
||||
|
||||
@media (max-width: $tablet-max-width) {
|
||||
max-width: 660px;
|
||||
}
|
||||
|
||||
&:not(:last-of-type) {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
%meta {
|
||||
font-size: 1rem;
|
||||
margin-bottom: 10px;
|
||||
color: var(--accent-alpha-70);
|
||||
}
|
||||
|
||||
&-meta {
|
||||
@extend %meta;
|
||||
}
|
||||
|
||||
&-meta-inline {
|
||||
@extend %meta;
|
||||
|
||||
display: inline;
|
||||
}
|
||||
|
||||
&-title {
|
||||
--border: 2px dashed var(--accent);
|
||||
position: relative;
|
||||
color: var(--accent);
|
||||
margin: 0 0 15px;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: var(--border);
|
||||
font-weight: normal;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
%tags {
|
||||
margin-bottom: 20px;
|
||||
font-size: 1rem;
|
||||
opacity: .5;
|
||||
}
|
||||
|
||||
&-tags {
|
||||
@extend %tags;
|
||||
|
||||
display: block;
|
||||
}
|
||||
|
||||
&-tags-inline {
|
||||
@extend %tags;
|
||||
|
||||
display: inline;
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
&-content {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
&-cover {
|
||||
border: 20px solid var(--accent);
|
||||
background: transparent;
|
||||
margin: 40px 0;
|
||||
padding: 20px;
|
||||
|
||||
@media (max-width: $phone-max-width) {
|
||||
padding: 10px;
|
||||
border-width: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
|
||||
li:before {
|
||||
content: '►';
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
color: var(--accent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.post--regulation {
|
||||
h1 {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
h2 {
|
||||
justify-content: center;
|
||||
margin-bottom: 10px;
|
||||
|
||||
&+ h2 {
|
||||
margin-top: -10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.post-list {
|
||||
.post-date {
|
||||
color: var(--accent);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.post-list-title {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.post-tag {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
69
assets/css/sass/style.css
Normal file
69
assets/css/sass/style.css
Normal file
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
Error: wrong number of arguments (1 for 3) for `rgb'
|
||||
on line 242 of main.scss
|
||||
from line 5 of style.scss
|
||||
|
||||
Backtrace:
|
||||
main.scss:242
|
||||
style.scss:5
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/script/tree/funcall.rb:311:in `reformat_argument_error'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/script/tree/funcall.rb:158:in `rescue in _perform'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/script/tree/funcall.rb:127:in `_perform'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/script/tree/node.rb:50:in `perform'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:398:in `visit_prop'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:440:in `block (2 levels) in visit_rule'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:440:in `map'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:440:in `block in visit_rule'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:438:in `visit_rule'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:325:in `block (2 levels) in visit_import'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:325:in `map'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:325:in `block in visit_import'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:88:in `block in with_import'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:88:in `with_import'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:322:in `visit_import'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `block in with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:135:in `with_frame'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/stack.rb:79:in `with_base'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:158:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `map'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:52:in `visit_children'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:179:in `with_environment'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `block in visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/base.rb:36:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:157:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/visitors/perform.rb:10:in `visit'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/root_node.rb:36:in `css_tree'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/tree/root_node.rb:20:in `render'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/engine.rb:290:in `render'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/exec/sass_scss.rb:396:in `run'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/exec/sass_scss.rb:63:in `process_result'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/exec/base.rb:50:in `parse'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/lib/sass/exec/base.rb:18:in `parse!'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/sass-3.7.4/bin/sass:13:in `<top (required)>'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/bin/sass:25:in `load'
|
||||
/home/jess/.asdf/installs/ruby/3.3.0/bin/sass:25:in `<main>'
|
||||
*/
|
||||
body:before {
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
content: "Error: wrong number of arguments (1 for 3) for `rgb'\A on line 242 of main.scss\A from line 5 of style.scss"; }
|
9
assets/css/sass/style.scss
Normal file
9
assets/css/sass/style.scss
Normal file
|
@ -0,0 +1,9 @@
|
|||
@import 'buttons';
|
||||
|
||||
@import 'header';
|
||||
@import 'logo';
|
||||
@import 'main';
|
||||
@import 'post';
|
||||
@import 'pagination';
|
||||
@import 'footer';
|
||||
@import 'home';
|
0
assets/css/sass/variables.css
Normal file
0
assets/css/sass/variables.css
Normal file
2
assets/css/sass/variables.scss
Normal file
2
assets/css/sass/variables.scss
Normal file
|
@ -0,0 +1,2 @@
|
|||
$phone-max-width: 683px;
|
||||
$tablet-max-width: 899px;
|
713
assets/css/style.css
Normal file
713
assets/css/style.css
Normal file
|
@ -0,0 +1,713 @@
|
|||
@charset "UTF-8";
|
||||
|
||||
.button-container {
|
||||
display: table;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
button,
|
||||
.button,
|
||||
a.button {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 18px;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
/* variants */
|
||||
/* sizes */
|
||||
}
|
||||
button.outline,
|
||||
.button.outline,
|
||||
a.button.outline {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
padding: 8px 18px;
|
||||
}
|
||||
button.outline :hover,
|
||||
.button.outline :hover,
|
||||
a.button.outline :hover {
|
||||
transform: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
button.primary,
|
||||
.button.primary,
|
||||
a.button.primary {
|
||||
box-shadow:
|
||||
0 4px 6px rgba(50, 50, 93, 0.11),
|
||||
0 1px 3px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
button.primary:hover,
|
||||
.button.primary:hover,
|
||||
a.button.primary:hover {
|
||||
box-shadow:
|
||||
0 2px 6px rgba(50, 50, 93, 0.21),
|
||||
0 1px 3px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
button.link,
|
||||
.button.link,
|
||||
a.button.link {
|
||||
background: none;
|
||||
font-size: 1rem;
|
||||
}
|
||||
button.small,
|
||||
.button.small,
|
||||
a.button.small {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
button.wide,
|
||||
.button.wide,
|
||||
a.button.wide {
|
||||
min-width: 200px;
|
||||
padding: 14px 24px;
|
||||
}
|
||||
|
||||
a.read-more,
|
||||
a.read-more:hover,
|
||||
a.read-more:active {
|
||||
display: inline-flex;
|
||||
background: none;
|
||||
box-shadow: none;
|
||||
padding: 0;
|
||||
margin: 20px 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.code-toolbar {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.code-toolbar .toolbar-item a {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 3px 8px;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
border-radius: 8px;
|
||||
border: 1px solid transparent;
|
||||
appearance: none;
|
||||
cursor: pointer;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
}
|
||||
.header__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.header__logo {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
}
|
||||
.header__logo:after {
|
||||
content: "";
|
||||
background: repeating-linear-gradient(
|
||||
90deg,
|
||||
var(--accent),
|
||||
var(--accent) 2px,
|
||||
transparent 0,
|
||||
transparent 16px
|
||||
);
|
||||
display: block;
|
||||
width: 100%;
|
||||
right: 10px;
|
||||
}
|
||||
.header__logo a {
|
||||
flex: 0 0 auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
.header .menu {
|
||||
margin: 20px 0;
|
||||
}
|
||||
.header .menu__inner {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.header .menu__inner li.active {
|
||||
color: var(--accent-alpha-70);
|
||||
}
|
||||
.header .menu__inner li:not(:last-of-type) {
|
||||
margin-right: 20px;
|
||||
margin-bottom: 10px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
.header .menu__sub-inner {
|
||||
position: relative;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.header .menu__sub-inner:not(:only-child) {
|
||||
margin-left: 20px;
|
||||
}
|
||||
.header .menu__sub-inner-more {
|
||||
position: absolute;
|
||||
background: var(--background);
|
||||
box-shadow: var(--shadow);
|
||||
color: white;
|
||||
border: 2px solid;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
list-style: none;
|
||||
z-index: 99;
|
||||
top: 35px;
|
||||
left: 0;
|
||||
}
|
||||
.header .menu__sub-inner-more-trigger {
|
||||
color: var(--accent);
|
||||
user-select: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
.header .menu__sub-inner-more li {
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.logo {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-decoration: none;
|
||||
background: var(--accent);
|
||||
color: black;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family:
|
||||
Hack,
|
||||
DejaVu Sans Mono,
|
||||
Monaco,
|
||||
Consolas,
|
||||
Ubuntu Mono,
|
||||
monospace;
|
||||
font-size: 1rem;
|
||||
line-height: 1.54;
|
||||
color: var(--color);
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
body {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.bg {
|
||||
background: radial-gradient(at right top, #f68ef0, #74b9df);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
min-height: 100vh;
|
||||
min-height: 100dvh;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-weight: bold;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.3rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
img {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
img.left {
|
||||
margin-right: auto;
|
||||
}
|
||||
img.center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
img.right {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
figure {
|
||||
display: table;
|
||||
max-width: 100%;
|
||||
margin: 25px 0;
|
||||
}
|
||||
figure.left,
|
||||
figure img {
|
||||
margin-right: auto;
|
||||
}
|
||||
figure.center,
|
||||
figure img {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
figure.right,
|
||||
figure img {
|
||||
margin-left: auto;
|
||||
}
|
||||
figure figcaption {
|
||||
font-size: 14px;
|
||||
padding: 5px 10px;
|
||||
margin-top: 5px;
|
||||
background: var(--accent);
|
||||
color: var(--background);
|
||||
}
|
||||
figure figcaption.left {
|
||||
text-align: left;
|
||||
}
|
||||
figure figcaption.center {
|
||||
text-align: center;
|
||||
}
|
||||
figure figcaption.right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family:
|
||||
Hack,
|
||||
DejaVu Sans Mono,
|
||||
Monaco,
|
||||
Consolas,
|
||||
Ubuntu Mono,
|
||||
monospace;
|
||||
font-feature-settings: normal;
|
||||
background: var(--accent-alpha-20);
|
||||
padding: 1px 6px;
|
||||
margin: 0 2px;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-family:
|
||||
Hack,
|
||||
DejaVu Sans Mono,
|
||||
Monaco,
|
||||
Consolas,
|
||||
Ubuntu Mono,
|
||||
monospace;
|
||||
padding: 20px;
|
||||
font-size: 0.95rem;
|
||||
overflow: auto;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
background: none;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-top: 1px solid var(--accent);
|
||||
border-bottom: 1px solid var(--accent);
|
||||
margin: 40px 0;
|
||||
padding: 25px;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
blockquote {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
blockquote:before {
|
||||
content: "”";
|
||||
font-family: Georgia, serif;
|
||||
font-size: 3.875rem;
|
||||
position: absolute;
|
||||
left: -40px;
|
||||
top: -20px;
|
||||
}
|
||||
blockquote p:first-of-type {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote p:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
blockquote p {
|
||||
position: relative;
|
||||
}
|
||||
blockquote p:before {
|
||||
content: ">";
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -25px;
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
table {
|
||||
table-layout: fixed;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
margin: 40px 0;
|
||||
}
|
||||
|
||||
table,
|
||||
th,
|
||||
td {
|
||||
border: 1px dashed var(--accent);
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
th {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
margin-left: 30px;
|
||||
padding: 0;
|
||||
}
|
||||
ul li,
|
||||
ol li {
|
||||
position: relative;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
ul,
|
||||
ol {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
ol ol {
|
||||
list-style-type: lower-alpha;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding: 40px;
|
||||
max-width: 864px;
|
||||
margin: 2em auto;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.container {
|
||||
padding: 20px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
hr {
|
||||
width: 100%;
|
||||
border: none;
|
||||
background: var(--border-color);
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.posts {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.post {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
margin: 20px auto;
|
||||
padding: 20px 0;
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.post {
|
||||
max-width: 660px;
|
||||
}
|
||||
}
|
||||
.post:not(:last-of-type) {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
.post .post-meta-inline,
|
||||
.post .post-meta {
|
||||
font-size: 1rem;
|
||||
margin-bottom: 10px;
|
||||
color: var(--accent-alpha-70);
|
||||
}
|
||||
.post-meta-inline {
|
||||
display: inline;
|
||||
}
|
||||
.post-title {
|
||||
--border: 2px dashed var(--accent);
|
||||
position: relative;
|
||||
color: var(--accent);
|
||||
margin: 0 0 15px;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: var(--border);
|
||||
font-weight: normal;
|
||||
}
|
||||
.post-title a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.post .post-tags-inline,
|
||||
.post .post-tags {
|
||||
margin-bottom: 20px;
|
||||
font-size: 1rem;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.post-tags {
|
||||
display: block;
|
||||
}
|
||||
.post-tags-inline {
|
||||
display: inline;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.post-tags-inline {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.post-content {
|
||||
margin-top: 30px;
|
||||
}
|
||||
.post-cover {
|
||||
border: 20px solid var(--accent);
|
||||
background: transparent;
|
||||
margin: 40px 0;
|
||||
padding: 20px;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.post-cover {
|
||||
padding: 10px;
|
||||
border-width: 10px;
|
||||
}
|
||||
}
|
||||
.post ul {
|
||||
list-style: none;
|
||||
}
|
||||
.post ul li:before {
|
||||
content: "►";
|
||||
position: absolute;
|
||||
left: -20px;
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.post--regulation h1 {
|
||||
justify-content: center;
|
||||
}
|
||||
.post--regulation h2 {
|
||||
justify-content: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.post--regulation h2 + h2 {
|
||||
margin-top: -10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.post-list .post-date {
|
||||
color: var(--accent);
|
||||
text-decoration: none;
|
||||
}
|
||||
.post-list a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.post-list .post-list-title {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.post-list .post-tag {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
margin-top: 50px;
|
||||
}
|
||||
.pagination__title {
|
||||
display: flex;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
margin: 100px 0 20px;
|
||||
}
|
||||
.pagination__title-h {
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
padding: 5px 10px;
|
||||
background: var(--background);
|
||||
font-size: 0.8rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.1em;
|
||||
z-index: 1;
|
||||
}
|
||||
.pagination__title hr {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
margin-top: 15px;
|
||||
z-index: 0;
|
||||
}
|
||||
.pagination__buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.pagination__buttons {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
.button {
|
||||
position: relative;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 1rem;
|
||||
border-radius: 8px;
|
||||
max-width: 40%;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
appearance: none;
|
||||
}
|
||||
@media (max-width: 683px) {
|
||||
.button {
|
||||
max-width: 80%;
|
||||
}
|
||||
}
|
||||
.button + .button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.button a {
|
||||
display: flex;
|
||||
padding: 8px 16px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
.button__text {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.footer {
|
||||
flex-grow: 0;
|
||||
opacity: 0.5;
|
||||
}
|
||||
.footer__inner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin: 0;
|
||||
width: 760px;
|
||||
max-width: 100%;
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer__inner {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
.footer a {
|
||||
color: inherit;
|
||||
}
|
||||
.footer .copyright {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
font-size: 1rem;
|
||||
}
|
||||
.footer .copyright--user {
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
.footer .copyright > *:first-child:not(:only-child) {
|
||||
margin-right: 10px;
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright > *:first-child:not(:only-child) {
|
||||
border: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright {
|
||||
flex-direction: column;
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright-theme-sep {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 899px) {
|
||||
.footer .copyright-theme {
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
div.homepage {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
|
||||
grid-gap: 3em;
|
||||
}
|
1
assets/css/variables.css
Normal file
1
assets/css/variables.css
Normal file
|
@ -0,0 +1 @@
|
|||
|
|
@ -1,13 +1,18 @@
|
|||
defmodule JOL.Blog do
|
||||
<<<<<<< HEAD
|
||||
alias JOL.Blog.Post
|
||||
alias JOL.Blog.Parser
|
||||
=======
|
||||
defmodule NotFoundError do
|
||||
defexception [:message, plug_status: 404]
|
||||
end
|
||||
>>>>>>> 77c7828 (Add controllers/templates to show blog posts.)
|
||||
|
||||
use NimblePublisher,
|
||||
build: JOL.Blog.Post,
|
||||
from: Application.app_dir(:jol, "priv/posts/**/*.md"),
|
||||
parser: Parser,
|
||||
as: :posts,
|
||||
parser: JOL.Blog.Parser
|
||||
|
||||
@posts Enum.sort_by(@posts, & &1.date, {:desc, Date})
|
||||
@tags @posts |> Enum.flat_map(& &1.tags) |> Enum.uniq() |> Enum.sort()
|
||||
|
|
|
@ -1,32 +1,41 @@
|
|||
<header class="px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex items-center justify-between border-b border-zinc-100 py-3 text-sm">
|
||||
<div class="flex items-center gap-4">
|
||||
<a href="/">
|
||||
<img src={~p"/images/logo.svg"} width="36" />
|
||||
</a>
|
||||
<p class="bg-brand/5 text-brand rounded-full px-2 font-medium leading-6">
|
||||
v<%= Application.spec(:phoenix, :vsn) %>
|
||||
</p>
|
||||
<div class="bg"></div>
|
||||
<div class="container">
|
||||
|
||||
<header class="header">
|
||||
<div class="header__inner">
|
||||
<div class="header__logo">
|
||||
<a href="https://jess.canady.tech/" style="text-decoration: none;">
|
||||
<div class="logo">
|
||||
Jessica Pheonix Canady
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center gap-4 font-semibold leading-6 text-zinc-900">
|
||||
<a href="https://twitter.com/elixirphoenix" class="hover:text-zinc-700">
|
||||
@elixirphoenix
|
||||
</a>
|
||||
<a href="https://github.com/phoenixframework/phoenix" class="hover:text-zinc-700">
|
||||
GitHub
|
||||
</a>
|
||||
<a
|
||||
href="https://hexdocs.pm/phoenix/overview.html"
|
||||
class="rounded-lg bg-zinc-100 px-2 py-1 hover:bg-zinc-200/80"
|
||||
>
|
||||
Get Started <span aria-hidden="true">→</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<main class="px-4 py-20 sm:px-6 lg:px-8">
|
||||
<div class="mx-auto max-w-2xl">
|
||||
<.flash_group flash={@flash} />
|
||||
|
||||
<nav class="menu">
|
||||
<ul class="menu__inner">
|
||||
<li class="active"><a href="">home</a></li>
|
||||
<li><a href={~p"/tags/"}>tags</a></li>
|
||||
<li><a href={~p"/archive/"}>blog archive</a></li>
|
||||
<li><a href={~p"/about/"}>about</a></li>
|
||||
<li><a href={~p"/now/"}>now</a></li>
|
||||
<li><a href="https://forge.sigill.zone/phoenix/">code</a></li>
|
||||
<li><a href="https://silicorn.social/@jess/">mastodon</a></li>
|
||||
<li><a href="#">rss</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<div class="content">
|
||||
<%= @inner_content %>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner">
|
||||
<div class="copyright copyright--user">
|
||||
Built with trans dork love.
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -4,14 +4,14 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="csrf-token" content={get_csrf_token()} />
|
||||
<.live_title suffix=" · Phoenix Framework">
|
||||
<%= assigns[:page_title] || "JOL" %>
|
||||
<.live_title suffix=" · Jessica OnLine">
|
||||
<%= assigns[:page_title] || "Jess Forgot To Name This Page!" %>
|
||||
</.live_title>
|
||||
<link phx-track-static rel="stylesheet" href={~p"/assets/app.css"} />
|
||||
<script defer phx-track-static type="text/javascript" src={~p"/assets/app.js"}>
|
||||
</script>
|
||||
<script defer phx-track-static type="text/javascript" src={~p"/assets/app.js"}> </script>
|
||||
</head>
|
||||
<body class="bg-white antialiased">
|
||||
|
||||
<body class="">
|
||||
<%= @inner_content %>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,9 +1,22 @@
|
|||
defmodule JOLWeb.PageController do
|
||||
require Logger
|
||||
use JOLWeb, :controller
|
||||
|
||||
@spec home(Plug.Conn.t(), any()) :: Plug.Conn.t()
|
||||
def home(conn, _params) do
|
||||
# The home page is often custom made,
|
||||
# so skip the default app layout.
|
||||
render(conn, :home, layout: false)
|
||||
conn
|
||||
|> assign(:page_title, "Home")
|
||||
|> render(:home)
|
||||
end
|
||||
|
||||
@spec tags(Plug.Conn.t(), any()) :: Plug.Conn.t()
|
||||
def tags(conn, _params) do
|
||||
Logger.debug(JOL.Blog.posts())
|
||||
Logger.debug(JOL.Blog.unique_tag_list())
|
||||
|
||||
conn
|
||||
|> assign(:tags, JOL.Blog.unique_tag_list())
|
||||
|> assign(:page_title, "Post Tags")
|
||||
|> render(:tags)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,222 +1,13 @@
|
|||
<.flash_group flash={@flash} />
|
||||
<div class="left-[40rem] fixed inset-y-0 right-0 z-0 hidden lg:block xl:left-[50rem]">
|
||||
<svg
|
||||
viewBox="0 0 1480 957"
|
||||
fill="none"
|
||||
aria-hidden="true"
|
||||
class="absolute inset-0 h-full w-full"
|
||||
preserveAspectRatio="xMinYMid slice"
|
||||
>
|
||||
<path fill="#EE7868" d="M0 0h1480v957H0z" />
|
||||
<path
|
||||
d="M137.542 466.27c-582.851-48.41-988.806-82.127-1608.412 658.2l67.39 810 3083.15-256.51L1535.94-49.622l-98.36 8.183C1269.29 281.468 734.115 515.799 146.47 467.012l-8.928-.742Z"
|
||||
fill="#FF9F92"
|
||||
/>
|
||||
<path
|
||||
d="M371.028 528.664C-169.369 304.988-545.754 149.198-1361.45 665.565l-182.58 792.025 3014.73 694.98 389.42-1689.25-96.18-22.171C1505.28 697.438 924.153 757.586 379.305 532.09l-8.277-3.426Z"
|
||||
fill="#FA8372"
|
||||
/>
|
||||
<path
|
||||
d="M359.326 571.714C-104.765 215.795-428.003-32.102-1349.55 255.554l-282.3 1224.596 3047.04 722.01 312.24-1354.467C1411.25 1028.3 834.355 935.995 366.435 577.166l-7.109-5.452Z"
|
||||
fill="#E96856"
|
||||
fill-opacity=".6"
|
||||
/>
|
||||
<path
|
||||
d="M1593.87 1236.88c-352.15 92.63-885.498-145.85-1244.602-613.557l-5.455-7.105C-12.347 152.31-260.41-170.8-1225-131.458l-368.63 1599.048 3057.19 704.76 130.31-935.47Z"
|
||||
fill="#C42652"
|
||||
fill-opacity=".2"
|
||||
/>
|
||||
<path
|
||||
d="M1411.91 1526.93c-363.79 15.71-834.312-330.6-1085.883-863.909l-3.822-8.102C72.704 125.95-101.074-242.476-1052.01-408.907l-699.85 1484.267 2837.75 1338.01 326.02-886.44Z"
|
||||
fill="#A41C42"
|
||||
fill-opacity=".2"
|
||||
/>
|
||||
<path
|
||||
d="M1116.26 1863.69c-355.457-78.98-720.318-535.27-825.287-1115.521l-1.594-8.816C185.286 163.833 112.786-237.016-762.678-643.898L-1822.83 608.665 571.922 2635.55l544.338-771.86Z"
|
||||
fill="#A41C42"
|
||||
fill-opacity=".2"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="px-4 py-10 sm:px-6 sm:py-28 lg:px-8 xl:px-28 xl:py-32">
|
||||
<div class="mx-auto max-w-xl lg:mx-0">
|
||||
<svg viewBox="0 0 71 48" class="h-12" aria-hidden="true">
|
||||
<path
|
||||
d="m26.371 33.477-.552-.1c-3.92-.729-6.397-3.1-7.57-6.829-.733-2.324.597-4.035 3.035-4.148 1.995-.092 3.362 1.055 4.57 2.39 1.557 1.72 2.984 3.558 4.514 5.305 2.202 2.515 4.797 4.134 8.347 3.634 3.183-.448 5.958-1.725 8.371-3.828.363-.316.761-.592 1.144-.886l-.241-.284c-2.027.63-4.093.841-6.205.735-3.195-.16-6.24-.828-8.964-2.582-2.486-1.601-4.319-3.746-5.19-6.611-.704-2.315.736-3.934 3.135-3.6.948.133 1.746.56 2.463 1.165.583.493 1.143 1.015 1.738 1.493 2.8 2.25 6.712 2.375 10.265-.068-5.842-.026-9.817-3.24-13.308-7.313-1.366-1.594-2.7-3.216-4.095-4.785-2.698-3.036-5.692-5.71-9.79-6.623C12.8-.623 7.745.14 2.893 2.361 1.926 2.804.997 3.319 0 4.149c.494 0 .763.006 1.032 0 2.446-.064 4.28 1.023 5.602 3.024.962 1.457 1.415 3.104 1.761 4.798.513 2.515.247 5.078.544 7.605.761 6.494 4.08 11.026 10.26 13.346 2.267.852 4.591 1.135 7.172.555ZM10.751 3.852c-.976.246-1.756-.148-2.56-.962 1.377-.343 2.592-.476 3.897-.528-.107.848-.607 1.306-1.336 1.49Zm32.002 37.924c-.085-.626-.62-.901-1.04-1.228-1.857-1.446-4.03-1.958-6.333-2-1.375-.026-2.735-.128-4.031-.61-.595-.22-1.26-.505-1.244-1.272.015-.78.693-1 1.31-1.184.505-.15 1.026-.247 1.6-.382-1.46-.936-2.886-1.065-4.787-.3-2.993 1.202-5.943 1.06-8.926-.017-1.684-.608-3.179-1.563-4.735-2.408l-.043.03a2.96 2.96 0 0 0 .04-.029c-.038-.117-.107-.12-.197-.054l.122.107c1.29 2.115 3.034 3.817 5.004 5.271 3.793 2.8 7.936 4.471 12.784 3.73A66.714 66.714 0 0 1 37 40.877c1.98-.16 3.866.398 5.753.899Zm-9.14-30.345c-.105-.076-.206-.266-.42-.069 1.745 2.36 3.985 4.098 6.683 5.193 4.354 1.767 8.773 2.07 13.293.51 3.51-1.21 6.033-.028 7.343 3.38.19-3.955-2.137-6.837-5.843-7.401-2.084-.318-4.01.373-5.962.94-5.434 1.575-10.485.798-15.094-2.553Zm27.085 15.425c.708.059 1.416.123 2.124.185-1.6-1.405-3.55-1.517-5.523-1.404-3.003.17-5.167 1.903-7.14 3.972-1.739 1.824-3.31 3.87-5.903 4.604.043.078.054.117.066.117.35.005.699.021 1.047.005 3.768-.17 7.317-.965 10.14-3.7.89-.86 1.685-1.817 2.544-2.71.716-.746 1.584-1.159 2.645-1.07Zm-8.753-4.67c-2.812.246-5.254 1.409-7.548 2.943-1.766 1.18-3.654 1.738-5.776 1.37-.374-.066-.75-.114-1.124-.17l-.013.156c.135.07.265.151.405.207.354.14.702.308 1.07.395 4.083.971 7.992.474 11.516-1.803 2.221-1.435 4.521-1.707 7.013-1.336.252.038.503.083.756.107.234.022.479.255.795.003-2.179-1.574-4.526-2.096-7.094-1.872Zm-10.049-9.544c1.475.051 2.943-.142 4.486-1.059-.452.04-.643.04-.827.076-2.126.424-4.033-.04-5.733-1.383-.623-.493-1.257-.974-1.889-1.457-2.503-1.914-5.374-2.555-8.514-2.5.05.154.054.26.108.315 3.417 3.455 7.371 5.836 12.369 6.008Zm24.727 17.731c-2.114-2.097-4.952-2.367-7.578-.537 1.738.078 3.043.632 4.101 1.728.374.388.763.768 1.182 1.106 1.6 1.29 4.311 1.352 5.896.155-1.861-.726-1.861-.726-3.601-2.452Zm-21.058 16.06c-1.858-3.46-4.981-4.24-8.59-4.008a9.667 9.667 0 0 1 2.977 1.39c.84.586 1.547 1.311 2.243 2.055 1.38 1.473 3.534 2.376 4.962 2.07-.656-.412-1.238-.848-1.592-1.507Zm17.29-19.32c0-.023.001-.045.003-.068l-.006.006.006-.006-.036-.004.021.018.012.053Zm-20 14.744a7.61 7.61 0 0 0-.072-.041.127.127 0 0 0 .015.043c.005.008.038 0 .058-.002Zm-.072-.041-.008-.034-.008.01.008-.01-.022-.006.005.026.024.014Z"
|
||||
fill="#FD4F00"
|
||||
/>
|
||||
</svg>
|
||||
<h1 class="text-brand mt-10 flex items-center text-sm font-semibold leading-6">
|
||||
Phoenix Framework
|
||||
<small class="bg-brand/5 text-[0.8125rem] ml-3 rounded-full px-2 font-medium leading-6">
|
||||
v<%= Application.spec(:phoenix, :vsn) %>
|
||||
</small>
|
||||
</h1>
|
||||
<p class="text-[2rem] mt-4 font-semibold leading-10 tracking-tighter text-zinc-900 text-balance">
|
||||
Peace of mind from prototype to production.
|
||||
</p>
|
||||
<p class="mt-4 text-base leading-7 text-zinc-600">
|
||||
Build rich, interactive web applications quickly, with less code and fewer moving parts. Join our growing community of developers using Phoenix to craft APIs, HTML5 apps and more, for fun or at scale.
|
||||
</p>
|
||||
<div class="flex">
|
||||
<div class="w-full sm:w-auto">
|
||||
<div class="mt-10 grid grid-cols-1 gap-x-6 gap-y-4 sm:grid-cols-3">
|
||||
<a
|
||||
href="https://hexdocs.pm/phoenix/overview.html"
|
||||
class="group relative rounded-2xl px-6 py-4 text-sm font-semibold leading-6 text-zinc-900 sm:py-6"
|
||||
>
|
||||
<span class="absolute inset-0 rounded-2xl bg-zinc-50 transition group-hover:bg-zinc-100 sm:group-hover:scale-105">
|
||||
</span>
|
||||
<span class="relative flex items-center gap-4 sm:flex-col">
|
||||
<svg viewBox="0 0 24 24" fill="none" aria-hidden="true" class="h-6 w-6">
|
||||
<path d="m12 4 10-2v18l-10 2V4Z" fill="#18181B" fill-opacity=".15" />
|
||||
<path
|
||||
d="M12 4 2 2v18l10 2m0-18v18m0-18 10-2v18l-10 2"
|
||||
stroke="#18181B"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
/>
|
||||
</svg>
|
||||
Guides & Docs
|
||||
</span>
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/phoenixframework/phoenix"
|
||||
class="group relative rounded-2xl px-6 py-4 text-sm font-semibold leading-6 text-zinc-900 sm:py-6"
|
||||
>
|
||||
<span class="absolute inset-0 rounded-2xl bg-zinc-50 transition group-hover:bg-zinc-100 sm:group-hover:scale-105">
|
||||
</span>
|
||||
<span class="relative flex items-center gap-4 sm:flex-col">
|
||||
<svg viewBox="0 0 24 24" aria-hidden="true" class="h-6 w-6">
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M12 0C5.37 0 0 5.506 0 12.303c0 5.445 3.435 10.043 8.205 11.674.6.107.825-.262.825-.585 0-.292-.015-1.261-.015-2.291C6 21.67 5.22 20.346 4.98 19.654c-.135-.354-.72-1.446-1.23-1.738-.42-.23-1.02-.8-.015-.815.945-.015 1.62.892 1.845 1.261 1.08 1.86 2.805 1.338 3.495 1.015.105-.8.42-1.338.765-1.645-2.67-.308-5.46-1.37-5.46-6.075 0-1.338.465-2.446 1.23-3.307-.12-.308-.54-1.569.12-3.26 0 0 1.005-.323 3.3 1.26.96-.276 1.98-.415 3-.415s2.04.139 3 .416c2.295-1.6 3.3-1.261 3.3-1.261.66 1.691.24 2.952.12 3.26.765.861 1.23 1.953 1.23 3.307 0 4.721-2.805 5.767-5.475 6.075.435.384.81 1.122.81 2.276 0 1.645-.015 2.968-.015 3.383 0 .323.225.707.825.585a12.047 12.047 0 0 0 5.919-4.489A12.536 12.536 0 0 0 24 12.304C24 5.505 18.63 0 12 0Z"
|
||||
fill="#18181B"
|
||||
/>
|
||||
</svg>
|
||||
Source Code
|
||||
</span>
|
||||
</a>
|
||||
<a
|
||||
href={"https://github.com/phoenixframework/phoenix/blob/v#{Application.spec(:phoenix, :vsn)}/CHANGELOG.md"}
|
||||
class="group relative rounded-2xl px-6 py-4 text-sm font-semibold leading-6 text-zinc-900 sm:py-6"
|
||||
>
|
||||
<span class="absolute inset-0 rounded-2xl bg-zinc-50 transition group-hover:bg-zinc-100 sm:group-hover:scale-105">
|
||||
</span>
|
||||
<span class="relative flex items-center gap-4 sm:flex-col">
|
||||
<svg viewBox="0 0 24 24" fill="none" aria-hidden="true" class="h-6 w-6">
|
||||
<path
|
||||
d="M12 1v6M12 17v6"
|
||||
stroke="#18181B"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
/>
|
||||
<circle
|
||||
cx="12"
|
||||
cy="12"
|
||||
r="4"
|
||||
fill="#18181B"
|
||||
fill-opacity=".15"
|
||||
stroke="#18181B"
|
||||
stroke-width="2"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
/>
|
||||
</svg>
|
||||
Changelog
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="mt-10 grid grid-cols-1 gap-y-4 text-sm leading-6 text-zinc-700 sm:grid-cols-2">
|
||||
<div>
|
||||
<a
|
||||
href="https://twitter.com/elixirphoenix"
|
||||
class="group -mx-2 -my-0.5 inline-flex items-center gap-3 rounded-lg px-2 py-0.5 hover:bg-zinc-50 hover:text-zinc-900"
|
||||
>
|
||||
<svg
|
||||
viewBox="0 0 16 16"
|
||||
aria-hidden="true"
|
||||
class="h-4 w-4 fill-zinc-400 group-hover:fill-zinc-600"
|
||||
>
|
||||
<path d="M5.403 14c5.283 0 8.172-4.617 8.172-8.62 0-.131 0-.262-.008-.391A6.033 6.033 0 0 0 15 3.419a5.503 5.503 0 0 1-1.65.477 3.018 3.018 0 0 0 1.263-1.676 5.579 5.579 0 0 1-1.824.736 2.832 2.832 0 0 0-1.63-.916 2.746 2.746 0 0 0-1.821.319A2.973 2.973 0 0 0 8.076 3.78a3.185 3.185 0 0 0-.182 1.938 7.826 7.826 0 0 1-3.279-.918 8.253 8.253 0 0 1-2.64-2.247 3.176 3.176 0 0 0-.315 2.208 3.037 3.037 0 0 0 1.203 1.836A2.739 2.739 0 0 1 1.56 6.22v.038c0 .7.23 1.377.65 1.919.42.54 1.004.912 1.654 1.05-.423.122-.866.14-1.297.052.184.602.541 1.129 1.022 1.506a2.78 2.78 0 0 0 1.662.598 5.656 5.656 0 0 1-2.007 1.074A5.475 5.475 0 0 1 1 12.64a7.827 7.827 0 0 0 4.403 1.358" />
|
||||
</svg>
|
||||
Follow on Twitter
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<a
|
||||
href="https://elixirforum.com"
|
||||
class="group -mx-2 -my-0.5 inline-flex items-center gap-3 rounded-lg px-2 py-0.5 hover:bg-zinc-50 hover:text-zinc-900"
|
||||
>
|
||||
<svg
|
||||
viewBox="0 0 16 16"
|
||||
aria-hidden="true"
|
||||
class="h-4 w-4 fill-zinc-400 group-hover:fill-zinc-600"
|
||||
>
|
||||
<path d="M8 13.833c3.866 0 7-2.873 7-6.416C15 3.873 11.866 1 8 1S1 3.873 1 7.417c0 1.081.292 2.1.808 2.995.606 1.05.806 2.399.086 3.375l-.208.283c-.285.386-.01.905.465.85.852-.098 2.048-.318 3.137-.81a3.717 3.717 0 0 1 1.91-.318c.263.027.53.041.802.041Z" />
|
||||
</svg>
|
||||
Discuss on the Elixir Forum
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<a
|
||||
href="https://web.libera.chat/#elixir"
|
||||
class="group -mx-2 -my-0.5 inline-flex items-center gap-3 rounded-lg px-2 py-0.5 hover:bg-zinc-50 hover:text-zinc-900"
|
||||
>
|
||||
<svg
|
||||
viewBox="0 0 16 16"
|
||||
aria-hidden="true"
|
||||
class="h-4 w-4 fill-zinc-400 group-hover:fill-zinc-600"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M6.356 2.007a.75.75 0 0 1 .637.849l-1.5 10.5a.75.75 0 1 1-1.485-.212l1.5-10.5a.75.75 0 0 1 .848-.637ZM11.356 2.008a.75.75 0 0 1 .637.848l-1.5 10.5a.75.75 0 0 1-1.485-.212l1.5-10.5a.75.75 0 0 1 .848-.636Z"
|
||||
/>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M14 5.25a.75.75 0 0 1-.75.75h-9.5a.75.75 0 0 1 0-1.5h9.5a.75.75 0 0 1 .75.75ZM13 10.75a.75.75 0 0 1-.75.75h-9.5a.75.75 0 0 1 0-1.5h9.5a.75.75 0 0 1 .75.75Z"
|
||||
/>
|
||||
</svg>
|
||||
Chat on Libera IRC
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<a
|
||||
href="https://discord.gg/elixir"
|
||||
class="group -mx-2 -my-0.5 inline-flex items-center gap-3 rounded-lg px-2 py-0.5 hover:bg-zinc-50 hover:text-zinc-900"
|
||||
>
|
||||
<svg
|
||||
viewBox="0 0 16 16"
|
||||
aria-hidden="true"
|
||||
class="h-4 w-4 fill-zinc-400 group-hover:fill-zinc-600"
|
||||
>
|
||||
<path d="M13.545 2.995c-1.02-.46-2.114-.8-3.257-.994a.05.05 0 0 0-.052.024c-.141.246-.297.567-.406.82a12.377 12.377 0 0 0-3.658 0 8.238 8.238 0 0 0-.412-.82.052.052 0 0 0-.052-.024 13.315 13.315 0 0 0-3.257.994.046.046 0 0 0-.021.018C.356 6.063-.213 9.036.066 11.973c.001.015.01.029.02.038a13.353 13.353 0 0 0 3.996 1.987.052.052 0 0 0 .056-.018c.308-.414.582-.85.818-1.309a.05.05 0 0 0-.028-.069 8.808 8.808 0 0 1-1.248-.585.05.05 0 0 1-.005-.084c.084-.062.168-.126.248-.191a.05.05 0 0 1 .051-.007c2.619 1.176 5.454 1.176 8.041 0a.05.05 0 0 1 .053.006c.08.065.164.13.248.192a.05.05 0 0 1-.004.084c-.399.23-.813.423-1.249.585a.05.05 0 0 0-.027.07c.24.457.514.893.817 1.307a.051.051 0 0 0 .056.019 13.31 13.31 0 0 0 4.001-1.987.05.05 0 0 0 .021-.037c.334-3.396-.559-6.345-2.365-8.96a.04.04 0 0 0-.021-.02Zm-8.198 7.19c-.789 0-1.438-.712-1.438-1.587 0-.874.637-1.586 1.438-1.586.807 0 1.45.718 1.438 1.586 0 .875-.637 1.587-1.438 1.587Zm5.316 0c-.788 0-1.438-.712-1.438-1.587 0-.874.637-1.586 1.438-1.586.807 0 1.45.718 1.438 1.586 0 .875-.63 1.587-1.438 1.587Z" />
|
||||
</svg>
|
||||
Join our Discord server
|
||||
</a>
|
||||
</div>
|
||||
<div>
|
||||
<a
|
||||
href="https://fly.io/docs/elixir/getting-started/"
|
||||
class="group -mx-2 -my-0.5 inline-flex items-center gap-3 rounded-lg px-2 py-0.5 hover:bg-zinc-50 hover:text-zinc-900"
|
||||
>
|
||||
<svg
|
||||
viewBox="0 0 20 20"
|
||||
aria-hidden="true"
|
||||
class="h-4 w-4 fill-zinc-400 group-hover:fill-zinc-600"
|
||||
>
|
||||
<path d="M1 12.5A4.5 4.5 0 005.5 17H15a4 4 0 001.866-7.539 3.504 3.504 0 00-4.504-4.272A4.5 4.5 0 004.06 8.235 4.502 4.502 0 001 12.5z" />
|
||||
</svg>
|
||||
Deploy your application
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="homepage">
|
||||
<div>
|
||||
<h1>It's Jessica!</h1>
|
||||
|
||||
<p>I build stuff on the internet! I used to make a lot more stuff, but I burnt out pretty hard building startups and consulting too hard. I'm getting back into just doing <strong>fun</strong> stuff, y'know?</p>
|
||||
<p>I'm also into poking synthesizers until they make music, but actually <strong>recording</strong> any of this is a new thing for me, so I'm figuring that out.</p>
|
||||
<p>Besides that, I'm a parent to two amazing boys, a wife to a beautiful wife, and I occasionally play poker.</p>
|
||||
<p>I write here about those things, about general tech dorkery, and about my experience with being <strong>super</strong> trans and learning who I am.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue