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. 简化部署流程:Rainbond让Jeepay支付系统部署更轻松

    在如今的开发环境中,部署一套像 Jeepay 这样的 Java 支付系统往往需要开发者面对繁琐的配置.依赖环境管理以及服务的高可用性保障,手动部署和运维变得异常艰巨和费时.然而,借助 Rainbond ...

  2. C++ 第一节课 名字空间 ,输入输出函数,和 C 语言的区别

    #include <iostream> // #include 头文件,C++标准库的头文件都不带 .h (.h 是C库头文件添加的) #include <cstdio> #i ...

  3. 使用threejs创建一个长方体

    // 创建设备 正方体 // x1 X轴坐标 y1 Y轴坐标 item 设备的信息 可以把 item 嵌入到正方体里面 h : 高度 private initQuare1(x1:any,y1:any, ...

  4. Vue 的最大优势是???

    Vue 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合.另一方面,当与现代 ...

  5. 容器化部署nacos 1.4.6报错caused: The specified key byte array is 0 bits which is not secure enough for any JWT

    nacos2.0+ 与nacos 1.x区别 nacos在2.0+版本开始使用grpc与客户端通信,并且通过非8848端口通信 主要是有两个端口 端口 与主端口的偏移量 描述 9848 1000 客户 ...

  6. 蜘点云原生之 KubeSphere 落地实践过程

    作者:池晓东,蜘点商业网络服务有限公司技术总监,从事软件开发设计 10 多年,喜欢研究各类新技术,分享技术. 来源:本文由 11 月 25 日广州站 meetup 中讲师池晓东整理,整理于该活动中池老 ...

  7. 一次彻底掌握数据中心级的JVM调优实战经验

    出现内存溢出的场景通常发生在应用程序中存在内存泄漏.对象生命周期过长.对象频繁创建但未能及时回收等问题.以下是几个真实的业务场景,结合内存溢出问题,并从多个角度提出优化方法,来提高内存使用效率. 场景 ...

  8. mini-web框架 添加log日志

    阅读目录: 1.mini-web框架-路由支持正则 2.mini-web框架-mysql-增 3.mini-web框架-mysql-删 4.mini-web框架-mysql-改 5.mini-web框 ...

  9. 指针进阶(C语言终)

    1. sizeof和strlen的对比 1.1 sizeof 在学习操作符的时候,我们学习了sizeof , sizeof 计算变量所占内存内存空间大小的,单位是 字节,如果操作数是类型的话,计算的是 ...

  10. 3D数学基础:图形和游戏开发(第二版)--读书笔记(1)

    简介: 本书是关于3D数学.三维空间的几何和代数的入门教材.它旨在告诉你如何使用数学描述三维中的物体及其位置.方向和轨迹.这不是一本关于计算机图形学.模拟,甚至计算几何的书,但是,如果读者打算研究这些 ...