mirror of
https://github.com/thegeeklab/hugo-geekblog.git
synced 2024-11-23 05:30:41 +00:00
feat: add custom css properties to change fonts (#584)
This commit is contained in:
parent
7ecb9a2c07
commit
9c27c6658c
@ -64,4 +64,33 @@ If you want to add more Favicon formats you have to [overwrite](https://gohugo.i
|
|||||||
<meta name="theme-color" content="#efefef">
|
<meta name="theme-color" content="#efefef">
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Fonts
|
||||||
|
|
||||||
|
To use a custom font, it needs to be specified first. While there are many ways to do this, we recommend to use `@font-face` as it supports local as well as remote fonts. If you want to serve the fonts from your own server, you have to place them in the `static/fonts` folder of your project.
|
||||||
|
|
||||||
|
The font registration is done in the `custom.css` file. There are also a few custom CSS properties available to simplify the usage of custom fonts.
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
<!-- prettier-ignore -->
|
||||||
|
```css
|
||||||
|
@font-face {
|
||||||
|
font-family: "DancingScript";
|
||||||
|
src:
|
||||||
|
url("fonts/DancingScript.woff2") format("woff2"),
|
||||||
|
url("fonts/DancingScript.woff") format("woff");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--code-max-height: 60rem;
|
||||||
|
|
||||||
|
--header-font-family: "DancingScript";
|
||||||
|
--body-font-family: "DancingScript";
|
||||||
|
--code-font-family: "DancingScript";
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Happy customizing!
|
Happy customizing!
|
||||||
|
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
:root {
|
:root {
|
||||||
--code-max-height: 60rem;
|
--code-max-height: 60rem;
|
||||||
|
|
||||||
|
|
||||||
|
--header-font-family: "DancingScript";
|
||||||
|
--body-font-family: "DancingScript";
|
||||||
|
--code-font-family: "DancingScript";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Light mode theming */
|
/* Light mode theming */
|
||||||
@ -156,3 +161,14 @@
|
|||||||
--footer-link-color-visited: #ffcc5c;
|
--footer-link-color-visited: #ffcc5c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: "DancingScript";
|
||||||
|
src:
|
||||||
|
url("fonts/DancingScript.woff2") format("woff2"),
|
||||||
|
url("fonts/DancingScript.woff") format("woff");
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@ -1,7 +1,13 @@
|
|||||||
:root,
|
:root {
|
||||||
:root[color-theme="light"] {
|
|
||||||
--code-max-height: none;
|
--code-max-height: none;
|
||||||
|
|
||||||
|
--header-font-family: #{meta.inspect($header-font-family)};
|
||||||
|
--body-font-family: #{meta.inspect($body-font-family)};
|
||||||
|
--code-font-family: #{meta.inspect($code-font-family)};
|
||||||
|
}
|
||||||
|
|
||||||
|
:root,
|
||||||
|
:root[color-theme="light"] {
|
||||||
@include color_theme_light;
|
@include color_theme_light;
|
||||||
@include code_theme_light;
|
@include code_theme_light;
|
||||||
}
|
}
|
||||||
|
@ -45,10 +45,12 @@ $link-color-visited: rgba(119, 73, 191, 1) !default;
|
|||||||
$link-color-footer: rgba(246, 107, 14, 1) !default;
|
$link-color-footer: rgba(246, 107, 14, 1) !default;
|
||||||
|
|
||||||
$body-background: white !default;
|
$body-background: white !default;
|
||||||
|
$body-font-family: "Liberation Sans", sans-serif !default;
|
||||||
$body-font-color: $gray-800 !default;
|
$body-font-color: $gray-800 !default;
|
||||||
$body-font-weight: normal !default;
|
$body-font-weight: normal !default;
|
||||||
$body-min-width: 20rem !default;
|
$body-min-width: 20rem !default;
|
||||||
|
|
||||||
|
$code-font-family: "Liberation Mono", monospace !default;
|
||||||
$code-font-color: rgba(95, 95, 95, 1) !default;
|
$code-font-color: rgba(95, 95, 95, 1) !default;
|
||||||
$code-font-color-dark: rgba(185, 185, 185, 1) !default;
|
$code-font-color-dark: rgba(185, 185, 185, 1) !default;
|
||||||
|
|
||||||
@ -67,6 +69,7 @@ $link-color-visited-dark: rgba(186, 142, 240) !default;
|
|||||||
$code-background: lighten($gray-200, 4) !default;
|
$code-background: lighten($gray-200, 4) !default;
|
||||||
$code-background-dark: darken($body-background-dark, 3) !default;
|
$code-background-dark: darken($body-background-dark, 3) !default;
|
||||||
|
|
||||||
|
$header-font-family: "Metropolis", sans-serif !default;
|
||||||
$header-height: 3.5rem !default;
|
$header-height: 3.5rem !default;
|
||||||
$menu-width: 16rem !default;
|
$menu-width: 16rem !default;
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Liberation Sans";
|
font-family: "Liberation Sans";
|
||||||
src: url("fonts/LiberationSans-Bold.woff2") format("woff2"),
|
src:
|
||||||
|
url("fonts/LiberationSans-Bold.woff2") format("woff2"),
|
||||||
url("fonts/LiberationSans-Bold.woff") format("woff");
|
url("fonts/LiberationSans-Bold.woff") format("woff");
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@ -9,7 +10,8 @@
|
|||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Liberation Sans";
|
font-family: "Liberation Sans";
|
||||||
src: url("fonts/LiberationSans-BoldItalic.woff2") format("woff2"),
|
src:
|
||||||
|
url("fonts/LiberationSans-BoldItalic.woff2") format("woff2"),
|
||||||
url("fonts/LiberationSans-BoldItalic.woff") format("woff");
|
url("fonts/LiberationSans-BoldItalic.woff") format("woff");
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
@ -18,7 +20,8 @@
|
|||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Liberation Sans";
|
font-family: "Liberation Sans";
|
||||||
src: url("fonts/LiberationSans-Italic.woff2") format("woff2"),
|
src:
|
||||||
|
url("fonts/LiberationSans-Italic.woff2") format("woff2"),
|
||||||
url("fonts/LiberationSans-Italic.woff") format("woff");
|
url("fonts/LiberationSans-Italic.woff") format("woff");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
@ -27,7 +30,8 @@
|
|||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Liberation Sans";
|
font-family: "Liberation Sans";
|
||||||
src: url("fonts/LiberationSans.woff2") format("woff2"),
|
src:
|
||||||
|
url("fonts/LiberationSans.woff2") format("woff2"),
|
||||||
url("fonts/LiberationSans.woff") format("woff");
|
url("fonts/LiberationSans.woff") format("woff");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@ -36,7 +40,8 @@
|
|||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Liberation Mono";
|
font-family: "Liberation Mono";
|
||||||
src: url("fonts/LiberationMono.woff2") format("woff2"),
|
src:
|
||||||
|
url("fonts/LiberationMono.woff2") format("woff2"),
|
||||||
url("fonts/LiberationMono.woff") format("woff");
|
url("fonts/LiberationMono.woff") format("woff");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@ -45,7 +50,9 @@
|
|||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "Metropolis";
|
font-family: "Metropolis";
|
||||||
src: url("fonts/Metropolis.woff2") format("woff2"), url("fonts/Metropolis.woff") format("woff");
|
src:
|
||||||
|
url("fonts/Metropolis.woff2") format("woff2"),
|
||||||
|
url("fonts/Metropolis.woff") format("woff");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-display: swap;
|
font-display: swap;
|
||||||
@ -53,7 +60,8 @@
|
|||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: "GeekblogIcons";
|
font-family: "GeekblogIcons";
|
||||||
src: url("fonts/GeekblogIcons.woff2") format("woff2"),
|
src:
|
||||||
|
url("fonts/GeekblogIcons.woff2") format("woff2"),
|
||||||
url("fonts/GeekblogIcons.woff") format("woff");
|
url("fonts/GeekblogIcons.woff") format("woff");
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
@ -61,14 +69,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
font-family: "Liberation Sans", sans-serif;
|
font-family: var(--body-font-family);
|
||||||
}
|
}
|
||||||
|
|
||||||
code,
|
code,
|
||||||
.gblog-error__title {
|
.gblog-error__title {
|
||||||
font-family: "Liberation Mono", monospace;
|
font-family: var(--code-font-family);
|
||||||
}
|
}
|
||||||
|
|
||||||
.gblog-header {
|
.gblog-header {
|
||||||
font-family: "Metropolis", sans-serif;
|
font-family: var(--header-font-family);
|
||||||
}
|
}
|
||||||
|
@ -243,7 +243,7 @@
|
|||||||
|
|
||||||
// {{< mermaid >}}
|
// {{< mermaid >}}
|
||||||
.gblog-mermaid {
|
.gblog-mermaid {
|
||||||
font-family: "Liberation Sans", sans-serif;
|
font-family: var(--body-font-family);
|
||||||
|
|
||||||
// Fix height of mermaid SVG elements (see https://github.com/mermaid-js/mermaid/issues/2481)
|
// Fix height of mermaid SVG elements (see https://github.com/mermaid-js/mermaid/issues/2481)
|
||||||
> svg {
|
> svg {
|
||||||
@ -258,7 +258,7 @@
|
|||||||
&__default {
|
&__default {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-family: "Liberation Mono", monospace;
|
font-family: var(--code-font-family);
|
||||||
}
|
}
|
||||||
|
|
||||||
&__meta {
|
&__meta {
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
@use "sass:map";
|
@use "sass:map";
|
||||||
|
@use "sass:meta";
|
||||||
|
|
||||||
@import "_defaults";
|
@import "_defaults";
|
||||||
@import "_color_mode";
|
@import "_color_mode";
|
||||||
|
Loading…
Reference in New Issue
Block a user