Github-pagesを使用してdisqus htmlコメントをブログに統合することは可能ですか? github、jekyll、markdownを使用してサイトとブログを簡単に管理できるというアイデアが気に入っています。ただし、disqusコメント機能を含めたいと思います。ただし、markdownはhtmlを生成するので、disqusにhtml/jsコードを含めるにはどうすればよいですか?
最も簡単でクリーンな方法は、disqusが_includes/
フォルダー(たとえば_includes/disqus.html
)で提供するHTMLでパーシャルを作成し、それを投稿レイアウトファイル(たとえば_layouts/post.md
):
{% include disqus.html %}
ここに例を見ることができます: post layout および disqus partial 。
このタスクを達成する「公式の」方法があります。 Disqusの指示は this リンクにあります。
詳細には、手順は次のとおりです。
comments
という変数をYAML Front Matter(つまり、投稿ファイルのヘッダー)に追加し、その値をtrue
。サンプルのフロントマターは次のようになります。
layout: default
comments: true
# other options
新しいテンプレートファイル(つまり、disqus.html
)を作成し、% if page.comments %
と% endif %
の間に niversal Embed Code を配置します。
disqus.html
ファイルを投稿テンプレートに含めます。
それが役に立てば幸い :)
Disqusコメントをpost.html
に含め、コメントカウントリンクの識別子を設定します。
<div id="disqus_thread"></div>
<script type="text/javascript">
var disqus_shortname = '<your-disqus-name>';
var disqus_identifier = '{{ page.id }}';
...
</script>
default.html
テンプレートにコメントカウントスクリプトを含めます。
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = '<your-disqus-name>';
...
</script>
次に、data-disqus-identifier
属性を使用してコメントへのリンクを追加し、ブログのメインページの各投稿の後にコメントカウントが表示されるようにします。
<a href="{{post.id}}" data-disqus-identifier="{{post.id}}">Leave a comment</a>
要約すると:
admin/settings/general/
でDisqusショートネームを取得disqus: shortname: <your disqus short name>
disqus.html
の下に_includes
があり、次のようになっていることを確認します。
{% 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 %}
disqus.html
に_layouts/post.html
を含める
コメントを有効にするには、comments:true
を投稿yamlフロントマターに追加します。 comments: false
を設定するか、コメントオプションをまったく含めないで無効にします。
Config.ymlを開き、次のコード行disqus_shortname: username
を追加します。 username
をDisqusのショートネームに置き換えます。
Jekyllのdisqus_comments.html
フォルダーに_includes
というファイルを作成し、{% if page.comments %}
と{% endif %}
液体タグの間にDisqus Universal Embed Codeを追加します
{% 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 %}
投稿の前書きにcomments: false
を追加して、その投稿のコメントをオフにします。
最後に、post.htmlファイルを開き、次のリキッドインクルードタグを</article>
タグの直後に追加します。
{% if site.disqus_shortname %}
{% include disqus_comments.html %}
{% endif %}
JekyllにDisqusのコメントを追加する 行き詰まった場合の方法に関する詳細なブログ投稿をフォローできます。
それは本当です。JekyllはMarkdownファイルからHTMLをレンダリングします(ローカルでJekyllを使用するか、ghページにプッシュしてリモートで)。ただし、この種のコードはレイヤー内にある必要があるため、Markdownソースファイル内ではなく、実際には問題ではありません。
_layouts
`- default.html
`- post.html <- `layout: default` in the YAML header
_posts
`- YYYY-MM-DD-my-post.md <- `layout: post` in the YAML header
このツリービューに従うと、Disqusスクリプトを含めることができるpostレイアウトを使用して、Markdownファイルをレンダリングできます。