diff --git a/assets/scss/_colors.scss b/assets/scss/_colors.scss new file mode 100644 index 0000000..8885408 --- /dev/null +++ b/assets/scss/_colors.scss @@ -0,0 +1,44 @@ +@import "_variables"; +:root { + --main-accent-color: #3ded92; + --warning-color: #fdae37; +} +@media (prefers-color-scheme: light) { + :root { + --main-bg-color: white; + --main-fg-color: #222; + } +} +@media (prefers-color-scheme: dark) { + :root { + --main-bg-color: #111; + --main-fg-color: #eee; + } +} + +html { + background-color: var(--main-bg-color); + color: var(--main-fg-color); +} + +a { + color: var(--main-fg-color); + text-decoration-color: var(--main-accent-color); +} + + +header #arrows { + fill: var(--main-accent-color); +} + +header #text { + fill: var(--main-fg-color); +} + +.note { + border-left: .15rem solid var(--main-accent-color); +} + +.warning { + border-left: .15rem solid var(--warning-color); +} diff --git a/assets/scss/_fonts.css b/assets/scss/_fonts.css new file mode 100644 index 0000000..835d51b --- /dev/null +++ b/assets/scss/_fonts.css @@ -0,0 +1,636 @@ + +@font-face { + font-family: 'Barlow'; + font-weight: 400; + src: url('../fonts/woff2/Barlow-Regular.woff2') format("woff2"); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-thin.ttf') format('truetype'), url('../fonts/woff2/iosevka-thin.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 100; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extendedthin.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedthin.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-thinoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-thinoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-thinoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-thinoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 100; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedthinoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedthinoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 100; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedthinoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedthinoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-thinitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-thinitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 100; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendedthinitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedthinitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-extralight.ttf') format('truetype'), url('../fonts/woff2/iosevka-extralight.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 200; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extendedextralight.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedextralight.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extralightoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extralightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-extralightoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extralightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 200; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedextralightoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedextralightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 200; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedextralightoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedextralightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-extralightitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extralightitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 200; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendedextralightitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedextralightitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-light.ttf') format('truetype'), url('../fonts/woff2/iosevka-light.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 300; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extendedlight.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedlight.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-lightoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-lightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-lightoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-lightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 300; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedlightoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedlightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 300; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedlightoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedlightoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-lightitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-lightitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 300; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendedlightitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedlightitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-regular.ttf') format('truetype'), url('../fonts/woff2/iosevka-regular.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 400; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extended.ttf') format('truetype'), url('../fonts/woff2/iosevka-extended.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-oblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-oblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-oblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-oblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 400; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 400; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-italic.ttf') format('truetype'), url('../fonts/woff2/iosevka-italic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 400; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendeditalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendeditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-medium.ttf') format('truetype'), url('../fonts/woff2/iosevka-medium.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 500; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extendedmedium.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedmedium.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-mediumoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-mediumoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-mediumoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-mediumoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 500; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedmediumoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedmediumoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 500; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedmediumoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedmediumoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-mediumitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-mediumitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 500; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendedmediumitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedmediumitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-semibold.ttf') format('truetype'), url('../fonts/woff2/iosevka-semibold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 600; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extendedsemibold.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedsemibold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-semiboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-semiboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-semiboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-semiboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 600; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedsemiboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedsemiboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 600; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedsemiboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedsemiboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-semibolditalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-semibolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 600; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendedsemibolditalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedsemibolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-bold.ttf') format('truetype'), url('../fonts/woff2/iosevka-bold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 700; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extendedbold.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedbold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-boldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-boldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-boldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-boldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 700; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 700; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-bolditalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-bolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 700; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendedbolditalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedbolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-extrabold.ttf') format('truetype'), url('../fonts/woff2/iosevka-extrabold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 800; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extendedextrabold.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedextrabold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extraboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extraboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-extraboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extraboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 800; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedextraboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedextraboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 800; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedextraboldoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedextraboldoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-extrabolditalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extrabolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 800; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendedextrabolditalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedextrabolditalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: normal; + src: url('../fonts/ttf/iosevka-heavy.ttf') format('truetype'), url('../fonts/woff2/iosevka-heavy.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 900; + font-stretch: expanded; + font-style: normal; + src: url('../fonts/ttf/iosevka-extendedheavy.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedheavy.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: oblique; + src: url('../fonts/ttf/iosevka-heavyoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-heavyoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + src: url('../fonts/ttf/iosevka-heavyoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-heavyoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 900; + font-stretch: expanded; + font-style: oblique; + src: url('../fonts/ttf/iosevka-extendedheavyoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedheavyoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Oblique'; + font-display: swap; + font-weight: 900; + font-stretch: expanded; + src: url('../fonts/ttf/iosevka-extendedheavyoblique.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedheavyoblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: italic; + src: url('../fonts/ttf/iosevka-heavyitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-heavyitalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka'; + font-display: swap; + font-weight: 900; + font-stretch: expanded; + font-style: italic; + src: url('../fonts/ttf/iosevka-extendedheavyitalic.ttf') format('truetype'), url('../fonts/woff2/iosevka-extendedheavyitalic.woff2') format('woff2'); +} diff --git a/assets/scss/_header.scss b/assets/scss/_header.scss new file mode 100644 index 0000000..e69de29 diff --git a/assets/scss/_layout.scss b/assets/scss/_layout.scss new file mode 100644 index 0000000..cd22165 --- /dev/null +++ b/assets/scss/_layout.scss @@ -0,0 +1,39 @@ +.container { + display: grid; + grid-template-areas: + 'header header' + 'nav main' + 'footer footer'; + max-width: 60em; + min-width: 50em; + margin: auto; +} + +.container > header { + grid-area: header; + margin-top: 3em; + margin-bottom: 1em; +} + +.container > nav { + grid-area: nav; + width: 16em; +} + +.container > main { + grid-area: main; + max-width: 44em; + min-width: 34em; +} + +.container > footer { + grid-area: footer; + margin-top: 2em; + margin-bottom: 3em; +} + +main img { + max-width: 100%; + margin-top: 2em; + margin-bottom: 3em; +} \ No newline at end of file diff --git a/assets/scss/_nav.scss b/assets/scss/_nav.scss new file mode 100644 index 0000000..57b5d1d --- /dev/null +++ b/assets/scss/_nav.scss @@ -0,0 +1,7 @@ +nav > ul > li, nav > ul > li > ul > li { + list-style: none; +} + +nav ul { + padding-left: 1em; +} \ No newline at end of file diff --git a/assets/scss/_typography.scss b/assets/scss/_typography.scss new file mode 100644 index 0000000..0da9ed6 --- /dev/null +++ b/assets/scss/_typography.scss @@ -0,0 +1,76 @@ + +.container > nav { + font-family: $heading_font_family; +} + +h1, h2, h3, h4, h5, h6 { + font-family: $heading_font_family; + font-weight: 500; + margin-bottom: 1.5em; +} + +body { + font-family: $main_font_family; + font-size: 13pt; + line-height: 1.45em; +} + +h1 { + font-size: 1.4em; +} + +h2 { + font-size: 1.3em; +} + +h3 { + font-size: 1.2em; +} + +h4 { + font-size: 1.2em; +} + +h5 { + font-size: 1.15em; +} + +h6 { + font-size: 1.1em; +} + + + +p { + text-indent: 1em; +} + +a { + letter-spacing: normal; + transition: text-decoration-thickness .1s; + text-underline-offset: 0.2rem; + text-decoration-thickness: 0.15rem; +} + +a:hover { + text-decoration-thickness: 0.3rem; +} + +dt { + font-weight: 500; +} + +code, pre { + font-family: $mono_font_family; + font-size: 13pt; + line-height: 1.45em; +} +.admonition { + padding: .5em 0 .5em 0; +} +.admonition p { + line-height: 1rem; +} +.admonition-title { + font-weight: 500; +} \ No newline at end of file diff --git a/assets/scss/_variables.scss b/assets/scss/_variables.scss new file mode 100644 index 0000000..c254fe6 --- /dev/null +++ b/assets/scss/_variables.scss @@ -0,0 +1,4 @@ +$main_font_family: "Iosevka"; +$mono_font_family: "Iosevka"; +$heading_font_family: "Barlow"; +$accent_color: "#3ded92"; \ No newline at end of file diff --git a/assets/scss/main.scss b/assets/scss/main.scss new file mode 100644 index 0000000..feae96a --- /dev/null +++ b/assets/scss/main.scss @@ -0,0 +1,8 @@ +@import "_variables"; +@import "_fonts"; +@import "_typography"; +@import "_layout"; +@import "_colors"; + +@import "_header"; +@import "_nav"; diff --git a/assets/scss/normalize.scss b/assets/scss/normalize.scss new file mode 100644 index 0000000..192eb9c --- /dev/null +++ b/assets/scss/normalize.scss @@ -0,0 +1,349 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/chaoswest.tv.lektorproject b/chaoswest.tv.lektorproject index 6bb07c5..1f54c25 100644 --- a/chaoswest.tv.lektorproject +++ b/chaoswest.tv.lektorproject @@ -2,7 +2,7 @@ name = chaoswest.tv url = https://m2.xn--see-br-0xa.se/ # url = https://chaoswest.tv/ -url_style = absolute +url_style = relative excluded_assets = *.scss upscale = false output_path = temp/builds/chaoswest.tv/ diff --git a/configs/pythonmarkdown.ini b/configs/pythonmarkdown.ini new file mode 100644 index 0000000..20bfad7 --- /dev/null +++ b/configs/pythonmarkdown.ini @@ -0,0 +1,35 @@ + + +[markdown] +# Define the configuration of python-markdown. +# Reference: https://python-markdown.github.io/reference/#markdown + +#output_format = xhtml1 +#tab_length = 4 +#safe_mode = False +#enable_attributes = True +#smart_emphasis = True +#lazy_ol = True + +[extensions] +# List extensions to be enabled. +markdown.extensions.extra = 1 +markdown.extensions.admonition = 1 +markdown.extensions.codehilite = 1 +markdown.extensions.meta = 1 +markdown.extensions.nl2br = 1 +markdown.extensions.sane_lists = 1 +markdown.extensions.smarty = 1 +markdown.extensions.toc = 1 +markdown.extensions.wikilinks = 1 + +[markdown.extensions.codehilite] +# Specific configuration for an extension. +# Reference: https://python-markdown.github.io/extensions/code_hilite/#usage +linenums = True +#guess_lang = True +#css_class = codehilite +#pygments_style = default +#noclasses = False +#use_pygments = True + diff --git a/content/contents.lr b/content/contents.lr index 117f12d..2c49cba 100644 --- a/content/contents.lr +++ b/content/contents.lr @@ -4,9 +4,11 @@ _model: page --- body: -Hey wir sind Chaos-West TV. Ein haufen Nerds aus -dem [Chaos-West](https://chaoswest.de/wiki/) Umfeld, die sich mit Veranstalt- -ungstechnik, Streaming, Video, Audio und was sonst noch so dazu gehört beschäftigen. Dabei versuchen wir mit Hilfe dieser Technik verschiedensten Entitäten die Möglichkeit zu bieten, ihren Ideen, Themen und kreative Projekte in dieses Internet zu Streamen. Und so die Welt mit dem Wissen über spannende Projekte, kreativen Hacks, auserordentliche Beobachtungen oder interessante Themen zu bereichern. +# Hey, wir sind Chaos-West TV + +Ein haufen Nerds aus dem [Chaos-West](https://chaos-west.de/) Umfeld, die sich mit Veranstaltungstechnik, Streaming, Video, Audio und was sonst noch so dazu gehört beschäftigen. + + Dabei versuchen wir mit Hilfe dieser Technik verschiedensten Entitäten die Möglichkeit zu bieten, ihren Ideen, Themen und kreative Projekte in dieses Internet zu Streamen. Und so die Welt mit dem Wissen über spannende Projekte, kreativen Hacks, auserordentliche Beobachtungen oder interessante Themen zu bereichern. @@ -19,4 +21,4 @@ Der Fokus unser Arbeit liegt dabei darauf, die technischen Möglichkeiten zu erg Hast ein Projekt, ein Thema oder auch eine komplette Veranstaltung die du mit der Welt teilen Willst? Sprich uns einfach an! -> ``Kontaktseite Talk oder Veranstaltung Streamen`` -Klingt das spannend für dich und du hast Lust dich auch in Veranstaltungstechnik, Video, Audio, Licht oder eins der vielen anderen Themen rein zu nerden? Dann mach doch bei uns mit! Wir suchen immer motivierte Wesen die an solchen Themen spaß haben! Sprich uns an oder komme auf einer präsenzveranstaltung bei uns vorbei! -> ``Kontaktseite mitmachen`` +Klingt das spannend für dich und du hast Lust dich auch in Veranstaltungstechnik, Video, Audio, Licht oder eins der vielen anderen Themen rein zu nerden? Dann mach doch bei uns mit! Wir suchen immer motivierte Wesen die an solchen Themen spaß haben! Sprich uns an oder komme auf einer präsenzveranstaltung bei uns vorbei! -> ``Kontaktseite mitmachen`` \ No newline at end of file diff --git a/content/test/Felis_catus-cat_on_snow.jpg b/content/test/Felis_catus-cat_on_snow.jpg new file mode 100644 index 0000000..89b6bf1 --- /dev/null +++ b/content/test/Felis_catus-cat_on_snow.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d83c6643ab6c2ed3e13c483f5e1252b0b01e5cfed4af868e31876622ad1725e +size 181212 diff --git a/content/test/Felis_catus-cat_on_snow.jpg.lr b/content/test/Felis_catus-cat_on_snow.jpg.lr new file mode 100644 index 0000000..936ff8b --- /dev/null +++ b/content/test/Felis_catus-cat_on_snow.jpg.lr @@ -0,0 +1,11 @@ +_model: photograph +--- +title: Katze im Schnee (zehn Monate alt, Weibchen). +--- +date: 2010-02-09 +--- +photographer: Von.grzanka +--- +location: 51.66745, 22.233147 +--- +copyright: CC-BY-SA 3.0 diff --git a/content/test/contents.lr b/content/test/contents.lr new file mode 100644 index 0000000..3af8791 --- /dev/null +++ b/content/test/contents.lr @@ -0,0 +1,46 @@ +title: Chaos-West TV +--- +_model: page +--- +body: + +# Testing + +Lorem ipsum dolor sit amet, c*o*nsectetur adi**pi**scing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. +![KATZE](Felis_catus-cat_on_snow.jpg) +Lorem ipsum dolor sit amet, c*o*nsectetur adi**pi**scing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Das hier ist eine Liste: + +* Mit schönen +* Einzelnen Listenpunkten +* Wirklich verdammt +* Toll! + * Noch toller + * Nein *Wirklich* + * Am tollsten + * **HYPER**-TOLL + +# Header One + +## Header Two +### Header Three +#### Header Four +##### Header Five + +Saftige Hupe +: Ein extrem feucht klingender Darmwind + +!!! note + Alles tolle Dinge hier! + +```python +def fib(x: int) -> Generator[int, None, None]: + a, b = 0, 1 + for _ in xrange(x): + yield a + a, b = b, a+b +``` + +!!! warning + Dieser Code wurde nicht getestet. \ No newline at end of file diff --git a/databags/navigation.json b/databags/navigation.json index 310db14..c005231 100644 --- a/databags/navigation.json +++ b/databags/navigation.json @@ -1,7 +1,4 @@ { - "Start": { - "href": "/" - }, "Projekte": { "list_childs": true, "items": { @@ -11,8 +8,8 @@ "Transparenz": { "list_childs": true, "items": { - "Transparenzoffensive": "/transparenz", - "Wer sind wir": "https://montage2.de/about/", + "Offensive": "/transparenz", + "Wer wir sind": "https://montage2.de/about/", "Wiki": "https://wiki.montage2.de/" } }, diff --git a/models/blog.ini b/models/blog.ini index fd707e9..ef0fc31 100644 --- a/models/blog.ini +++ b/models/blog.ini @@ -8,7 +8,7 @@ label = Title type = string [children] -model = blog-post +model = post order_by = -event_start_date,title [pagination] diff --git a/models/page.ini b/models/page.ini index dcddfe8..5c2cdc2 100644 --- a/models/page.ini +++ b/models/page.ini @@ -8,4 +8,4 @@ type = string [fields.body] label = Body -type = markdown +type = pythonmarkdown diff --git a/models/photograph.ini b/models/photograph.ini new file mode 100644 index 0000000..fda65ad --- /dev/null +++ b/models/photograph.ini @@ -0,0 +1,28 @@ +[model] +name = Photograph +label = {{ this.title }} +hidden = true + +[fields.title] +label = Title +type = string + +[fields.photographer] +label = Photographer +type = string + +[fields.copyright] +label = Copyright +type = string + +[fields.location] +label = Location +type = string + +[fields.date] +label = Date +type = datetime + +[fiels.tags] +label = Tags +type = strings diff --git a/models/post.ini b/models/post.ini index 5be0d10..ef1e4d5 100644 --- a/models/post.ini +++ b/models/post.ini @@ -18,8 +18,8 @@ type = date [fields.preview] label = Preview -type = markdown +type = pythonmarkdown [fields.body] label = Body -type = markdown +type = pythonmarkdown diff --git a/models/start.ini b/models/start.ini deleted file mode 100644 index 9fd4899..0000000 --- a/models/start.ini +++ /dev/null @@ -1,12 +0,0 @@ -[model] -name = Start -label = {{ this.title }} -hidden = true - -[fields.title] -label = Title -type = string - -[fields.body] -label = Body -type = markdown diff --git a/poetry.lock b/poetry.lock index 9fcd513..607374d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -9,32 +9,6 @@ python-versions = ">=3.6" [package.dependencies] pytz = ">=2015.7" -[[package]] -name = "beautifulsoup4" -version = "4.11.1" -description = "Screen-scraping library" -category = "main" -optional = false -python-versions = ">=3.6.0" - -[package.dependencies] -soupsieve = ">1.2" - -[package.extras] -html5lib = ["html5lib"] -lxml = ["lxml"] - -[[package]] -name = "bs4" -version = "0.0.1" -description = "Dummy package for Beautiful Soup" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -beautifulsoup4 = "*" - [[package]] name = "certifi" version = "2021.10.8" @@ -89,6 +63,17 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "feedgenerator" +version = "2.0.0" +description = "Standalone version of django.utils.feedgenerator" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pytz = ">=0a" + [[package]] name = "filetype" version = "1.0.13" @@ -115,6 +100,14 @@ Werkzeug = ">=2.0" async = ["asgiref (>=3.2)"] dotenv = ["python-dotenv"] +[[package]] +name = "htmlmin" +version = "0.1.12" +description = "An HTML Minifier" +category = "main" +optional = false +python-versions = "*" + [[package]] name = "idna" version = "3.3" @@ -179,16 +172,39 @@ Werkzeug = "<3" ipython = ["ipython"] [[package]] -name = "lektor-html-pretify" -version = "1.0.5" -description = "Lektor Plugin to pretify your HTML DOM using BeautifulSoup" +name = "lektor-atom" +version = "0.4.0" +description = "Lektor plugin that generates Atom feeds." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +feedgenerator = "*" +MarkupSafe = "*" + +[[package]] +name = "lektor-htmlmin" +version = "1.0.3" +description = "HTML minifier for Lektor. Based on htmlmin." category = "main" optional = false python-versions = "*" [package.dependencies] -bs4 = "*" chardet = "*" +htmlmin = "*" + +[[package]] +name = "lektor-pythonmarkdown" +version = "1.2" +description = "Add pythonmarkdownn field type to Lektor to make use of python-markdown as a renderer." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +markdown = "*" [[package]] name = "lektor-scss" @@ -213,11 +229,22 @@ python-versions = "*" [package.dependencies] six = "*" +[[package]] +name = "markdown" +version = "3.3.7" +description = "Python implementation of Markdown." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +testing = ["coverage", "pyyaml"] + [[package]] name = "markupsafe" version = "2.1.1" description = "Safely add untrusted strings to HTML/XML markup." -category = "dev" +category = "main" optional = false python-versions = ">=3.7" @@ -229,6 +256,14 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "pygments" +version = "2.12.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = false +python-versions = ">=3.6" + [[package]] name = "python-slugify" version = "6.1.2" @@ -247,7 +282,7 @@ unidecode = ["Unidecode (>=1.1.1)"] name = "pytz" version = "2022.1" description = "World timezone definitions, modern and historical" -category = "dev" +category = "main" optional = false python-versions = "*" @@ -277,14 +312,6 @@ category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -[[package]] -name = "soupsieve" -version = "2.3.2.post1" -description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" -optional = false -python-versions = ">=3.6" - [[package]] name = "termcolor" version = "1.1.0" @@ -339,20 +366,13 @@ watchdog = ["watchdog"] [metadata] lock-version = "1.1" python-versions = "^3.10" -content-hash = "2153edcb974422fa6cc248c165b176f367c510edb8e61265c20a9388b9e42c44" +content-hash = "502907d60ac974bddeecccdeaa9287cd951fb202f511cda142811df6bec5cc97" [metadata.files] babel = [ {file = "Babel-2.10.1-py3-none-any.whl", hash = "sha256:3f349e85ad3154559ac4930c3918247d319f21910d5ce4b25d439ed8693b98d2"}, {file = "Babel-2.10.1.tar.gz", hash = "sha256:98aeaca086133efb3e1e2aad0396987490c8425929ddbcfe0550184fdc54cd13"}, ] -beautifulsoup4 = [ - {file = "beautifulsoup4-4.11.1-py3-none-any.whl", hash = "sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30"}, - {file = "beautifulsoup4-4.11.1.tar.gz", hash = "sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693"}, -] -bs4 = [ - {file = "bs4-0.0.1.tar.gz", hash = "sha256:36ecea1fd7cc5c0c6e4a1ff075df26d50da647b75376626cc186e2212886dd3a"}, -] certifi = [ {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"}, {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"}, @@ -377,6 +397,10 @@ exifread = [ {file = "ExifRead-2.3.2-py3-none-any.whl", hash = "sha256:3ef8725efdb66530b4b3cd1c4ba5d3f3b35a7872137d2c707f711971f8ebf809"}, {file = "ExifRead-2.3.2.tar.gz", hash = "sha256:a0f74af5040168d3883bbc980efe26d06c89f026dc86ba28eb34107662d51766"}, ] +feedgenerator = [ + {file = "feedgenerator-2.0.0-py3-none-any.whl", hash = "sha256:fc4a1e557f56b072d4f9a1b062cc98ea3691133bbd966d85707a7d5629b2e32e"}, + {file = "feedgenerator-2.0.0.tar.gz", hash = "sha256:6836d456b8b0edbc5b6d3a42d1be852cebd43d2f28af4ff51789eb295f1860e2"}, +] filetype = [ {file = "filetype-1.0.13-py2.py3-none-any.whl", hash = "sha256:8f5d2d5ae7fec00c71dadfe8a747c2d6da91d77f9b4e550bbdb0881f63a07e43"}, {file = "filetype-1.0.13.tar.gz", hash = "sha256:6a104762fe93d755c962aa96cb3d930a48f91a0761047126c5eead2153e33b03"}, @@ -385,6 +409,9 @@ flask = [ {file = "Flask-2.1.1-py3-none-any.whl", hash = "sha256:8a4cf32d904cf5621db9f0c9fbcd7efabf3003f22a04e4d0ce790c7137ec5264"}, {file = "Flask-2.1.1.tar.gz", hash = "sha256:a8c9bd3e558ec99646d177a9739c41df1ded0629480b4c8d2975412f3c9519c8"}, ] +htmlmin = [ + {file = "htmlmin-0.1.12.tar.gz", hash = "sha256:50c1ef4630374a5d723900096a961cff426dff46b48f34d194a81bbe14eca178"}, +] idna = [ {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, @@ -404,9 +431,17 @@ lektor = [ {file = "Lektor-3.3.3-py3-none-any.whl", hash = "sha256:86444b55d5e690ee7be8f693d2c2587d0160bd3883a5e3d9bee59f83cad7f6ca"}, {file = "Lektor-3.3.3.tar.gz", hash = "sha256:9595b8b5c0c322f496482bb9276b859d3ba2629262cdbdf00788423efea9a043"}, ] -lektor-html-pretify = [ - {file = "lektor-html-pretify-1.0.5.tar.gz", hash = "sha256:368cdf1bd71477eba856525697ec4fbaeb9b1d3d96038911045ae13a03ebbb8b"}, - {file = "lektor_html_pretify-1.0.5-py3-none-any.whl", hash = "sha256:52cdaaf015bf42c0be4d2237c12cf938ab71f3eae5ec4d280f7d104b18738e68"}, +lektor-atom = [ + {file = "lektor-atom-0.4.0.tar.gz", hash = "sha256:70f4e018278d68d07d48dc9b748cd012f1f558bef04d984c45d9a36e5a880176"}, + {file = "lektor_atom-0.4.0-py2.py3-none-any.whl", hash = "sha256:0299ea8dcac0f2535e74e273cf939a8052f22dd9e99831b056a8cde9a8318563"}, +] +lektor-htmlmin = [ + {file = "lektor-htmlmin-1.0.3.tar.gz", hash = "sha256:3771b6ffcfaf833ff6ea639dcd7b278c0a658bb5057be8fad6a595b50368c950"}, + {file = "lektor_htmlmin-1.0.3-py3.7.egg", hash = "sha256:9f2eed62aa2a9d40ce67c31f6664bd764aeff7da4bad751987ae76c94cc81469"}, +] +lektor-pythonmarkdown = [ + {file = "lektor-pythonmarkdown-1.2.tar.gz", hash = "sha256:016f7036faddf575070ba7df813dee92d4589f45c601fb1d11dfca49e3bf5e9e"}, + {file = "lektor_pythonmarkdown-1.2-py2-none-any.whl", hash = "sha256:be5fd77eb64bdbdfa06c197595ffbce6f3c0cb0661a66e974054dc0ccadfd3d9"}, ] lektor-scss = [ {file = "lektor-scss-1.4.1.tar.gz", hash = "sha256:c62492bbd3196b0919ace06db7b0179c1ba65656b0e0f9c744c229bf8d54b39d"}, @@ -424,6 +459,10 @@ libsass = [ {file = "libsass-0.21.0-cp38-abi3-macosx_12_0_arm64.whl", hash = "sha256:c9ec490609752c1d81ff6290da33485aa7cb6d7365ac665b74464c1b7d97f7da"}, {file = "libsass-0.21.0.tar.gz", hash = "sha256:d5ba529d9ce668be9380563279f3ffe988f27bc5b299c5a28453df2e0b0fbaf2"}, ] +markdown = [ + {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, + {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, +] markupsafe = [ {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, @@ -470,6 +509,10 @@ mistune = [ {file = "mistune-0.8.4-py2.py3-none-any.whl", hash = "sha256:88a1051873018da288eee8538d476dffe1262495144b33ecb586c4ab266bb8d4"}, {file = "mistune-0.8.4.tar.gz", hash = "sha256:59a3429db53c50b5c6bcc8a07f8848cb00d7dc8bdb431a4ab41920d201d4756e"}, ] +pygments = [ + {file = "Pygments-2.12.0-py3-none-any.whl", hash = "sha256:dc9c10fb40944260f6ed4c688ece0cd2048414940f1cea51b8b226318411c519"}, + {file = "Pygments-2.12.0.tar.gz", hash = "sha256:5eb116118f9612ff1ee89ac96437bb6b49e8f04d8a13b514ba26f620208e26eb"}, +] python-slugify = [ {file = "python-slugify-6.1.2.tar.gz", hash = "sha256:272d106cb31ab99b3496ba085e3fea0e9e76dcde967b5e9992500d1f785ce4e1"}, {file = "python_slugify-6.1.2-py2.py3-none-any.whl", hash = "sha256:7b2c274c308b62f4269a9ba701aa69a797e9bca41aeee5b3a9e79e36b6656927"}, @@ -486,10 +529,6 @@ six = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] -soupsieve = [ - {file = "soupsieve-2.3.2.post1-py3-none-any.whl", hash = "sha256:3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759"}, - {file = "soupsieve-2.3.2.post1.tar.gz", hash = "sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d"}, -] termcolor = [ {file = "termcolor-1.1.0.tar.gz", hash = "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"}, ] diff --git a/pyproject.toml b/pyproject.toml index 75c7b6e..d66241f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,10 @@ authors = ["Your Name "] [tool.poetry.dependencies] python = "^3.10" lektor-scss = "^1.4.1" -lektor-html-pretify = "^1.0.5" +lektor-htmlmin = "^1.0.3" +lektor-pythonmarkdown = "^1.2" +Pygments = "^2.12.0" +lektor-atom = "^0.4.0" [tool.poetry.dev-dependencies] Lektor = "^3.3" diff --git a/templates/blocks/header.html b/templates/blocks/header.html index 15f2ea7..294b6f9 100644 --- a/templates/blocks/header.html +++ b/templates/blocks/header.html @@ -1,3 +1,10 @@ {% block header %} -header +
+ + + + + + +
{% endblock %} \ No newline at end of file diff --git a/templates/layout.html b/templates/layout.html index ac8327f..4821a02 100644 --- a/templates/layout.html +++ b/templates/layout.html @@ -11,15 +11,11 @@ {%- endblock -%} {{ ' — chaoswest.tv' }} {%- endmacro -%} -{%- macro cssfile() -%} - {%- block scss -%} - css/main.min.css - {%- endblock -%} -{%- endmacro -%} - + + {{- titlestring() -}} @@ -33,6 +29,7 @@ +
{%- include "blocks/header.html" -%} {%- include "blocks/navigation.html" -%}
@@ -40,6 +37,7 @@ {%- endblock %}
+
diff --git a/templates/page.html b/templates/page.html index 637487b..69744c3 100644 --- a/templates/page.html +++ b/templates/page.html @@ -3,6 +3,5 @@ {{- this.title -}} {%- endblock -%} {%- block body -%} -

{{ this.title }}

{{ this.body }} {%- endblock -%}