ChrAlpha / hexo-theme-cards

Another Simple & Swift theme for Hexo
https://theme-cards.ichr.me
GNU General Public License v3.0
416 stars 44 forks source link

支持更多评论系统 #109

Closed hmsjy2017 closed 1 month ago

hmsjy2017 commented 2 years ago

另外,以下评论系统有已知安全风险:

由于某些原因,src目录将从 v1.4.0 后暂停更新.


根据 https://github.com/gitalk/gitalk/issues/95 Gitalk 和 Vssue 能够 读写 授权者 所有的公共仓库 ,也就是说拿到你的授权 Token 的人,可以将你的 GitHub 公共仓库删空 F913738E-9EB5-4E99-B9D6-AFA4E51C8145

图片来自:https://www.haoyizebo.com/posts/fa15a0b0/


根据 https://github.com/gitalk/gitalk/issues/285Is it safe to make my client secret public? 建议大家弃用 Gitalk 和 Gitment 等权限过高的 Github OAuth App,Gitalk 和 Gitment 权限过高,同时 client secret 暴露,谨慎使用。

ChrAlpha commented 2 years ago

新的评论系统已加入计划。

至于是否移除旧的评论系统,比如 valine 用户依然较多,告知风险后最终全权交由用户评判是否更为合适?

hmsjy2017 commented 2 years ago

新的评论系统已加入计划。

至于是否移除旧的评论系统,比如 valine 用户依然较多,告知风险后最终全权交由用户评判是否更为合适?

建议加入风险提示,暂时不移除

brycezhang commented 11 months ago

添加 utterances 评论系统的步骤:

  1. /layout/_plugins/comments 目录,新建文件夹 utterances ,同时仿照其他文件结构新建文件 main.ejs 和 source.ejs,其中 source.ejs 不用留空即可。main.ejs 添加代码:

    <% if (theme.comments.use === 'utterances') { %>
    <div id="utterances-container" sid="<%= page.path %>"></div>
    <script type="text/javascript">
    var repo = "<%= theme.comments.utterances.repo%>";
    var issueTerm = "<%= theme.comments.utterances.issueTerm%>";
    var theme = "<%= theme.comments.utterances.theme%>";
    var label = "<%= theme.comments.utterances.label%>";
    (function () {
    var container = document.getElementById("utterances-container");
    var script = document.createElement("script");
    script.src = "https://utteranc.es/client.js";
    script.setAttribute("repo", repo);
    script.setAttribute("issue-term", issueTerm);
    script.setAttribute("theme", theme);
    script.setAttribute("label", label);
    script.crossorigin = "anonymous";
    script.async = true;
    
    container.appendChild(script);
    })();
    </script>
    <% } %>
  2. placeholders.ejs 文件,在 <% } else { %> 条件前追加代码:

    <%- partial('./utterances/main') %>
  3. _config.yml 中添加 utterances 配置项,记得修改配置:

    comments:
    use: utterances # utterances |  disqus | disqusjs | valine | minivaline | gitalk | gitment | levere | changyan | wildfire
    
    # utterances
    # Docs: https://utteranc.es/
    # Tips: Make sure you have installed [utterances app](https://github.com/apps/utterances) in your repo
    utterances:
    enable: true
    repo: # Repository
    issueTerm: title # Blog post ↔️ issue mapping: pathname | url | title | og:title
    theme: github-light # Theme: github-light | github-dark | github-dark-orange | icy-dark | dark-blue | photon-dark
    label: # Issue label
ChrAlpha commented 11 months ago

添加 utterances 评论系统的步骤:

  1. /layout/_plugins/comments 目录,新建文件夹 utterances ,同时仿照其他文件结构新建文件 main.ejs 和 source.ejs,其中 source.ejs 不用留空即可。main.ejs 添加代码:
<% if (theme.comments.use === 'utterances') { %>
<div id="utterances-container" sid="<%= page.path %>"></div>
<script type="text/javascript">
  var repo = "<%= theme.comments.utterances.repo%>";
  var issueTerm = "<%= theme.comments.utterances.issueTerm%>";
  var theme = "<%= theme.comments.utterances.theme%>";
  var label = "<%= theme.comments.utterances.label%>";
  (function () {
    var container = document.getElementById("utterances-container");
    var script = document.createElement("script");
    script.src = "https://utteranc.es/client.js";
    script.setAttribute("repo", repo);
    script.setAttribute("issue-term", issueTerm);
    script.setAttribute("theme", theme);
    script.setAttribute("label", label);
    script.crossorigin = "anonymous";
    script.async = true;

    container.appendChild(script);
  })();
</script>
<% } %>
  1. placeholders.ejs 文件,在 <% } else { %> 条件前追加代码:
<%- partial('./utterances/main') %>
  1. _config.yml 中添加 utterances 配置项,记得修改配置:
comments:
  use: utterances # utterances |  disqus | disqusjs | valine | minivaline | gitalk | gitment | levere | changyan | wildfire

  # utterances
  # Docs: https://utteranc.es/
  # Tips: Make sure you have installed [utterances app](https://github.com/apps/utterances) in your repo
  utterances:
    enable: true
    repo: # Repository
    issueTerm: title # Blog post ↔️ issue mapping: pathname | url | title | og:title
    theme: github-light # Theme: github-light | github-dark | github-dark-orange | icy-dark | dark-blue | photon-dark
    label: # Issue label

流程基本无误,方便的话可否提 PR 我会合并

brycezhang commented 11 months ago

添加 utterances 评论系统的步骤:

  1. /layout/_plugins/comments 目录,新建文件夹 utterances ,同时仿照其他文件结构新建文件 main.ejs 和 source.ejs,其中 source.ejs 不用留空即可。main.ejs 添加代码:
<% if (theme.comments.use === 'utterances') { %>
<div id="utterances-container" sid="<%= page.path %>"></div>
<script type="text/javascript">
  var repo = "<%= theme.comments.utterances.repo%>";
  var issueTerm = "<%= theme.comments.utterances.issueTerm%>";
  var theme = "<%= theme.comments.utterances.theme%>";
  var label = "<%= theme.comments.utterances.label%>";
  (function () {
    var container = document.getElementById("utterances-container");
    var script = document.createElement("script");
    script.src = "https://utteranc.es/client.js";
    script.setAttribute("repo", repo);
    script.setAttribute("issue-term", issueTerm);
    script.setAttribute("theme", theme);
    script.setAttribute("label", label);
    script.crossorigin = "anonymous";
    script.async = true;

    container.appendChild(script);
  })();
</script>
<% } %>
  1. placeholders.ejs 文件,在 <% } else { %> 条件前追加代码:
<%- partial('./utterances/main') %>
  1. _config.yml 中添加 utterances 配置项,记得修改配置:
comments:
  use: utterances # utterances |  disqus | disqusjs | valine | minivaline | gitalk | gitment | levere | changyan | wildfire

  # utterances
  # Docs: https://utteranc.es/
  # Tips: Make sure you have installed [utterances app](https://github.com/apps/utterances) in your repo
  utterances:
    enable: true
    repo: # Repository
    issueTerm: title # Blog post ↔️ issue mapping: pathname | url | title | og:title
    theme: github-light # Theme: github-light | github-dark | github-dark-orange | icy-dark | dark-blue | photon-dark
    label: # Issue label

流程基本无误,方便的话可否提 PR 我会合并

已提PR,https://github.com/ChrAlpha/hexo-theme-cards/pull/127