gitbook如何_github入门与实践

gitbook如何_github入门与实践  本文从“是什么”、“为什么”、“怎么办”、“好不好”四个维度来介绍GitBook,带你从黑暗之中走出来,get这种美妙的写作方式。是什么?  在我认识GitBook之前,我已经在使用Git了,毋容置疑,Git是目前世界上最先进的分布式版本控制系统。  我认为Git不仅是程序员管理代码的工具,它的分布式协作方式同样适用于很多场合,其中一个就是写作(这会是一个…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本文从 “是什么”、“为什么”、“怎么办”、“好不好” 四个维度来介绍 GitBook,带你从黑暗之中走出来,get 这种美妙的写作方式。


是什么?

在我认识 GitBook 之前,我已经在使用 Git 了,毋容置疑,Git 是目前世界上最先进的分布式版本控制系统。

我认为 Git 不仅是程序员管理代码的工具,它的分布式协作方式同样适用于很多场合,其中一个就是写作(这会是一个引起社会变革的伟大的工具!)。所以在我发现 GitBook 之前,实际上我已经无数次想象过它的使用场景了。

咋一看 GitBook 的名字,你可能会认为它是关于 Git 的一本书。而当你有所了解之后,你也许会认为它是一个使用 Git 构建电子书的工具。其实不然,GitBook 与 Git 的关系,就像雷锋塔和雷锋那样,没有一点关系!

这里写图片描述

实际上,GitBook 是一个基于 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 两种语法格式,可以输出 HTML、PDF、eBook 等格式的电子书。所以我更喜欢把 GitBook 定义为文档格式转换工具
  
所以,GitBook 不是 Markdown 编辑工具,也不是 Git 版本管理工具。市面上我们可以找到很多 Markdown 编辑器,比如 Typora、MacDown、Bear、MarkdownPad、MarkdownX、JetBrains’s IDE(需要安装插件)、Atom、简书、CSDN 以及 GitBook 自家的 GitBook Editor 等等。

这里写图片描述

但 GitBook 又与 Markdown 和 Git 息息相关,因为只有将它们结合起来使用,才能将它们的威力发挥到极致!因此,通常我们会选择合适的 Markdown 编辑工具以获得飞一般的写作体验;使用 GitBook 管理文档,预览、制作电子书;同时通过 Git 管理书籍内容的变更,并将其托管到云端(比如 GitHub、GitLab、码云,或者是自己搭建的 Git 服务器),实现多人协作。

实际上,GitBook Editor 对于新手来说是个不错的选择,它集成了 GitBook、Git、Markdown 等功能,还支持将书籍同步到 gitbook.com 网站,使我们可以很方便地编辑和管理书籍。但是不幸的是,GitBook Editor 的注册和登录需要翻墙,即便注册成功了也可能登录不上,似乎是因为网站最近在升级。

这里写图片描述

因此,我推荐,也是我目前使用的搭配是 GitBook + Typora + Git


为什么?

通常,我们最开始学习和使用的办公软件就是 Word、Excel 和 PowerPoint。这里不是说它们已经过时了,不是说 GitBook 能够替代它们。

相反,Microsoft 的办公软件很优秀并且经受了时间的考验,但是正因为它功能丰富,导致稍显臃肿(二八定律:80%的时间里我们只会只用20%的功能),同时因为它存在以二进制格式保存、软件不兼容、格式不兼容、难以进行版本控制、难以实时分享预览、难以多人协作等短板。而这恰恰是 GitBook + Markdown + Git 的长处。

简单来说,GitBook + Markdown + Git 带来的好处有:

  • 语法简单
  • 兼容性强
  • 导出方便
  • 专注内容
  • 团队协作

所以,如果你和我一样,不满足于传统的写作方式,正在寻找一种令人愉悦的写作方式,那么该尝试使用 GitBook 啦!

这里写图片描述

当然,GitBook 不是万能的,当我们需要复杂排版时,依然需要依托于 Word 等工具。但不用担心,因为我们可以把 Markdown 格式的文档导出为 Word 格式,再进一步加工。


怎么办?

怎么安装

当你听了我的怂恿,并决定尝试使用 GitBook 的时候,首先面临的问题是 —— 如何搭建 GitBook 环境?

因为 GitBook 是基于 Node.js,所以我们首先需要安装 Node.js(下载地址:https://nodejs.org/en/download/),找到对应平台的版本安装即可。

现在安装 Node.js 都会默认安装 npm(node 包管理工具),所以我们不用单独安装 npm,打开命令行,执行以下命令安装 GitBook:

npm install -g gitbook-cli

安装完之后,就会多了一个 gitbook 命令(如果没有,请确认上面的命令是否加了 -g)。

上面我推荐的是 GitBook + Typora + Git,所以你还需要安装 Typora(一个很棒的支持 macOS、Windows、Linux 的 Markdown 编辑工具)和 Git 版本管理工具。戳下面:

  • Typora 下载地址:https://typora.io/
  • Git 下载地址:https://git-scm.com/downloads

Typora 的安装很简单,难点在于需要翻墙才能下载(当然你也可以找我要)。Git 的安装也很简单,但要用好它需要不少时间,这里就不展开了(再讲下去怕你要跑啦~)。

怎么使用

想象一下,现在你准备构建一本书籍,你在硬盘上新建了一个叫 mybook 的文件夹,按照以前的做法,你会新建一个 Word 文档,写上标题,然后开始巴滋巴滋地笔耕。但是现在有了 GitBook,你首先要做的是在 mybook 文件夹下执行以下命令:

gitbook init

执行完后,你会看到多了两个文件 —— README.md 和 SUMMARY.md,它们的作用如下:

  • README.md —— 书籍的介绍写在这个文件里
  • SUMMARY.md —— 书籍的目录结构在这里配置

这时候,我们启动恭候多时的 Typora 来编辑这两个文件了:

这里写图片描述

编辑 SUMMARY.md 文件,内容修改为:

# 目录

* [前言](README.md)
* [第一章](Chapter1/README.md)
  * [第1节:衣](Chapter1/衣.md)
  * [第2节:食](Chapter1/食.md)
  * [第3节:住](Chapter1/住.md)
  * [第4节:行](Chapter1/行.md)
* [第二章](Chapter2/README.md)
* [第三章](Chapter3/README.md)
* [第四章](Chapter4/README.md)

然后我们回到命令行,在 mybook 文件夹中再次执行 gitbook init 命令。GitBook 会查找 SUMMARY.md 文件中描述的目录和文件,如果没有则会将其创建。

Typora 是所见即所得(实时渲染)的 Markdown 编辑器,这时候它是这样的:

这里写图片描述

接着我们执行 gitbook serve 来预览这本书籍,执行命令后会对 Markdown 格式的文档进行转换,默认转换为 html 格式,最后提示 “Serving book on http://localhost:4000”。嗯,打开浏览器看一下吧:

这里写图片描述

当你写得差不多,你可以执行 gitbook build 命令构建书籍,默认将生成的静态网站输出到 _book 目录。实际上,这一步也包含在 gitbook serve 里面,因为它们是 HTML,所以 GitBook 通过 Node.js 给你提供服务了。

当然,build 命令可以指定路径:

gitbook build [书籍路径] [输出路径]

serve 命令也可以指定端口:

gitbook serve --port 2333

你还可以生成 PDF 格式的电子书:

gitbook pdf ./ ./mybook.pdf

生成 epub 格式的电子书:

gitbook epub ./ ./mybook.epub

生成 mobi 格式的电子书:

gitbook mobi ./ ./mybook.mobi

如果生成不了,你可能还需要安装一些工具,比如 ebook-convert。或者在 Typora 中安装 Pandoc 进行导出。

除此之外,别忘了还可以用 Git 做版本管理呀!在 mybook 目录下执行 git init 初始化仓库,执行 git remote add 添加远程仓库(你得先在远端建好)。接着就可以愉快地 commit,push,pull … 啦!

不是程序员的小伙伴可能不太喜欢用命令行,那其实版本管理这部分可以下载安装 Git 或 GitHub 这些客户端程序,在图形界面上操作也是可以完成工作的。


好不好?

额… 你觉得好不好嘛?

反正我觉得挺好的,特别是对我这种懒得排版,又想随时随地写作的宝宝来说。而且能够查看每个版本内容变更的情况,同时又避免了硬盘单一故障带来的风险。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186087.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • BaseDao.util(虎大将军)

    BaseDao.util(虎大将军)

  • pbootcms网站模板_帝国cms标签

    pbootcms网站模板_帝国cms标签首页制作1、替换TDK<title>{sort:name}-{pboot:sitesubtitle}</title><metaname="Keywo

  • Linux卸载命令_Linux系统中如何卸载东西

    Linux卸载命令_Linux系统中如何卸载东西微信设置水滴昵称,个性中带点萌第一步,apt-getremovexxx;就是卸载xxx 或者apt-getremove–purgexxx;卸载xxx并清除配置。 这两条命令对于依赖则是不管的。因为别的软件可能和此软件有相同的依赖,当然对依赖不能管了。第二步,apt-getautoremove;就是来对付那些不再被“依赖”的包,自动检测并删除他们(任何时候都可以执行此条命令)。 autoremove:isusedtoremovepackagesthat

  • setfacl 权限导出_linux学习-setfacl设置特定目录用户权限

    setfacl 权限导出_linux学习-setfacl设置特定目录用户权限需求:设置用户test,test1对特定的目录有读写执行权限,后加的文件也是这个权限。-R表示递归-m表示设置文件acl规则setfacl-R-md:u:test:rwx/data2/testsetfacl-R-md:u:test1:rwx/data2/test–删除ACL规则使用-bsetfacl-R-b/data2/test上面的d:u:详见如下,而perms对应的是…

  • 圆柱体积公式怎么算立方米_长方体计算体积公式

    圆柱体积公式怎么算立方米_长方体计算体积公式想要求圆柱的体积必须要记住圆柱对应的公式,下面小编为大家提供圆柱体积怎么算,希望对大家有所帮助。求圆柱体积的算法求圆柱体积先要求圆基的半径。两个圆都会做,因为它们大小相同。如果你已经知道半径,你可以继续前进。如果你不知道半径,那么你可以用尺子测量圆的最宽部分,然后除以2。这将比测量直径的一半更准确。我们说,这个圆筒的半径是1英寸(2.5厘米)。把它写下来。如果你知道这个圆的直径,就把它分成2个。…

  • 复试的时候面试官问我还有什么问题(和面试官聊得很好但没有录用)

    我是一名程序员,我的主要编程语言是Java,我更是一名Web开发人员,所以我必须要了解HTTP,所以本篇文章就来带你从HTTP入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得05年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学xxx家里有网,每…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号