黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 《Java 核心知识整理&面试.pdf》资源链接!!
个人网站: https://www.exception.site/essay/how-to-use-gitter-on-your-website-quickly
一、前言
小哈从很早以前就有写博文的习惯,不过那个时候,也没咋认真地写,倒是挺喜欢倒腾,从最初在 CSDN 写博客,写了得有 100 多篇后,那时,CSDN 开始加入了恶心的广告,体验开始变得极差后,就弃了 CSDN。
当时,就想着自己弄个纯净地个人博客,于是,从 Jekyll 到 Hexo 都玩过,最终都放弃了,原因是不能随心所欲地改成自己想要的样式。
最后基于 Bootstrap4 搭了个前端的架子,大部分个性化 css 都是自己手写的,于是也就有了现在的个人网站:https://www.exception.site, 网站的目的,旨在写出一些高质量的系列教程,帮助大家在工作中速查、学习啥的。但是,就目前来说,文章的数量还是不够,小哈在后续的日子里,会一点点补全的,有兴趣的不妨收藏一下。
好了,说了这么多废话,开始进入正题,由于网站没有留言,聊天的功能,导致与很多读者 0 沟通,粘性也就比较差。
那么,要如何在网站中快速的集成 IM 即时通讯功能呢?
二、什么是 Gitter?
什么是 Gitter 呢?听名字貌似和 GitHub 有点关系呢?
以下来之维基百科的解释:
Gitter 是 GitHub 存储库的开发人员和用户的即时通讯聊天室系统。 Gitter 作为软件即服务提供商,提供包括免费选项和所有基本功能,以及创建单个私人聊天室的能力,和个人和组织的付费订阅选项,允许他们创建任意数量的私人聊天室。
该服务可以为 GitHub 上的各个 Git 存储库创建个人聊天室。聊天室隐私遵循关联 GitHub 存储库的隐私设置:因此,私有的 GitHub 存储库的聊天室对于访问存储库的人员也是私有的。
它还可以将连接到聊天室的地址信息放置在 git 存储库的 README 文件中,以引起项目所有用户和开发人员的注意。用户也可以通过 GitHub 登录 Gitter 访问他们访问的存储库的私人聊天室。(注意: GitHub 密码是不与 Gitter 共享)
Gitter 类似于 IRC 和 Slack。但与 IRC 不同的是,它像Slack一样,会将所有聊天记录存档至云端。
三、访问 Gitter 官网,并注册用户
- 访问 Gitter 官方网站 https://gitter.im:
- 注册用户,这里支持 GitLab,GitHub, Twitter 三种方式来授权登录,小哈选的是 GitHub:
四、创建自己的 Gitter 聊天室
点击 ADD A ROOM 按钮:
接下来,添加一些朋友加入到你创建的聊天室吧:
聊天室创建完成啦!
接下来,让我看下刚刚创建的聊天室:
- ①:聊天室名称;
- ②:聊天室唯一域名(域名要记住,等下我们集成到个人网站需要);
- ③:聊天室描述;
五、借助 Sidecar 集成 gitter 到个人网站
好了,聊天室你也创建好了,怎么集成到自己的网站咧?为了开箱即用式的集成到个人网站,我们还需要借助一下 Sidecar, 等等!什么是 Sidecar?
Sidecar 能够帮助你快速便捷的集成 gitter, 仅仅需要添加几行 javascript 代码即可,开箱即用,你还可以通过一些配置来自定义它。
Sidecar 官方网站为: https://sidecar.gitter.im:
将如下 javascript 代码,集成到个人网站中:
<script>
((window.gitter = {}).chat = {}).options = {
room: 'quanxiaoha/community'
};
</script>
<script src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer></script>
六、最终效果
代码集成完毕后,你看到的效果如下:
打开聊天室效果:
大工告成,有兴趣的童鞋,自己也可以上手试一试哦!
七、写在最后
今天小哈给大家介绍了一个黑科技 Gitter, 以及如何通过 Sidecar 快速便捷地集成到自己的个人网站中。持续关注,小哈后面会再推送一些有意思的干货文章哦!下期见!
免费分享 | 面试&学习福利资源
最近在网上发现一个不错的 PDF 资源《Java 核心知识&面试.pdf》分享给大家,不光是面试,学习,你都值得拥有!!!
获取方式: 关注公众号: 小哈学Java, 后台回复资源,既可免费无套路获取资源链接,下面是目录以及部分截图:
重要的事情说两遍,关注公众号: 小哈学Java, 后台回复资源,既可免费无套路获取资源链接 !!!
欢迎关注微信公众号: 小哈学Java
黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?的更多相关文章
- 仅需几行代码 轻松实现ETH代币空投
仅需几行代码 轻松实现ETH代币空投 批量发送以太坊,部署下面的合约,然后往下面的合约打币,就可以分发 ragma solidity ^0.4.21; contract batchTransfer { ...
- 简化的鸿蒙WiFi接口,仅需几行代码,简单易用!
使用鸿蒙原始WiFI API接口进行编程,整个过程稍显繁琐,为此我们对鸿蒙原始WiFi API接口做了一层封装,形成了一套更简单易用的接口. 简化后的API接口 STA模式 // 连接WiFi热点,并 ...
- java开发区块链只需150行代码
本文目的是通过java实战开发教程理解区块链是什么.将通过实战入门学习,用Java自学开发一个很基本的区块链,并在此基础上能扩展如web框架应用等.这个基本的java区块链也实现简单的工作量证明系统. ...
- JELLY技术周刊 Vol.24 -- 技术周刊 · 实现 Recoil 只需百行代码?
蒲公英 · JELLY技术周刊 Vol.24 理解一个轮子最好的方法就是仿造一个轮子,很多框架都因此应运而生,比如面向 JS 开发者的 AI 工具 Danfo.js:参考 qiankun 的微前端框架 ...
- JavaScript开发区块链只需200行代码
用JavaScript开发实现一个简单区块链.通过这一开发过程,你将理解区块链技术是什么:区块链就是一个分布式数据库,存储结构是一个不断增长的链表,链表中包含着许多有序的记录. 然而,在通常情况下,当 ...
- Go语言开发区块链只需180行代码
区块链开发用什么语言?通过本文你将使用Go语言开发自己的区块链(或者说用go语言搭建区块链).理解哈希函数是如何保持区块链的完整性.掌握如何用Go语言编程创造并添加新的块.实现多个节点通过竞争生成块. ...
- php简简单单搞定中英文混排字符串截取,只需2行代码!
提到中英文混排计数.截取,大家首先想到的是ascii.16进制.正则匹配.循环计数. 今天我给大家分享的是php的mb扩展,教你如何轻松处理字符串. 先给大家介绍用到的函数: mb_strwidth( ...
- Python自动群发邮件,只需20行代码!
今日分享 Python自动群发邮件 import smtplib from email import (header) from email.mime import (text, applicatio ...
- 1000行代码徒手写正则表达式引擎【1】--JAVA中正则表达式的使用
简介: 本文是系列博客的第一篇,主要讲解和分析正则表达式规则以及JAVA中原生正则表达式引擎的使用.在后续的文章中会涉及基于NFA的正则表达式引擎内部的工作原理,并在此基础上用1000行左右的JAVA ...
随机推荐
- QLineEdit默认提示 setPlaceholderText
Setting this property makes the line edit display a grayed-out placeholder text as long as the text( ...
- youtube视频在线下载
youtube视频在线下载网站: https://www.clipconverter.cc/ youtube视频样例: https://www.youtube.com/watch?v=NMkgz0AR ...
- [日期工具分享][Shell]为特定命令依次传入顺序日期执行
[日期工具分享][Shell]为特定命令依次传入顺序日期执行 使用方式: <本脚本文件名(必要时需要全路径)> <要执行的命令所在的文件名> <开始日期> < ...
- PHP导出3w条数据成表格
亲测有效,三万条数据秒秒钟导出 先进行数据表插入数据 ini_set('memory_limit','1024M'); //设置程序运行的内存 ini_set('max_execution_time' ...
- Jenkins参数化构建(七)
一.配置参数化构建过程 主要用来区分分支,使用传参的方式,将分支名称传入脚本中进行拉取代码. 1.1 最常用的是:字符参数.文本参数. 1.2 添加字符参数和文本参数,并配置变量名称 1.3 配置 ...
- Lerp在X秒内插值
在X秒内插值 我们知道Mathf.Lerp函数的是用在两个值之间进行插值,用于平滑过渡. var 插值结果 = Mathf.Lerp(from,to,rate) //rate是0~1的值 Unity没 ...
- 初始v4l2(六)-------根据虚拟驱动vivi的使用彻底分析摄像头驱动
前面的几篇文章已经分析了v4l2的框架,对框架的分析是比较粗浅的,能基本清楚函数之间的调用过程.但是很多内容并没有分析,比如说里面有很多ioctl,并没有分析哪些ioctl是必须的,也没有分析如何从应 ...
- 201871010125 王玉江 《面向对象程序设计(Java)》第八周实验总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 莫烦TensorFlow_02 Session的两种方法
import tensorflow as tf matrix1 = tf.constant([[3,3]]) # 1X2 matrix2 = tf.constant([[2], [2]]) produ ...
- javaConfig下的springmvc配置
javaConfig下的springmvc配置 一.静态资源过滤 XML的配置 <mvc:resources mapping="/**" location="/&q ...