前言

在早些天看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 &copy 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初体验的更多相关文章

  1. Taro开发微信小程序的初体验

    了解Taro 听说Taro是从几个星期前开始的,在一次饭桌上,一个小伙伴说:"Hey, 你听说了Taro么,听说只需要写一套程序就可以生成H5,小程序以及RN的代码模板,并且类似于React ...

  2. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  3. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  4. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  5. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

  6. 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...

  7. 【Knockout.js 学习体验之旅】(1)ko初体验

    前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...

  8. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  9. 百度EChart3初体验

    由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...

随机推荐

  1. 调用phprpc的时候出现Fatal error: Cannot redeclare gzdecode()

    出现这个问题的原因是:php在5.4版本后,已经自包含了gzdecode()函数,开发者自己定义的gzdecode()函数会与其冲突. 在 ....\phpRPC\compat.php文件的第72行( ...

  2. empty 和isset的差别

    都可以判定一个变量是否为空:都返回boolean类型,即true或false.isset()用来检测变量是否设置,只能用于变量,因为传递任何其它参数都将造成解析错误.若想检测常量是否已设置,可使用 d ...

  3. 遇到scan configurtation CDT builder等的错误

    可以直接propoerty中的builder中把这两项删除

  4. java连接mysql源码

    import java.sql.; import java.text.SimpleDateFormat; import java.util.; import java.util.Date; impor ...

  5. 点击率模型AUC

    一 背景       首先举个例子:                          正样本(90)                       负样本(10)         模型1预测      ...

  6. Python中字典和集合

    Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...

  7. 前端需要注意的seo

    1 合理的title ,description ,keyswords 搜索引擎对这三项的权重逐渐减小,title 强调重点即可 ,重要的关键字不要超过两次,而且要靠前. 2 不同的tilte要有所不同 ...

  8. gradle的安装,配置,构建,研究,初体验......(入职一周研究的第一个大知识点)

    (1)Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置.更 ...

  9. SQL-结构化查询语言(1)

    一:数据查询语言(DQL),Data Query Language,用以从表中获取数据,确定数据怎样在程序中给出.SELECT是DQL中用的最多的! select user,host,password ...

  10. MessageBoxButtons.OKCancel的选择事件

    private void 退出ToolStripMenuItem1_Click(object sender, EventArgs e) { DialogResult resault = Message ...