MEGACOMMIT: Ton of blog and layout work.
Mostly reimplementing the old Zola theme.
This commit is contained in:
parent
4ad4d44cac
commit
1bf44f3344
|
@ -1,161 +1,2 @@
|
|||
@layer reset theme,layout;
|
||||
|
||||
@font-face {
|
||||
font-family: "BerkeleyMono";
|
||||
src: url("/fonts/BerkeleyMonoVariable-Regular.woff2") format("woff2");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "BerkeleyMonoItalic";
|
||||
src: url("/fonts/BerkeleyMonoVariable-Italic.woff2") format("woff2");
|
||||
}
|
||||
|
||||
@layer reset {
|
||||
/*
|
||||
1. Use a more-intuitive box-sizing model.
|
||||
*/
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
/*
|
||||
2. Remove default margin
|
||||
*/
|
||||
* {
|
||||
margin: 0;
|
||||
}
|
||||
/*
|
||||
Typographic tweaks!
|
||||
3. Add accessible line-height
|
||||
4. Improve text rendering
|
||||
*/
|
||||
body {
|
||||
line-height: 1.5;
|
||||
}
|
||||
/*
|
||||
5. Improve media defaults
|
||||
*/
|
||||
img,
|
||||
picture,
|
||||
video,
|
||||
canvas,
|
||||
svg {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
/*
|
||||
6. Remove built-in form typography styles
|
||||
*/
|
||||
input,
|
||||
button,
|
||||
textarea,
|
||||
select {
|
||||
font: inherit;
|
||||
}
|
||||
/*
|
||||
7. Avoid text overflows
|
||||
*/
|
||||
p,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
@layer theme {
|
||||
:root {
|
||||
--header-font: BerkeleyMono;
|
||||
--body-font: BerkeleyMono;
|
||||
--main-accent-color: #ff0095;
|
||||
--main-background-color: #001626;
|
||||
--main-text-color: #ffffff;
|
||||
|
||||
--default-grid-gap: 0vmax;
|
||||
}
|
||||
}
|
||||
|
||||
@layout layout {
|
||||
}
|
||||
|
||||
body {
|
||||
color: var(--main-text-color);
|
||||
background: var(--main-background-color);
|
||||
font-family: var(--header-font);
|
||||
margin: 1rem;
|
||||
}
|
||||
|
||||
main {
|
||||
display: grid;
|
||||
gap: var(--default-grid-gap);
|
||||
grid-template-areas:
|
||||
"header"
|
||||
"sidebar"
|
||||
"content"
|
||||
"sidebar2"
|
||||
"footer";
|
||||
overflow: hidden;
|
||||
height: 90vh;
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 600px) {
|
||||
body {
|
||||
margin: 1rem;
|
||||
}
|
||||
|
||||
main {
|
||||
grid-template-columns: 1fr 4fr;
|
||||
grid-template-areas:
|
||||
"header header"
|
||||
"sidebar content"
|
||||
"sidebar2 sidebar2"
|
||||
"footer footer";
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1100px) {
|
||||
body {
|
||||
margin: 1rem 5rem;
|
||||
}
|
||||
|
||||
main {
|
||||
grid-template-columns: min-content 3fr min-content;
|
||||
grid-template-areas:
|
||||
"header header header"
|
||||
"sidebar content sidebar2"
|
||||
"footer footer footer";
|
||||
}
|
||||
}
|
||||
|
||||
header {
|
||||
grid-area: header;
|
||||
color: var(--main-accent-color);
|
||||
}
|
||||
|
||||
div#sidebar {
|
||||
grid-area: sidebar;
|
||||
}
|
||||
|
||||
div#sidebar2 {
|
||||
grid-area: sidebar2;
|
||||
}
|
||||
|
||||
div#content {
|
||||
grid-area: content;
|
||||
padding: 0 1em;
|
||||
}
|
||||
|
||||
footer {
|
||||
grid-area: footer;
|
||||
}
|
||||
|
||||
.gridbox {
|
||||
}
|
||||
@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,9 +1,11 @@
|
|||
defmodule JOL.Blog do
|
||||
alias JOL.Blog.Post
|
||||
alias JOL.Blog.Parser
|
||||
|
||||
use NimblePublisher,
|
||||
build: Post,
|
||||
from: Application.app_dir(:jol, "priv/posts/**/*.md"),
|
||||
parser: Parser,
|
||||
as: :posts
|
||||
|
||||
@posts Enum.sort_by(@posts, & &1.date, {:desc, Date})
|
||||
|
|
8
lib/jol/blog/post.ex
Normal file
8
lib/jol/blog/post.ex
Normal file
|
@ -0,0 +1,8 @@
|
|||
defmodule JOL.Blog.Post do
|
||||
@enforce_keys [:title, :body, :draft, :date, :tags]
|
||||
defstruct [:title, :body, :draft, :date, :tags]
|
||||
|
||||
def build(_filename, attrs, body) do
|
||||
struct!(__MODULE__, [body: body] ++ Map.to_list(attrs))
|
||||
end
|
||||
end
|
|
@ -1,11 +1,41 @@
|
|||
<main>
|
||||
<header class="gridbox">
|
||||
<h1>Jessica Phoenix Canady</h1>
|
||||
<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>
|
||||
|
||||
<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 id="content" class="gridbox">
|
||||
|
||||
<div class="content">
|
||||
<%= @inner_content %>
|
||||
</div>
|
||||
<footer class="gridbox">
|
||||
<p>YOU MADE IT!</p>
|
||||
|
||||
<footer class="footer">
|
||||
<div class="footer__inner">
|
||||
<div class="copyright copyright--user">
|
||||
Built with trans dork love.
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</main>
|
||||
</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=" · Jessica Phoenix Canady">
|
||||
<%= assigns[:page_title] || "Jessica Online Untitled Page" %>
|
||||
<.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
|
||||
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
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue