Gitbook
插件是扩展 Gitbook
功能的最佳方式,若是 Gitbook
没有想要的功能或者说网络上也没有现成的解决方案时,那么只剩下自食其力这条道路,让咱们一块儿来自力更生开发插件解决问题吧!html
幸运的是,Gitbook
提供了插件机制留给开发者去扩展自定义功能,虽然官方开发文档不是特别完善,甚至有时候须要翻阅相关源码才能定位到暴露出的 api
,可是这一切都不影响开发的热情,谁让咱们一开始就选定了 Gitbook
呢!git
遗憾的是,目前 Gitbook
已经中止了旧版服务,gitbook-cli
脚手架甚至也早已中止了维护,可是我心依旧钟爱于轻量级的脚手架,不抛弃不放弃,因此花费了必定心血整理出相关的资料文档.github
「雪之梦技术驿站」:
Gitbook
官方文档移植项目,包括原版英文和校准中文,欢迎各位爱好者加入一块儿维护!npm
「雪之梦技术驿站」: 从入门到熟练运用系列文章,高级进阶章节详细介绍了插件开发的基础知识,浅显易懂全是干货!json
「雪之梦技术驿站」: 基于
gitalk
实现的Gitbook
插件,详细介绍了从思路到实现的全过程,二次封装第三方工具时值得借鉴.segmentfault
「雪之梦技术驿站」: 基于
readmore
实现的阅读更多插件,基于模板渲染手段封装第三方工具,和mygitalk
插件的实现思路互为补充!api
「雪之梦技术驿站」: 由于没有现成插件,因此自力更生,由于力有所及,因此开源!bash
若是你和我同样全平台发布文章的话,估计你也会遇到和我同样的问题: 原创首发我的博客后转载自其余各大平台,为了吸引流量老是要添加原创声明小尾巴,麻烦且费事!服务器
当一次又一次重复这种无心义的劳动时,天然要寻求解决之道,偷懒是促进生产力发展的原始动力!网络
如今问题很清楚了,那就是须要开发一款 Gitbook
插件帮助文章自动添加版权保护信息,来减小人力劳动.
幸运的是,在平时逛的各大平台中慕课网和CSDN自带版权保护,所以不妨来个强强联合,开发出加强版版权保护插件.
做者:雪之梦技术驿站
连接:https://www.imooc.com/article/293112
来源:慕课网
复制代码
「雪之梦技术驿站」: 慕课网手记文章复制内容时会自动追加版权保护信息,包括做者,连接和来源三部分.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接和本声明。
本文连接:https://snowdreams1006.blog.csdn.net/article/details/102077796
————————————————
版权声明:本文为CSDN博主「雪之梦技术驿站」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处连接及本声明。
原文连接:https://snowdreams1006.blog.csdn.net/article/details/102077796
复制代码
「雪之梦技术驿站」: CSDN原创博客开头自动追加版权声明信息,包括版权声明和本文链两部分,复制版权信息时会追加版权保护信息.
慕课网手记文章全文复制均会追加版权保护信息,而 CSDN原创博客开头显示版权信息复制该信息时才会追加版权保护信息,综合二者,不妨作个加强版版权保护插件.
做者: 雪之梦技术驿站
连接: https://snowdreams1006.github.io/myGitbook/advance/plugin-develop.html
来源: 雪之梦技术驿站
本文原创发布于雪之梦技术驿站,转载请注明出处,谢谢合做!
复制代码
「雪之梦技术驿站」: 文章末尾自动追加版权声明信息,复制任意文章内容时自动追加版权保护信息.
根据插件的实现效果,咱们暂且将该插件命名为 copyright
版权插件,接下来就是赶忙公开注册插件以避免名字被抢先一步!
「雪之梦技术驿站」: 暂时并不着急于实现插件的做用,抢占先机很重要,小步快跑去注册插件吧!
npmjs
官网在线注册「雪之梦技术驿站」:注册过程比较简单,用户名和邮箱之类的信息便可,不用付费也能够发布包.
npm adduser
注册$ npm adduser
复制代码
「雪之梦技术驿站」: 终端注册和网页版注册基本一致,须要用户名,密码和邮箱.
按照 Gitbook
插件命名规范,实用性插件必须以 gitbook-plugin-*
开头,而咱们的插件名为 copyright
,由于完整名称应该是 gitbook-plugin-copyright
.
$ npm search --keyword gitbook-plugin-copyright
复制代码
「雪之梦技术驿站」: 若是没有搜索到项目,恭喜你,名称可用,抓紧时间赶忙注册!不然,从新起名,直到可用为止!
按照关键字搜索: www.npmjs.com/search?q=gi…
「雪之梦技术驿站」: 若是没有出现精确匹配
exact match
,恭喜你,名称可用,请抓紧时间注册插件.不然另想新名,直到名称可用为止!
通过上一步查询后肯定插件名称暂时可用后,应该当即前往 github
建立与插件同名的开源项目,以便进行插件的后续更新维护.
「雪之梦技术驿站」: 建立插件项目时,建议项目信息尽可能补全,添加
README
文件和版权类型.
「雪之梦技术驿站」: 点击克隆或下载按钮获取克隆连接,准备下载到本地继续开发插件项目.
$ git clone git@github.com:snowdreams1006/gitbook-plugin-copyright.git
复制代码
克隆到本地工做空间后,切换到插件项目目录,运行初始化npm项目命令,生成默认 package.json
配置文件.
$ npm init -y
复制代码
「雪之梦技术驿站」: 默认信息基本够用,暂时没必要修改,重点是快速抢占插件名称!
$ npm publish
复制代码
「雪之梦技术驿站」: 发布 npmjs 包时应该先登陆帐号
npm login
,并设置为 npmjs 官方镜像源,npm set registry https://registry.npmjs.org/
.
若是命令行内运行 npm publish
命令发布插件没有报错信息,恭喜你!插件应该成功发布到 npmjs
包注册中心!
若是发布插件时命令行没有报错,不管是在命令行内搜索插件仍是网站内搜索插件,此时就应该能搜索到刚刚发布成功的插件.
$ npm search --keyword gitbook-plugin-copyright
复制代码
「雪之梦技术驿站」: 命令行内再次运行
npm search --keyword gitbook-plugin-copyright
发现插件已成功抢注!
「雪之梦技术驿站」: 搜索到的插件名称正是刚刚发布成功的插件,此时插件名称
gitbook-plugin-copyright
已成功抢注!
点击插件名称跳转到插件介绍页面,基本框架已初具模样,接下来的工做才是真正的插件开发.
「雪之梦技术驿站」: 此时插件已成功发布到 npmjs 包管理中心,任何人都使用
npm install gitbook-plugin-copyright
安装插件,只不过暂时并无任何代码逻辑而已!
如今虽然插件已发布到 npmjs
包管理工具,可是源代码尚未上传到远程服务器,没法进行后续的开源维护,所以此时建立一个里程碑,记念下难忘的时刻并准备同步到 github
.
v0.0.1
版本$ git tag v0.0.1 -m "init"
复制代码
$ git push origin v0.0.1
复制代码
下载地址: github.com/snowdreams1…
master
分支$ git push origin master
复制代码
至此,从建立插件到发布插件以及最后同步插件源码所有流程基本完成,从零到壹开发插件并发布就是这么简单!
本文主要介绍了如何从0到1发布本身的插件,虽然只是骨架,具体什么代码也没有,可是对于完整的开发流程而言已经足够了!
相信你也不会重复开发一个如出一辙的 gitbook-plugin-copyright
插件,因此具体代码对于读者而言可能没有特别大的用处.
可是经过本文咱们能够了解到,开发插件其实并不难!
实际开发中大多数问题网络上基本上都有现成的解决方案,只须要学会搜索外加拥有必定的学习能力,相信你最终也必定能够开发出本身的插件.
$ npm adduser
复制代码
「雪之梦技术驿站」: 命令行内注册信息比较简单,不如网页版注册还能够设置头像之类的,推荐网页版注册.
$ npm login
复制代码
「雪之梦技术驿站」: 不论哪一种注册方式,发布插件前都要先登陆帐号以确认插件做者信息.
$ npm whoami
复制代码
「雪之梦技术驿站」: 显式登录后确定知道刚才已经登陆,一段时间后还记得是谁在登录吗?此时,运行该命令就能够查看当前登陆用户信息.
$ npm init -y
复制代码
「雪之梦技术驿站」: 默认建立的配置文件
package.json
基本够用,也能够自行修改相关配置信息.
$ npm set registry https://registry.npmjs.org/
复制代码
「雪之梦技术驿站」: 强制切换成官方镜像源,主要是针对可能使用淘宝镜像源的用户.
$ npm publish
复制代码
「雪之梦技术驿站」: 发布插件前请确保已经登陆并切换到官方镜像源,不然发布会失败!
$ npm search --keyword gitbook-plugin-<package>
复制代码
「雪之梦技术驿站」: 发布前未被注册时是搜不到结果,发布后的插件做者信息应该是当前用户.
$ git clone git@github.com:<username>/gitbook-plugin-<package>.git
复制代码
$ git commit -am "change log"
复制代码
$ git tag <version> -m "publish log"
复制代码
$ git push origin <version>
复制代码
master
$ git push origin master
复制代码
若是你有什么好的灵感或者想法,赶忙去抢注吧,毕竟名称但是全局惟一独一无二的呀!
下一节咱们将开始介绍如何给基本骨架注入生命力,使其变成真正的 Gitbook
插件,甚至实现 gitbook-plugin-copyright
插件功能!
开源项目: github.com/snowdreams1…
若是你以为本文对你有所帮助,欢迎点赞留言告诉我,你的鼓励是我继续创做的动力,不妨顺便关注下我的公众号「雪之梦技术驿站」,按期更新优质文章哟!