From 07ebd9f82f2b2b6c9e2f9b7af928db40f7254d7b Mon Sep 17 00:00:00 2001
From: Patrick Kollitsch <davidsneighbourdev+gh@gmail.com>
Date: Wed, 15 Apr 2026 14:32:36 +0000
Subject: [PATCH] feat: add proper font setup and a couple of design hacks to documentation site
---
static/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff | 0
static/assets/webfonts/rubik/OFL.txt | 93 ++++++
static/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff2 | 0
static/assets/webfonts/rubik/README.txt | 77 +++++
static/assets/webfonts/rubik/rubik-v31-latin_latin-ext-regular.woff2 | 0
config/documentation/hugo.toml | 3
assets/ananke/css/fonts.css | 82 +++++
static/assets/webfonts/anton/anton-regular.woff2 | 0
assets/ananke/css/fixes.css | 78 +++++
assets/ananke/css/highlighting.css | 356 +++++++++++++++++++++++++
config/documentation/markup.toml | 4
static/assets/webfonts/anton/anton-regular.woff | 0
config/documentation/params.toml | 2
static/assets/webfonts/anton/OFL.txt | 93 ++++++
static/assets/webfonts/anton/anton-regular.ttf | 0
15 files changed, 784 insertions(+), 4 deletions(-)
diff --git a/assets/ananke/css/fixes.css b/assets/ananke/css/fixes.css
new file mode 100644
index 0000000..df66b0c
--- /dev/null
+++ b/assets/ananke/css/fixes.css
@@ -0,0 +1,78 @@
+pre,
+.pre {
+ overflow: auto;
+}
+
+article {
+
+ table {
+ width: 100%;
+ border-collapse: collapse;
+
+ }
+
+ tr {
+ border: 1px solid #282828;
+ }
+
+ td,
+ th {
+ padding: 0.5rem;
+ text-align: left;
+ }
+
+}
+
+.lh-copy blockquote {
+ font-size: 1rem;
+ line-height: 1.6;
+}
+
+p code,
+li code,
+td code {
+ background-color: rgba(0, 0, 0, 0.15);
+}
+
+/* doing some evil font overriding stuff */
+.avenir,
+.serif {
+ font-family: var(--font-rubik) !important;
+}
+
+.athelas {
+ font-family: var(--font-anton) !important;
+}
+
+/* codebox */
+pre {
+ position: relative;
+ border-radius: 0.75rem;
+ overflow: hidden;
+}
+
+pre code[data-lang] {
+ display: block;
+ position: relative;
+ padding-top: 2.25rem;
+}
+
+pre code[data-lang]::before {
+ content: attr(data-lang);
+ position: absolute;
+ top: 0.75rem;
+ right: 0.75rem;
+ z-index: 2;
+
+ font-family: var(--font-anton);
+ padding: 0.35rem 0.55rem;
+ border: 1px solid rgba(255, 255, 255, 0.12);
+ border-radius: 999px;
+
+ background: rgba(255, 255, 255, 0.06);
+ backdrop-filter: blur(4px);
+ color: inherit;
+ text-transform: uppercase;
+ letter-spacing: 0.08em;
+ pointer-events: none;
+}
\ No newline at end of file
diff --git a/assets/ananke/css/fonts.css b/assets/ananke/css/fonts.css
new file mode 100644
index 0000000..8e3f929
--- /dev/null
+++ b/assets/ananke/css/fonts.css
@@ -0,0 +1,82 @@
+@font-face {
+ font-family: "Anton Regular";
+ src:
+ url("/assets/webfonts/anton/anton-regular.woff2") format("woff2"),
+ url("/assets/webfonts/anton/anton-regular.woff") format("woff"),
+ url("/assets/webfonts/anton/anton-regular.ttf") format("truetype");
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+}
+
+@font-face {
+ font-display: swap;
+ font-family: 'Rubik';
+ font-style: normal;
+ font-weight: 300;
+ src: url('/assets/webfonts/rubik/rubik-v31-latin_latin-ext-regular.woff2') format('woff2');
+ /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+}
+
+@font-face {
+ font-family: "Monaspace Krypton";
+ src:
+ url("/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff2") format("woff2"),
+ url("/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff") format("woff");
+ font-style: normal;
+ font-weight: 200 800;
+ font-display: swap;
+}
+
+:root {
+ --font-monaspace-krypton: "Monaspace Krypton", monospace;
+ --font-anton: "Anton Regular", sans-serif;
+ --font-weight-headlines: 400;
+ --font-rubik: "Rubik", sans-serif;
+}
+
+html,
+body {
+ font-family: var(--font-rubik);
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+.h1,
+.h2,
+.h3,
+.h4,
+.h5,
+.h6,
+.headline {
+ font-family: var(--font-anton);
+ font-weight: var(--font-weight-headlines);
+}
+
+.code-font,
+pre,
+code,
+kbd,
+samp {
+ font-size: 1.25rem;
+ font-family: var(--font-monaspace-krypton);
+ font-variant-ligatures: contextual;
+ font-feature-settings: "calt" 1;
+ font-variation-settings: 'wght' 350, 'wdth' 100, 'slnt' 0;
+ font-feature-settings:
+ "ss01" 1,
+ "ss02" 1,
+ "ss03" 1,
+ "ss04" 1,
+ "ss05" 1,
+ "ss06" 1,
+ "ss07" 1,
+ "ss08" 1,
+ "ss09" 1,
+ "ss10" 1,
+ "liga" 1;
+}
\ No newline at end of file
diff --git a/assets/ananke/css/highlighting.css b/assets/ananke/css/highlighting.css
new file mode 100644
index 0000000..6248a2d
--- /dev/null
+++ b/assets/ananke/css/highlighting.css
@@ -0,0 +1,356 @@
+/* Generated using: hugo gen chromastyles --style=gruvbox-light */
+
+/* Background */
+.bg {
+ color: #3c3836;
+ background-color: #fbf1c7;
+}
+
+/* PreWrapper */
+.chroma {
+ color: #3c3836;
+ background-color: #fbf1c7;
+ -webkit-text-size-adjust: none;
+}
+
+/* LineLink */
+.chroma .lnlinks {
+ outline: none;
+ text-decoration: none;
+ color: inherit
+}
+
+/* LineTableTD */
+.chroma .lntd {
+ vertical-align: top;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+/* LineTable */
+.chroma .lntable {
+ border-spacing: 0;
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+/* LineHighlight */
+.chroma .hl {
+ background-color: #e1d8b3
+}
+
+/* LineNumbersTable */
+.chroma .lnt {
+ white-space: pre;
+ -webkit-user-select: none;
+ user-select: none;
+ margin-right: 0.4em;
+ padding: 0 0.4em 0 0.4em;
+ color: #9d9b9a
+}
+
+/* LineNumbers */
+.chroma .ln {
+ white-space: pre;
+ -webkit-user-select: none;
+ user-select: none;
+ margin-right: 0.4em;
+ padding: 0 0.4em 0 0.4em;
+ color: #9d9b9a
+}
+
+/* Line */
+.chroma .line {
+ display: flex;
+}
+
+/* Keyword */
+.chroma .k {
+ color: #af3a03
+}
+
+/* KeywordConstant */
+.chroma .kc {
+ color: #af3a03
+}
+
+/* KeywordDeclaration */
+.chroma .kd {
+ color: #af3a03
+}
+
+/* KeywordNamespace */
+.chroma .kn {
+ color: #af3a03
+}
+
+/* KeywordPseudo */
+.chroma .kp {
+ color: #af3a03
+}
+
+/* KeywordReserved */
+.chroma .kr {
+ color: #af3a03
+}
+
+/* KeywordType */
+.chroma .kt {
+ color: #b57614
+}
+
+/* NameAttribute */
+.chroma .na {
+ color: #79740e;
+ font-weight: bold
+}
+
+/* NameConstant */
+.chroma .no {
+ color: #d3869b
+}
+
+/* NameEntity */
+.chroma .ni {
+ color: #b57614
+}
+
+/* NameException */
+.chroma .ne {
+ color: #fb4934
+}
+
+/* NameLabel */
+.chroma .nl {
+ color: #9d0006
+}
+
+/* NameTag */
+.chroma .nt {
+ color: #9d0006
+}
+
+/* NameBuiltin */
+.chroma .nb {
+ color: #b57614
+}
+
+/* NameBuiltinPseudo */
+.chroma .bp {
+ color: #b57614
+}
+
+/* NameFunction */
+.chroma .nf {
+ color: #b57614
+}
+
+/* NameFunctionMagic */
+.chroma .fm {
+ color: #b57614
+}
+
+/* LiteralString */
+.chroma .s {
+ color: #79740e
+}
+
+/* LiteralStringAffix */
+.chroma .sa {
+ color: #79740e
+}
+
+/* LiteralStringBacktick */
+.chroma .sb {
+ color: #79740e
+}
+
+/* LiteralStringChar */
+.chroma .sc {
+ color: #79740e
+}
+
+/* LiteralStringDelimiter */
+.chroma .dl {
+ color: #79740e
+}
+
+/* LiteralStringDoc */
+.chroma .sd {
+ color: #79740e
+}
+
+/* LiteralStringDouble */
+.chroma .s2 {
+ color: #79740e
+}
+
+/* LiteralStringEscape */
+.chroma .se {
+ color: #79740e
+}
+
+/* LiteralStringHeredoc */
+.chroma .sh {
+ color: #79740e
+}
+
+/* LiteralStringInterpol */
+.chroma .si {
+ color: #79740e
+}
+
+/* LiteralStringOther */
+.chroma .sx {
+ color: #79740e
+}
+
+/* LiteralStringRegex */
+.chroma .sr {
+ color: #79740e
+}
+
+/* LiteralStringSingle */
+.chroma .s1 {
+ color: #79740e
+}
+
+/* LiteralStringSymbol */
+.chroma .ss {
+ color: #076678
+}
+
+/* LiteralNumber */
+.chroma .m {
+ color: #8f3f71
+}
+
+/* LiteralNumberBin */
+.chroma .mb {
+ color: #8f3f71
+}
+
+/* LiteralNumberFloat */
+.chroma .mf {
+ color: #8f3f71
+}
+
+/* LiteralNumberHex */
+.chroma .mh {
+ color: #8f3f71
+}
+
+/* LiteralNumberInteger */
+.chroma .mi {
+ color: #8f3f71
+}
+
+/* LiteralNumberIntegerLong */
+.chroma .il {
+ color: #8f3f71
+}
+
+/* LiteralNumberOct */
+.chroma .mo {
+ color: #8f3f71
+}
+
+/* Operator */
+.chroma .o {
+ color: #af3a03
+}
+
+/* OperatorWord */
+.chroma .ow {
+ color: #af3a03
+}
+
+/* Comment */
+.chroma .c {
+ color: #928374;
+ font-style: italic
+}
+
+/* CommentHashbang */
+.chroma .ch {
+ color: #928374;
+ font-style: italic
+}
+
+/* CommentMultiline */
+.chroma .cm {
+ color: #928374;
+ font-style: italic
+}
+
+/* CommentSingle */
+.chroma .c1 {
+ color: #928374;
+ font-style: italic
+}
+
+/* CommentSpecial */
+.chroma .cs {
+ color: #928374;
+ font-style: italic
+}
+
+/* CommentPreproc */
+.chroma .cp {
+ color: #427b58
+}
+
+/* CommentPreprocFile */
+.chroma .cpf {
+ color: #427b58;
+ font-style: italic
+}
+
+/* GenericDeleted */
+.chroma .gd {
+ color: #282828;
+ background-color: #9d0006
+}
+
+/* GenericEmph */
+.chroma .ge {
+ color: #076678;
+ text-decoration: underline
+}
+
+/* GenericError */
+.chroma .gr {
+ background-color: #9d0006;
+ font-weight: bold
+}
+
+/* GenericHeading */
+.chroma .gh {
+ color: #79740e;
+ font-weight: bold
+}
+
+/* GenericInserted */
+.chroma .gi {
+ color: #282828;
+ background-color: #79740e
+}
+
+/* GenericOutput */
+.chroma .go {
+ color: #504945
+}
+
+/* GenericSubheading */
+.chroma .gu {
+ color: #79740e;
+ font-weight: bold
+}
+
+/* GenericTraceback */
+.chroma .gt {
+ background-color: #3c3836;
+ font-weight: bold
+}
\ No newline at end of file
diff --git a/config/documentation/hugo.toml b/config/documentation/hugo.toml
index 3967692..6d4b741 100644
--- a/config/documentation/hugo.toml
+++ b/config/documentation/hugo.toml
@@ -1,6 +1,5 @@
-baseURL = "http://localhost/"
+baseURL = "https://ananke-documentation.netlify.app/"
languageCode = "en-us"
title = "Ananke Documentation"
contentDir = "../docs"
enableRobotsTXT = true
-
diff --git a/config/documentation/markup.toml b/config/documentation/markup.toml
index be95fd1..9bcea92 100644
--- a/config/documentation/markup.toml
+++ b/config/documentation/markup.toml
@@ -1,2 +1,4 @@
[highlight]
-style = 'tokyonight-day'
+anchorLineNos = true
+codeFences = true
+noClasses = false
\ No newline at end of file
diff --git a/config/documentation/params.toml b/config/documentation/params.toml
index 32a3dd9..2e29e60 100644
--- a/config/documentation/params.toml
+++ b/config/documentation/params.toml
@@ -1,5 +1,5 @@
description = "Documentation for the GoHugo Ananke theme."
-custom_css = ["fixes.css", "highlighting.css"]
+custom_css = ["fixes.css", "highlighting.css", "fonts.css"]
[ananke]
show_recent_posts = false
diff --git a/static/assets/webfonts/anton/OFL.txt b/static/assets/webfonts/anton/OFL.txt
new file mode 100644
index 0000000..4761f2d
--- /dev/null
+++ b/static/assets/webfonts/anton/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2020 The Anton Project Authors (https://github.com/googlefonts/AntonFont.git)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/static/assets/webfonts/anton/anton-regular.ttf b/static/assets/webfonts/anton/anton-regular.ttf
new file mode 100644
index 0000000..3eb0e15
--- /dev/null
+++ b/static/assets/webfonts/anton/anton-regular.ttf
Binary files differ
diff --git a/static/assets/webfonts/anton/anton-regular.woff b/static/assets/webfonts/anton/anton-regular.woff
new file mode 100644
index 0000000..85f0c49
--- /dev/null
+++ b/static/assets/webfonts/anton/anton-regular.woff
Binary files differ
diff --git a/static/assets/webfonts/anton/anton-regular.woff2 b/static/assets/webfonts/anton/anton-regular.woff2
new file mode 100644
index 0000000..0f58c93
--- /dev/null
+++ b/static/assets/webfonts/anton/anton-regular.woff2
Binary files differ
diff --git a/static/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff b/static/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff
new file mode 100644
index 0000000..25015e4
--- /dev/null
+++ b/static/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff
Binary files differ
diff --git a/static/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff2 b/static/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff2
new file mode 100644
index 0000000..1ad7f01
--- /dev/null
+++ b/static/assets/webfonts/monaspace-krypton/monaspace-krypton-var.woff2
Binary files differ
diff --git a/static/assets/webfonts/rubik/OFL.txt b/static/assets/webfonts/rubik/OFL.txt
new file mode 100644
index 0000000..4f8bfd9
--- /dev/null
+++ b/static/assets/webfonts/rubik/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2015 The Rubik Project Authors (https://github.com/googlefonts/rubik)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+https://openfontlicense.org
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/static/assets/webfonts/rubik/README.txt b/static/assets/webfonts/rubik/README.txt
new file mode 100644
index 0000000..32e68f7
--- /dev/null
+++ b/static/assets/webfonts/rubik/README.txt
@@ -0,0 +1,77 @@
+Rubik Variable Font
+===================
+
+This download contains Rubik as both variable fonts and static fonts.
+
+Rubik is a variable font with this axis:
+ wght
+
+This means all the styles are contained in these files:
+ Rubik/Rubik-VariableFont_wght.ttf
+ Rubik/Rubik-Italic-VariableFont_wght.ttf
+
+If your app fully supports variable fonts, you can now pick intermediate styles
+that aren’t available as static fonts. Not all apps support variable fonts, and
+in those cases you can use the static font files for Rubik:
+ Rubik/static/Rubik-Light.ttf
+ Rubik/static/Rubik-Regular.ttf
+ Rubik/static/Rubik-Medium.ttf
+ Rubik/static/Rubik-SemiBold.ttf
+ Rubik/static/Rubik-Bold.ttf
+ Rubik/static/Rubik-ExtraBold.ttf
+ Rubik/static/Rubik-Black.ttf
+ Rubik/static/Rubik-LightItalic.ttf
+ Rubik/static/Rubik-Italic.ttf
+ Rubik/static/Rubik-MediumItalic.ttf
+ Rubik/static/Rubik-SemiBoldItalic.ttf
+ Rubik/static/Rubik-BoldItalic.ttf
+ Rubik/static/Rubik-ExtraBoldItalic.ttf
+ Rubik/static/Rubik-BlackItalic.ttf
+
+Get started
+-----------
+
+1. Install the font files you want to use
+
+2. Use your app's font picker to view the font family and all the
+available styles
+
+Learn more about variable fonts
+-------------------------------
+
+ https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
+ https://variablefonts.typenetwork.com
+ https://medium.com/variable-fonts
+
+In desktop apps
+
+ https://theblog.adobe.com/can-variable-fonts-illustrator-cc
+ https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
+
+Online
+
+ https://developers.google.com/fonts/docs/getting_started
+ https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
+ https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
+
+Installing fonts
+
+ MacOS: https://support.apple.com/en-us/HT201749
+ Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
+ Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
+
+Android Apps
+
+ https://developers.google.com/fonts/docs/android
+ https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
+
+License
+-------
+Please read the full license text (OFL.txt) to understand the permissions,
+restrictions and requirements for usage, redistribution, and modification.
+
+You can use them in your products & projects – print or digital,
+commercial or otherwise.
+
+This isn't legal advice, please consider consulting a lawyer and see the full
+license for all details.
diff --git a/static/assets/webfonts/rubik/rubik-v31-latin_latin-ext-regular.woff2 b/static/assets/webfonts/rubik/rubik-v31-latin_latin-ext-regular.woff2
new file mode 100644
index 0000000..26b859e
--- /dev/null
+++ b/static/assets/webfonts/rubik/rubik-v31-latin_latin-ext-regular.woff2
Binary files differ
--
Gitblit v1.10.0