使用Gitbook做笔记
一、安装
https://github.com/GitbookIO/gitbook/blob/master/docs/setup.md
# 通过npm全局安装
npm install gitbook-cli -g
# 查看版本
gitbook --version
二、创建一本书
2.1 本地创建
# 创建一个文件夹
mkdir mysql-note
# 初始化
cd mysql-note
gitbook init
# 会创建两个文件
# README.md 书皮
# SUMMARY.md 目录
# 从本地打开这本书
gitbook serve
# 将md文件编译成html文件并输出到_book目录下
可以本地访问:http://localhost:4000
2.2 备份到github
# 从github上创建一个名为mysql-note的仓库
# 将mysql-note这个目录初始化为一个git仓库
git init
# 创建.gitignore文件,忽略_book文件
vi .gitignore
# 追加
_book/
# 提交
git commit -m "first commit"
# 关联github上创建的库
git remote add origin git@github.com:clzbgl/mysql-note.git
# 推送到远程库
git push -u origin master
2.3 通过网络访问这本书
2.3.1 调整目录结构
# 调整目录结构
mkdir content
mv *.md content/
mv git content/
调整前

调整后

2.3.2 变成node项目
# 将当前项目变成node项目
npm init
# 一路回车,生成package.json文件
package.json

2.3.3 配置脚本
将下面这段脚本复制到package.json中相应位置
"scripts": {
"start": "gitbook serve ./content ./gh-pages",
"build": "gitbook build ./content ./gh-pages",
"deploy": "node ./scripts/deploy-gh-pages.js",
"publish": "npm run build && npm run deploy",
"port": "lsof -i :35729"
},
2.3.4 启动命令start
# 启动,调用npm脚本
npm run start
# 修改.gitignore,将gh-pages和node_modules加入到忽略
gh-pages
node_modules
2.3.5 编译命令build
# 启用build
npm run build
2.3.6 部署命令deploy
创建发布脚本 scripts/deploy-gh-pages.js
'use strict';
var ghpages = require('gh-pages');
main();
function main() {
ghpages.publish('./gh-pages', console.error.bind(console));
}
关于这段脚本
# gh-pages的publish方法,创建gh-pages分支,将修改拷贝到gh-pages分支并且上传到github
# 安装gh-pages这个包
npm install --save gh-pages
2.3.7 发布命令publish
执行发布命令
# 执行发布命令,就是先执行编译再执行部署
npm run publish
# 输入undefined表示成功
访问 https://clzbgl.github.io/mysql-note/
2.4 放一张图片
图片放到content/img/目录下
执行一下发布命令,就可能通过网络看到效果了。
三、参考
使用Gitbook做笔记的更多相关文章
- 使用ZIM桌面维基做笔记
最近尝试了使用ZIM做笔记,感觉还不错 ubuntu下直接到软件中心即可安装,或者 sudo apt-get install zim windows下的到此下载http://www.glump.net ...
- PDF加密无法做笔记
尝试打印PDF,若无法打印,可以利用PDFescape(http://www.pdfescape.com/) PDFescape是一个可以在线修改.做笔记的网站,但是在线使用有上传PDF大小限制(小于 ...
- php面试题9(看的时候就应该随手截图做笔记的)
php面试题9(看的时候就应该随手截图做笔记的) 一.总结 看的时候就应该随手截图做笔记的 二.php面试题9 一.选择题:1.下面哪个表达式不能将两个字符串$s1 和$s2 串联成一个单独的字符串? ...
- 【原创】复制知乎“禁止转载”的内容做笔记 - 基于oncopy监听器的简单解决方案
原理:移除所有oncopy的监听器. 使用: 新建书签,地址设为: javascript: getEventListeners(document).copy.forEach(({listener}) ...
- 使用Typora做笔记
本文旨在分享使用Typora做笔记的一些心得 一.介绍 为什么要用Typora 作为一个程序员,在学习过程中打交道的不单单是文字,还有各种语言的代码块和公式,以及一些简单的流程图和思维导图(就目前而言 ...
- Oracle常用命令大全(很有用,做笔记)
一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...
- 今天第一次接触到typescript,看了第一个知识点就是变量的声明,来回忆回忆,做做笔记
以前只用过JavaScript原生写网站特效,今天还是第一次听说typescript的,然后看了一下它的基本知识,感觉很像Java,真的太像了,但是又有不同点.很让我惊奇看到的第一个知识点就和以前不同 ...
- 初尝seajs,只提供自己学习做笔记
(仅供自己使用,勿喷) 闲着无聊,尝试下seajs, 只是在公司项目上随便添加并测试了一下,做下记录, 方便以后自己使用更快的上手: 下载最新的sea.js, v- 3.0.0 新建seajsConf ...
- 《那些年,我们拿下FPGA》做笔记
spld.cpld和fpga等可不管什么样的逻辑是大自然来实现.任何逻辑可以由多项式来表示(要么逼关闭).比多项式乘法和处理操作仅此而已. 而就.您可以在门线上用.或门添加剂. fpga扩展架构SOP ...
随机推荐
- Arduino 烧写bootloader
什么是bootloader 一般情况下微处理器写入程序时都通过专门的编程器进行烧写,但是也可以通过在MCU中预先写入一些程序来实现某些基本功能,这些预先写入的程序代码就是bootloader.这样每次 ...
- JavaScript HTML5脚本编程——“历史状态管理”的注意要点
历史状态管理是现代Web应用开发中的一个难点.在现代Web应用中,用户的每次操作不一定会打开一个全新的页面,因此"后退"和"前进"按钮也就失去了作用,导致用户很 ...
- Vue-router实现单页面应用在没有登录情况下,自动跳转到登录页面
这是我做前端一来的第一篇文章,都不知道该怎么开始了.那就直接奔主题吧.先讲讲这个功能的实现场景吧,我们小组使用vue全家桶实现了一个单页面应用,最初就考虑对登录状态做限制.比如登录后不能后退到登录页面 ...
- ES6-11学习笔记--对象的扩展
属性简洁表示法 属性名表达式 Objec.is() 扩展运算符 与 Object.assign() in 对象的遍历方式 属性简洁表示法: 如果属性key跟变量名一样,可简写 let name = ...
- python-验证6174猜想
[题目描述]1955年,卡普耶卡(D.R.Kaprekar)对4位数字进行了研究,发现一个规律:对任意各位数字不相同的4位数,使用各位数字能组成的最大数减去能组成的最小数,对得到的差重复这个操作,最终 ...
- 论文阅读-Temporal Phenotyping from Longitudinal Electronic Health Records: A Graph Based Framework
- java的内存泄露是如何发生的,如何避免和发现
java的垃圾回收与内存泄露的关系:[新手可忽略不影响继续学习] 马克-to-win:上一节讲了,(i)对象被置成null.(ii)局部对象(无需置成null)当程序运行到右大括号.(iii)匿名对象 ...
- URLDNS反序列化链学习
URLDNS URLDNS跟CommonsCollections比起来真是眉清目秀,该链主要用于验证漏洞,并不能执行命令,优点就是不依赖任何包. 1.利用链 * Gadget Chain: * Has ...
- linux磁盘之lsblk命令
lsblk命令可以显示很多跟磁盘相关分区.所属关系以及lvm的重要信息,所以这个命令最好掌握.lsblk命令默认情况下将以树状列出所有块设备,包括查看磁盘挂载信息.lsblk命令包含在util-lin ...
- 通过OptaPlanner优化 COVID-19 疫苗接种预约安排(2)
本文为OptaPlanner官方博客<Optimizing COVID-19 vaccination appointment scheduling>的第二篇译文.第一篇介绍了通过OptaP ...