Comments Support

Table of Contents

Minimo has support for comments baked into it.

Enable/Disable Comments

Globally

For enabling or disabling comments globally, check the following setting in your config.toml file:

[params.comments]
enable = false
  • params.comments [Map]:
    • enable [Boolean]: Enable/Disable comments globally

For Specific Posts

The global .Site.Params.comments.enable setting can be overridden for specific posts in their content’s frontmatter with this option:

---
comments: true
---
  • comments [Boolean]: Enable/Disable comments for specific posts

Of course, you’ll also need to setup a comment system ( Disqus or Staticman ).

Setting Up Comment System

Minimo currently supports Disqus, Staticman and Utterances to be used as your site’s comment system.

Disqus

Disqus comments require you set a single value to the following option in your config.toml file:

disqusShortname = ""
  • disqusShortname [String]: Shortname for you site’s Disqus account

And that’s all!

Staticman

Staticman only supports GitHub. So, if your site’s repository is not hosted in GitHub, it won’t work.

Configure Minimo for Staticman

First of all, set up the following options in your config.toml file:

[params.comments.staticman]
enable = true
apiEndpoint = "https://api.staticman.net/v2/entry"
maxDepth = 2

[params.comments.staticman.github]
username = "MunifTanjim"
repository = "minimo"
branch = "master"
  • params.comments.staticman [Map]:
    • enable [Boolean]: Enable Staticman
    • apiEndpoint [String]: API endpoint for Staticman instance
    • maxDepth [Integer]: Maximum allowed comments depth
  • params.comments.staticman.github [Map]:
    • username [String]: Your GitHub Username
    • repository [String]: Name of your Site’s GitHub Repository
    • branch [String]: Branch name of Site’s GitHub Repository

Staticman Configuration File

Next, you’ll need a Staticman Configuration File (staticman.yml) in the root of your site’s repository. Here’s a sample of it:

staticman.yml

comments:
  allowedFields: ["author", "content", "email", "parent_id", "permalink", "site"]
  branch: "master"
  commitMessage: "add [comment]: by {fields.author} <Staticman>\n\n{fields.permalink}#comment-{@id}"
  filename: "{@id}"
  format: "yaml"
  generatedFields:
    date:
      type: date
      options:
        format: "timestamp"
  moderation: false
  name: "Minimo"
  path: "data/comments/{options.postId}"
  requiredFields: ["author", "content", "email", "permalink"]
  transforms:
    email: md5
Notes
  • In most cases, you’ll only need to change the name option (Site’s name)
  • If you set moderation: true, Staticman will send a Pull Request whenever a new comment is submitted. You’ll need to Merge the Pull Request to approve it, or Close to discard.
  • Use the same branch name in both config.toml & staticman.yml

Add Staticman to Your Site’s Repository

Staticman will need push access to your site’s repository for committing comment files. In GitHub, go to your repository Settings page, navigate to the Collaborators tab and add the username staticmanapp.

Adding staticmanapp to the Site's GitHub Repository

At this point, the invitation will be pending. In order for Staticman to accept it, you’ll need to open:

https://api.staticman.net/v2/connect/{github.username}/{github.repository}

[ Replace the {github.username} and {github.repository} with your GitHub username and repository’s name. ]

If all goes well, you should receive a message saying OK!

And you should be good to go!

Utterances

Utterances only supports GitHub. So, if your site’s repository is not hosted in GitHub, it won’t work.

For using Utterances, set up the following options in your config.toml file:

[params.comments.utterances]
enable = true
issueTerm = "pathname" # pathname / url / title

[params.comments.utterances.github]
username = "MunifTanjim"
repository = "minimo"
  • params.comments.utterances [Map]:
    • enable [Boolean]: Enable Utterances
    • issueTerm [String]: Entry to Issue mapping option (pathname / url / title)
  • params.comments.utterances.github [Map]:
    • username [String]: Your GitHub Username
    • repository [String]: Name of your Site’s GitHub Repository

Check utteranc.es for more information.

That should do it!

Thank You!

Your comment has been submitted. It will appear on this page shortly! OK

Yikes, Sorry!

Error occured. Couldn't submit your comment. Please try again. Thank You! OK

2 comments on Comments Support

    1. Munif Tanjim's avatar Munif Tanjim says:
      “I suppose everyone feels that he’s the hero in his own story, but there are no heroes, no villains, just people doing the best they can.”
      — Harold Finch

Leave a comment