2020-07-22 14:37:14 +03:00
|
|
|
---
|
|
|
|
template: overrides/main.html
|
|
|
|
---
|
|
|
|
|
2020-07-22 12:57:41 +03:00
|
|
|
# Adding a comment system
|
|
|
|
|
|
|
|
Material for MkDocs is natively integrated with [Disqus][1], a comment system
|
|
|
|
that provides a wide range of features like social integrations, user profiles,
|
|
|
|
as well as spam and moderation tools. Of course, other comment systems can be
|
|
|
|
integrated, too.
|
|
|
|
|
|
|
|
[1]: https://disqus.com/
|
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
2020-07-22 14:37:14 +03:00
|
|
|
### Disqus
|
|
|
|
|
2020-07-23 16:34:43 +03:00
|
|
|
[:octicons-file-code-24: Source][2] ·
|
|
|
|
:octicons-milestone-24: Default: _none_
|
|
|
|
|
|
|
|
First, ensure you've set [`site_url`][3] in `mkdocs.yml`. Then, to integrate
|
2020-07-22 14:37:14 +03:00
|
|
|
Material for MkDocs with [Disqus][1], create an account and a site giving you a
|
2020-07-23 16:34:43 +03:00
|
|
|
[shortname][4], and add it to `mkdocs.yml`:
|
2020-07-22 14:37:14 +03:00
|
|
|
|
|
|
|
``` yaml
|
|
|
|
extra:
|
|
|
|
disqus: <shortname>
|
|
|
|
```
|
2020-07-22 12:57:41 +03:00
|
|
|
|
2020-07-22 14:37:14 +03:00
|
|
|
This will insert a comment system on _every page, except the index page_.
|
2020-07-22 12:57:41 +03:00
|
|
|
|
2020-07-23 16:34:43 +03:00
|
|
|
[2]: https://github.com/squidfunk/mkdocs-material/blob/master/src/partials/integrations/disqus.html
|
|
|
|
[3]: https://www.mkdocs.org/user-guide/configuration/#site_url
|
|
|
|
[4]: https://help.disqus.com/en/articles/1717111-what-s-a-shortname
|
2020-07-22 12:57:41 +03:00
|
|
|
|
2020-07-27 15:44:47 +03:00
|
|
|
### Metadata
|
|
|
|
|
|
|
|
The [Metadata][5] extension, which is part of the standard Markdown library,
|
|
|
|
adds the ability to add [front matter][6] to a document and can be enabled via
|
|
|
|
`mkdocs.yml`:
|
|
|
|
|
|
|
|
``` yaml
|
|
|
|
markdown_extensions:
|
|
|
|
- meta
|
|
|
|
```
|
|
|
|
|
|
|
|
Front matter is written as a series of key-value pairs at the beginning of the
|
|
|
|
Markdown document, delimited by a blank line which ends the YAML context.
|
|
|
|
|
|
|
|
[5]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html
|
|
|
|
[6]: https://jekyllrb.com/docs/front-matter/
|
|
|
|
|
2020-07-22 12:57:41 +03:00
|
|
|
## Customization
|
|
|
|
|
|
|
|
### Selective integration
|
2020-07-22 14:37:14 +03:00
|
|
|
|
2020-07-23 16:34:43 +03:00
|
|
|
[:octicons-file-code-24: Source][2] ·
|
|
|
|
:octicons-mortar-board-24: Difficulty: _easy_
|
|
|
|
|
2020-07-27 15:44:47 +03:00
|
|
|
If the [Metadata][7] extension is enabled, you can disable or enable Disqus for
|
2020-07-22 14:37:14 +03:00
|
|
|
specific pages by adding the following to the front matter of a page:
|
|
|
|
|
|
|
|
=== "Enable Disqus"
|
|
|
|
|
2020-11-16 00:25:11 +03:00
|
|
|
``` yaml
|
2020-07-22 14:37:14 +03:00
|
|
|
---
|
|
|
|
disqus: <shortname>
|
|
|
|
---
|
2020-11-16 00:25:11 +03:00
|
|
|
|
|
|
|
...
|
2020-07-22 14:37:14 +03:00
|
|
|
```
|
|
|
|
|
|
|
|
=== "Disable Disqus"
|
|
|
|
|
2020-11-16 00:25:11 +03:00
|
|
|
``` yaml
|
2020-07-22 14:37:14 +03:00
|
|
|
---
|
|
|
|
disqus: ""
|
|
|
|
---
|
2020-11-16 00:25:11 +03:00
|
|
|
|
|
|
|
...
|
2020-07-22 14:37:14 +03:00
|
|
|
```
|
|
|
|
|
2020-07-27 15:44:47 +03:00
|
|
|
[7]: #metadata
|
2020-07-31 10:35:24 +03:00
|
|
|
|
|
|
|
### Other comment systems
|
|
|
|
|
|
|
|
[:octicons-file-code-24: Source][8] ·
|
|
|
|
:octicons-mortar-board-24: Difficulty: _easy_
|
|
|
|
|
|
|
|
In order to integrate another JavaScript-based comment system provider, you can
|
|
|
|
[extend the theme][9] and [override the `disqus` block][10]:
|
|
|
|
|
|
|
|
``` html
|
|
|
|
{% block disqus %}
|
|
|
|
<!-- Add custom comment system integration here -->
|
|
|
|
{% endblock %}
|
|
|
|
```
|
|
|
|
|
2020-11-07 20:01:46 +03:00
|
|
|
[8]: https://github.com/squidfunk/mkdocs-material/blob/master/src/base.html#L325-L328
|
2020-07-31 10:35:24 +03:00
|
|
|
[9]: ../customization.md#extending-the-theme
|
|
|
|
[10]: ../customization.md#overriding-blocks
|