gitbook初体验
前言
在早些天看sec-wiki的时候,看到有同学做了一个ctf-wiki来介绍CTF,让CTF新手能够快速入门,做成了电子书的样子,放在github上面。页面精美、简洁,让人爱不惜手。

想着自己也能够做一下总结之类的,弄成一本小册子也是不错的,然后从中了解到了gitbook。之前玩过githubpage,自然也是明白gitbook的原理,markdown与静态页面的完美结合,不得不说markdown的出现确实大大提升了作者的写文效率,让人不用再关心样式的问题,专注于写作上面。
那么下面就记录一下自己对gitbook的一些使用与感触,与及从中遇到的坑。
安装并使用gitbook
gitbook的使用其实很简单,因为有很多大佬前辈都已经写过了相关的教程,我在参考了GitBook 简明教程 和官方文档,也算是对于gitbook有了大致的了解。
因为《GitBook简明教程》这篇教程似乎有了一定的年份,与现在的状况有一些出入。这里就说说变化了的地方,请注意本文的发表日期与当前的时间,有可能某些状况也已经发生了变化。
1, 私有书籍的变化。现在免费账户已经不能享受拥有一本私有电子书的优惠了

2, 插件的安装不需要全局安装,而是由gitbook统一管理
貌似是在早些时候的版本中,在本地预览gitbook的时候,需要用到哪个插件就要npm install 一下,现在不需要了,只需要在book.json中配置plugins里面填写好你需要的插件名称即可。在执行gitbook serve命令时,gitbook会自动检查当前环境是否包含有插件列表的插件,没有就会安装,方便了许多。至于插件在那里可以找到呢?gitbook有一个插件官网,你可以在上面搜索你想要的插件。

又或者到这里看看Gitbook 使用教程,扩展方面写的很好

3, 国内下载gitbook editor极慢,怎么解?
这无解啊!麻蛋,就六十多兆的东西,下了大半天都下载不下来,最后还是让我同学用某灯专业版下载下来的。我买了影梭的vpn根本没卵用,这里吐槽一下影梭的vpn是真的水,真的。如果要使用gitbook editor,那么请一定要最新的版本,低版本的gitbook editor会出现book.json load error的情况。这里提供windows最新版本7.0.12,有需要的同学可以下载
4, 关于book.json的一些问题
windows使用gitbook editor时,因为gitbook editor在本地并没有book.json文件,如果需要配置插件,需要手动创建book.json,并git上去。book.json的撰写应该是这样子的。
{
{
"author": "水泡泡",
"description": "水泡泡的testbook",
"extension": null,
"generator": "site",
"language": "zh-hans",
"isbn": "",
"links": {
"sharing": {
"all": null,
"facebook": null,
"google": null,
"twitter": null,
"weibo": null
},
"sidebar": {
"水泡泡的博客": "http://www.cnblogs.com/r00tuser/"
}
},
"output": null,
"pdf": {
"fontSize": 12,
"footerTemplate": null,
"headerTemplate": null,
"margin": {
"bottom": 36,
"left": 62,
"right": 62,
"top": 36
},
"pageNumbers": false,
"paperSize": "a4"
},
"plugins": [
"-lunr",
"-search",
"-highlight",
"prism",
"search-plus",
"theme-comscore",
"toggle-chapters",
"codeblock-filename",
"splitter",
"tbfed-pagefooter",
"anchor-navigation-ex",
"expandable-chapters-small",
"sectionx",
"disqus"
],
"pluginsConfig": {
"prism": {
"css": [
"prism-themes/themes/prism-base16-ateliersulphurpool.light.css"
]
},
"tbfed-pagefooter": {
"copyright":"Copyright © r00tuser 2017",
"modify_label": "该文件修订时间:",
"modify_format": "YYYY-MM-DD HH:mm:ss"
},
"anchor-navigation-ex": {
"isRewritePageTitle": true,
"isShowTocTitleIcon": true,
"tocLevel1Icon": "fa fa-hand-o-right",
"tocLevel2Icon": "fa fa-hand-o-right",
"tocLevel3Icon": "fa fa-hand-o-right"
},
"sectionx": {
"tag": "b"
},
"disqus": {
"shortName": "yourshorName"
}
},
"title": "test book",
"variables": {},
"theme-default": {
"showLevel": true
}
}
}
因为language默认是en,如果需要用到中文的话,要这样设置"language": "zh-hans"。
关于book.json的介绍与及插件可以查看这篇文章Gitbook 实用配置及插件介绍
后话
果然,逼自己去写文章总结,就会遇到很多问题。又学到了不少东西。
参考资料
1,Gitbook editor
2,Gitbook 实用配置及插件介绍
3,Gitbook 使用教程
4,GitBook 简明教程
5,GitBook官方文档
gitbook初体验的更多相关文章
- Taro开发微信小程序的初体验
了解Taro 听说Taro是从几个星期前开始的,在一次饭桌上,一个小伙伴说:"Hey, 你听说了Taro么,听说只需要写一套程序就可以生成H5,小程序以及RN的代码模板,并且类似于React ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
随机推荐
- spring aop + xmemcached 配置service层缓存策略
Memcached 作用与使用 基本介绍 1,对于缓存的存取方式,简言之,就是以键值对的形式将数据保存在内存中.在日常业务中涉及的操作无非就是增删改查.加入缓存机制后,查询的时候,对数据进行缓存,增删 ...
- java基础回顾(五)线程详解以及synchronized关键字
本文将从线程的使用方式.源码.synchronized关键字的使用方式和陷阱以及一些例子展开java线程和synchronized关键字的内容. 一.线程的概念 线程就是程序中单独顺序的流控制.线程本 ...
- 【LeetCode】49. Group Anagrams
题目: Given an array of strings, group anagrams together. For example, given: ["eat", " ...
- 【Android Developers Training】 30. 允许其它应用启动你的Activity
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- http(一)web和网络基础
深入学习http不为别的,只为补充底层知识,打好根基,深入了解其他技术,擒贼先擒王,学好九阳神功以后,乾坤大挪移,太极剑就容易了,急于求成,就只能变周芷若.走着...... 来源于:图解HTTP 1. ...
- winform利用委托delegate进行窗体间通信,相同标题已经存在??
前段时间学习委托,感觉很模糊的样子,也做过许多实例,但是项目中一直没有用到,今天在项目中遇到一个很简单的例子,现在拿出来,做一个简单的记录. 要求:将弹出框里勾选的内容返回到主面板上. 工具:委托. ...
- 浏览器json格式化插件 yformater
本人最近做的工作就是写interface,几个前端写前端,他们需要什么样的数据格式,我就得返回这样的数据格式.这就导致每一个接口都得检查json格式是否是他们所需要的.但浏览器直接请求的json格式很 ...
- input标签在只允许输入数字的时候添加的代码
oninput="this.value=this.value.replace(/\D/g, '')"
- 关于Mongo的一些坑
和大多数人一样,从Mysql转到Mongo的过程中,思维上经历了很大的转变.下面来说几点我遇到的坑: 1.单文档16M 这个是最多人碰到的,我也碰到过,当然,幸好是因为操作有误,导致这种不正常的大量数 ...
- Javascript Prototype __proto__ constructor 三者的关系
JavaScript三大毒瘤 --- this,原型链,作用域 在我等菜鸟一步一步升级中的过程中,这三个概念总是困扰这我们(可能只有我吧,我比较蠢).这三个东西往往都很绕,今天我就来分享一下我对原型. ...