Jekyll 如何在github pages博客中使用Disqs评论(降价)?

Jekyll 如何在github pages博客中使用Disqs评论(降价)?,jekyll,github-pages,disqus,Jekyll,Github Pages,Disqus,是否可以使用github页面在博客中集成Disqs html评论?我喜欢使用github、jekyll和markdown来管理我的网站和博客,这样做很简单。不过,我想包括discus的评论功能。但是,由于markdown生成html-我如何为Discus包含html/js代码?没错,Jekyll将从您的markdown文件中呈现html(本地使用Jekyll,或通过推到gh页面远程呈现)。然而,这并不重要,因为这种代码必须在一个层中,所以不在标记源文件中 _layouts `- defa

是否可以使用github页面在博客中集成Disqs html评论?我喜欢使用github、jekyll和markdown来管理我的网站和博客,这样做很简单。不过,我想包括discus的评论功能。但是,由于markdown生成html-我如何为Discus包含html/js代码?

没错,Jekyll将从您的markdown文件中呈现html(本地使用Jekyll,或通过推到gh页面远程呈现)。然而,这并不重要,因为这种代码必须在一个层中,所以不在标记源文件中

_layouts
    `- default.html
    `- post.html <- `layout: default` in the YAML header
_posts
    `- YYYY-MM-DD-my-post.md <- `layout: post` in the YAML header
\u布局
`-default.html

`-post.html在您的
post.html
中包含discus注释,并为注释计数链接设置标识符:

<div id="disqus_thread"></div>
<script type="text/javascript">
    var disqus_shortname = '<your-disqus-name>'; 
    var disqus_identifier = '{{ page.id }}'; 
...
</script>
然后使用
data discus identifier
属性将链接添加到评论中,以便在博客主页上的每篇文章之后显示评论计数:

<a href="{{post.id}}" data-disqus-identifier="{{post.id}}">Leave a comment</a>

最简单、最干净的方法是使用Discus在您的
\u includes/
文件夹(例如
\u includes/discus.HTML
)中提供的HTML创建一个分部,然后将其包含在您的帖子布局文件中(例如
\u layouts/post.md
):

您可以在这里看到一个示例:和。

有一种“官方”方法来完成此任务。您可以在链接中找到Disqus指示。具体步骤如下:

  • 将名为
    comments
    的变量添加到YAML前端(即您的post文件的标题),并将其值设置为
    true
    。前面的物质示例可能如下所示:

     layout: default
     comments: true
     # other options
    
  • 创建一个新的模板文件(即
    discus.html
    ),并将其放在
    {%if page.comments%}
    {%-endif-%}
    之间

  • discus.html
    文件包含到您的帖子模板中


  • 希望有帮助:)

    打开config.yml并添加以下代码行
    discus\u shortname:username
    。将
    用户名
    替换为您的短名

    在Jekyll的
    \u includes
    文件夹中创建一个名为
    discus_comments.html
    的文件,并将您的discus通用嵌入代码添加到
    {%if page.comments%}
    {%endif%}
    液体标记之间

    {% raw %}{% if page.comments != false %}
    <div id="disqus_thread"></div>
    <script type="text/javascript">
      var disqus_shortname  = '{{ site.disqus_shortname }}';
      var disqus_identifier = '{{ page.url }}';
    
      (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
      })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    {% endif %}{% endraw %}
    
    您可以阅读我的详细博客文章,了解如何在遇到困难时解决问题。

    总结如下:

  • 使用第三条评论服务Disqs,创建一个其帐户
  • 将您的站点(即github站点)与Disqs关联
  • admin/settings/general/
  • 编辑github的_config.yml,确保它包含以下内容:
  • \u布局/post.html

  • 要启用注释,请在您的帖子yaml首页上添加
    comments:true
    。 通过设置
    comments:false
    或根本不包括comments选项来禁用它


  • 但是,我不确定GitHub页面是否添加了自己的限制。@MattBall:它没有添加任何限制。但是,您应该将它放在布局文件中,通常是HTML。正确答案。此外,您还可以在首页添加
    注释:true
    注释:false
    ,然后在include标记周围添加:
    {%if page.comments%}。。。{%endif%}
    就像一个符咒。救了我一天。谢谢现在这里有官方的disqs链接:默认情况下,步骤5、6包含在minima主题中。
     layout: default
     comments: true
     # other options
    
    {% raw %}{% if page.comments != false %}
    <div id="disqus_thread"></div>
    <script type="text/javascript">
      var disqus_shortname  = '{{ site.disqus_shortname }}';
      var disqus_identifier = '{{ page.url }}';
    
      (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
      })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    {% endif %}{% endraw %}
    
    {% if site.disqus_shortname %}
      {% include disqus_comments.html %}
    {% endif %}
    
    disqus:
        shortname: <your disqus short name>
    
    {% if page.comments %}
    <div class="comments">
    <div id="disqus_thread"></div>
    <script type="text/javascript">
    var disqus_shortname = '{{ site.disqus.shortname }}';
    (function() {
    var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
    dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })();    
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    </div> 
    {% endif %}