mkdocs-material/docs/setup/changing-the-fonts.md

113 lines
2.7 KiB
Markdown
Raw Normal View History

---
template: overrides/main.html
---
# Changing the fonts
2020-07-17 00:55:37 +03:00
Material for MkDocs makes it easy to change the typeface of your project
documentation, as it directly integrates with [Google Fonts][1]. Alternatively,
2020-07-20 20:28:13 +03:00
fonts can be custom-loaded if self-hosting is preferred for data privacy reasons
or another destination should be used.
2020-07-17 00:55:37 +03:00
[1]: https://fonts.google.com
## Configuration
2020-07-17 00:55:37 +03:00
### Regular font
2020-07-20 16:18:09 +03:00
[:octicons-file-code-24: Source][2] ·
:octicons-milestone-24: Default: [`Roboto`][3]
2020-07-17 00:55:37 +03:00
The _regular font_ is used for all body copy, headlines, and essentially
everything that does not need to be proportionally spaced. It can be set to any
valid [Google Font][1] with:
``` yaml
theme:
font:
2020-07-17 00:55:37 +03:00
text: Roboto
```
The typeface will be loaded in 300, 400, _400i_ and __700__.
2020-07-17 00:55:37 +03:00
[2]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html#L120-L139
[3]: https://fonts.google.com/specimen/Roboto
### Proportional font
2020-07-20 16:18:09 +03:00
[:octicons-file-code-24: Source][2] ·
:octicons-milestone-24: Default: [`Roboto Mono`][4]
2020-07-17 00:55:37 +03:00
The _proportional font_ is used for code blocks and can be configured separately.
Just like the regular font, it can be set to any valid [Google Font][1] from
`mkdocs.yml` with:
``` yaml
theme:
2020-07-17 00:55:37 +03:00
font:
code: Roboto Mono
```
2020-07-17 00:55:37 +03:00
The typeface will be loaded in 400.
[4]: https://fonts.google.com/specimen/Roboto+Mono
## Customization
2020-07-21 17:01:22 +03:00
If you want to load fonts from other destinations or don't want to use Google
Fonts for [data privacy][5] reasons, e.g. _due to GDPR_, you may customize
font loading as described below.
2020-07-21 19:39:27 +03:00
### Disabling font loading
2020-07-21 17:01:22 +03:00
2020-07-20 16:18:09 +03:00
[:octicons-file-code-24: Source][2] ·
2020-07-21 19:39:27 +03:00
:octicons-mortar-board-24: Difficulty: _easy_
2020-07-20 16:18:09 +03:00
2020-07-21 17:01:22 +03:00
If you want to prevent typefaces from being loaded from Google Fonts and fall
back to system fonts, add the following lines to `mkdocs.yml`:
2020-07-17 00:55:37 +03:00
``` yaml
theme:
font: false
```
2020-07-21 17:01:22 +03:00
### Additional fonts
[:octicons-file-code-24: Source][2] ·
:octicons-mortar-board-24: Difficulty: _easy_
If you want to load an (additional) font from another destination, or override
the fallback font, you can use an [additional stylesheet][8] to add the
corresponding `@font-face` definition:
2020-07-17 00:55:37 +03:00
``` css
@font-face {
font-family: "<font>";
src: "...";
}
```
2020-07-21 19:39:27 +03:00
The font can then be applied to specific elements, e.g. only headlines, or
globally to be used as the site-wide regular or proportional font:
2020-07-17 00:55:37 +03:00
2020-07-21 19:39:27 +03:00
=== "Regular font"
2020-07-17 00:55:37 +03:00
``` css
body, input {
font-family: "<font>", -apple-system, Helvetica, Arial, sans-serif;
}
```
2020-07-21 19:39:27 +03:00
=== "Proportional font"
2020-07-17 00:55:37 +03:00
``` css
pre, code, kbd {
font-family: "<font>", SFMono-Regular, Consolas, Menlo, monospace;
}
```
[5]: ../data-privacy.md
[6]: ../customization.md#extending-the-theme
[7]: ../customization.md#overriding-blocks
[8]: ../customization.md#additional-stylesheets