From afc40b605f0186e32fac245b5ad76af986f3719f Mon Sep 17 00:00:00 2001 From: forever2k38 Date: Sat, 5 Sep 2026 19:49:47 +0200 Subject: njalla is based --- assets/scss/fonts.scss | 633 ++++++++++++++++++++- assets/scss/main.scss | 24 + content/_index.md | 4 +- content/blog/njalla/_index.md | 41 ++ content/blog/njalla/njalla.svg | 1 + content/blog/software.md | 1 + content/contact.md | 13 + content/socials.md | 12 + hugo.toml | 8 + layouts/baseof.html | 5 +- layouts/page.html | 2 +- static/fonts/Iosevka/WOFF2/Iosevka-Bold.woff2 | Bin 0 -> 1631280 bytes .../fonts/Iosevka/WOFF2/Iosevka-BoldItalic.woff2 | Bin 0 -> 1771108 bytes .../fonts/Iosevka/WOFF2/Iosevka-BoldOblique.woff2 | Bin 0 -> 1756568 bytes static/fonts/Iosevka/WOFF2/Iosevka-Extended.woff2 | Bin 0 -> 1615296 bytes .../fonts/Iosevka/WOFF2/Iosevka-ExtendedBold.woff2 | Bin 0 -> 1626372 bytes .../Iosevka/WOFF2/Iosevka-ExtendedBoldItalic.woff2 | Bin 0 -> 1777912 bytes .../WOFF2/Iosevka-ExtendedBoldOblique.woff2 | Bin 0 -> 1760960 bytes .../Iosevka/WOFF2/Iosevka-ExtendedExtraBold.woff2 | Bin 0 -> 1630280 bytes .../WOFF2/Iosevka-ExtendedExtraBoldItalic.woff2 | Bin 0 -> 1787492 bytes .../WOFF2/Iosevka-ExtendedExtraBoldOblique.woff2 | Bin 0 -> 1769844 bytes .../Iosevka/WOFF2/Iosevka-ExtendedExtraLight.woff2 | Bin 0 -> 1575736 bytes .../WOFF2/Iosevka-ExtendedExtraLightItalic.woff2 | Bin 0 -> 1716312 bytes .../WOFF2/Iosevka-ExtendedExtraLightOblique.woff2 | Bin 0 -> 1700244 bytes .../Iosevka/WOFF2/Iosevka-ExtendedHeavy.woff2 | Bin 0 -> 1571248 bytes .../WOFF2/Iosevka-ExtendedHeavyItalic.woff2 | Bin 0 -> 1716816 bytes .../WOFF2/Iosevka-ExtendedHeavyOblique.woff2 | Bin 0 -> 1699840 bytes .../Iosevka/WOFF2/Iosevka-ExtendedItalic.woff2 | Bin 0 -> 1756500 bytes .../Iosevka/WOFF2/Iosevka-ExtendedLight.woff2 | Bin 0 -> 1600576 bytes .../WOFF2/Iosevka-ExtendedLightItalic.woff2 | Bin 0 -> 1738336 bytes .../WOFF2/Iosevka-ExtendedLightOblique.woff2 | Bin 0 -> 1720580 bytes .../Iosevka/WOFF2/Iosevka-ExtendedMedium.woff2 | Bin 0 -> 1626112 bytes .../WOFF2/Iosevka-ExtendedMediumItalic.woff2 | Bin 0 -> 1760532 bytes .../WOFF2/Iosevka-ExtendedMediumOblique.woff2 | Bin 0 -> 1746528 bytes .../Iosevka/WOFF2/Iosevka-ExtendedOblique.woff2 | Bin 0 -> 1742356 bytes .../Iosevka/WOFF2/Iosevka-ExtendedSemiBold.woff2 | Bin 0 -> 1629768 bytes .../WOFF2/Iosevka-ExtendedSemiBoldItalic.woff2 | Bin 0 -> 1766476 bytes .../WOFF2/Iosevka-ExtendedSemiBoldOblique.woff2 | Bin 0 -> 1748732 bytes .../fonts/Iosevka/WOFF2/Iosevka-ExtendedThin.woff2 | Bin 0 -> 1551932 bytes .../Iosevka/WOFF2/Iosevka-ExtendedThinItalic.woff2 | Bin 0 -> 1676128 bytes .../WOFF2/Iosevka-ExtendedThinOblique.woff2 | Bin 0 -> 1661924 bytes static/fonts/Iosevka/WOFF2/Iosevka-ExtraBold.woff2 | Bin 0 -> 1629224 bytes .../Iosevka/WOFF2/Iosevka-ExtraBoldItalic.woff2 | Bin 0 -> 1771804 bytes .../Iosevka/WOFF2/Iosevka-ExtraBoldOblique.woff2 | Bin 0 -> 1756292 bytes .../fonts/Iosevka/WOFF2/Iosevka-ExtraLight.woff2 | Bin 0 -> 1561080 bytes .../Iosevka/WOFF2/Iosevka-ExtraLightItalic.woff2 | Bin 0 -> 1694376 bytes .../Iosevka/WOFF2/Iosevka-ExtraLightOblique.woff2 | Bin 0 -> 1679236 bytes static/fonts/Iosevka/WOFF2/Iosevka-Heavy.woff2 | Bin 0 -> 1568240 bytes .../fonts/Iosevka/WOFF2/Iosevka-HeavyItalic.woff2 | Bin 0 -> 1712692 bytes .../fonts/Iosevka/WOFF2/Iosevka-HeavyOblique.woff2 | Bin 0 -> 1697188 bytes static/fonts/Iosevka/WOFF2/Iosevka-Italic.woff2 | Bin 0 -> 1754492 bytes static/fonts/Iosevka/WOFF2/Iosevka-Light.woff2 | Bin 0 -> 1595164 bytes .../fonts/Iosevka/WOFF2/Iosevka-LightItalic.woff2 | Bin 0 -> 1739048 bytes .../fonts/Iosevka/WOFF2/Iosevka-LightOblique.woff2 | Bin 0 -> 1723680 bytes static/fonts/Iosevka/WOFF2/Iosevka-Medium.woff2 | Bin 0 -> 1620648 bytes .../fonts/Iosevka/WOFF2/Iosevka-MediumItalic.woff2 | Bin 0 -> 1768408 bytes .../Iosevka/WOFF2/Iosevka-MediumOblique.woff2 | Bin 0 -> 1751684 bytes static/fonts/Iosevka/WOFF2/Iosevka-Oblique.woff2 | Bin 0 -> 1739524 bytes static/fonts/Iosevka/WOFF2/Iosevka-Regular.woff2 | Bin 0 -> 1613044 bytes static/fonts/Iosevka/WOFF2/Iosevka-SemiBold.woff2 | Bin 0 -> 1612912 bytes .../Iosevka/WOFF2/Iosevka-SemiBoldItalic.woff2 | Bin 0 -> 1761008 bytes .../Iosevka/WOFF2/Iosevka-SemiBoldOblique.woff2 | Bin 0 -> 1747764 bytes static/fonts/Iosevka/WOFF2/Iosevka-Thin.woff2 | Bin 0 -> 1534776 bytes .../fonts/Iosevka/WOFF2/Iosevka-ThinItalic.woff2 | Bin 0 -> 1667340 bytes .../fonts/Iosevka/WOFF2/Iosevka-ThinOblique.woff2 | Bin 0 -> 1651156 bytes 65 files changed, 737 insertions(+), 7 deletions(-) create mode 100644 content/blog/njalla/_index.md create mode 100644 content/blog/njalla/njalla.svg create mode 100644 content/contact.md create mode 100644 content/socials.md create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Bold.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-BoldItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-BoldOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Extended.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedBold.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedBoldItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedBoldOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBold.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBoldItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBoldOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLight.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLightItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLightOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavy.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavyItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavyOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedLight.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedLightItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedLightOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedMedium.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedMediumItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedMediumOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBold.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBoldItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBoldOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedThin.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedThinItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtendedThinOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtraBold.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtraBoldItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtraBoldOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtraLight.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtraLightItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ExtraLightOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Heavy.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-HeavyItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-HeavyOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Italic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Light.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-LightItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-LightOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Medium.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-MediumItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-MediumOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Oblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Regular.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-SemiBold.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-SemiBoldItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-SemiBoldOblique.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-Thin.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ThinItalic.woff2 create mode 100644 static/fonts/Iosevka/WOFF2/Iosevka-ThinOblique.woff2 diff --git a/assets/scss/fonts.scss b/assets/scss/fonts.scss index 4598947..04e402c 100644 --- a/assets/scss/fonts.scss +++ b/assets/scss/fonts.scss @@ -1,10 +1,635 @@ @font-face { - font-family: "Go Mono"; - src: url("/fonts/Go-Mono.ttf"); + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Thin.woff2') format('woff2'); } -* { - font-family: "Go Mono"; +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 100; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedThin.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ThinOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ThinOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 100; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedThinOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 100; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedThinOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 100; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ThinItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 100; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedThinItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtraLight.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 200; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLight.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtraLightOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtraLightOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 200; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLightOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 200; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLightOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 200; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtraLightItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 200; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLightItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Light.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 300; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedLight.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-LightOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-LightOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 300; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedLightOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 300; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedLightOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 300; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-LightItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 300; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedLightItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Regular.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 400; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Extended.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Oblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Oblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 400; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 400; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 400; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Italic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 400; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Medium.woff2') format('woff2'); } +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 500; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedMedium.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-MediumOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-MediumOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 500; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedMediumOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 500; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedMediumOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 500; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-MediumItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 500; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedMediumItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-SemiBold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 600; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-SemiBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-SemiBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 600; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 600; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 600; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-SemiBoldItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 600; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBoldItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Bold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 700; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedBold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-BoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-BoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 700; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 700; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 700; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-BoldItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 700; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedBoldItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtraBold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 800; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBold.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtraBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtraBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 800; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 800; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBoldOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 800; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtraBoldItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 800; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBoldItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-Heavy.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 900; + font-stretch: expanded; + font-style: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavy.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-HeavyOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + src: url('/fonts/Iosevka/WOFF2/Iosevka-HeavyOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 900; + font-stretch: expanded; + font-style: oblique; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavyOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web Oblique'; + font-display: swap; + font-weight: 900; + font-stretch: expanded; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavyOblique.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 900; + font-stretch: normal; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-HeavyItalic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Iosevka Web'; + font-display: swap; + font-weight: 900; + font-stretch: expanded; + font-style: italic; + src: url('/fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavyItalic.woff2') format('woff2'); +} + + +* { + font-family: "Iosevka Web"; +} diff --git a/assets/scss/main.scss b/assets/scss/main.scss index ae917c9..be33908 100644 --- a/assets/scss/main.scss +++ b/assets/scss/main.scss @@ -2,14 +2,30 @@ * { color: #f0f0f0; + + margin: 0; } html { background: #0e0614; } +h1, h2, h3, h4, h5 { + font-weight: normal; +} + header { + display: flex; + flex-direction: column; + + align-items: center; + justify-content: center; + text-align: center; + + gap: 1.2rem; + + padding: 1rem ; } header h1 { @@ -39,3 +55,11 @@ code { margin: auto; } + +.title { + font-size: 5rem; +} + +.content * { + padding: 0.5rem 0; +} diff --git a/content/_index.md b/content/_index.md index b7cfb35..88423eb 100644 --- a/content/_index.md +++ b/content/_index.md @@ -2,5 +2,7 @@ title = "forever2k38" +++ -i'm forever2k38, your local idiot. i do dumb shit online and occasionally develop useful software. +hey! i'm forever2k38, nice to meet you! + +i develop free and open source (libre) software. the type that respects your freedom. diff --git a/content/blog/njalla/_index.md b/content/blog/njalla/_index.md new file mode 100644 index 0000000..a75392f --- /dev/null +++ b/content/blog/njalla/_index.md @@ -0,0 +1,41 @@ ++++ +title = "my experience with njalla" +date = "2026-09-05" ++++ + +![njalla](njalla.svg) + +[Njalla](https://njal.la) is a privacy friendly domain registrar (they also offer a VPN and VPSes). + +They are.. fairly notorious and have an "interesting" approach to [legal threats](https://njal.la/blog/furnish/). + +In fact, this domain for this website ([forever2k38.net](https://forever2k38.net)) is registered with them. + +## how does njalla work? + +Njalla is a proxy registrar. They buy domains on your behalf from other registrars. + +They accept payment in cryptocurrency and PayPal. + +If you're going to buy from them I recommend using [Monero](https://getmonero.org). + +After you register your domain it works just like any other domain registrar. + +## what info do they need? + +NOTHING. + +I was fairly surprised seeing this. I deposited some crypto, clicked buy on my domain and just got it? + +I didn't need to supply billing addresses or anything like that. The only thing you need to sign up is an E-Mail or XMPP address. + +They have a Tor hidden service too. + +## downsides? + +It's expensive as fuck. + +[Spaceship](https://spaceship.com) charges 5$ for your first year and the domain renews at 12$. + +Njalla charges 15€ (EUR, not USD) per year. No first year discount or anything. + diff --git a/content/blog/njalla/njalla.svg b/content/blog/njalla/njalla.svg new file mode 100644 index 0000000..9492657 --- /dev/null +++ b/content/blog/njalla/njalla.svg @@ -0,0 +1 @@ + diff --git a/content/blog/software.md b/content/blog/software.md index aa3b88c..0e2c549 100644 --- a/content/blog/software.md +++ b/content/blog/software.md @@ -1,5 +1,6 @@ +++ title = "software" +date = "2026-09-04" +++ most software is not based. there are exceptions tho. diff --git a/content/contact.md b/content/contact.md new file mode 100644 index 0000000..be923d5 --- /dev/null +++ b/content/contact.md @@ -0,0 +1,13 @@ ++++ +title = "contact" ++++ + +My preferred contact method is XMPP. Responses may be delayed on other platforms. + +## XMPP + +My XMPP address is `forever2k38@disroot.org` + +## Email + +My email is the same as my XMPP address. diff --git a/content/socials.md b/content/socials.md new file mode 100644 index 0000000..d3b0248 --- /dev/null +++ b/content/socials.md @@ -0,0 +1,12 @@ ++++ +title = "socials" ++++ + +codeberg: [forever2k38](https://codeberg.org/forever2k38) + +sourcehut: [~forever2k38](https://sr.ht/~forever2k38) + +bluesky: [forever2k38.net](https://bsky.app/profile/forever2k38.net) + +mastodon: [@forever2k38@fosstodon.org](https://fosstodon.org/@forever2k38) + diff --git a/hugo.toml b/hugo.toml index ec9ba7b..a20708e 100644 --- a/hugo.toml +++ b/hugo.toml @@ -11,6 +11,14 @@ title = 'forever2k38' name = 'politics' pageRef = '/politics' weight = 10 + [[menus.main]] + name = 'socials' + pageRef = '/socials' + weight = 9997 + [[menus.main]] + name = 'contact' + pageRef = '/contact' + weight = 9998 [[menus.main]] name = 'donate' pageRef = '/donate' diff --git a/layouts/baseof.html b/layouts/baseof.html index 291be14..0ce3bd2 100644 --- a/layouts/baseof.html +++ b/layouts/baseof.html @@ -5,7 +5,10 @@
-

forever2k38

+
+

forever2k38

+

doas poweroff

+