diff --git a/docs/getting-started.md b/docs/getting-started.md index fcac49eb105b33676b639f930c97ca277379fc2c..13d23a34421a4c22c6d465d0e5ed83c7367e153d 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -580,7 +580,7 @@ in your `mkdocs.yml`: ``` yaml extra: - disqus: 'mkdocs-material' + disqus: 'your-shortname' ``` The comments section is inserted on *every page, except the index page*. diff --git a/material/base.html b/material/base.html index a1650e0a28b409f50bbf83d059dbd68e6b977f32..428f38be63af9ececad67c0445f61091b2469dd5 100644 --- a/material/base.html +++ b/material/base.html @@ -154,8 +154,8 @@ {% endblock %} {% endblock %} {% block disqus %} - {% if config.extra.disqus and not page.is_homepage %} - <h2 id="__comments">{{ lang.t("meta.comments") }}</h2> + {% if (config.extra.disqus and not page.is_homepage) or + (page and page.meta and page.meta.disqus) %} {% include "partials/integrations/disqus.html" %} {% endif %} {% endblock %} diff --git a/material/partials/integrations/disqus.html b/material/partials/integrations/disqus.html index 5f003ca41d9ed849d8f66186e4d8a8388e4154b4..666ca08c6b47ce3d232a3471b3390c9372319c2f 100644 --- a/material/partials/integrations/disqus.html +++ b/material/partials/integrations/disqus.html @@ -1,14 +1,21 @@ -<div id="disqus_thread"></div> -<script> - var disqus_config = function () { - this.page.url = "{{ page.canonical_url }}"; - this.page.identifier = - "{{ page.canonical_url | replace(config.site_url, "") }}"; - }; - (function() { - var d = document, s = d.createElement("script"); - s.src = "//{{ config.extra.disqus }}.disqus.com/embed.js"; - s.setAttribute("data-timestamp", +new Date()); - (d.head || d.body).appendChild(s); - })(); -</script> +{% set disqus = config.extra.disqus %} +{% if page and page.meta and page.meta.disqus is string %} + {% set disqus = page.meta.disqus %} +{% endif %} +{% if disqus %} + <h2 id="__comments">{{ lang.t("meta.comments") }}</h2> + <div id="disqus_thread"></div> + <script> + var disqus_config = function () { + this.page.url = "{{ page.canonical_url }}"; + this.page.identifier = + "{{ page.canonical_url | replace(config.site_url, "") }}"; + }; + (function() { + var d = document, s = d.createElement("script"); + s.src = "//{{ disqus }}.disqus.com/embed.js"; + s.setAttribute("data-timestamp", +new Date()); + (d.head || d.body).appendChild(s); + })(); + </script> +{% endif %} diff --git a/material/partials/toc.html b/material/partials/toc.html index f268ac0c6cf3f2784593e798b32ab7b3193b27cf..482d679851d0184e3b9c73ab22c96397df31117b 100644 --- a/material/partials/toc.html +++ b/material/partials/toc.html @@ -17,7 +17,11 @@ </a> </li> {% endif %} - {% if config.extra.disqus and not page.is_homepage %} + {% set disqus = config.extra.disqus %} + {% if page and page.meta and page.meta.disqus is string %} + {% set disqus = page.meta.disqus %} + {% endif %} + {% if disqus %} <li class="md-nav__item"> <a href="#__comments" title="{{ lang.t('meta.comments') }}" class="md-nav__link md-nav__link--active"> {{ lang.t("meta.comments") }} diff --git a/src/base.html b/src/base.html index 092b6adc5f05f6ed804cc59f648ef7632d7fdf97..edefba32518966a6582c46e7930f3c9cc861cf0f 100644 --- a/src/base.html +++ b/src/base.html @@ -288,8 +288,8 @@ <!-- Disqus integration --> {% block disqus %} - {% if config.extra.disqus and not page.is_homepage %} - <h2 id="__comments">{{ lang.t("meta.comments") }}</h2> + {% if (config.extra.disqus and not page.is_homepage) or + (page and page.meta and page.meta.disqus) %} {% include "partials/integrations/disqus.html" %} {% endif %} {% endblock %} diff --git a/src/partials/integrations/disqus.html b/src/partials/integrations/disqus.html index f8a458e29e921cb6c526f5c36dbc6a5b6ebb5eda..1cdfec838f827b8a39c816f1188dcbbc1f9776b6 100644 --- a/src/partials/integrations/disqus.html +++ b/src/partials/integrations/disqus.html @@ -20,18 +20,27 @@ IN THE SOFTWARE. --> +<!-- Set from config but allow override --> +{% set disqus = config.extra.disqus %} +{% if page and page.meta and page.meta.disqus is string %} + {% set disqus = page.meta.disqus %} +{% endif %} + <!-- Disqus integration --> -<div id="disqus_thread"></div> -<script> - var disqus_config = function () { - this.page.url = "{{ page.canonical_url }}"; - this.page.identifier = - "{{ page.canonical_url | replace(config.site_url, "") }}"; - }; - (function() { - var d = document, s = d.createElement("script"); - s.src = "//{{ config.extra.disqus }}.disqus.com/embed.js"; - s.setAttribute("data-timestamp", +new Date()); - (d.head || d.body).appendChild(s); - })(); -</script> +{% if disqus %} + <h2 id="__comments">{{ lang.t("meta.comments") }}</h2> + <div id="disqus_thread"></div> + <script> + var disqus_config = function () { + this.page.url = "{{ page.canonical_url }}"; + this.page.identifier = + "{{ page.canonical_url | replace(config.site_url, "") }}"; + }; + (function() { + var d = document, s = d.createElement("script"); + s.src = "//{{ disqus }}.disqus.com/embed.js"; + s.setAttribute("data-timestamp", +new Date()); + (d.head || d.body).appendChild(s); + })(); + </script> +{% endif %} diff --git a/src/partials/toc.html b/src/partials/toc.html index 5a37edf1cc476eff0c152998c4bd518f75133045..7265119f3f8c5eca33bddc73d586ca81df55e9cf 100644 --- a/src/partials/toc.html +++ b/src/partials/toc.html @@ -55,7 +55,11 @@ {% endif %} <!-- Disqus integration --> - {% if config.extra.disqus and not page.is_homepage %} + {% set disqus = config.extra.disqus %} + {% if page and page.meta and page.meta.disqus is string %} + {% set disqus = page.meta.disqus %} + {% endif %} + {% if disqus %} <li class="md-nav__item"> <a href="#__comments" title="{{ lang.t('meta.comments') }}" class="md-nav__link md-nav__link--active">