关于gitbook:GitBook项目搭建插件配置打包插入ppt视频pdf

GitBook 是一个基于 Node.js 的命令行工具,可应用它来制作精美的电子书,同时GitBook提供了大量的插件,以应答各种需要。本文笔者就来具体记录一下GitBook装置过程,并记录在学弟学妹机器中呈现的各种“幺蛾子”。因为GitBook依赖于node.js,因而在装置GitBook前确保曾经装置好了node.js环境。Node版本肯定不要太高,网上倡议v12.16.2否则会产生如下状况: 1. 装置GitBook命令行工具npm install gitbook-cli -g问题一:gitbook : 无奈加载文件×××××××××因为在此零碎上禁止运行脚本。解决问题一: 关上Windows PowerShell ISE 在搜寻框内搜寻windows powershell ise,而后右击以管理员身份运行;Set-ExecutionPolicy RemoteSigned,抉择全是即可。2. 装置GitBookgitbook -V输出上述指令,会主动下载GitBook;问题二:TypeError: cb.apply is not a function解决问题二:点击链接中提醒的文件后对文件进行编辑并正文掉上面几行代码即可 3.GitBook我的项目初始构建gitbook init 执行上述命令后,会主动生成两个必要的文件 README.md 和 SUMMARY.md。 README.md: 书的介绍文字,如前言、简介,在章节中也可做为章节的简介。 SUMMARY.md: 定制书籍的章节构造和程序。此时若呈现如下问题,则是node版本的问题: 4.GitBook依赖下载gitbook install 5.GitBook插件配置及下载在book.json文件"pluginsConfig"中配置所须要的插件(记得援用前下载)。罕用插件及详解笔者的配置如下: "pluginsConfig": { "prism": { "css": [ "prismjs/themes/prism.css" ] }, "insert-logo": { "url": "/logoPic/logo.png", "style": "background:none;max-height:129px;margin-right:200px" }, "github": { "url": "https://github.com/zhangjikai" }, "hide-element": { "elements": [ ".gitbook-link" ] }, "download-pdf-link": { "base": "https://www.gitbook.com/book/poppy-project/poppy-docs/", "label": { "en": "Download PDF", "fr": "Télécharger le PDF" } } }5.GitBook目录配置 ...

July 31, 2022 · 1 min · jiezi

关于gitbook:GitBook简明安装教程

gitbook残缺装置依赖的软件比拟多: nodejs 依赖环境,gitbook命令行基于nodejsnvm 治理nodejs多版本,gitbook依赖的nodejs版本比拟老,可能与零碎已有的抵触gitbook-cli 主程序gitbookcalibre 生成epub、pdf上面具体介绍在本地如何装置 GitBook。 最终装置的gitbook版本: $ gitbook -VCLI version: 2.3.2GitBook version: 3.2.3环境要求NodeJS(v4.0.0及以上), 举荐v10.21.0 , 其余版本可能会不兼容。gitbook曾经不更新了。如果本地已有版本,举荐装置nvm:https://www.jianshu.com/p/624... # nvm: https://github.com/nvm-sh/nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash # fast by gitee with 52fhy curl -o- https://gitee.com/52fhy/nvm/raw/v0.39.1_gitee/install.sh | bash默认会在零碎的bash配置里写入环境变量,新建一个窗口就能够应用nvm命令了。如果没有失效,能够按装置提醒受到设置环境变量: => Appending nvm source string to /home/yjc/.zshrc=> Appending bash_completion source string to /home/yjc/.zshrc=> Close and reopen your terminal to start using nvm or run the following to use it now:export NVM_DIR="$HOME/.config/nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion接着就能够失常应用nvm了: ...

February 12, 2022 · 1 min · jiezi

关于gitbook:手把手教你GitBook使用

你好,我是悦创。 首发博客:https://www.aiyc.top/1947.html 具体的记录了一步步搭建本人的电子文档笔记1. 环境搭建1.1 装置 Nodejs大佬级别间接看上面这句话,就没啥问题: 这个装置很简略,只须要下载,而后一路 next 即可。下载链接:https://nodejs.org/en/ 小白持续看看下来: 用于所有支流平台的官网软件包,可拜访 http://nodejs.cn/download/ 装置 Node.js 的其中一种十分便捷的形式是通过软件包管理器。 对于这种状况,每种操作系统都有其本身的软件包管理器。 在 macOS 上,Homebrew 是业界的规范,在装置之后能够十分轻松地装置 Node.js(通过在 CLI 中运行以下命令): brew install node其余实用于 Linux 和 Windows 的软件包管理器列出在 https://nodejs.org/en/download/package-manager/。 nvm 是一种风行的运行 Node.js 的形式。 例如,它能够轻松地切换 Node.js 版本,也能够装置新版本用以尝试并且当呈现问题时轻松地回滚。 这对于应用旧版本的 Node.js 来测试代码十分有用。 详见 https://github.com/creationix/nvm。 倡议,如果刚入门并且还没有用过 Homebrew,则应用官网的安装程序,否则,Homebrew 是更好的解决方案。 无论如何,当装置 Node.js 之后,就能够在命令行中拜访 node 可执行程序。 1.2 gitbook-cli 脚手架装置命令装置npm install -g gitbook-cli版本验证# gitbook -VCLI version: 2.3.2GitBook version: 3.2.3编译器的抉择:举荐上面两个vscodeTyporasublimeText32. 创立目录,初始化mkdir gitbook-imsdk // 创立我的项目目录cd gitbook-imsdkgitbook init // 初始化目录PS: 如果初始化报错的话: ...

October 11, 2021 · 4 min · jiezi

关于gitbook:gitbook使用及bookjson详细配置

装置装置命令:1 npm install -g gitbook-cli test装置实现之后,你能够应用上面的命令来测验是否装置胜利。 $ gitbook -VCLI version: 2.3.2GitBook version: 3.2.3应用初始化 gitbook init GitBook 筹备工作做好之后,咱们进入一个你要写书的目录,输出如下命令。 $ gitbook initwarn: no summary file in this bookinfo: create README.mdinfo: create SUMMARY.mdinfo: initialization is finished能够看到他会创立 README.md 和 SUMMARY.md 这两个文件,README.md 应该不生疏,就是阐明文档,而 SUMMARY.md 其实就是书的章节目录,其默认内容如下所 # Summary如果曾经初始化,间接启动即可- `启动本地服务 gitboook serve` 接下来,咱们输出 `$ gitbook serve` 命令,而后在浏览器地址栏中输出 `http://localhost:4000`- 新建目录首先咱们来看一下gitbook目录构造及相干文件book.json 次要寄存配置信息 { "plugins": [ "collapsible-menu", "anchor-navigation-ex", "tbfed-pagefooter", "disqus" ], "title": "公布业务逻辑梳理", "pluginsConfig": { "tbfed-pagefooter": { "copyright":"Copyright &copy ershouche-FE 2019", "modify_label": "文件订正工夫:", "modify_format": "YYYY-MM-DD HH:mm:ss" }, "disqus": { "shortName": "gitbookuse" } } }SUMMARY.md Gitbook 的章节目录![image](https://tva1.sinaimg.cn/large/007S8ZIlly1ggyrd129scj30ng0do41n.jpg)新增目录文件时执行gitbook init会主动创立文件到对于目录上面 留神: 最顶层的是一级目录,缩进一次的是二级目录,默认会膨胀进对应的一级目录外面,如果想创立更深层次的目录构造,就在对应的子目录上面以缩进的形式创立 该文件外面的缩进对于文档侧边栏目录的缩进<img src="https://img.58cdn.com.cn/escstatic/fecar/pmuse/publish/fabu.png" width="200" />- 构建gitbook build 执行该命令会生成一个_book文件夹,外面的内容对于生成的HTML文件## 配置book.json### 配置阐明| 变量 | 形容 || :-----------: | :----------------------------------------------------------: || root | 蕴含所有图书文件的根文件夹的门路,除了 book.json || structure | 指定自述文件,摘要,词汇表等的门路 || title | 您的书名,默认值是从 README 中提取进去的。在 GitBook.com 上,这个字段是预填的。 || description | 您的书籍的形容,默认值是从 README 中提取进去的。在 GitBook.com 上,这个字段是预填的。 || author | 作者名。在GitBook.com上,这个字段是预填的。 || isbn | 国际标准书号 ISBN || language | 本书的语言类型 —— [ISO code](https://links.jianshu.com/go?to=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FList_of_ISO_639-1_codes) 。默认值是 `en` || direction | 文本浏览程序。能够是 rtl (从右向左)或 ltr (从左向右),默认值依赖于 language 的值。 || gitbook | 应该应用的GitBook版本,并承受相似于 `>=3.0.0` 的条件。 || links | 在左侧导航栏增加链接信息 || plugins | 要加载的插件列表([官网插件列表](https://links.jianshu.com/go?to=https%3A%2F%2Fdocs.gitbook.com%2Fv2-changes%2Fimportant-differences%23plugins)) || pluginsConfig | 插件的配置 |### 默认插件- highlight - 语法高亮插件- search - 搜寻插件- sharing - 分享插件- font-settings - 字体设置插件- livereload - 热加载插件搜寻 ![image-20200716145919634](https://tva1.sinaimg.cn/large/007S8ZIlly1ggstn51gezj30fy04gt8q.jpg) 字体 ![image-20200716145955656](https://tva1.sinaimg.cn/large/007S8ZIlly1ggstnprwzij30b205wwel.jpg) 分享 ![image-20200716150040280](https://tva1.sinaimg.cn/large/007S8ZIlly1ggstoianbfj308006zt8t.jpg) ### 删除默认插件在平时开发中比方分享给出的都是一些国外的社交网站 对于咱们没太大用户 那么咱们能够删除默认配置在插件配置在加`-`,配置完执行`gitbook install`即可plugins: [ "-sharing"]成果如下: ![image-20200716150604078](https://tva1.sinaimg.cn/large/007S8ZIlly1ggstu43pr7j31qo0icwgl.jpg) 右侧不再展现分享相干的按钮### 罕用配置#### 代码复制"plugins": [ "code"]成果如下: ![image-20200720142753077](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxf7nx56kj317q06sjru.jpg) 代码复制按钮"plugins": [ "copy-code-button"]![image-20200720144333351](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxfnx31w6j318607cjrw.jpg)#### 目录折叠"plugins": [ "expandable-chapters"]成果如下: ![image-20200720142951146](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxf9o7rq1j30cm0bcaap.jpg) "plugins": [ "expandable-chapters-small"]和下面一样都是折叠目录的,区别就是上面的箭头要细一些。成果如下: ![image-20200720143153085](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxfbrr8ugj30g20egwfe.jpg) #### 回到顶部"plugins": [ "back-to-top-button"]成果如下: ![image-20200720143530843](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxffk1906j31gu0g40v0.jpg)#### 高级搜寻去除默认的search搜寻和lunr,在搜寻后果中,关键字会高亮;自带的 search 插件,关键字不会高亮"plugins": [ "-lunr", "-search", "search-pro" ]原生搜寻成果: ![image-20200720144425681](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxfotz6s0j31ye0jggro.jpg)高级搜寻: ![image-20200720144917280](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxftwiu0kj320s0ri12z.jpg)搜寻关键字高亮,反对中文、拼音和英文#### 分享分享以后页面,比默认的 sharing 插件多了一些分享形式"plugins": ["-sharing", "sharing-plus"], "pluginsConfig": { "sharing": { "douban": false, "facebook": false, "google": true, "pocket": false, "qq": false, "qzone": true, "twitter": false, "weibo": true, "all": [ "douban", "facebook", "google", "instapaper", "linkedin","twitter", "weibo", "messenger","qq", "qzone","viber","whatsapp" ] }参数配置外面true的默认展现图标,false的默认不展现;all外面的会在分享按钮的下拉列表外面全副展现进去。成果如下: ![image-20200720145713703](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxg25dfstj30ie0s8wg1.jpg)分享成果如下: ![image-20200720145824437](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxg3dey89j315a0totcl.jpg)#### 配置页脚"plugins": [ "tbfed-pagefooter" ], "pluginsConfig": { "tbfed-pagefooter": { "copyright":"Copyright &copy mine 2000-2020", "modify_label": "文件订正工夫:", "modify_format": "YYYY-MM-DD HH:mm:ss" } }成果如下: ![image-20200720152236897](https://tva1.sinaimg.cn/large/007S8ZIlly1ggxgskey19j318q03ijrs.jpg)

July 21, 2020 · 2 min · jiezi

gitbook入门

安装npm install gitbook-cli -g初始化在需要写文档的文件夹下执行 gitbook init等待初始化完成后会有两个文件 README.md #首页SUMMARY.md #左侧菜单启动gitbook serve指定端口号 gitbook serve --port 2333菜单编写SUMMARY.md基本格式如下 # 目录* [前言](README.md)* [第一章](Chapter1/README.md) * [第1节:first](Chapter1/first.md) * [第2节:second](Chapter1/senond.md) * [第3节:third](Chapter1/third.md) * [第4节:fourth](Chapter1/fourth.md)* [第二章](Chapter2/README.md)* [第三章](Chapter3/README.md)* [第四章](Chapter4/README.md)文档导出gitbook build [文档路径] [输出路径]pdf格式 gitbook pdf ./ ./mybook.pdf如果遇到以下提示 InstallRequiredError: "ebook-convert" is not installed.Install it from Calibre: https://calibre-ebook.com表示缺少ebook-convert插件 安装插件首先需要配置一下gitbook,配置文件是当前文档目录下的book.json,类似于npm的package.json文件新建book.json,需要的插件在plugins字段里,内容基本如下: { "title" : "我的文档", "theme-default": { "showLevel": true }, "plugins": ["copy-code-button"]}以copy-code-button(代码复制按钮)插件为例然后执行 gitbook install更多插件介绍点击这里 更多详情参考官方文档

June 2, 2020 · 1 min · jiezi

gitbook-入门教程之小白都能看懂的-Gitbook-插件开发全流程

什么是插件Gitbook 插件是扩展 GitBook 功能(电子书和网站)的最佳方式. 只要是 Gitbook 默认没有提供的功能,基于插件机制都可以自行扩展,是插件让 Gitbook 变得更加强大. 本文将全面介绍插件的相关知识并重点介绍插件开发的全流程,只有熟悉插件开发流程才能做到有的放矢,心中有数,进而开发出自己的插件. 关于插件请参考 Gitbook 入门教程高级进阶系列文章,本文重点讲解开发 Gitbook 的基本流程. gitbook 入门教程之插件介绍gitbook 入门教程之实用插件gitbook 入门教程之主题插件如何发现插件您可以在Gitbook官网轻松搜索插件,也可以在npmjs 官网搜索 gitbook-plugin-<name> 插件. 目前 Gitbook 官方已不再为维护插件网站,只能通过 npmjs 发现 Gitbook 插件.如何安装插件一旦你找到你想要安装的插件,你需要将它添加到你的 book.json 配置文件,如果没有该文件则自行创建. { "plugins": ["myPlugin", "anotherPlugin"]}您还可以使用以下命令指定特定版本: myPlugin@0.3.1 .默认不填写版本的情况下,GitBook 使用最新版本(兼容版本)的插件. 安装插件如果是官网在线环境,网站会自动帮你安装插件.如果是在本地环境,直接运行 gitbook install 来安装插件.$ gitbook install或者使用 npm 提前下载插件再安装到本地项目: $ npm install gitbook-plugin-<name>$ gitbook install配置插件插件的配置在 book.json 配置文件中的 pluginsConfig 属性中(如果没有该属性请自行创建),安装插件时,最好浏览插件的文档了解相关选项的详细信息. { "plugins": ["github"], "pluginsConfig": { "github": { "url": "https://github.com/snowdreams1006/snowdreams1006.github.io" } }}有些插件并未提供插件配置项,可以省略该步骤,有的插件会提供配置项,以插件介绍文档为准.如何开发插件GitBook 插件是在 npm 上发布的遵循传统定义的 node 包,除了标准的 node 规范外还有一些 Gitbook 自身定义的相关规范. ...

October 4, 2019 · 1 min · jiezi

推荐12个实用的gitbook插件

➢ 安装和使用插件方法在根目录下创建book.json 在该文件中按照指定格式插入以下插件对应的代码。 安装插件有两种方式 : 一种是在book.json写入相应插件和配置后, 使用gitbook install安装插件。 一种是使用npm install pluginName安装,然后写入配置 ➢ hide-element 隐藏元素主要用来隐藏不想看到的元素。 如: 默认的gitbook左侧提示:Published with GitBook 使用方式:在book.json中写入以下内容 { "plugins": [ "hide-element" ], "pluginsConfig": { "hide-element": { "elements": [".gitbook-link"] } }}➢ back-to-top-button 回到顶部当文章篇幅较长时,页面底部会显示按钮,一键点击自动回到顶部。 使用方式: 在book.json中写入以下内容 { "plugins": [ "back-to-top-button" ]}➢ chapter-fold 导航目录折叠gitbook默认目录没有折叠效果。 使用方式:在book.json中写入以下内容 { "plugins": ["chapter-fold"]}➢ code 复制代码在代码域的右上角添加一个复制按钮,点击一键复制代码。 使用方式: 在book.json中写入以下内容 { "plugins" : [ "code" ]}➢ splitter 侧边栏宽度可调节左侧目录和右侧文章可以拖动调节宽度。 使用方式: 在book.json中写入以下内容 ...

June 13, 2019 · 2 min · jiezi

关于写作那些事之github告诉我构建失败,然后呢?

The page build failed for the master branch with the following error问题描述看到这封邮件,一脸懵逼,本地运行 gitbook 服务是正常渲染的,控制台并没有任何报错,谁知道推送到 github 时就报错了!登录到 github 网站查看网站源码已经同步过来了,但是静态网站无法同步,本地实在找不到任何报错信息,这让我如何是好?再看 github 反馈用的邮件中说道,如有问题可以回复邮件(If you have any questions you can contact us by replying to this email.).然后死马当活马医,尝试阐释了我的问题,请求帮助定位错误日志,没想到当天下午就收到 github 的回复邮件,提供了解决办法!问题是由于 Liquid Warning: Liquid syntax error (line 334) 错误,然而我确定这部分代码是没有任何问题的,因为这是我改造 gitbook-plugin-tbfed-pagefooter 插件时的一段代码,反复确认后发现并没有复制粘贴出错啊!var moment = require(‘moment’);module.exports = { book: { assets: ‘./assets’, css: [ ‘footer.css’ ], }, hooks: { ‘page:before’: function(page) { var _label = ‘最后更新时间: ‘, _format = ‘YYYY-MM-DD’, _copy = ‘powered by snowdreams1006’ if(this.options.pluginsConfig[’tbfed-pagefooter’]) { _label = this.options.pluginsConfig[’tbfed-pagefooter’][‘modify_label’] || _label; _format = this.options.pluginsConfig[’tbfed-pagefooter’][‘modify_format’] || _format; var _c = this.options.pluginsConfig[’tbfed-pagefooter’][‘copyright’]; _copy = _c ? _c + ’ all right reserved,’ + _copy : _copy; } var _copy = ‘<span class=“copyright”>’+_copy+’</span>’; var str = ’ \n\n<footer class=“page-footer”>’ + _copy + ‘<span class=“footer-modification”>’ + _label + ‘\n{{file.mtime | date("’ + _format + ‘")}}\n</span></footer>’; str += ‘\n\n<link rel=“stylesheet” href=“https://unpkg.com/gitalk/dist/gitalk.css">'+ ‘\n\n<script src=“https://unpkg.com/gitalk@latest/dist/gitalk.min.js"></script>'+ ‘\n\n<div id=“gitalk-container”></div>’+ ‘\n\n<script src=“https://snowdreams1006.github.io/gitalk-config.js"></script>'; page.content = page.content + str; return page; } }, filters: { date: function(d, format) { return moment(d).format(format) } }};来源于 gitbook-plugin-tbfed-pagefooter 插件的 index.js 文件,这里为了兼容 gitalk 插件而集成了相关代码,详情请参考 gitalk 评论插件解决方案根据邮件回复,定位到出错代码片段,真的没发现有什么问题啊?既然已经确定不是我的问题,那很可能就是 github 的问题了,邮件中推荐我使用 Jekyll 进行构建网站,不不不!既然已经选择 gitbook 搭建静态网站,那就没必要再使用 Jekyll ,我可不想那么麻烦!If you are not using Jekyll you can disable it by including a .nojekyll file in the root of your repository.所以我不妨试试新增 .nojekyll 文件,说不定就好使了呢!$ touch .nojekyll$ git add .nojekyll$ git commit -m “add .nojekyll”$ git push天不负我!竟然真的好使了,再也没有收到 github 的报错邮件反馈了,源码和网站都正常更新了!小结据我推测,可能是 github 误认为我的网站是使用 Jekyll 工具构建的,实际上,是使用 gitbook 构建的!因此,增加 .nojekyll 文件禁用 Jekyll 工具,自然不会再受相关语法限制而报错了.所以,遇到问题时,不仅要多思考,更应该寻求官方人员的帮助,即使不回你,你也要尝试一下! ...

April 12, 2019 · 2 min · jiezi

关于写作那些事之终于还是无法忍受纯人工统计数据

背景作为正在探索如何写作并发表到各大博客平台的新人,目前虽然已基本弄清写作和发表的基本流程,但是离打造个人知名度还差很大很大一段距离.尤其处于新手阶段,需要的更是自信与外界的积极反馈,看着各平台日益增长的阅读量和粉丝量,心中自然不甚欣喜.但是,持续的技术输出能否坚持下去很大程度上靠的是外界的积极反馈,如果写的文章基本没人看,或者反映并不理想,估计也很难再坚持创作了.所以笔者每天晚上都会统计一下各个平台的数据,看一下有哪些收获,只有看得见的数据才能给我安全感和自信心.下面简单展示一下每日数据统计效果:每日数据统计这里列出的平台默认是没有提供数据分析功能,而有些平台已经提供数据分析,说不定还要丰富图表分析功能,自然不用像下面这般复杂操作.所以,针对没有提供数据分析的平台,只好采用人工方式进行每日数据统计,一开始文章比较少,用肉眼加计算器就能很轻松得到阅读量和粉丝数等数据.但是,随着文章的每日更新,不断累加的文章越来越多,人工方式简直让我崩溃,比如昨晚在统计慕课网手记相关数据时就意外被一旁的小侄子打断三次!简直不可忍受,穷则思变,懒则想法偷懒,所以是时候探索新的方式解决纯手动的弊端了!全网汇总数据慕课手记简书博客园腾讯云社区图表渲染效果来自 gitbook 的 chart 插件,详情请参考 官网文档懒则想法偷懒回顾操作流程要想解放重复劳动量,必须先知道问题瓶颈,现在先回顾一下手动操作流程.登录各大博客平台后台,找到文章列表.打开计算器按照阅读量等指标累加每篇文章的相关数据.更新统计页面数据,利用 chart 插件渲染图标.修改 chart 渲染数据语法,截图渲染效果.确认渲染效果并推送到 github 网站本来不必利用截图表示图表的,只是无奈 github 不支持 chart 插件语法,只好用截图代替了.思考问题瓶颈分析上述流程后不难发现,最复杂也是最费时费力的便是第二步的数据统计,由于要肉眼统计文章并用计算器累加,简直是手脑并用,只有高度专注才能保证统计数据的准确性和可靠性.这也就解释了被打断三次后的崩溃了,找到问题的根源了,想办法如何解决吧!最容易想到的解决办法是手动复制文章列表数据,然后程序分析提取关键数据,最后再统计数据.又是三步操作,再分解一下步骤,看看目前能够解决哪部分.手动复制文章列表数据程序分析提取关键数据统计指标数据在这三步中,只有第二步最为关键,也是目前我能做到的事情,因为第一步可能需要爬虫技术或模拟接口调用,总体来说,总体来说还是比较麻烦的,以后再继续优化吧.梳理操作流程因此,现在先着手如何将复制后的文章列表转化成程序能够处理的文件格式,进而调用程序统计.下面以慕课网手记文章为例,简单介绍下处理流程.手动复制文章现在文章已复制到文件,应该保存成什么格式呢?这又是一个思考点.由于文件内容最终需要被程序处理,而程序处理要求数据需要具备一定的格式,因此自然不能是 txt 或 word 这类文档,平常接触比较多的文档数据处理一般就是 excel 或者 json 类型的文档.这里需要 excel 这种格式文档,但是 excel 比较笨重,还需要相关软件才能打开 excel 文件,好像并不是很适合,怎么办呢?但是我真的需要这种一行一行的数据格式啊,有没有折中的处理方案?当然有!轻量级的 csv 格式不是巧合适合简单文档处理吗?csv 和 excel 具有类似的特征,大体上都是一行一行一列一列地存储数据,最适合统计数据了.看着乱七八糟的文章列表,csv 也无法处理这种复杂数据啊,接下来还是要手动格式化数据,整理一下数据.程序分析提取至此,我们已经完成数据分析的第一步了,接下来是如何读取 csv 文件,由于本人是 java 程序员,所以我要看一下 java 如何处理 csv 文件.需求很简单,编写一个 csv 工具类并实现基本的写入和读取操作即可.说到工具类当然首选现成的开源工具了,毕竟小小的需求不值得造轮子.寻求解决方案说到开源工具,脑海中第一个闪现的是 Apache Commons 工具类,所以先去 maven 上搜一下有没有 csv 相关的工具类.在线搜索 commons-csv天不负我!果然有 csv 相关工具类,下面就开始研究如何调用吧!集成 commons-csv 工具类<!– https://mvnrepository.com/artifact/org.apache.commons/commons-csv –><dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.6</version></dependency>编写工具类/** * 写入csv文件 * * @param data 数据内容 * @param filePath 文件路径 * @throws IOException /public static void writeCsv(List<String[]> data, String filePath) throws IOException { FileWriter fw = new FileWriter(new File(filePath)); final CSVPrinter printer = CSVFormat.EXCEL.print(fw); printer.printRecords(data); printer.flush(); printer.close();}/ * 读取csv文件 * * @param filePath 文件路径 * @return CSVRecord 迭代对象 * @throws IOException /public static Iterable<CSVRecord> readCSV(String filePath) throws IOException { InputStream inputStream = new FileInputStream(filePath); InputStreamReader isr = new InputStreamReader(inputStream); Iterable<CSVRecord> records = CSVFormat.EXCEL.parse(isr); return records;}/ * 测试写入并读取csv 文件 /private static void testWriteAndRead() throws IOException { //写入数据 List<String[]> data = new ArrayList<String[]>(); data.add(new String[]{“张三”, “18”, “3000”}); data.add(new String[]{“李四”, “20”, “4000”}); data.add(new String[]{“王二”, “25”, “5000”}); //写入文件路径 String path = “/Users/sunpo/Downloads/testWriteAndRead.csv”; //写入 csv 文件 writeCsv(data, path); //读取文件 Iterable<CSVRecord> records = readCSV(path); for (CSVRecord record : records) { for (String string : record) { System.out.print(string); System.out.print(" “); } System.out.println(); }}测试写入并读取功能测试结果真实可用,工具类基本功能编写完成.制定解决方案已经有了 csv 工具类,那么现在就要想办法解决实际问题,再看一下当前慕课网手记的内容格式吧!148浏览 2推荐 0评论204浏览 2推荐 0评论181浏览 2推荐 0评论分析上述内容格式有以下特点:内容数据一行一条数据,可能需要换行符问题每一行数据以空格分割,可分割成数组或列表再处理已分割后的列表项包括了有效数据和文字说明,可能需要过滤出有效数据按照上述分析结果,开始 coding 逐个解决,下面展示下关键代码.按照空格将每一行数据分割成列表List<String> row = StringTools.splitToListString(string, " “);StringTools.splitToListString 方式是笔者封装的分割字符串方法,目的将字符串按照指定分隔符分割成字符串列表处理分割后字符串列表并过来出有效数据String readCountWithDescString = row.get(0);String readCountString = StringUtils.substringBefore(readCountWithDescString, “浏览”);String recommendCountWithDescString = row.get(1);String recommendCountString = StringUtils.substringBefore(recommendCountWithDescString, “推荐”);String commentCountWithDescString = row.get(2);String commentCountString = StringUtils.substringBefore(commentCountWithDescString, “评论”);StringUtils.substringBefore 方法也是Apache Commons 工具类,具体来源于 org.apache.commons.lang3 ,下述涉及到的 StringUtils 静态方法 也是,不再单独说明.最后一步即统计分析//浏览数int readCount = 0;//推荐数int recommendCount = 0;//评论数int commentCount = 0;readCount += Integer.parseInt(readCountString);recommendCount += Integer.parseInt(recommendCountString);commentCount += Integer.parseInt(commentCountString);实施解决方案如此一来,三步均已解决,现在运行以下统计方法,看一下真实效果如何./* * 统计慕课手记 * * @throws IOException */private static void countImooc() throws IOException { //昨日统计数据 String yesterday = DateFormatUtils.format(DateUtils.addDays(new Date(), -1), “yyyyMMdd”); String path = String.format("/Users/sunpo/Documents/workspace/count/imooc-%s.csv”, yesterday); //总行数 int allRows = 0; //有效行数 int allValidRows = 0; //当前行是否有效 boolean isValidRow = true; //浏览数 int readCount = 0; //推荐数 int recommendCount = 0; //评论数 int commentCount = 0; Iterable<CSVRecord> records = readCSV(path); for (CSVRecord record : records) { allRows++; for (String string : record) { System.out.println(string); if (StringUtils.isBlank(string)) { isValidRow = false; break; } List<String> row = StringTools.splitToListString(string, " “); String readCountWithDescString = row.get(0); String readCountString = StringUtils.substringBefore(readCountWithDescString, “浏览”); String recommendCountWithDescString = row.get(1); String recommendCountString = StringUtils.substringBefore(recommendCountWithDescString, “推荐”); String commentCountWithDescString = row.get(2); String commentCountString = StringUtils.substringBefore(commentCountWithDescString, “评论”); readCount += Integer.parseInt(readCountString); recommendCount += Integer.parseInt(recommendCountString); commentCount += Integer.parseInt(commentCountString); } if (isValidRow) { allValidRows++; } isValidRow = true; } System.out.println(); System.out.println(String.format("[慕课手记] 一共读取%d行,有效行: allValidRows = %d ,其中浏览数: readCount = %d ,推荐数: recommendCount = %d ,评论数: commentCount = %d”, allRows, allValidRows, readCount, recommendCount, commentCount)); System.out.println();}很完美,终于不必再肉眼统计数据了,虽然很长程度上仍然依赖人工整理好 csv 文件,但是目前已经解决了纯手动的弊端.因此,上述解决方案是半手动的方式,仍然还有很多可以优化的地方,等下次忍受不了这种方案时再解决!小结本文主要介绍了纯手工统计报表遇到的诸多问题,寻求一种相对简单的解决方案.基本流程大致可以分为下述流程:手动复制文章列表(包括阅读量,评论量和点赞数),并整理成标准的 csv 格式文件.编写各个平台的 csv 工具处理类,解析并统计 csv 文件内容.运行工具类得到最终统计数据,大功告成!本文主要介绍的是解决问题的思路,对于其中涉及到的相关技术点并未深入展开,关键源码已经贴上,如果还想要更详细的完整源码,可以留言回复. ...

April 11, 2019 · 2 min · jiezi

gitbook 入门教程之主题插件(初稿)

目前 gitbook 提供三类文档: Book 文档,API 文档和 FAQ 文档.其中,默认的也是最常使用的就是 Book 文档,如果想要了解其他两种文档模式,需要引入相应的主题插件.官方主题插件文档: https://toolchain.gitbook.com…Book 文档theme-default 主题插件地址: https://plugins.gitbook.com/p...theme-comscore 主题插件地址: https://plugins.gitbook.com/p...API 文档theme-api 插件插件地址: https://plugins.gitbook.com/p...github 地址: https://github.com/GitbookIO/...FAQ 文档theme-faq 插件插件地址: https://plugins.gitbook.com/p...github 地址: https://github.com/GitbookIO/…

April 10, 2019 · 1 min · jiezi

gitbook 入门教程之发布电子书

输出目标文件语法格式: gitbook build [book] [output]默认情况下,gitbook 输出方式是静态网站,其实 gitbook 的输出方式有三种: website, json,和 ebook.只不过另外两种不是很常用,更多情况下我们是使用静态网页搭建个人官网,或托管到第三方平台,或部署到私有云服务器,但不管怎么样,还是离不开生成这一步.示例:# 默认输出格式: website$ gitbook build –format=website# 更改输出格式: json$ gitbook build –format=json# 更改输出格式: ebook$ gitbook build –format=ebook默认情况下输出目录: _book/,整个项目的入口文件是: index.html集成 github 网站本教程的电子书源码和输出文件均托管到 github 网站,所以这里介绍下如何利用 Github Pages 静态网页服务与 gitbook 进行集成.什么是 GitHub Pages ?Github Pages 是 github 网站推出的一种免费的静态网页托管服务,适合搭建静态的项目主页或个人官网.其中,网站项目的源码直接托管在 github 仓库中,当仓库文件更新后,该仓库所关联的网站自动更新,从而实现了源码与官网的联动更新.如果想了解更多详情,请参考官网: https://pages.github.com/怎么做 GitHub Pages ?每个账号有且只有一个主页站点,但允许无限制多的项目站点.啥是主页站点,项目站点又是啥?别急,让我先举个例子看一下最终效果.假如用户名: zhangsan 名下有四个公开仓库,一个仓库名叫做: zhangsan.github.io,另外三种分别是: project01,project02,project03 .如果想要对外暴露上述四个仓库作为我们的静态网站,那么最终效果就是下面这样的.主页站点: https://zhangsan.github.io项目01站点: https://zhangsan.github.io/project01项目02站点: https://zhangsan.github.io/project02项目03站点: https://zhangsan.github.io/project03注意将 zhangsan 替换成自己的 github 用户名,否则八成是打不开网站,除非真的有 zhangsan 这个用户.其实上述规则很好理解,github 网站作为一个托管中心,有成千上万的用户在使用 github 并且每个用户的用户名都是唯一并且不同的,因此 *.github.io 通配符域名刚好充当命名空间.可以预料的是,不仅仅有 <username>.github.io 这种二级域名,说不定还有 api.github.io,docs.github.io 等等,毕竟只需要购买 .github.io 通配符域名证书就可以支持任意多的二级域名了,感谢 github 赠送我们免费的 https 网站.说到这里,不得不吐槽下 gitbook 的命名空间策略了,gitbook 也有自己的电子书托管服务,但访问地址是 <username>.gitbook.io/<namespace> .很显然,gitbook 没有区分主页站点和项目站点,相当于全部都是项目站点,缺少主次之分.闲言少叙,既然知道了输入内容和输出效果,那么接下来的任务就是了解中间过程了,让我们一起探讨下怎么发布网站吧!主页站点创建 <username>.github.io 公开仓库前往 https://github.com/ 网站创建名为 <username>.github.io 的公开仓库.比如我的用户名是: snowdreams1006 ,那么我的主页站点仓库就是: snowdreams1006.github.io创建首页 index.html 文件不管是在线直接创建 index.html 还是克隆到本地创建 index.html ,最终的 <username>.github.io 仓库一定要有 index.html 首页文件.示例:# 克隆到本地$ git clone https://github.com/username/username.github.io# 切换到项目$ cd username.github.io# 创建 index.html 文件$ echo “Hello World” > index.html# 推送到远程仓库$ git add –all$ git commit -m “Initial commit”$ git push -u origin master访问主页站点 https://username.github.io打开浏览器,输入网址: https://username.github.io 访问主页站点,显示的内容正是我们刚刚提交的 index.html 文件内容.如果没有正常显示,清除浏览器缓存强制刷新试试看!项目站点相比主页站点来说,项目站点命名比较随意了,作为静态网站不可或缺的文件仍然是 index.html.创建首页 index.html 文件创建首页文件并添加测试内容,方便待会在线访问项目站点测试是否部署成功.设置 GitHub Pages 选项点击仓库首页右上方设置(Settings)选项卡,往下翻到 GitHub Pages 选项,选择源码目录,根据实际情况选择源码来源于 master 分支还是其他分支或者docs/ 目录.方便起见,选择第一个 master 分支即可,注意下面的主题和这一步的来源只能两者选其一,否则主题优先级更高!访问主页站点 https://username.github.io/<repository>打开浏览器,输入网址: https://username.github.io/repository 访问项目站点,显示的内容正是我们刚刚提交的 index.html 文件内容.如果没有正常显示,清除浏览器缓存强制刷新试试看!如何集成 gitbook ?我们已经知道 Github Pages 是提供静态网站的免费托管,而 gitbook 默认生成的内容就是静态网站,两者如何结合自然不用我多说了吧?gitbook 默认输出目录 _book/ 包括了静态网站所需的全部资源,其中就包括 index.html 首页文件.因此我们只需要每次生成后将 _book/ 整个目录复制到项目根目录,那么推送到远程仓库时自然就是输出后静态网站了啊!示例:# 生成静态网站$ gitbook build# 复制到项目根目录$ cp -r _book/ .# 添加到本地版本库$ git add .$ git commit -m “publish”# 推送到远程仓库$ git push origin master现在登录 github 网站看一下静态网站是否成功上传以及访问主页站点或项目站点看一下最新内容是否成功渲染吧!小结本节我们学习 gitbook 有三种输出方式,其中默认的网页输出最为常用.除此之外,还讲解了如何与 github pages 进行结合,从而实现源码和网站的自动更新维护.如果源码没有托管到 github 这种第三方服务商,你也可以搭建自己的服务器,比如将 _book/ 目录全部扔到 nginx 服务器做静态资源服务器等.毕竟,源码和输出内容都在你手中,想怎么玩还不是自己说了算? ...

April 9, 2019 · 1 min · jiezi

gitbook 入门教程之导出电子书

gitbook 既可以将源码文件单独输出,也可以仅输出单个文件,常见的导出电子书格式主要有三种(ePub, Mobi, PDF),而这三种格式都依赖于系统本身提供的 ebook-convert 工具.安装依赖如果直接运行 gitbook pdf 相关命令,可能会报错,提示需要安装 ebook-convert 插件,根据提示本地需要安装 calibre 软件,这样 gitbook 才能正常导出电子书.calibre 官网: https://calibre-ebook.com/linux 系统下载地址: https://calibre-ebook.com/dow…下载应用$ sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin配置软链接$ sudo ln -s /usr/bin/nodejs /usr/bin/nodemac 系统下载地址: https://calibre-ebook.com/dow…下载应用将 calibre.app 移动到应用程序文件,然后尝试是否能正常打开应用.配置软链接$ sudo ln -s ~/Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin测试命令$ ebook-convert –version如果没有输出 ebook-convert 版本信息,可能需要配置环境变量.配置封面所有格式的电子书都可以配置自定义封面,在项目的根目录下提供 cover.jpg 和 cover_small.jpg 两种封面图片时,生成电子书会自动增加封面页.当然你也可以使用 autocover 插件 自动生成封面,不过本人才疏学浅,几经尝试始终没有成功,如果有人成功了记得给我留言下哈!封面的基本要求:cover.jpg 尺寸大小: 1800X2360 px,cover_small.jpg 尺寸大小: 200x262 px;无边界清晰可见的书名任何重要的文字在小版本封面图片中也要清晰可见更多封面相关规范请参考 https://toolchain.gitbook.com/ebook.html基本命令语法格式: gitbook pdf 或 gitbook epub 或 gitbook mobi示例:# 生成 pdf 文件并输出 debug 级别日志$ gitbook pdf ./ ./myBook.pdf –log=debug# 生成 epub 文件并输出 debug 级别日志$ gitbook epub ./ ./myBook.epub –log=debug# 生成 mobi 文件并输出 debug 级别日志$ gitbook mobi ./ ./myBook.mobi –log=debug相信大家对 PDF 格式比较熟悉,其余两种格式只是不同电子书格式,因而需要相应软件支持.生成 PDF 文件示例:$ gitbook pdf默认在当前项目的根目录下生成 book.pdf 文件名,如果配有封面,则首页显示封面,否则无封面.生成 ePub 文件示例:$ gitbook epub默认在当前项目的根目录下生成 book.epub 文件名,如果配有封面,则首页显示封面,否则无封面.生成 mobi 文件示例:$ gitbook mobi默认在当前项目的根目录下生成 book.mobi 文件名,如果配有封面,则首页显示封面,否则无封面.小结本节主要介绍了如何导出电子书,概括来说,首先系统需要安装 ebook-convert 工具,然后配置电子书封面,最后直接导出为目标格式(ePub, Mobi, PDF)进行输出.随着电子书内容越来越多,生成电子书所花费的时间也越来越久,实属正常,耐心等待即可.输出 PDF 文件并输出 debug 日志: gitbook pdf –log=debug ...

April 7, 2019 · 1 min · jiezi

gitbook 入门教程之实用插件(持续更新)

disqus 评论插件discus 是一款集成评论的插件,可以为静态网站添加动态评论,让你的网站动起来!遗憾的是,discus 插件只有 FQ 才能正常使用,暂时没找到其他较好的替代方案.注册 disqus.com 账号gitbook 集成 disqus 插件中最重要的配置项就是注册 disqus.com 网站唯一标识.注册并绑定域名如果没有注册账号请先注册,否则直接登录,当然也支持第三方账号登录(我使用的是谷歌账号).人机验证时,选出符合条件的全部图形,直到没有新的图形为止,这一点和国内的静态图片验证是不同的!选择安装 disqus 插件(I want to install Disqus on my site ),接下来会绑定集成网站的域名.接下来设置网站的相关信息,其中网站名称(snodreams1006)是唯一标示,接下来集成到 gitbook 用的就是这个简短名称,而分类和语言按照实际情况选择即可.选择服务类型disqus 网站提供的服务类型,有基础班(basic),加强版(plus),专业版(pro)和免费版(free).每个版本计划有不同的收费标准以及相应的服务,可以根据实际情况选择适合自己的服务类型.接下来以免费版为例进行有关演示安装并配置 disqus 到网站估计是这些网站提供了默认的集成方式,这里并没看到 gitbook 相关的网站,因此选择最后一个自定义网站.填写网站的基本信息,其中网站缩写名称仍然是 snowdreams1006,网址填写 https://snowdreams1006.github.io/ ,至于其他信息根据实际情况填写即可.至此 disqus.com 网站配置完成,接下来我们配置 gitbook 集成 disqus 插件.安装并配置 disqus 插件上一步我们已经获取到唯一的标识: snowdreams1006 ,接下来可以继续配置 disqus 插件了.链接地址: https://plugins.gitbook.com/p…激活插件配置在 book.json 中配置 disqus 插件,根据实际情况修改成自己的缩写名称(shortName).示例:{ “plugins”: [“disqus”], “pluginsConfig”: { “disqus”: { “shortName”: “snowdreams1006” } }}安装 disqus 插件示例:$ gitbook install测试 disqus 插件示例:$ gitbook serve正常情况下(FQ),disqus 插件已经成功集成到 gitbook 网站了,因此推送到实际服务器上时看到的效果是这样的.如果你不具备条件(FQ),那么你看到的仍然是这样的.edit-link 编辑链接插件如果希望将网页源码暴露出去并接受公众的监督校准的话,使用edit-link插件可以直接链接到源码文件.链接地址: https://plugins.gitbook.com/p…激活插件配置在 book.json 中配置 edit-link 插件,详细说明请参考 edit-link 插件.示例:{ “plugins”: [“edit-link”], “pluginsConfig”: { “edit-link”: { “base”: “https://github.com/snowdreams1006/snowdreams1006.github.io/blob/master", “label”: “编辑本页” } }}安装 edit-link 插件示例:$ gitbook install测试 edit-link 插件如果不能正常跳转到源码文件,多次试验后重新更改 edit-link.base 节点内容,重新 gitbook serve 即可正常跳转源码文件.示例:$ gitbook servegithub 插件添加 github 图标链接,方便直接跳转到 github 指定仓库.链接地址: https://plugins.gitbook.com/p…激活插件配置在 book.json 中配置 github 插件,详细说明请参考 github 插件.示例:{ “plugins”: [“github”], “pluginsConfig”: { “github”: { “url”: “https://github.com/snowdreams1006/snowdreams1006.github.io" } }}安装 github 插件示例:$ gitbook install测试 github 插件示例:$ gitbook servesearch-plus 中文搜索插件splitter 分割线插件sharing-plus 增强分享插件donate 捐赠插件copy-code-button 复制代码插件 ...

April 6, 2019 · 1 min · jiezi

gitbook 入门教程之插件介绍

插件是 gitbook 的扩展功能,很多炫酷有用的功能都是通过插件完成的,其中插件有官方插件和第三方插件之分.推荐官方插件市场 https://plugins.gitbook.com/ 寻找或下载相应的插件.当然也可以去 npm 市场搜索 gitbook 插件,根据 gitbook 插件规范, gitbook-plugin-<name> 是功能插件,gitbook-theme-<name> 是主体插件.如果没有按照规范命名,还是直接百度搜索吧!npm 安装后再 gitbook 安装语法格式: npm install gitbook-plugin-<name>安装到本地: npm install gitbook-plugin-advanced-emoji激活安装插件: 配置 book.json 中 plugins 节点安装到项目: gitbook install启动并测试测试: gitbook serve示例:# 安装 gitbook-plugin-advanced-emoji 插件$ npm install gitbook-plugin-advanced-emoji# 安装 gitbook-plugin-advanced-emoji 插件$ gitbook installnpm 安装速度慢的话,可以使用 cnpm 加速安装(npm install cnpm),表情插件下载地址 Advanced Emojigitbook 直接安装语法格式: gitbook install激活安装插件: 配置 book.json 中 plugins 节点安装到项目: gitbook install启动并测试测试: gitbook serve示例:# 安装 gitbook-plugin-advanced-emoji 插件$ gitbook install表情插件下载地址 Advanced Emoji插件示例Advanced Emoji表情列表Advanced Emoji下载地址book.json 配置文件:“plugins”: [ “advanced-emoji”]安装插件:$ gitbook install使用示例:<!– ignore:advanced-emoji:start –>:bowtie:😆 ☺️<!– ignore:advanced-emoji:end –> ...

April 5, 2019 · 1 min · jiezi

gitbook 入门教程之常用命令详解

不论是 gitbook-cli 命令行还是 gitbook editor 编辑器都离不开 gitbook 命令的操作使用,所以再次了解下常用命令.注意 gitbook-cli 是 gitbook 的脚手架工具,是 gitbook 的扩展功能,同时着管理 gitbook.查看 gitbook 帮助信息语法格式: gitbook –help示例:$ gitbook –help Usage: gitbook [options] [command] Options: -v, –gitbook [version] specify GitBook version to use -d, –debug enable verbose error -V, –version Display running versions of gitbook and gitbook-cli -h, –help output usage information Commands: ls List versions installed locally current Display currently activated version ls-remote List remote versions available for install fetch [version] Download and install a <version> alias [folder] [version] Set an alias named <version> pointing to <folder> uninstall [version] Uninstall a version update [tag] Update to the latest version of GitBook help List commands for GitBook * run a command with a specific gitbook version$gitbook ls 列出本地安装版本语法格式: gitbook ls示例:# 列出本地已安装 gitbook 版本$ gitbook ls gitbook current 列出当前使用版本语法格式: gitbook current示例:# 列出当前正在使用的 gitbook 版本$ gitbook current gitbook ls-remote 列出远程可用版本语法格式: gitbook ls-remote示例:# 列出远程可用的 gitbook 版本$ gitbook ls-remote gitbook fetch 安装指定版本语法格式: gitbook fetch [version]示例:# 下载并安装指定的 gitbook 版本$ gitbook fetch 2.6.9gitbook alias 指定文件夹别名语法格式: gitbook alias [folder] [version]示例:# 下载并安装指定的 gitbook 版本$ gitbook alias /Users/sunpo/Desktop/book/gitbook/ 1.0.0gitbook uninstall 卸载指定版本语法格式: gitbook uninstall [version]示例:# 卸载指定的 gitbook 版本$ gitbook uninstall 2.6.9gitbook update 更新指定版本语法格式: gitbook update [tag]示例:# 默认更新到最新的 gitbook 版本$ gitbook update # 更新到指定的 gitbook 版本$ gitbook update 2.6.9列出 gitbook 可用命令语法格式: gitbook help示例:$ gitbook help build [book] [output] build a book –log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled) –format Format to build to (Default is website; Values are website, json, ebook) –[no-]timing Print timing debug information (Default is false) serve [book] [output] serve the book as a website for testing –port Port for server to listen on (Default is 4000) –lrport Port for livereload server to listen on (Default is 35729) –[no-]watch Enable file watcher and live reloading (Default is true) –[no-]live Enable live reloading (Default is true) –[no-]open Enable opening book in browser (Default is false) –browser Specify browser for opening book (Default is ) –log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled) –format Format to build to (Default is website; Values are website, json, ebook) install [book] install all plugins dependencies –log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled) parse [book] parse and print debug information about a book –log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled) init [book] setup and create files for chapters –log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled) pdf [book] [output] build a book into an ebook file –log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled) epub [book] [output] build a book into an ebook file –log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled) mobi [book] [output] build a book into an ebook file –log Minimum log level to display (Default is info; Values are debug, info, warn, error, disabled)$ gitbook build 构建电子书语法格式: gitbook build [book] [output]示例:# 默认输出到 _book/ 目录$ gitbook build # 指定输出目录 /Users/sunpo/Desktop/book/$ gitbook build ./ /Users/sunpo/Desktop/book/# 指定输出格式 json$ gitbook build –format=jsongitbook serve 启动本地服务器语法格式: gitbook serve [book] [output]示例:# 默认服务端口: 4000,热部署端口: 35729$ gitbook serve # 指定输出目录 /Users/sunpo/Desktop/book/$ gitbook serve ./ /Users/sunpo/Desktop/book/# 指定服务端口: 5000 和热部署端口: 45729$ gitbook serve –port=5000 –lrport=45729gitbook install 安装插件语法格式: gitbook install [book]示例:# 安装当前项目所需插件$ gitbook install # 安装指定项目所需插件 /Users/sunpo/Desktop/gitbook-demo/$ gitbook install /Users/sunpo/Desktop/gitbook-demo/# 安装当前项目所需插件且指定日志输出级别: debug$ gitbook install –log=debuggitbook parse 解析电子书语法格式: gitbook parse [book]示例:# 解析并输出当前项目的 debug 级别日志信息$ gitbook parse # 解析并输出指定项目的 /Users/sunpo/Desktop/gitbook-demo/ 的 debug 级别日志信息$ gitbook parse /Users/sunpo/Desktop/gitbook-demo/# 解析并输出当前项目的 info 级别日志信息$ gitbook parse –log=infogitbook pdf 输出 PDF 电子书语法格式: gitbook pdf [book] [output]示例:# 默认输出到当前项目$ gitbook pdf # 指定输出文件 /Users/sunpo/Desktop/book.pdf$ gitbook pdf ./ /Users/sunpo/Desktop/book.pdf# 指定输出日志级别: debug$ gitbook pdf –log=debug可能需要安装 ebook-convert 相关插件,详情见相关系列教程.gitbook epub 输出 epub 电子书语法格式: gitbook epub [book] [output]示例:# 默认输出到当前项目$ gitbook epub # 指定输出文件 /Users/sunpo/Desktop/book.epub$ gitbook epub ./ /Users/sunpo/Desktop/book.epub# 指定输出日志级别: debug$ gitbook epub –log=debug可能需要安装 ebook-convert 相关插件,详情见相关系列教程.gitbook mobi 输出 mobi 电子书语法格式: gitbook mobi [book] [output]示例:# 默认输出到当前项目$ gitbook mobi # 指定输出文件 /Users/sunpo/Desktop/book.mobi$ gitbook mobi ./ /Users/sunpo/Desktop/book.mobi# 指定输出日志级别: debug$ gitbook mobi –log=debug可能需要安装 ebook-convert 相关插件,详情见相关系列教程. ...

April 5, 2019 · 4 min · jiezi

gitbook 入门教程之使用 gitbook.com 在线开发电子书

gitbook 官网是官方提供的图书托管的在线平台,分为新版官网(需要FQ) https://www.gitbook.com/ 和旧版官网(无需FQ) https://legacy.gitbook.com 两个网站.目前均正常提供服务,但令人遗憾的是,两个网站的信息相互独立,而且现在注册的账号默认只能在新版官网中使用,而新版官网的访问速度简直比 github 还要慢,所以国内用户在线访问你的电子书真的需要点技术手段了!本文主要介绍 www.gitbook.com 官网的基本使用,而 legacy.gitbook.com 网站我就算是想介绍也没有账号测试啊.“巧妇难为无米之炊”,明明你就在那里,可我却什么也做不了.先大概说一下 gitbook.com 网站的一些个人总结吧.gitbook.com 提供收费和免费服务,有点像早期的 github ,免费账号只能创建一个私有的命名空间,其他命名空间只能是公开的,这里的命名空间可以理解为一本书.这一点是不是有点像早期的 github.com?免费账号无法创建私有仓库,只能是公开仓库.(现在 github.com 已被微软收购,目前可以创建无限量的私有仓库了!)再说 gitbook 的账号问题,像 github 一样提供用户名和邮箱登录方式,他们的用户名都可以作为二级域名,比如我的用户名是snowdreams1006,那么我的 gitbook 第一本电子书网址就是 https://snowdreams1006.gitbook.io/index/ ,再看一下我的 github 个人网址 https://snowdreams1006.github.io/ ,这两个是不是很类似?!如果不仔细看的话,八成你会觉得一样,一个是gitbook.io,另一个是github.io.所以我严重怀疑他俩是不是有着不为人知的私密关系,太多的相似性,鼓励分享,限制私有等等特点.无图无真相,趁着这次教程顺便将 github 个人网站项目同步到 gitbook 电子书项目了,这样的好处是本地只需要推送到 github ,自动更新 github.io 网站(利用的是github 静态网站托管服务) ,然后再自动同步到 gitbook.io 网站.是不是很神奇,一份源码,两个官网!gitbook : https://snowdreams1006.gitbook.io/github : https://snowdreams1006.github.io/注册并登陆 gitbook.com注册信息主要包括用户名和邮箱,还有一些其他信息,没什么特殊的注意事项.访问 https://www.gitbook.com/ 需要 FQ新建命名空间(电子书)注册账后后会默认生成一个私有的命名空间,因为并不打算将私有电子书托管到 gitbook,所以接下来直接将其转变成公开电子书进行演示.个性性配置标题和图片主题颜色和页面反馈观众观众指的是当前电子书面向的受众是谁,公开的和私有的的区别以及设置是否被谷歌搜索收录.域名默认域名是 https://snowdreams1006.gitbook.io/<space>,如果需要自定义域名,请保证 dns 能够正确解析到该网站.url 设置的命名空间是 index,因此最终访问路径是 https://snowdreams1006.gitbook.io/index/整合gitbook 默认提供4种整合方式,在下孤陋寡闻只了解 github ,其余三种没接触过,暂不涉及.选择 github 进行整合登录 github 并授权选择列出公开的仓库,然后输入用户名和密码进行登录并授权.选择目标仓库授权成功后会列出当前 github 账号下全部的公开仓库,选择目标仓库并点击下一步.这里以 snowdreams1006.github.io 公开仓库为例,因为该仓库是本人官网源码项目.同步内容选择同步分支根据实际情况选择同步分支,因为我一般是直接推送到 master 分支,所以 master 分支是个人网站的维护分支,因此这一步我选择的是 master.选择同步内容选择同步内容的方式,是从 github 同步到 gitbook,还是从 gitbook 同步到 github,因为我的项目已托管到 github ,所以初次同步内容选择的是 github –> gitbook.显示 github 按钮生成的电子书网站是否显示 github 按钮,作用是点击该按钮会跳转到关联的github 仓库上.此时心里在想,万一点进 github ,随手就是一个 star 呢?哈哈!等待内容导入根据目标仓库的大小不同,导入内容是的时长自然也不一样,耐心等待…上线导入完成,电子书终于正式上线了!现在赶紧分享一下好消息吧,访问 https://<username>.gitbook.io/<space> 在线阅读!小结本文以如何集成 github 为例,演示了 gitbook.com 发布电子书的基本流程,由于 gitbook 电子书内容来自于 github 项目,因此我们只要更新 github 仓库,我们的 gitbook 电子书网站自然也就相应更新了!gitbook 是 markdown 和 github 的完美结合体,借助 gitbook.com 官网我们很容易发布并托管电子书.美中不足的是,国内无法正常访问 gitbook.com ,因此并不是很推荐将电子书发布到 gitbook.com 网站.现在国内也有类似的产品,有一种产品叫做 看云,还不错!后续还会介绍 gitbook 如何结合 github 发布个人网站,欢迎继续关注 gitbook 系列教程!如何打造免费的个人官网,想了解 https://snowdreams1006.github.io/ 背后的故事吗? ...

April 5, 2019 · 1 min · jiezi

gitbook 入门教程之使用 gitbook-editor 编辑器 开发电子书

亲测,目前已不再支持旧版 gitbook-editor 编辑器,而官网也没有相应的新版编辑器,如果哪位找到了新版编辑器,还望告知!现在注册 gitbook 账号会默认重定向到 新版官网,而 旧版官网 的账号应该是可以正常使用的,前提是你必须之前注册过.遗憾的是,最新注册的账号是无法使用 gitbook-editor 编辑器,不能登录到 gitbook ,也无法同步 github ,充其量只能算本地的 markdown 编辑器,所以这一节不再介绍了.如果有兴趣了解 gitbook-editor 编辑器的基本使用,请参考 gitbook editor 编辑器.

April 4, 2019 · 1 min · jiezi

gitbook 入门教程之环境要求

gitbook 是基于 node.js 的命令行工具,首先需要安装并配置好 node.js 环境,然后才能安装gitbook 相关工具.由于安装工具全部都是国外网站,因此速度可能会很慢,也可能需要FQ,请耐心等待或者学会科学上网.当然如果安装过程中遇到任何问题,也可以找我要一下安装包或者我帮你免费解决下.环境预检查检查 git 环境[可选]git 是免费开源的分布式版本控制系统,主要用于电子书的更新管理和团队协作,如果不需要将电子书托管到github 网站上,则可以不安装 git .如果打印出 git 版本信息,则表示本机已安装 git 环境,跳过此步骤.$ git –versiongit 安装配置教程请参考初识 git检查 node.js 环境[必须]node.js 是 js 在服务端运行的环境基础,从而使得 js 从浏览器端延伸到服务端领域,而 gitbook 则是运行在 node.js 基础之上的命令行工具,因此必须先安装好 node.js 开发环境.如果打印出 node.js 版本信息,则表示本机已安装 node.js 环境,跳过此步骤.$ node -vnode.js 安装配置教程请参考 https://nodejs.org/检查 gitbook 环境[必须]gitbook-cli 是 gitbook 的脚手架工具,帮助我们更方便构建 gitbook 应用,当然也可以直接安装 gitbook ,只不过那样的话,略显麻烦,不推荐.如果打印出 gitbook 和 cli 版本信息,则表示本机已安装 gitbook 环境,跳过此步骤.$ gitbook -V否则的话,本机可能并没有安装 gitbook 环境,则需要安装 gitbook 相关工具.因为 gitbook 是基于 node.js 环境,而安装好 node.js 后默认提供了 npm 包管理工具,而我们则是通过 npm 来安装其他工具.安装 gitbook-cli 工具[必须]假设你已经搭建好 node.js 环境,现在我们开始安装 gitbook 相关工具了!$ sudo npm install -g gitbook-cli全局安装的话,可能需要超级管理员权限,输入下相应密码即可继续安装,如无报错,则表示安装成功.安装成功后会带有 gitbook 命令,现在再次运行下 gitbook -V 查看版本信息.# 打印出 CLI 和 GitBook 版本信息即可,安装版本可能已经大于 2.3.2$ gitbook -VCLI version: 2.3.2GitBook version: 3.2.3$ 安装 GitBook Editor 编辑器[可选]gitbook 官方客户端编辑器,支持 windows, mac 和 linux ,主要用于可视化编辑文档,组织文档结构.下载相应平台的 GitBook Editor,正常安装即可.gitbook 的使用方法大致可以有三种,而 GitBook Editor 编辑器只是其中一种,所以这一步是可选的.使用 gitbook-cli 脚手架提供的各种命令直接在命令行管理 gitbook,适合一定编程经验的软件从业人员.使用 GitBook Editor 编辑器管理 gitbook ,适合无任何编程的文学创作者.使用 gitbook.com 官网在线管理 gitbook ,适合不具备本地开发环境的萌新体验者.小结gitbook 基于 node.js 开发环境,因此首先要安装好 nodejs 环境,其次再使用 node.js 提供的 npm 包管理工具来安装 gitbook.只需运行 sudo npm install -g gitbook-cli 即可安装,接着运行 gitbook -V 查看安装版本信息确认已经安装成功.至此 gitbook 的必要开发环境已经准备妥当,接下来让我们赶紧体验一下 gitbook 的魅力吧! ...

April 1, 2019 · 1 min · jiezi

gitbook 入门教程之前置知识

markdown 基本知识markdown 是一种简化的 html 语法,相比于 txt 无格式文本更强大.你可以用专门的软件去编辑 markdown 文件,就像需要使用软件编辑 txt 文件一样,当然也可以什么软件也不用,甚至直接在记事本或命令行书写,只不过这样的缺点就是无法实时预览输出效果,安全依赖个人经验和想象力了.markdown 文件后缀名是.md,安装了相应插件的浏览器或专门软件能够看到输出效果.标题语法格式: # + 空格 + 文本大多数markdown编辑器支持 h1~h6 级标题,而富文本编辑器一般仅支持到二级标题.示例:# 标题1## 标题2效果:标题1标题2列表列表包括有序列表,无序列表和任务列表,并支持列表嵌套.大多数 markdown 编辑器和富文本编辑器均支持有序列表和无序列表,而任务列表和列表嵌套支持度就不是很好,存在平台兼容性问题.有序列表语法格式:数字 + . + 空格 + 文本示例:1. 有序列表1 2. 有序列表2 3. 有序列表3 效果:有序列表1有序列表2有序列表3无序列表语法格式:- 或 * 或 + + 空格 + 文本示例:- 无序列表1 * 无序列表2 + 无序列表3 效果:无序列表1无序列表2无序列表3链接和图片markdown 编辑器和富文本编辑器均支持链接和图片,值得注意的是有些平台限制或禁止外链.链接语法格式:[显示文本] + (链接地址)示例:https://snowdreams1006.github.io效果:https://snowdreams1006.github.io图片语法格式:! + [图片标题] + (图片地址)示例:效果:代码代码分为单行代码和多行代码,其中多行代码也叫做代码块.大多数 markdown 编辑器均支持代码,富文本编辑器支持度不一样,有的支持单行代码有的支持代码块.单行代码语法格式:+ 单行代码 +示例:code效果:code多行代码语法格式:+ 多行代码 +示例:<pre>function fun(){ echo “这是一句非常牛逼的代码”;}fun();</pre>效果:function fun(){ echo “这是一句非常牛逼的代码”;}fun();这里的富文本支持语法指的是 markdown 渲染后的内容能否正常显示,并不是指 markdown语法本身能够正常渲染,更多详情请参考 markdown 快速入门git 基本知识git 是全世界最先进的分布式版本控制系统,帮助项目更好地进行管理,支持版本历史管理和多人写作管理等功能.简单地说,可以理解为一种优雅的文档备份方式,支持云端备份,多人协作等特点.初始化项目语法格式: git init适合从零开始的本地项目,初始化后的项目才是能够被 git 管理的项目.示例:git init克隆项目语法格式: git clone适合已有远程项目需要下载到本地,作用是将远程项目克隆到本地,和 git init 实现类似的功能.示例:git clone git@github.com:username/username.github.io.git添加文件语法格式: git add将文件添加到暂存区,支持多次添加文件,相当于写入缓存区.示例:git add .提交文件语法格式: git commit将暂存区内容提交到版本库,完成一次历史版本.示例:git commit -m “写入提交备注,简短说明下提交意图和目标"推送文件语法格式: git push将本地版本库推送到远程版本库,相当于本地文件备份到云端服务器.示例:git push origin master拉取文件语法格式: git pull将远程版本库拉取到本地版本库,相当于云端服务器文件恢复到本地.示例:git pull查看状态语法格式: git status查看当前文件状态,包括文件被新增,被修改,被删除,未提交等等.示例:git status 比较差异语法格式: git diff查看两个文件之间的具体差异示例:git diff 历史日志语法格式: git log查看版本库的提交历史日志示例:git log上述仅介绍了 git 的简单命令,实际使用情况远不止这些,更多详情请参考 git 入门教程 ...

March 31, 2019 · 1 min · jiezi

gitbook 入门教程之 gitbook 简介

gitBook 是一个基于node.js的命令行工具,使用 github/git 和 markdown/asciiDoc 构建精美的电子书.gitbook 支持输出静态网页和电子书等多种格式,其中默认输出静态网页格式.gitbook 不仅支持本地构建电子书,而且可以托管在 gitbook 官网上,并享受在线发布和托管图书的便利,完整的文档请参考 gitbook 新版文档(需FQ)或 gitbook 旧版文档(不需FQ)适用场景不仅适用于软件说明文档的发布更新,同样适用于文本文档的连载更新.既适合具有一定编程经验的软件开发从业者,也适用于不满足传统书写方式的文学创作者.简而言之,gitbook 可以条理清晰地整理出零碎知识,打造专属你自己的电子书,漂亮的主题,丰富的插件让你的知识变得从此与众不同!git + markdown = gitbook,其中 git 可以管理书籍内容的变更,并将其托管到云端实现团队协作,而 markdown 简洁的语法特点,使得我们不必关心布局排版问题,专注创作,重拾写作乐趣!如果你还不了解 git 和 markdown 相关知识,赶紧去学习 markdown 快速入门 和 git 入门教程 吧!先睹为快gitbook 教程gitbook 官网gitbook 文档参考文档gitbook 官网(新)gitbook 官网(旧)gitbook 文档(新)gitbook 文档(旧)git 官网github 官网gitbook 新版需要FQ,旧版不需要FQ

March 30, 2019 · 1 min · jiezi

搭建gitbook 和 访问权限认证

相信大家都或多或少的都接触过gitbook。gitbook 首先是一个软件,正如上面定义的那样,它使用 Git 和 Markdown 来编排书本,如果用户没有听过 Git 和 Markdown,那么 gitbook 可能不适合你。废话不多说,干起来。1 gitbook安装1.1 安装npm包 $ npm install gitbook -g1.2 初始化项目 $ mkdir gitbook 新建目录 $ cd gitbook $ gitbook init 目录 gitbook/ ├── README.md └── SUMMARY.md1.3 起服务 $ gitbook serve1.4 打开浏览器 可以用浏览器打开 http://127.0.0.1:40001.5 生产文件 $ gitbook build2 登录权限认证搭建就完成了,但是有一下内部文档,不想公布出去,怎么办,这个网上没有答案,但是方法总是有的,那就是nginx2.1 用到nginx认证模块server { listen 80; server_name www.host.com ; # 域名注意不要加协议 location / { root html/blog; #根 静态文件目录 index index.html index.htm; auth_basic “pleas you password”; # nginx 认证用户和密码 auth_basic_user_file htpasswd; # nginx认证文件目录 可以随意指定 }2.2 因为要用到密码,而且是加密的,所有引入httpd模块 $ yum -y install httpd $ htpasswd -bc /applocation/nginx/conf/htpasswd qiyun 123456 #生产密码文件,如果不能写入,就创建好文件,在执行命令2.3 重新检测 $ nginx -t2.4 重启 $ nginx -S reload3 案例url: http://gitbook.beastxw.wang/name: aaapwd: 1234 图片gitbook登录认证5 博客url: http://blog.beastxw.wang/2019… ...

February 18, 2019 · 1 min · jiezi

Gitbook使用入门

不像Readthedocs那么复杂,Gitbook所需的文件和设置极其少,而且原生支持Markdown和Github仓库自动同步。一般本地无需安装,只要在Github中存入相应的Markdown文件就能自动生成了。不过为了随时测试和预览,有必要在本地也弄一套。参考:GitBook 简明教程安装(不要安装旧版的gitbook,而应该是gitbook-cli):$ sudo npm install gitbook-cli -g常见安装问题:#如果提示npm版本过低,则升级npm:$ npm i npm@latest -g#如果提示网络问题,则用-d参数$ npm install gitbook -g -d#如果网络还是有问题,则用代理联网$ npm config set proxy http://127.0.0.1:1080$ npm config set https-proxy http://127.0.0.1:1080gitbook程序和npm的问题太多,我在Mac本机、Ubuntu国外服务器上测试都装不好。所以只能使出最终杀器:docker.gitbook有官方的Docker Hub账号,但是好像没有官方的gitbook程序image。推荐第三方排名较高的billryan/gitbook。在本机已有docker的情况下,如此运行:# 对当前文件夹进行gitbook初始化(容器在命令执行完后会自动消失 因为–rm选项)$ docker run –rm -v “$PWD:/gitbook” -p 4000:4000 billryan/gitbook gitbook init# 对当前文件夹的gitbook编译并提供预览(容器在命令执行完后会自动消失 因为–rm选项)$ docker run –rm -v “$PWD:/gitbook” -p 4000:4000 billryan/gitbook gitbook serve# build$ docker run –rm -v “$PWD:/gitbook” -p 4000:4000 billryan/gitbook gitbook build# 最高将docker变成alias快捷键,相当于本机的gitbook命令了$ alias gitbook=‘docker run –rm -v “$PWD”:/gitbook -p 4000:4000 billryan/gitbook gitbook’以上docker会把当前文件夹映射为虚拟系统里的/gitbook文件夹,并且将4000端口映射到本机的4000.而且由于–rm选项,docker不会存储container。这样一来就和本机安装的gitbook没什么两样了。本地项目创建及初始化:# 初始化本地一个项目$ cd book$ gitbook init# 编译并预览书籍(生成好后,会显示一个本地链接,可以在浏览器里打开预览)$ gitbook serve如果提示类似这样的错误:Error: ENOENT: no such file or directory, stat ‘/gitbook/_book/gitbook/gitbook-plugin-lunr/lunr.min.js’那么就需要安装插件。首先要在项目根目录下新建一个book.json文件,内容如下:{ “plugins”: [ “fontsettings”, “sharing”, “lunr”, “search”, “highlight”, “livereload” ]}然后运行命令gitbook install安装这些插件。之后就应该没问题了。基本文件结构:[站外图片上传中…(image-878a3d-1548159627560)]Gitbook至少需要两个文件:README.md:相当于书籍简介SUMMARY.md:这个非常重要,定义了整个目录结构和相应的文件链接SUMMARY.md目录文件格式:Gitbook的目录最多支持3级。标准格式:* 第一章 * 第一节 * 第二节* 第二章 * 第一节利用标题或分割线:# Summary### Part I* Introduction* Writing is nice* GitBook is nice### Part II* We love feedback* Better tools for authors—-* Last part without title ...

January 24, 2019 · 1 min · jiezi

使用 travis + gitbbok + github pages 优雅地发布自己的书

作者: 一波不是一波转载请注明出处并保留原文链接( https://github.com/riskers/bl… )和作者信息。这篇文章教你怎么用 gitbook + travis 在 github pages 上优雅地发布书籍。模板: https://github.com/riskers/gi…效果: https://riskers.github.io/git…项目结构git clone https://github.com/riskers/gitbook-templatecd gitbbok-template && rm -rf .git # 去掉模板中的历史记录修改模板:.travis.yml:recipients: 修改成你的邮件REF: 修改你项目的 github 地址book.json: 修改 gitbook 相应配置,不是这里的重点,不多介绍。配置结果见 https://riskers.github.io/git…,可根据喜好自己修改chap01 和 chap02 对应 SUMMARY.md 中的地址,就是这本书的内容了。然后就是在 github 上新建一个项目,并且 push 上去,然后你能看见这样的项目结构:github pages如果没有注册过 github pages 服务,还要先注册(注册过程略)。新建 gh-pages 分支:git checkout -b gh-pagesgit push origin gh-pages在项目『Settings』-> 『GitHub Pages』开启 github pages 服务:<img src=“https://i.imgur.com/mLt9b1L.j...; width=“300” />Travis给这个项目开启 Travis 服务: https://github.com/marketplac…最后你应该能看到这个界面:在个人设置里申请 token 好让 Travis 有权限改这个项目:然后选择 repo,点击生成按钮:复制生成的 token,填写在 Travis 的设置-全局变量中,并且取名为 TOKEN:试试效果添加一行字:然后 push 上去,可以看到 Travis CI 在跑了:稍作等待,跑完之后,可以在 gh-pages 下看到 Travis CI 给我们推过来了 gitbook build 之后的内容:可以在 github pages https://riskers.github.io/git… 上看到效果: 完成!后续这一阵在用 gitbook 写一本电子书,发现多于两本就要收费了,而老版本是不收费的,所以我最近一直在用老版本。但可能是维护少的原因,老版本的同步总是不及时,于是我放弃了 gitbook 服务。本来想在本地 gitbook build,然后 push 到 pages 服务,但是这样太不优雅了,就琢磨了一下怎么用 CI 来做这件事,刚好之前在公司折腾过一阵 gitlab ci,很快就解决了。至此,我做到了在 master 上写 md,然后 push 到 master, Travis 自动执行 gitbook build,并且把生成好的文档 push 到 gh-pages,好让 pages 服务生效。向我捐助 | 关于我 | 工作机会 ...

January 24, 2019 · 1 min · jiezi

gitbook使用教程

说明gitbook网站是一个简单的个人在线书籍网站,在这里可以把自己的文档整理成书籍发布出来,便于阅读。gitbook网站:https://legacy.gitbook.com/本文主要讲解在gitbook网站上发布一个书籍文档和使用gitbook提供的工具在本地开发一个书籍文档部署到自己的服务上在此之前你需要会如下准备:账号: github有账号,gitbook使用github账号注册git:代码管理工具Markdown:gitbook主要使用MD语法来编写书籍的gitbook工具:如果你在本地开发需要安装此插件,下面有介绍nodejs环境:gitbook插件需要的运行环境一款Markdown编辑器:方便本地开发,推荐Typora或gitbook自己的编辑器gitbook editor2. 在gitbook网站上创建一本文档书籍此种方式是使用github网站加gitbook网站的方式来创建书籍的。首先你要有一个github账号,然后在github网站中创建了一个repo仓库,用于存放书籍内容的仓库。注意:gitbook网站有时需要使用代理才能打开。2.1 登陆gitbook网站gitbook网站支持直接使用github账号登陆的,推荐直接使用github账号登陆。打开gitbook网站:https://legacy.gitbook.com/点击右上角的Sign In登陆,然后选择Sign in with GitHub选择使用github账号进行登陆。第一次登陆gitbook网站时,需要github网站的认证,还需要到注册github网站的邮箱中点击确认。2.2 创建一本书2.2.1 点击新建一本书按钮登陆网站后,点击右上角的用户图标,然后选择Your Profile。然后就会在右上角看见+ new按钮,点击此按钮就是创建一本书。或者在gitbook的dashboard页面有一个New Book按钮,点击也可以创建一个书籍:或者打开此链接,直接进入创建书籍页面:https://legacy.gitbook.com/new2.2.2 在创建书籍中选择github

January 21, 2019 · 1 min · jiezi