mkdocs-material/docs/setup/changing-the-logo-and-icons.md

165 lines
6.2 KiB
Markdown
Raw Normal View History

2020-07-21 19:39:27 +03:00
# Changing the logo and icons
2022-03-22 21:05:37 +03:00
When installing Material for MkDocs, you immediately get access to _over 8,000
2020-07-21 19:39:27 +03:00
icons_ ready to be used for customization of specific parts of the theme and/or
2021-10-10 18:39:53 +03:00
when writing your documentation in Markdown. Not enough? You can also add
[additional icons] with minimal effort.
2020-07-21 19:39:27 +03:00
2021-10-10 18:39:53 +03:00
[additional icons]: #additional-icons
2020-07-21 19:39:27 +03:00
## Configuration
### Logo
2022-09-11 20:25:40 +03:00
[:octicons-tag-24: 0.1.0][Logo support] ·
:octicons-milestone-24: Default: :material-library: `material/library`
2020-07-21 19:39:27 +03:00
2021-10-10 18:39:53 +03:00
The logo can be changed to a user-provided image (any type, incl. `*.png` and
2021-03-07 17:40:20 +03:00
`*.svg`) located in the `docs` folder, or to any icon bundled with the theme.
Add the following lines to `mkdocs.yml`:
2021-10-10 18:39:53 +03:00
=== ":octicons-image-16: Image"
2020-07-21 19:39:27 +03:00
``` yaml
theme:
logo: assets/logo.png
2020-07-21 19:39:27 +03:00
```
2021-10-10 18:39:53 +03:00
=== ":octicons-package-16: Icon, bundled"
2020-07-21 19:39:27 +03:00
``` yaml
theme:
icon:
logo: material/library # (1)!
2020-07-21 19:39:27 +03:00
```
1. Enter a few keywords to find the perfect icon using our [icon search] and
click on the shortcode to copy it to your clipboard:
<div class="mdx-iconsearch" data-mdx-component="iconsearch">
<input class="md-input md-input--stretch mdx-iconsearch__input" placeholder="Search icon" data-mdx-component="iconsearch-query" value="material library" />
<div class="mdx-iconsearch-result" data-mdx-component="iconsearch-result" data-mdx-mode="file">
<div class="mdx-iconsearch-result__meta"></div>
<ol class="mdx-iconsearch-result__list"></ol>
</div>
</div>
2022-09-11 20:25:40 +03:00
[Logo support]: https://github.com/squidfunk/mkdocs-material/releases/tag/0.1.0
[icon search]: ../reference/icons-emojis.md#search
2020-07-21 19:39:27 +03:00
2021-03-14 16:09:13 +03:00
Normally, the logo in the header and sidebar links to the homepage of the
documentation, which is the same as `site_url`. This behavior can be changed
with the following configuration:
``` yaml
extra:
homepage: https://example.com
```
2020-07-21 19:39:27 +03:00
### Favicon
2022-09-11 20:25:40 +03:00
[:octicons-tag-24: 0.1.0][Favicon support] ·
:octicons-milestone-24: Default: [`assets/images/favicon.png`][Favicon default]
2020-07-21 19:39:27 +03:00
2021-10-10 18:39:53 +03:00
The favicon can be changed to a path pointing to a user-provided image, which
must be located in the `docs` folder. Add the following lines to `mkdocs.yml`:
2020-07-21 19:39:27 +03:00
``` yaml
theme:
favicon: images/favicon.png
```
2022-09-11 20:25:40 +03:00
[Favicon support]: https://github.com/squidfunk/mkdocs-material/releases/tag/0.1.0
[Favicon default]: https://github.com/squidfunk/mkdocs-material/blob/master/material/assets/images/favicon.png
2020-07-21 19:39:27 +03:00
2023-03-31 12:48:05 +03:00
### Site icons
Most icons you see on your site, such as navigation icons, can also be changed. For example,
to change the navigation arrows in the footer, add the following lines to `mkdocs.yml`:
```yaml
theme:
icon:
previous: fontawesome/solid/angle-left
next: fontawesome/solid/angle-right
```
The following is a complete list of customizable icons used by the theme:
| Icon name | Purpose |
|:-------------|:------------------------------------------------------------------------------|
| `logo` | See [Logo](#logo) |
| `menu` | Open drawer |
| `alternate` | Change language |
| `search` | Search icon |
| `share` | Share search |
| `close` | Reset search, dismiss announcements |
| `top` | Back-to-top button |
| `edit` | Edit current page |
| `view` | View page source |
| `repo` | Repository icon |
| `admonition` | See [Admonition icons](../reference/admonitions.md#admonition-icons) |
| `tag` | See [Tag icons and identifiers](setting-up-tags.md#tag-icons-and-identifiers) |
| `previous` | Previous page in footer, hide search on mobile |
| `next` | Next page in footer |
2020-07-21 19:39:27 +03:00
## Customization
### Additional icons
2021-10-10 18:39:53 +03:00
In order to use custom icons, [extend the theme] and create a new folder named
`.icons` in the [`custom_dir`][custom_dir] you want to use for overrides.
Next, add your `*.svg` icons into a subfolder of the `.icons` folder. Let's say
2022-02-27 17:08:31 +03:00
you downloaded and unpacked the [Bootstrap] icon set, and want to add it to
2020-07-21 19:39:27 +03:00
your project documentation. The structure of your project should look like this:
``` { .sh .no-copy }
2020-07-21 19:39:27 +03:00
.
├─ overrides/
│ └─ .icons/
│ └─ bootstrap/
│ └─ *.svg
└─ mkdocs.yml
```
Then, add the following lines to `mkdocs.yml`:
``` yaml
markdown_extensions:
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
options:
custom_icons:
- overrides/.icons
```
2022-04-02 15:42:13 +03:00
You can now use all :fontawesome-brands-bootstrap: Bootstrap icons anywhere in
Markdown files, as well as everywhere icons can be used in `mkdocs.yml`.
However, note that the syntaxes are slightly different:
- __Using icons in configuration__: take the path of the `*.svg` icon file
starting at the `.icons` folder and drop the file extension, e.g. for
`.icons/bootstrap/envelope-paper.svg`, use:
``` yaml
theme:
icon:
2022-04-02 16:19:49 +03:00
logo: bootstrap/envelope-paper
2022-04-02 15:42:13 +03:00
```
- __Using icons in Markdown files__: additionally to taking the path from the
`.icons` folder as noted above, replace all `/` with `-` and enclose the icon
shortcode in two colons:
```
2022-04-02 16:19:49 +03:00
:bootstrap-envelope-paper:
2022-04-02 15:42:13 +03:00
```
For further notes on icon usage, please consult the [icon reference].
2020-07-21 19:39:27 +03:00
2021-10-10 18:39:53 +03:00
[extend the theme]: ../customization.md#extending-the-theme
[custom_dir]: https://www.mkdocs.org/user-guide/configuration/#custom_dir
[Bootstrap]: https://icons.getbootstrap.com/
2022-04-02 15:42:13 +03:00
[icon reference]: ../reference/icons-emojis.md#using-icons