世界を旅して暮らしたい放浪エンジニアブログ

GatsbyJSで構築したブログにDISQUSのコメントフォームを設置する方法

今回はGatsbyJSで構築したブログにDISQUSのコメントフォームを設置する方法をまとめます。

[ 目次 ]

はじめに

こんにちは、香港に住んでいるWEBデベロッパーのなかむ(@nakanakamu0828)です。

今回はGatsbyJSで構築したブログに、DISQUSのコメントフォームを設置する方法をまとめます。GatsbyJSのプラグインが用意されていますので、そちらを利用しましょう。

gatsby-plugin-disqus

DISQUSとは

Disqusとは、ブログのコメント機能を拡張し、該当エントリーに関して議論するコミュニティ(フォーラム)として活用可能にするシステムの名称である

Disqus を参照

DISQUSは、FacebookやTwitterのユーザーアカウントを利用してコメントの投稿が可能です。
今回は既にDISQUSのアカウントを所有している前提とし、新規登録の方法は省きます。

gatsby-plugin-disqusインストール

■ npmを利用する場合

$ npm install gatsby-plugin-disqus --save

■ yarnを利用する場合

$ yarn add gatsby-plugin-disqus

gatsby-config.jsのplugin設定を追加

gatsby-config.jsに設定を追加します。shortnameは、DISQUSのダッシュボードから確認できます。

// gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-plugin-disqus`,
      options: {
        shortname: `your-disqus-shortname`
      }
    },
  ]
}

DISQUS shortname

私は、環境変数を利用して設定できるようにしています。

// gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-plugin-disqus`,
      options: {
        shortname: process.env.DISQUS_SHORTNAME
      }
    },
  ]
}

DISQUSコンポーネント読み込み

コメントフォームを表示させる為、gatsby-plugin-disqusを読み込みます。

import Disqus from 'gatsby-plugin-disqus'

そしてタグを設定します。

const ArticleSection = ({ location, post, previous, next}) => {
  const articleUrl = location.href
  return (
    ・・・
    {process.env.DISQUS_SHORTNAME && (
      <Disqus 
      identifier={post.id}
      title={post.frontmatter.title}
      url={articleUrl}
      />
    )}
    ・・・
  )

環境変数 process.env.DISQUS_SHORTNAME の有無で表示を切り替えています。
Disqusタグには、identifier, title, urlを設定します。

DISQUSの表示について

今回は、香港ブログに設置しました。以下からご確認ください。

GatsbyJS DISQUS 表示例

EnjoyHK

最後に

DISQUS以外も調査していたのですが、DISQUSに落ち着きました。
皆さんも試してみてください。

前のページ

次のページ

Profile

なかむ🇭🇰Webデベロッパー

なかむ🇭🇰Webデベロッパー

香港在住4年目になるWEBエンジニアのなかむです。 現在は、LaravelやRailsを利用したWEB開発を中心にエンジニアをしています。 顧客は全て日本の企業になります。リモート開発にて各企業様の支援を行なっております

プロフィール詳細はこちら

Latest Posts