<br/ >

本文已停止更新,点击此链接查看本文最新内容 !!!

1、Gitbook 简介

1.1 Gitbook

  • GitBook 是一个基于 Node.js 开发的命令行工具,使用它可以很方便的管理电子书,GitBook 是目前最流行的开源书籍写作方案。

  • 使用 GitBook 可以让创作者专注写作,自由的挥洒,不必太多的关心内容排版、发布和版本管理等问题。

  • 除了通过 GitBook 命令行管理电子书外,还可以在线或者使用桌面编辑器 Gitbook Editor 来编写和管理电子书。

  • 对于新手来说,推荐使用 Gitbook Editor 来编写和管理电子书,因为它集成了 GitBook 命令、Markdown 编器和 Git 的功能,内容通过 Git 可与 gitbook.com / Gitlab / GitHub 同步,方便版本管理和团队协作。

  • 可对于程序员或熟悉 Git 和 Markdown 的人,更推荐使用 GitBook 命令行 + Typora + SourceTree 来编写和管理电子书。使用专业工具做专业的事,比 Gitbook Editor 高效很多。

  • GitBook 是开源的。

1.2 GitBook 功能

  • 支持 Markdown 或 AsciiDoc 语法。
  • 可导出静态站点或电子书(PDF、epub、mobi)。
  • 支持多语言。
  • 可设置封面。
  • 支持变量、模板和模板继承。
  • 有丰富的插件。

1.3 GitBook 的工具组合

  • Node.js:为了使用 npm 安装 GitBook,一定要先安装 Node.js。
  • GitBook 命令:基于 Node.js 开发的命令行工具,用于创建和管理电子书。
  • Markdown:GitBook 使用 Markdown 来写作,作者再也不用担心排版了。
  • Git:GitBook 使用 Git 管理写作内容,方便多人协作和版本管理。
  • Github/Gitlab:跟代码一样,写作的内容可以托管在 Github 或 Gitlab 中。
  • gitbook.com:用于在线编写、发布和托管电子书的网站。

1.4 GitBook 的使用场景

  • 搭建公司内部的文档平台,用于公司内部的资料共享。
  • 发表开源的电子书,用于在互联网上共享自己的知识,普惠大众。

2、Gitbook 环境配置

2.1 安装 Node.js

  • 因为 GitBook 是使用 Node.js 开发的,需要通过 Node.js 包管理工具 NPM 安装,所以在开始之前要先把 Node.js 安装好。

2.2 安装 GitBook

  • 使用 NPM 安装 GitBook 的命令行工具。

    $ sudo npm install gitbook-cli -g
  • 安装完成后查看 GitBook 的版本。

    $ gitbook --version
  • 更新 GitBook 命令。

    $ npm update gitbook-cli -g
  • 卸载 GitBook 命令。

    $ sudo npm uninstall gitbook-cli -g
  • 注意:

    • 本例中使用的是全局安装 GitBook 命令,还有一种安装方式是本地安装,两种方式有什么不同呢?

      • 本地安装:安装包会被下载到当前所在目录,因此只能在当前目录下使用。
      • 全局安装:安装包会被下载到到特定的系统目录下,安装包能够在所有目录下使用。
    • 例如,查看 macOS 下全局安装被安装到了哪里?

      $ which gitbook
      /usr/local/bin/gitbook
      • GitBook 被安装到了 /usr/local/bin/ 目录下,因此可以全局使用。

2.3 快速开始 GitBook

  • 1)初始化 GitBook

    # 创建 mygitbook 文件夹,并切换到这个文件夹下面
    $ mkdir mygitbook && cd mygitbook # 初始化 gitbook 工作目录,创建必要的文件
    $ gitbook init
    warn: no summary file in this book
    info: create README.md
    info: create SUMMARY.md
    info: initialization is finished
    • 然后会初始化 GitBook 目录,创建两个 md 格式的文件 README.md 和 SUMMARY.md

      • README.md - 项目的介绍都写在这个文件里。
      • SUMMARY.md - GitBook 的目录结构在这里配置。
  • 2)定义目录结构

    • 两种方法

      • 在 SUMMARY.md 文件中定义目录结构有两种方法。

        • 方法 ➊. 先定义好目录结构,通过 gitbook init 自动生成目录结构对应的文件夹和 Markdown 文件。

        • 方法 ➋. 先创建好文件夹和 Markdown 文件再来编辑目录结构。

    • SUMMARY.md

      • SUMMARY.md 的目录结构长什么样?看下面:

        # Summary
        
        * [项目简介](README.md)
        * [快速开始](docs/快速开始.md)
        * [环境搭建](docs/环境搭建.md)
        * [简单使用](docs/简单使用.md)
        * [学入学习](docs/深入学习)
    • 这个目录建好以后在根目录下执行命令:

      $ gitbook init
    • 那些没有的目录和文件都会被创建:

      info: create docs/快速开始.md
      info: create docs/环境搭建.md
      info: create docs/简单使用.md
      info: create docs/深入学习.md
      info: create SUMMARY.md
      info: initialization is finished
      • gitbook init 只支持生成两级目录。
  • 3)启动服务

    • 在根目录执行命令:

      $ gitbook serve
      • 结果:

        Live reload server started on port: 35729
        Press CTRL+C to quit ... info: 7 plugins are installed
        info: loading plugin "livereload"... OK
        info: loading plugin "highlight"... OK
        info: loading plugin "search"... OK
        info: loading plugin "lunr"... OK
        info: loading plugin "sharing"... OK
        info: loading plugin "fontsettings"... OK
        info: loading plugin "theme-default"... OK
        info: found 5 pages
        info: found 0 asset files
        info: >> generation finished with success in 1.9s ! Starting server ...
        Serving book on http://localhost:4000 # 注意浏览地址
    • 执行 gitbook serve 命令后,会先编译书籍 gitbook build,如果没有问题会打开一个 Web 服务器,默认监听 4000 端口。如果编译有问题,会抛出错误信息。

    • 快速启动 GitBook 服务器脚本下载,点击查看软件下载密码获取方法

  • 4)查看效果

Gitbook 命令行工具的更多相关文章

  1. GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。

    GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟. 支持输出多种格式 GitBook支 ...

  2. windows下的命令行工具babun

    什么是babun babun是windows上的一个第三方shell,在这个shell上面你可以使用几乎所有linux,unix上面的命令,他几乎可以取代windows的shell.用官方的题目说就是 ...

  3. 『.NET Core CLI工具文档』(一).NET Core 命令行工具(CLI)

    说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正. 原文:.NET Core Command Line Tools 翻译:.NET Core命令行工具 什么是 .NET Core ...

  4. 命令行工具aspnet_regiis.exe实现加密和解密web.config

    命令行工具aspnet_regiis.exe,是一个类似于DOS的命令工具,称之为命令解释器.使用命令行工具加密和解密web.config文件中的数据库连接字符串时,只需要简单的语法命令即可. 加密语 ...

  5. nodejs 编写(添加时间戳)命令行工具 timestamp

    Nodejs除了编写服务器端程序还可以编写命令行工具,如gulp.js就是Nodejs编写的. 接下来我们来实现一个添加时间戳的命令: $ timestamp action https://www.n ...

  6. 如何用Node编写命令行工具

    0. 命令行工具 当全局安装模块之后,我们可以在控制台下执行指定的命令来运行操作,如果npm一样.我把这样的模块称之为命令行工具模块(如理解有偏颇,欢迎指正) 1.用Node编写命令行工具 在Node ...

  7. Orchard中的命令行工具

    在Orchard中提供了一个命令行工具,我们可以使用这个命令行工具创建用户.创建博客.生成代码.配置网站.打包模块等.并且这个命令行工具是可以扩充的,只要我们在自己开发的模块中创建一个Command类 ...

  8. Linux 性能监控之命令行工具

    引言 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的 ...

  9. 命令行工具解析Crash文件,dSYM文件进行符号化

    备份   文/爱掏蜂窝的熊(简书作者)原文链接:http://www.jianshu.com/p/0b6f5148dab8著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 序 在日常开发 ...

随机推荐

  1. day15--JavaScript语言

    JavaScript JavaScript是一门单独的编程语言.浏览器内置JavaScript的解释器. 独立的语言,浏览器具有js解释器. 存在与HTML中,在HTML中写JavaScript,存在 ...

  2. CentOS7.5安装nodejs

    安装方法1——直接部署 1.首先安装wget yum install -y wget 如果已经安装了可以跳过该步 2.下载nodejs最新的tar包 可以在下载页面https://nodejs.org ...

  3. Storm消息容错机制(ack-fail机制)

    storm消息容错机制(ack-fail) 1.介绍 在storm中,可靠的信息处理机制是从spout开始的. 一个提供了可靠的处理机制的spout需要记录他发射出去的tuple,当下游bolt处理t ...

  4. 动态产生DataSource------待整理

    1. https://www.cnblogs.com/wsss/p/5475057.html https://www.cnblogs.com/jiligalaer/p/5418874.html htt ...

  5. Redis分布式锁实现方式(附有正解及错误示例)

    一.前言 本文内容主要来自博客:https://wudashan.com/2017/10/23/Redis-Distributed-Lock-Implement/,本文用于归纳总结及笔记用途,如有需要 ...

  6. js获取当前用户IP地址和城市

    引用下面的js: <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script> 直接获取IP和城 ...

  7. ruby那些事儿

    为了学习sass,客串一下ruby,这是一个破案的过程,探索的过程. Ruby是日本人发明的一种类似于Python和Perl的服务器端脚本语言,它完全面向对象,适合于快速开发,一般开发效率是java的 ...

  8. SQLserver 字符串转换日期,日期转换成为字符串

    sqlserver 日期与字符串之间的转换   该文章摘自:http://www.cnblogs.com/windphoenix/archive/2013/04/26/3044784.html 字符转 ...

  9. BZOJ.2095.[POI2010]Bridges(最大流ISAP 二分 欧拉回路)

    题目链接 最小化最大的一条边,二分答案.然后就变成了给一张无向图定向使其为欧拉回路 二分答案后对于一个位置的两条边可能都保留,即双向边,需要给它定向:可能只保留小的一条,即单向边,不需考虑 如何给它定 ...

  10. 洛谷P1784 数独

    To 洛谷.1784 数独(类似(或者说相同)题:CODEVS.4966 简单数独(4*4数独) CODEVS.2924 数独挑战) 题目描述 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数 ...