From d2114c03f515108d9dbd87c6d432505e669e8d99 Mon Sep 17 00:00:00 2001 From: Nikolaos Karaolidis Date: Wed, 6 Aug 2025 10:53:24 +0200 Subject: [PATCH] Add inter font Signed-off-by: Nikolaos Karaolidis --- .gitattributes | 1 + .gitignore | 4 - .gitmodules | 0 Makefile | 19 +- assets/sass/fonts.scss | 171 +++++++++++++++++- flake.nix | 7 +- static/font/inter/Inter-Black.woff2 | 3 + static/font/inter/Inter-BlackItalic.woff2 | 3 + static/font/inter/Inter-Bold.woff2 | 3 + static/font/inter/Inter-BoldItalic.woff2 | 3 + static/font/inter/Inter-ExtraBold.woff2 | 3 + static/font/inter/Inter-ExtraBoldItalic.woff2 | 3 + static/font/inter/Inter-ExtraLight.woff2 | 3 + .../font/inter/Inter-ExtraLightItalic.woff2 | 3 + static/font/inter/Inter-Italic.woff2 | 3 + static/font/inter/Inter-Light.woff2 | 3 + static/font/inter/Inter-LightItalic.woff2 | 3 + static/font/inter/Inter-Medium.woff2 | 3 + static/font/inter/Inter-MediumItalic.woff2 | 3 + static/font/inter/Inter-Regular.woff2 | 3 + static/font/inter/Inter-SemiBold.woff2 | 3 + static/font/inter/Inter-SemiBoldItalic.woff2 | 3 + static/font/inter/Inter-Thin.woff2 | 3 + static/font/inter/Inter-ThinItalic.woff2 | 3 + static/font/inter/InterVariable-Italic.woff2 | 3 + static/font/inter/InterVariable.woff2 | 3 + 26 files changed, 254 insertions(+), 8 deletions(-) create mode 100644 .gitmodules create mode 100644 static/font/inter/Inter-Black.woff2 create mode 100644 static/font/inter/Inter-BlackItalic.woff2 create mode 100644 static/font/inter/Inter-Bold.woff2 create mode 100644 static/font/inter/Inter-BoldItalic.woff2 create mode 100644 static/font/inter/Inter-ExtraBold.woff2 create mode 100644 static/font/inter/Inter-ExtraBoldItalic.woff2 create mode 100644 static/font/inter/Inter-ExtraLight.woff2 create mode 100644 static/font/inter/Inter-ExtraLightItalic.woff2 create mode 100644 static/font/inter/Inter-Italic.woff2 create mode 100644 static/font/inter/Inter-Light.woff2 create mode 100644 static/font/inter/Inter-LightItalic.woff2 create mode 100644 static/font/inter/Inter-Medium.woff2 create mode 100644 static/font/inter/Inter-MediumItalic.woff2 create mode 100644 static/font/inter/Inter-Regular.woff2 create mode 100644 static/font/inter/Inter-SemiBold.woff2 create mode 100644 static/font/inter/Inter-SemiBoldItalic.woff2 create mode 100644 static/font/inter/Inter-Thin.woff2 create mode 100644 static/font/inter/Inter-ThinItalic.woff2 create mode 100644 static/font/inter/InterVariable-Italic.woff2 create mode 100644 static/font/inter/InterVariable.woff2 diff --git a/.gitattributes b/.gitattributes index 31c24ae..56af485 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,4 @@ *.png filter=lfs diff=lfs merge=lfs -text *.gif filter=lfs diff=lfs merge=lfs -text *.ico filter=lfs diff=lfs merge=lfs -text +*.woff2 filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index ca94588..6fd12db 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,3 @@ hugo.linux # Temporary lock file while building /.hugo_build.lock - -# Generated CSS/JS files -**/*.min.css -**/*.min.js diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..e69de29 diff --git a/Makefile b/Makefile index 0f6674b..976ba69 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,25 @@ -.PHONY: all css js reset-submodules +.PHONY: all css js font update-inter reset-submodules -all: css js reset-submodules +all: css js font reset-submodules css: js: +font: + +update-inter: + @tmp_zip=$$(mktemp) && \ + tmp_dir=$$(mktemp -d) && \ + curl -s https://api.github.com/repos/rsms/inter/releases/latest \ + | grep "browser_download_url.*zip" \ + | cut -d '"' -f 4 \ + | xargs curl -Ls -o $$tmp_zip && \ + unzip -q -o $$tmp_zip "web/*" -d $$tmp_dir && \ + rm -rf static/font/inter && \ + mkdir -p static/font/inter && \ + cp -r $$tmp_dir/web/{InterVariable*.woff2,Inter-*.woff2} static/font/inter && \ + rm -rf $$tmp_zip $$tmp_dir + reset-submodules: git submodule foreach --recursive 'git reset --hard' diff --git a/assets/sass/fonts.scss b/assets/sass/fonts.scss index e477cbb..05c9eaa 100644 --- a/assets/sass/fonts.scss +++ b/assets/sass/fonts.scss @@ -1,10 +1,179 @@ +@font-face { + font-family: InterVariable; + font-style: normal; + font-weight: 100 900; + font-display: swap; + src: url("/font/inter/InterVariable.woff2") format("woff2"); +} + +@font-face { + font-family: InterVariable; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url("/font/inter/InterVariable-Italic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 100; + font-display: swap; + src: url("/font/inter/Inter-Thin.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 100; + font-display: swap; + src: url("/font/inter/Inter-ThinItalic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 200; + font-display: swap; + src: url("/font/inter/Inter-ExtraLight.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 200; + font-display: swap; + src: url("/font/inter/Inter-ExtraLightItalic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url("/font/inter/Inter-Light.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url("/font/inter/Inter-LightItalic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url("/font/inter/Inter-Regular.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url("/font/inter/Inter-Italic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url("/font/inter/Inter-Medium.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 500; + font-display: swap; + src: url("/font/inter/Inter-MediumItalic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url("/font/inter/Inter-SemiBold.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url("/font/inter/Inter-SemiBoldItalic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url("/font/inter/Inter-Bold.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url("/font/inter/Inter-BoldItalic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 800; + font-display: swap; + src: url("/font/inter/Inter-ExtraBold.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 800; + font-display: swap; + src: url("/font/inter/Inter-ExtraBoldItalic.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 900; + font-display: swap; + src: url("/font/inter/Inter-Black.woff2") format("woff2"); +} + +@font-face { + font-family: "Inter"; + font-style: italic; + font-weight: 900; + font-display: swap; + src: url("/font/inter/Inter-BlackItalic.woff2") format("woff2"); +} + :root { --line-height: 1.5; --font-family: - system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, + "Inter", system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } +@supports (font-variation-settings: normal) { + :root { + font-family: + "InterVariable", system-ui, "Segoe UI", Roboto, Helvetica, Arial, + sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-optical-sizing: auto; + } +} + html { font-size: 100%; font-family: var(--font-family); diff --git a/flake.nix b/flake.nix index f5f9848..d0c9eee 100755 --- a/flake.nix +++ b/flake.nix @@ -24,7 +24,12 @@ treefmt = inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix; in { - devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ hugo ]; }; + devShells.${system}.default = pkgs.mkShell { + packages = with pkgs; [ + hugo + unzip + ]; + }; formatter.${system} = treefmt.config.build.wrapper; checks.formatting.${system} = treefmt.config.build.check inputs.self; diff --git a/static/font/inter/Inter-Black.woff2 b/static/font/inter/Inter-Black.woff2 new file mode 100644 index 0000000..89b8df9 --- /dev/null +++ b/static/font/inter/Inter-Black.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12ed0eed6749099b46c7b2e8198dc30c2d7e0f2a4e5fb1d12f0b6ae2c4f33cc4 +size 111668 diff --git a/static/font/inter/Inter-BlackItalic.woff2 b/static/font/inter/Inter-BlackItalic.woff2 new file mode 100644 index 0000000..71f56ab --- /dev/null +++ b/static/font/inter/Inter-BlackItalic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:308e101141e9dee3b6b121614da03969eb8179886975a9eeb5348021b04368fe +size 118420 diff --git a/static/font/inter/Inter-Bold.woff2 b/static/font/inter/Inter-Bold.woff2 new file mode 100644 index 0000000..07604e9 --- /dev/null +++ b/static/font/inter/Inter-Bold.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa888127b6da015b65569f0351f3b5c391ad928904951f1c20e9f8462a8d95ea +size 114840 diff --git a/static/font/inter/Inter-BoldItalic.woff2 b/static/font/inter/Inter-BoldItalic.woff2 new file mode 100644 index 0000000..ac216a9 --- /dev/null +++ b/static/font/inter/Inter-BoldItalic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4a10532d76c90c4597c0ad4bfc9284600e597d3012dd1ec16c1d44e0ad0058ab +size 121500 diff --git a/static/font/inter/Inter-ExtraBold.woff2 b/static/font/inter/Inter-ExtraBold.woff2 new file mode 100644 index 0000000..1f88168 --- /dev/null +++ b/static/font/inter/Inter-ExtraBold.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f75025856f8db1b2186e9cb89be9de9894932c8b7b20f4df5e65916ff714e34 +size 114856 diff --git a/static/font/inter/Inter-ExtraBoldItalic.woff2 b/static/font/inter/Inter-ExtraBoldItalic.woff2 new file mode 100644 index 0000000..25e52ce --- /dev/null +++ b/static/font/inter/Inter-ExtraBoldItalic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53bb20ba292e2ac28a0777bf0f56f31b98be432a3cc04359e2eb608c758349c7 +size 121516 diff --git a/static/font/inter/Inter-ExtraLight.woff2 b/static/font/inter/Inter-ExtraLight.woff2 new file mode 100644 index 0000000..1ab4d09 --- /dev/null +++ b/static/font/inter/Inter-ExtraLight.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba4fc81dbb25871f1bcabc664b1e37703fca0a05f7248a923e7db497c6d211cc +size 112728 diff --git a/static/font/inter/Inter-ExtraLightItalic.woff2 b/static/font/inter/Inter-ExtraLightItalic.woff2 new file mode 100644 index 0000000..e88cd22 --- /dev/null +++ b/static/font/inter/Inter-ExtraLightItalic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:38bad3a6a9ad1a7fcd8082e6423ba5e0baea16598f2cf304e527844f697e32b2 +size 119320 diff --git a/static/font/inter/Inter-Italic.woff2 b/static/font/inter/Inter-Italic.woff2 new file mode 100644 index 0000000..6b36b21 --- /dev/null +++ b/static/font/inter/Inter-Italic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d078cb3bc8f934740d53b39dd23b0678f2f97477e49ec785dd9d8acd8b96bfc +size 117700 diff --git a/static/font/inter/Inter-Light.woff2 b/static/font/inter/Inter-Light.woff2 new file mode 100644 index 0000000..1feb0f1 --- /dev/null +++ b/static/font/inter/Inter-Light.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e111a1e2ad914ccda9179b95e83fb10234dd52a1932e0b93c480476227983fd9 +size 112592 diff --git a/static/font/inter/Inter-LightItalic.woff2 b/static/font/inter/Inter-LightItalic.woff2 new file mode 100644 index 0000000..5d65227 --- /dev/null +++ b/static/font/inter/Inter-LightItalic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:050265b27d11860a26c66c054210852661abb5d229c4e0bb3525757a830f3790 +size 119608 diff --git a/static/font/inter/Inter-Medium.woff2 b/static/font/inter/Inter-Medium.woff2 new file mode 100644 index 0000000..f6354b1 --- /dev/null +++ b/static/font/inter/Inter-Medium.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ff3e94614e1493eb556314fd247ae6c4a85a7783b4cc86be539940cf83f2a48 +size 114348 diff --git a/static/font/inter/Inter-MediumItalic.woff2 b/static/font/inter/Inter-MediumItalic.woff2 new file mode 100644 index 0000000..f578443 --- /dev/null +++ b/static/font/inter/Inter-MediumItalic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b0df503de488a92082a8c5d72ddc4c0229183ceb645ae1c25c2d0d63778517c +size 120784 diff --git a/static/font/inter/Inter-Regular.woff2 b/static/font/inter/Inter-Regular.woff2 new file mode 100644 index 0000000..cd2b9fe --- /dev/null +++ b/static/font/inter/Inter-Regular.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e06f6b1bc553aaea4e4668023ed0ab0a147129c3107f511bc7d03d361b0ae085 +size 111268 diff --git a/static/font/inter/Inter-SemiBold.woff2 b/static/font/inter/Inter-SemiBold.woff2 new file mode 100644 index 0000000..6d48aeb --- /dev/null +++ b/static/font/inter/Inter-SemiBold.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cb7103e4e605989afebc03d989c79201e54b21b5183db33981f70db9178a301 +size 114812 diff --git a/static/font/inter/Inter-SemiBoldItalic.woff2 b/static/font/inter/Inter-SemiBoldItalic.woff2 new file mode 100644 index 0000000..89d1089 --- /dev/null +++ b/static/font/inter/Inter-SemiBoldItalic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e2a2bc3b5b9af0644f005693b10499dab18065d6aedbf46c8b74ccede27daeb +size 121416 diff --git a/static/font/inter/Inter-Thin.woff2 b/static/font/inter/Inter-Thin.woff2 new file mode 100644 index 0000000..8607f76 --- /dev/null +++ b/static/font/inter/Inter-Thin.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70ca998635d9fc627dede8108f04d0989e6e03346183f0ad0917723e790f6973 +size 109548 diff --git a/static/font/inter/Inter-ThinItalic.woff2 b/static/font/inter/Inter-ThinItalic.woff2 new file mode 100644 index 0000000..5637118 --- /dev/null +++ b/static/font/inter/Inter-ThinItalic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:930d666b74e0dc0c26c2821f5643b701f8a41beaf3bb95ce146298104f29169c +size 116880 diff --git a/static/font/inter/InterVariable-Italic.woff2 b/static/font/inter/InterVariable-Italic.woff2 new file mode 100644 index 0000000..318e720 --- /dev/null +++ b/static/font/inter/InterVariable-Italic.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e564f652916db6c139570fefb9524a77c4d48f30c92928de9db19b6b5c7a262a +size 387976 diff --git a/static/font/inter/InterVariable.woff2 b/static/font/inter/InterVariable.woff2 new file mode 100644 index 0000000..e511e5e --- /dev/null +++ b/static/font/inter/InterVariable.woff2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:693b77d4f32ee9b8bfc995589b5fad5e99adf2832738661f5402f9978429a8e3 +size 352240