Icarus User Guide - Comment Plugins

This article covers comment plugins supported by Icarus 5.

The following comment plugins are provided by ppoffice/hexo-component-inferno. Please refer to it for a complete list of supported plugins and their configuration details.

Changyan

Installation Guide

  1. First, log into Changyan. Get the comment HTML code by following this article.

  2. Copy the value of appid and conf to the corresponding settings in the theme configurations. For example, the following HTML code

    Changyan Installation Code >folded
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!--PC版-->
    <div id="SOHUCS" sid="..."></div>
    <script charset="utf-8" type="text/javascript" src="https://cy-cdn.kuaizhan.com/upload/changyan.js" ></script>
    <script type="text/javascript">
    window.changyan.api.config({
    appid: '????appid????',
    conf: 'prod_xxxxxxxxxxxxxxxxxxxxxxx'
    });
    </script>

    maps to the following theme configuration:

    _config.icarus.yml
    1
    2
    3
    4
    comment:
    type: changyan
    app_id: ????appid????
    conf: prod_xxxxxxxxxxxxxxxxxxxxxxx

Disqus

Installation GuidePreview
  1. First, log into Disqus. Click the “GET STARTED” button on the front page or visit here and click “I want to install Disqus on my site” to create a new Disqus comment service.

    Get Started - Disqus
  2. On the create new site page, fill in the “Website Name” and “Category”, then click the “Create Site” button.

    Create Site - Disqus
  3. Select a subscription plan if you want to. You can also skip this by clicking “Install Disqus” on the left.

  4. Next, choose the platform where Disqus is to be installed. Select the “I don’t see my platform listed, install manually with Universal Code” on the bottom of the page.

    Select Platform - Disqus
  5. Click the “Configuration” button on the bottom of the page to skip the “Universal Code install instructions”.

  6. Make customizations to your Disqus service on the “Configure Disqus” page. Then, click the “Complete Setup” and “Dismiss Setup” buttons to finish the setup.

  7. Next, click the “Edit Settings” button on the top right corner of the comment service home page.

    Comment Service Homepage - Disqus
  8. Find the value of “Shortname” on the “Configure Disqus for Your Site” page, and copy it to the comment settings in the theme configurations. For example, the “Shortname” in the following screenshot is my-hexo-blog-1:

    Configure Disqus - Disqus

    which maps to the following theme configuration:

    _config.icarus.yml
    1
    2
    3
    comment:
    type: disqus
    shortname: my-hexo-blog-1
  9. (Optional) You can add disqusId in the front-matter of the post as the unique Disqus ID. Thereby, you can change the location of the post in the future without losing all your comments:

    source/_post/some-post.md
    1
    2
    3
    4
    5
    title: My first post
    date: 2015-01-01 00:00:01
    disqusId: some-disqus-id
    ---
    # Hello world

DisqusJS

DisqusJS is an alternative for Disqus in areas where Disqus is restricted. You can refer to https://github.com/SukkaW/DisqusJS for the detailed configuration process of DisqusJS.

Installation GuidePreview
  1. Log into Disqus and visit here. Click the “Register new application” button or “registering an application” to create a new Disqus application.

    Applications - Disqus
  2. Fill in the “Label”, “Description”, and “Website” on the next page. Then, click “Register my application”.

    Register Application - Disqus
  3. After creating the application, go to the “Settings” tab of the application, fill in the domain name of your Hexo site, e.g., ppoffice.github.io, in the “Domains” field. Then, click the “Save Changes” button on the bottom of the page.

    Application Settings - Disqus
  4. Click the “Details” link on the current page to go to the home page of the current application. Copy the “API Key” in the “OAuth Settings” section to the corresponding setting in the theme configurations.

    For example, the “API Key” in the following screenshot:

    Application Details - Disqus

    maps to the following theme configuration:

    _config.icarus.yml
    1
    2
    3
    4
    5
    6
    7
    8
    comment:
    type: disqusjs
    shortname: my-hexo-blog-1
    api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    api: https://disqus.skk.moe/disqus/ # Optional
    admin: ppoffice # Optional
    admin_label: Admin # Optional
    nesting: 4 # Optional
  5. To learn more about DisqusJS and its configuration, visit SukkaW/DisqusJS documentation or hexo-component-inferno.

Facebook

Some AD blockers may block this comment plugin. Use it with caution.
Installation GuidePreview
  1. To enable Facebook comment, set the type of comment to facebook:

    _config.icarus.yml
    1
    2
    comment:
    type: facebook

Giscus

A comments system powered by GitHub Discussions.

Installation GuidePreview
  1. Prepare a public GitHub repository.

  2. Go to GitHub Apps - giscus and click “Install”.

    GitHub App Page - giscus
  3. (Optional) Select the user to install giscus to on the next page if you also have organizations under your account.


  4. On the next page, you can choose to install giscus to “All repositories” or “Only select repositories”. Then, click the “Install” button.


  5. You will be redirected to the giscus official site if the installation completes. You can review each configuration option and customize your giscus setup.

  6. When finished, move to the “Enable giscus” and copy the attribute values from the giscus HTML code to the corresponding settings in your theme configurations.

    Get Code - giscus

    For example, the giscus code below:

    giscus Installation Code >folded
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <script src="https://giscus.app/client.js"
    data-repo="usr/repo"
    data-repo-id="X_xxxxxxxxxx"
    data-category="Announcements"
    data-category-id="XXX_xxxxxxxxxxxxxxxx"
    data-mapping="pathname"
    data-strict="0"
    data-reactions-enabled="0"
    data-emit-metadata="0"
    data-input-position="top"
    data-theme="noborder_light"
    data-lang="en"
    data-loading="lazy"
    crossorigin="anonymous"
    async>
    </script>

    maps to the following theme configuration:

    _config.icarus.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    comment:
    type: giscus
    repo: Your-GitHub-Username/Your-Public-Repo-Name
    issue_term: pathname # Required if issue_number is not set
    issue_number: 100 # Required if issue_term is not set. Every post can be mapped to a separate, manually-created GitHub issue.
    label: some-issue-label # Optional
    theme: github-light # Optional
    comment:
    type: giscus
    repo: usr/repo # Required
    repoId: X_xxxxxxxxxx # Required
    category: Announcements # Optional, default: Announcements
    categoryId: XXX_xxxxxxxxxxxxxxxx # Required
    mapping: pathname # Optional, default: pathname
    strict: false # Optional
    reactionsEnabled: false # Optional
    emitMetadata: false # Optional
    inputPosition: top # Optional, default: top
    theme: noborder_light # Optional
    lang: en # Optional, default: en
    lazy: true # Optional, default: false

Gitalk

Installation GuidePreview
  1. Log into GitHub and click here to register a new OAuth application. Fill in the “Application name”, “Homepage URL”, and “Application description”. Then, type in the root URL of your Hexo site in the “Authorization callback URL” field. Click the “Register application” button to go to the application details page.

    Register OAuth Application - GitHub
  2. Copy the values of “Client ID” and “Client Secret” to the corresponding settings in the theme configurations.

    OAuth Application Settings - GitHub

    For example, the following “Client ID” and “Client Secret”:

    GitHub OAuth Application
    1
    2
    3
    4
    Client ID
    xxxxxxxxxxxxxxxxxxxx
    Client Secret
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    maps the following Gitalk configuration:

    _config.icarus.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    comment:
    type: gitalk
    client_id: xxxxxxxxxxxxxxxxxxxx
    client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    repo: Some-of-Your-GitHub-Repo
    owner: you_github_name
    admin:
    - you_github_name
    per_page: 20 # Optional
    distraction_free_mode: false # Optional
    pager_direction: last # Optional
    create_issue_manually: false # Optional
    proxy: # Optional
    flip_move_options: # Optional
    enable_hotkey: true # Optional
    language: zh-CN # Optional
  3. You can review the description and possible values of the above configuration at Gitalk documentation or hexo-component-inferno.

Gitment

The maintenance of Gitment seems to be discontinued. You can choose Gitalk or utterances as an alternative GitHub Issue-based comment system.

Installation Guide

  1. Follow the steps in the Gitalk section to register a GitHub OAuth application.

  2. Copy the values of “Client ID” and “Client Secret” to the corresponding settings in the theme configurations.

    Here is an example of the Gitment configuration:

    _config.icarus.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    comment:
    type: gitment
    owner: you_github_name
    repo: Some-of-Your-GitHub-Repo
    client_id: xxxxxxxxxxxxxxxxxxxx
    client_secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    theme: gitment.defaultTheme # Optional
    per_page: 20 # Optional
    max_comment_height: 250 # Optional
  3. For more details on the above configuration, refer to Gitment documentation or hexo-component-inferno.

Isso

Isso is a valid choice if you wish to set up a self-hosted social comment system instead of relying on third-party ones. However, unlike the other services, Isso requires a web host for running the Isso server.

Installation Guide

  1. Follow the Isso documentation to install and run the Isso server.

  2. Fill in the HTTP URL of Isso server to the corresponding setting in the theme configurations. For example, if your service URL is https://posativ.org/isso/api/, you will have the following comment configuration:

    _config.icarus.yml
    1
    2
    3
    comment:
    type: isso
    url: posativ.org/isso/api

LiveRe

Some AD blockers may block this comment plugin. Use it with caution.

Installation Guide

  1. First, log into LiveRe. Click “Install” on the navigation bar to go to the installation page.

  2. Select the free “City” tier on the installation page and click the “Install Now” button.

    Select Plan - LiveRe
  3. Fill in the “Site URL”, “Name of website”, and “Choose site category” on the “Get LiveRe City code” page. Check “I have check the advertising terms…” and click the “Get code” button to be redirected to the LiveRe HTML code page.

    Configure Service - LiveRe
  4. Copy the value inside the quotes of data-uid="..." to the corresponding setting in the theme configurations.

    Get Code - LiveRe

    For example, the LiveRe code below:

    LiveRe Installation Code >folded
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <!-- LiveRe City install code -->
    <div id="lv-container" data-id="city" data-uid="ABCD1234O0OxxxxXXXX000==">
    <script type="text/javascript">
    (function(d, s) {
    var j, e = d.getElementsByTagName(s)[0];

    if (typeof LivereTower === 'function') { return; }

    j = d.createElement(s);
    j.src = 'https://cdn-city.livere.com/js/embed.dist.js';
    j.async = true;

    e.parentNode.insertBefore(j, e);
    })(document, 'script');
    </script>
    <noscript> Please activate JavaScript for write a comment in LiveRe</noscript>
    </div>
    <!-- completed City install code -->

    maps to the following theme configuration:

    _config.icarus.yml
    1
    2
    3
    comment:
    type: livere
    uid: ABCD1234O0OxxxxXXXX000==

Twikoo

Twikoo is a self-hosted comment system based on cloud functions. Unlike other third-party comment services, the Twikoo backend needs to be deployed to a cloud environment before being configured and used by Icarus.

Installation GuidePreview
  1. Follow the Twikoo documentation to deploy the Twikoo cloud function to a cloud service provider of your choice.

  2. Fill in the env_id of your deployment to the corresponding setting in the theme configurations.

    _config.icarus.yml
    1
    2
    3
    4
    5
    comment:
    type: twikoo
    env_id: xxxxxxxx
    region: ap-guangzhou # Optional
    lang: zh-CN # Optional

utterances

Installation GuidePreview
  1. Prepare a public GitHub repository.

  2. Go to GitHub Apps - utterances and click “Install”.

    GitHub App Page - utterances
  3. (Optional) Select the user to install utterances to on the next page if you also have organizations under your account.

    Select User - utterances
  4. On the next page, you can choose to install utterances to “All repositories” or “Only select repositories”. Then, click the “Install” button.

    Select Repository - utterances
  5. You will be redirected to the utterances official site if the installation completes. You can review each configuration option and customize your utterances setup.

  6. When finished, move to the “Enable utterances” and copy the attribute values from the utterances HTML code to the corresponding settings in your theme configurations.

    Get Code - utterances

    For example, the utterances code below:

    utterances Installation Code >folded
    1
    2
    3
    4
    5
    6
    7
    <script src="https://utteranc.es/client.js"
    repo="Your-GitHub-Username/Your-Public-Repo-Name"
    issue-term="pathname"
    theme="github-light"
    crossorigin="anonymous"
    async>
    </script>

    maps to the following theme configuration:

    _config.icarus.yml
    1
    2
    3
    4
    5
    6
    7
    comment:
    type: utterances
    repo: Your-GitHub-Username/Your-Public-Repo-Name
    issue_term: pathname # Required if issue_number is not set
    issue_number: 100 # Required if issue_term is not set. Every post can be mapped to a separate, manually-created GitHub issue.
    label: some-issue-label # Optional
    theme: github-light # Optional

Valine

Installation GuidePreview

A vulnerability has been found in Valine that the comment service exposes IP addresses of all commenters (xCss/Valine#336). Please use alternative comment services until this issue has been fixed.
  1. Create a LeanCloud application following the Quickstart guide.

  2. Copy the “App ID” and “App Key” of your LeanCloud application to the corresponding settings in the theme configurations. In addition, you can refer to the Config Reference to find out the details and possible values of the optional settings. Here is an example configuration:

    _config.icarus.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    comment:
    type: valine
    app_id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    app_key: xxxxxxxxxxxxxxxxxxxxxx
    placeholder: "" # Optional
    avatar: mm # Optional
    avatar_force: false # Optional
    meta: ["nick", "mail", "link"] # Optional
    page_size: 10 # Optional
    lang: zh-CN # Optional
    visitor: false # Optional
    highlight: true # Optional
    record_ip: false # Optional
    server_urls: # Optional
    emoji_cdn: # Optional
    emoji_maps: # Optional
    enable_qq: false # Optional
    required_fields: [] # Optional

Waline

Installation GuidePreview
  1. Create a LeanCloud application and a Vercel project following the Get Started guide.

  2. Copy the “Server URL” of your Vercel project to the corresponding setting in the theme configurations. It is usually something like https://your-domain.vercel.app. In addition, you can refer to the Client Configuration to find out more details and possible values of the optional settings. Here is an example configuration:

    _config.icarus.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    comment:
    type: waline
    server_url: https://your-domain.vercel.app
    path: window.location.pathname # Optional
    lang: en-US # Optional
    locale: # Optional
    placeholder: 'Comment here...'
    emoji: # Optional
    - '//unpkg.com/@waline/emojis@1.0.1/weibo'
    dark: auto # Optional
    meta: ["nick", "mail", "link"] # Optional
    required_meta: [] # Optional
    login: enable # Optional
    word_limit: 0 # Optional
    page_size: 10 # Optional
    image_uploader: false # Optional
    highlighter: true # Optional
    tex_renderer: false # Optional
    search: false # Optional
    pageview: false # Optional
    comment: false # Optional
    copyright: true # Optional
Something wrong with this article? Click here to submit your revision.
Author

PPOffice

Posted on

2017-01-31

Licensed under

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×