在上一篇的文章里,我们已经写好了一本名叫 erdong-first-book 的书,但是在本地浏览很不方便,我们希望放到网络上,可以随时、方便的访问这个书籍。这个需求可以使用多种方式来实现,比如第一种,可以通过 GitBook 官网来发布这本书,GitBook 除了是一个电子书的工具以为,自身也有一个网址,在该网站注册成为会员后,可以发布自己的电子书,并且可以和 GitHub 进行关联。

除了使用 GitBook 官网以外,可以直接将电子书放在 GitHub 上,通过 GitHub Pages 来发布这本书。

使用 GitHub 发布你的书籍

接下来我们看一下如何使用 GitHub Pages 来发布一本书。

首先你需要一个 GitHub 的账号,在你的账号下创建一个用来放置你书籍的仓库,这两个步骤在网络上有太多的资料,很容易就可以达成了。

创建好仓库以后,在仓库中创建一个 docs 文件夹,用来放置 GitBook 生成的静态文件。

打开 GitHub 仓库的设置页面,找到 GitHub Pages 选项,选择 master branch /docs folder 选项即可。

注意:一定要先在仓库中创建 docs 文件夹,否则无法勾选该选项。

做完上述步骤以后开始使用 Git 上传你写好的内容到 GitHub , 关键点是将 GitBook 生成的静态文件 _book 重命名为 docs 上传替换刚才创建的 docs 文件夹即可。

这个时候使用浏览器打开 http://your_github_id.github.io/your_github_gitbook 这个地址即可。比如我的 GitBook 地址是

http://erdong.github.io/gitbook-notes-samples ,大家在点击以后发现会自动跳转到 https://erdong.site/gitbook-notes-samples 是因为我做了域名绑定。

本地 GitBook 迁移

在迁移前可以使用如下命令查看一下曾经使用 npm 安装过什么模块

npm list -g --depth 0
  • list : 已经安装的 node 包
  • -g : 全局的安装包
  • --depth : 包的显示层级,0 代表显示第一级的包,数字越大,显示的越全。

迁移其实非常简单,你在原来的环境将整本书打包,最好把文件夹里的node_modules 目录也一起打包,这样在新的环境就不需要安装这些组件了。在新的环境按照如下顺序依次进行安装你之前安装过的组件

< 1.> 安装 npm

< 2.> 安装 gitbook

< 3.> 拷贝打包好的文件夹

< 4.> 减压到新的位置

这样就完成了你的书的迁移。你在新的位置可以继续进行内容的编写、静态文件的生成,和之前一样,没有任何区别。

发布一本用 GitBook 编辑的书的更多相关文章

  1. 如何在 GitHUb 上使用 gitbook 发布一本在线书籍

    如何在 GitHUb 上使用 gitbook 发布一本在线书籍 ebook / pdf refs https://docs.gitbook.com/integrations/github xgqfrm ...

  2. 清华大学出版社即将推出的又一本挂羊头卖狗肉的劣书 《C语言入门1.2.3—一个老鸟的C语言学习心得》

    http://www.tup.com.cn/book/showbook.asp?CPBH=051892-01

  3. 推荐大家一本学习php模式的书

    对我来讲,写程序不是码代码,不想只是简单的将类拿来调用,然后功能实现了,可是以后要做一些扩展或者是修改就要对代码大刀阔斧. 在网站的开发过程中,使用一些框架,团队就可以在一定的程度上,分工合作.但是当 ...

  4. Markdown For EditPlus插件发布(基于EditPlus快速编辑Markdonw文件,写作爱好的福音来啦)

    详细介绍: Markdown For EditPlus插件使用说明 开发缘由 特点好处: 中文版使用说明 相关命令(输入字符敲空格自动输出): EditPlus常用快捷键: 相关教程: English ...

  5. python threading编程中的LOCK和RLOCK(可重入锁)

    找到一本PYTHON并发编辑的书, 弄弄.. #!/usr/bin/env python # -*- coding: utf-8 -*- import threading import time sh ...

  6. 写了两年的一本.NET书现在终于在北京最大的新华书店上架了,然而我却很难找到工作了。

    两年前,有几个出版社的编辑在QQ上跟我联系写书的事情,好奇为什么出版社会找到我这样一个很普通的.NET技术人员,其中一个编辑说他们分析了很多博客园博主的文章阅读量和写作质量,觉得我的博客还是不错的.尽 ...

  7. gitbook 入门教程之使用 gitbook-cli 开发电子书

    gitbook 生成电子书主要有三种方式: gitbook-cli 命令行操作,简洁高效,适合从事软件开发的相关人员. gitbook-editor 编辑器操作,可视化编辑,适合无编程经验的文学创作者 ...

  8. 使用GitBook编写项目文档

    GitBook简介 GitBook 是使用 GitHub / Git 和 Markdown(或AsciiDoc)构建漂亮书籍的命令行工具(和Node.js库): GitBook 可以将您的内容作为网站 ...

  9. 翻书插件:wowbook.js

    wowbook是一个jQuery插件,可以让你在网站中发布一本页面翻转效果超赞的书. demo演示 基本页面 <!DOCTYPE html> <html lang="en& ...

随机推荐

  1. 浙大PAT CCCC L3-001 凑零钱 ( 0/1背包 && 路径记录 )

    题目链接 分析 : 就是一个 0/1 背包,但是需要记录具体状态的转移情况 这个可以想象成一个状态转移图,然后实际就是记录路径 将状态看成点然后转移看成边,最后输出字典序最小的路径 这里有一个很巧妙的 ...

  2. clojure的delay future promise

    <Clojure编程>第4章笔记. 总的感觉,Clojure毕竟是基于JVM的在人间的工程化语言.不是纯的无状态纯函数的在神间的lisp. 作为后端语言,不可避免要处理计算中和代码执行时序 ...

  3. Codeforces Round #303 (Div. 2) E. Paths and Trees Dijkstra堆优化+贪心(!!!)

    E. Paths and Trees time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

  4. Spring Cloud架构教程 (一)Hystrix监控面板

    下面我们基于之前的示例来结合Hystrix Dashboard实现Hystrix指标数据的可视化面板,这里我们将用到下之前实现的几个应用,包括: eureka-server:服务注册中心 eureka ...

  5. python学习之路(24)

    访问限制 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑. 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个 ...

  6. HTTPS协议详解(一):HTTPS基础知识

    HTTPS基础知识:HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换信息. ...

  7. 【Spark机器学习速成宝典】基础篇03数据读取与保存(Python版)

    目录 保存为文本文件:saveAsTextFile 保存为json:saveAsTextFile 保存为SequenceFile:saveAsSequenceFile 读取hive 保存为文本文件:s ...

  8. Hook CreateProcess

    6种比较常用的运行(执行)程序的方法: 包括WinExec.ShellExecute.CreateProcess.CreateProcessAsUser.CreateProcessWithLogonW ...

  9. element 库 date-picker 的 disabledDate 的坑

    概述 今天使用 element 库的 date-picker 组件,使用日期范围,然后使用了 disabledDate 属性,把 2018 年 1 月和 2020 年 12 月之后的日期全部 disa ...

  10. Stream介绍

    一.Stream介绍 现在有这样的需求:有个菜单list,菜单里面非常多的食物列表,只选取小于400卡路里的并且按照卡路里排序,然后只想知道对应的食物名字. 代码: package com.cy.ja ...