Gittalk 配置

这个不一定最先配置,我也不建议你最先配置这个,这个最好最后配置。

萌狼蓝天把这个的配置写在第一条,是因为我在这折腾了很久,就是因为网上抄来抄去的答案,除了迷惑萌狼蓝天难以给萌狼蓝天提供帮助。

xx,缺斤少两的答案为什么抄来抄去?我也不喜欢别人转载我的文章,如果我日后那天发现了Bug更新了,转载我文章的人肯定不会跟着更新……然后……

我的配置经验是根据自己情况写的,受时间(不同时间来配置,也许使用版本不同)等复杂因素,不一定适合每个人,所以再看本文时,最重要的是关注问题的分析思路。

首先看gittalk的官方描述

第一个是引入的问题。

官方用的公共CDN有时候会被墙,导致访问失败,所以我更换了为了如下:

<!-- 评论-->
<link rel="stylesheet" href="//unpkg.com/gitalk/dist/gitalk.css">
<script src="//unpkg.com/docsify/lib/plugins/gitalk.min.js"></script>
<script src="//unpkg.com/gitalk/dist/gitalk.min.js"></script>

然后就是配置问题

不着急啊,咱们一个一个来看

首先是要填写的配置项

const gitalk = new Gitalk({
clientID: 'GitHub Application Client ID',
clientSecret: 'GitHub Application Client Secret',
repo: 'GitHub repo', // The repository of store comments,
owner: 'GitHub repo owner',
admin: ['GitHub repo owner and collaborators, only these guys can initialize github issues'],
id: location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
})

这个里面的配置项,怎么填,网上一大把,你就搜docsify配置gittalk,文章开始全都是教你配置的,所以,自己去百度。下图是[网上随便搜的一篇配置教程](Gitalk 与 docsify 的结合 - 知乎 (zhihu.com))

萌狼蓝天的填写如下:

var gitalk = new Gitalk({
clientID: '申请到的ID',
clientSecret: '申请到的密钥',
repo: '仓库名称(存放评论的仓库名称)',
owner: 'Github用户名',
admin: ['Github用户名,必须要用这个用户来初始化评论的。'],
id: location.pathname,
// facebook-like distraction free mode
distractionFreeMode: false,
})

这个配置可能存在全部页面的评论都相同的情况,后面再解决。

基本网上的配置教程就这样了,然后就去讲启用过程的问题了。

xx,认真看看代码

var gitalk = ……

设置了变量,又不用,那不是闲的吗。看官方文档

还差个绑定页面元素初始化成评论区对吧。

这时候问题来了。我docsify在index.html的那个地方写<div id="gitalk-container"></div>

上图被我注释掉的就是我之前写的位置。这不成啊,显示有很大的问题。

于是我查审元素,定位到了文章区域,是不是应该插入到文章末尾?

页面上的元素都是加载出来的,你最开始没有,index.html里面没有这些元素对吧

你上哪添加去?

于是我就想到了用js添加元素

<script>
window.onload = function () {
var gitalk = new Gitalk({
clientID: 'id',
clientSecret: '密钥',
repo: 'note',
owner: 'mllt992',
admin: ['mllt992'],
id: location.pathname,
// facebook-like distraction free mode
distractionFreeMode: false,
})
var ele = document.getElementsByClassName('toc-nav')[0]
var newele = document.createElement('div')
newele.id="gitalk-container"
ele.parentNode.insertBefore(newele, undefined)
gitalk.render("gitalk-container")
}
</script>

我简单跟你说一下这个js的写法,你不会没关系,理解我说的就行。

我们要在``section`标签内的最后,插入我们想插入的元素。

我首先要获得``section的某个子元素var ele = document.getElementsByClassName('toc-nav')[0]`

通过样式名获取得到的是一个列表,因为只有这个地方用例toc-nav这个样式,所以索引是0,你在选择的时候别选那些出现了很多次的class名,容易出错。

再看我们需要的<div id="gitalk-container"></div>,一个id为gitalk-container的div标签对吧。

那么我们先创建div标签:var newele = document.createElement('div')

然后设置id: newele.id="gitalk-container"

然后插入: ele.parentNode.insertBefore(newele, undefined)

写undefined的话,插入位置就是在ele元素的父元素里面的最后插入。

也就是跟ele元素同级,并且在同级元素中,最后位置插入

如果你看不懂我说的,可以看看这篇文章Node.insertBefore()

生成元素后,就可以将这个元素初始化为评论区了

gitalk.render("gitalk-container")

然后成功之后你会发现那个样式还是存在点问题,所以需要我们结合实际情况调一下样式,例如宽度,边距等。

例如我设置宽度为95%

你可能会好奇,我怎么知道就是在.gt-container里面设置样式

1.你去看看你引入的CSS文件。观察观察就知道了。

2.查审元素一查,你想改啥元素样式那还是轻轻松松。

配置到这里就完了,基本配置。当然可能还有很多需要优化的地方,这个慢慢来吧。

然后关于加载评论区Network的问题:它说未找到相关的issues进行评论,让你初始化啥的,你点击蓝字,登录github,加载了一会,跟你说network ……大概意思就是网络有问题。

网上有很多方法解决,什么代理反代理,我看着就觉得烦。于是我利用科学,绿色上网,搭配下面这个软件

这个软件相当于conda对python进行环境隔离,而他是对网络环境的隔离,姑且那么理解吧

打开这个环境,访问你的网站,然后点击文字初始化issues,登录github,就ok了

不会出现那啥网络问题了。

只要初始化了,后面普通网页也能用了,不过我寻思着,普通人有时候github都打不开呢。算了,得过且过吧。

你要是愿意,把评论区存储到自己服务器啥的,可以自己搞个评论系统。

先到这里吧,后面有啥觉得指的分享的就继续更新。

【网站搭建】Docsify+Gittalk的配置过程记录分享。原创!的更多相关文章

  1. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  2. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  3. Oracle 11g+Windows10 x64安装、配置过程记录

    备注:本想在自己电脑上安装个oracle练习用,但是害怕安装过程中出现问题,而oracle的卸载又是出了名的麻烦,所以用虚拟机搭建了一个跟本机一样的系统,同时记录下安装的每一步. 环境:windows ...

  4. Hadoop集群搭建:用三台云服务器搭建HA集群(过程记录和分享)

    该文主要记录了自己用云服务器搭建集群的过程,也分享一些自己遇到的问题和解决方法.里面可能提及一些自己的理解,可能不够准确,希望大家能够指正我,谢谢. 1.什么是HA集群 HA :High Availa ...

  5. DRBD详细解说及配置过程记录

    一.DRBD介绍 DRBD(Distributed ReplicatedBlock Device)是一种基于软件的,无共享,分布式块设备复制的存储解决方案,在服务器之间的对块设备(硬盘,分区,逻辑卷等 ...

  6. RHEL 6.0 FTP服务器配置菜鸟配置过程记录

    环境: 虚拟机 RHEL6.0  为了图方便,直接就默认安装了,结果酿成大错,后表~~ 项目:搭建VSFTPD服务器 1.网络ifconfig 配置好,给个IP 2.RPM包或者YUM安装vsftpd ...

  7. LINUX配置过程记录(二) 工具安装

    安装谷歌游览 sudo apt-get update sudo apt-get install google-chrome-stable Ubuntu 16.04下源码安装Catkin https:/ ...

  8. LINUX配置过程记录

    http://blog.csdn.net/Houchaoqun_XMU/article/details/78869052 64 sudo apt-get update 0 打开终端的快捷键是Ctrl+ ...

  9. 【1】hexo+github搭建个人博客的过程记录

    前提: 1.新建一个github仓库 2.安装配置Node.js 3.安装配置Git 前提 步骤1.新建一个github仓库 打开github网站,(注册)登录账号,新建一个仓库; 注:仓库名称要求, ...

  10. 一、hexo+github搭建个人博客的过程记录

    前提: 1.新建一个github仓库 2.安装配置Node.js 3.安装配置Git 前提 步骤1.新建一个github仓库 打开github网站,(注册)登录账号,新建一个仓库; 注:==仓库名称要 ...

随机推荐

  1. MQ核心作用异步&削峰&解耦使用场景详解

    说在前面 在如今的高并发互联网应用中,如何确保系统在巨大的流量冲击下还能稳稳当当运转,是每个技术团队都会遇到的挑战.说到这,消息队列(MQ) 就是背后的"大功臣"了. 无论是异步处 ...

  2. 2022年最新数据库调查报告:超八成DBA月薪过万,你拖后腿了吗?

    数据库管理员属于IT行业高薪职业的一种,近几年关于数据库管理员的薪资统计文章也层出不穷,那么当前,DBA们的薪资究竟到达了怎样的水平呢? 墨天轮数据社区发布最新<2022年墨天轮数据库大调查报告 ...

  3. 2022年1月国产数据库排行榜:TiDB霸榜两年势头不减,openGauss与OceanBase分数大涨

    奎钩粲粲光华动,群玉森森气象新.国产数据库行业在经历了2021年的躬行实践之后,产品.服务.生态等取得了蓬勃发展.从2022年1月份的国产数据库流行度排行榜上,我们可以看到,相较于去年12月份,榜单上 ...

  4. ts 的 declare 用途

    declare namespace API { /** 新增数据集合 */ type CreateDataSet = { createdAt: string; dname: string; headI ...

  5. 云原生周刊:Terraform 1.8 发布 | 2024.5.6

    开源项目推荐 xlskubectl 用于控制 Kubernetes 集群的电子表格.xlskubectl 将 Google Spreadsheet 与 Kubernetes 集成.你可以通过用于跟踪费 ...

  6. 认识鸿蒙Context

    Context是应用中对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理).applicationInfo(当前应用信息).dir(应用文件路径).area(文件分 ...

  7. 3-4 C++迭代器初步

    目录 3.4.0 为什么要有迭代器 3.4.1使用迭代器 迭代器的比较操作 用迭代器写一个遍历 取出迭代器中的元素:解引用 * 迭代器的类型 使用迭代器时的注意点 3.4.2 迭代器的算术操作 常见操 ...

  8. 机器学习框架推理流程简述(以一项部署在windows上的MNN框架大模型部署过程为例子)

    一.写在前面 公司正好有这个需求,故我这边简单接受进行模型的部署和demo程序的编写,顺便学习了解整个大模型的部署全流程.这篇博客会简单提到大模型部署的全流程,侧重点在推理这里.并且这篇博客也是结合之 ...

  9. pycharm配置默认镜像地址

    使用pycharm编写接口自动化测试时,需要下载很多安装包,不指定镜像时下载可能很慢,可以设置默认镜像 命令:pip config set global.index-url 镜像地址 查看已设置的默认 ...

  10. Ubuntu 无法播放MP4

    今天用ubuntu打开mp4发现无法播放,然后我以为文件损坏了,就传到手机上面,发现还是可以播放的,然后就查了一下相关资料,发现有人让我安装这个 sudo snap install ffmpeg 安装 ...