Comments Support

内容目录

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, Isso, 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!

Isso

Isso is a lightweight alternative to Disqus. You need to have a Isso server running somewhere, then set up the following options in your config.toml file:

[params.comments.isso]
enable = true
scriptSrc = "https://isso.example.com/js/embed.min.js"
dataAttrs = "data-isso='https://isso.example.com data-isso-require-author='true'"
  • params.comments.isso [Map]:
    • enable [Boolean]: Enable Isso
    • scriptSrc [String]: URL of the Isso integration script.
    • dataAttrs [String]: Data attributes to add to the Isso <script> tag. Optional, but the Isso documentation recommends to at least include the data-isso attribute.

Staticman

For up-to-date information, check out the Documentation Site and the Public Repository of Staticman.

Configure Minimo for Staticman

First of all, set up the following options (with your preferred values) in your config.toml file:

[params.comments.staticman]
enable = true
apiEndpoint = "https://api.staticman.net/v2/entry"
maxDepth = 2
username = "MunifTanjim"
repository = "minimo"
  • params.comments.staticman [Map]:
    • enable [Boolean]: Enable Staticman
    • apiEndpoint [String]: API endpoint for Staticman instance
    • maxDepth [Integer]: Maximum allowed comments depth
    • username [String]: Your Git Username
    • repository [String]: Name of your Site’s Git Repository

Staticman 配置 File

Next, you’ll need a Staticman 配置 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']
  reCaptcha:
    enabled: false
    # siteKey: ''
    # secret: ''
  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.

Add Staticman to Your Site’s Repository

You’ll need to go through some additional steps based on the API endpoint (params.comments.staticman.apiEndpoint) that you are gonna use. You’ll find the relevant information on the following places:

[ Contributors are welcomed to update this part of the documentation to include additional useful information. ]

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 / og:title / <string>
label = ""
theme = "github-light"

[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 / og:title / )
    • label [String]: Label will be assigned to issues created by Utterances
    • theme [String]: Utterances theme that matches your blog
  • 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!

comments powered by Disqus