GitXplorerGitXplorer
t

gatsby-plugin-disqus

public
45 stars
5 forks
6 issues

Commits

List of commits on branch master.
Unverified
4f34c622f463b9daa7b9eebbc4cc1f2ced31e3b0

:bookmark: Publish v1.2.6

ttterb committed 2 years ago
Verified
9ed9a3cde14475565d3fdb92f61ffdf29c4ff968

Merge pull request #70 from tterb/types-fix

ttterb committed 2 years ago
Unverified
8ae86ce6bb15dc3c9f0aba4d4a01f3f0f0f783d6

Fix issues with type-definitions

ttterb committed 2 years ago
Unverified
96f67dccaf35e445c1aef5a76054dd4ffedbd9c1

:bookmark: Release v1.2.5

ttterb committed 2 years ago
Verified
f33756bebfadb52323aac601fef9b05b91c9a62b

Merge pull request #69 from tterb/type-defs

ttterb committed 2 years ago
Unverified
2d4424390242cb6cd35f9d46c7812c4244bda548

Add typescript definitions

ttterb committed 2 years ago

README

The README file for this repository.

Gatsby Plugin Disqus

A plugin that simplifies adding Disqus comments to your Gatsby website

Description

The goal of this plugin is to allow users to bring their content to life and cultivate engaged communities by integrating Disqus comments into their blazing-fast Gatsby websites. After struggling to integrate different Disqus components into my Gatsby site, creating an easily-configured plugin for the Gatsby ecosystem felt like a no-brainer.

Install

$ yarn add gatsby-plugin-disqus

or

$ npm install -S gatsby-plugin-disqus

Configure

Add the plugin to your gatsby-config.js file with your Disqus shortname

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

Usage

You can use the plugin as shown in this brief example:

import { Disqus, CommentCount } from 'gatsby-plugin-disqus'

const PostTemplate = () => {
  let disqusConfig = {
    url: `${config.siteUrl+location.pathname}`,
    identifier: post.id,
    title: post.title,
  }
  return (
    <>
      <h1>{post.title}</h1>
      <CommentCount config={disqusConfig} placeholder={'...'} />
      /* Post Contents */
      <Disqus config={disqusConfig} />
    </>
  )
}

export default PostTemplate

While providing a url, identifier, and title are optional, these attributes are recommended as it will prevent threads from being lost in the case that the domain changes or the post is renamed. Additional information on all available parameters can be found on the wiki.

Note: When running your site locally, you should pass the production URL to the config.url because this is the URL that Disqus will associate with the shortname and identifier to identify the correct comment thread.

Contributing

  1. Make sure you have yarn installed.
  2. Create a new folder for your yarn workspace. mkdir gatsby-disqus-workspace
  3. Inside your workspace folder, clone this repo.
  4. cd into gatsby-disqus-workspace/gatsby-plugin-disqus/ and run yarn && yarn watch. Leave this terminal window open.
  5. Add a gatsby site that uses gatsby-plugin-disqus into your workspace folder for testing purposes.
  6. In your workspace folder create a package.json and add the following:
{
	"private": true,
	"workspaces": [
		"your-example-test-site",
		"gatsby-plugin-disqus/lib"
	]
}
  1. In a new terminal window, navigate to your workspace folder and run yarn && yarn workspace <example-site> run develop.

If you have unanswered questions or would like help with enhancing or debugging the plugin, feel free create an issue or submit a pull request.