Skip to content
Metalsmith plugin for Github issues as blog comments
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist
.babelrc
.editorconfig
.eslintrc
.gitignore
LICENSE
README.md
index.js
package-lock.json
package.json

README.md

metalsmith-gh-comments

npm

Metalsmith plugin to automatically open a Github issue as blog comments for every articles of your blog. It also creates a gh-comments.json file to keep track of created issues. Uses gh-issues-for-comments under the hood.

Notes: a property issueId is added to each article for templates usage.

Install

npm install metalsmith-gh-comments --save

Usage

CLI usage

Install via npm and then add the metalsmith-gh-comments key to your metalsmith.json plugins with any gh-issues-for-comments option you want.

For more powerful options see #javascript-usage.

{
  "plugins": {
    "metalsmith-gh-comments": {
      "username": "jiayihu",
      "repo": "blog",
      "token": "123GithubOAuthToken",
    }
  }
}

Javascript usage

It's recommended to configure this plugin along with metalsmith-filepath, in order to use articles filepaths as unique properties since they don't have an id. The title could be used as well but it's more likely to change.

const filepath = require('metalsmith-filepath');
const githubComments = require('metalsmith-gh-comments');

.use(filepath({ absolute: false }))
.use(
  githubComments({
    // Don't include 'About' article
    filter: article => article.title !== 'About', 

    // gh-issues-for-comments options
    idProperty: 'link', // property added by 'metalsmith-filepath'
    username: 'jiayihu',
    repo: 'blog',
    token: '123GithubOAuthToken'
  })
)

Options

The following options can be provided:

  • filter

    Type: (article) => boolean

    Filter which articles must have an issue for comments

Any other options will be passed to gh-issues-for-comments. Check the package to see all available options.

You can’t perform that action at this time.