前段时间,我在互联网冲浪时候,发现了一个写作的工具组合 Gitbook + Typora,堪称神器。

安利到 Blink 和朋友圈之后,有一朋友表示很感兴趣,希望我简单出一个教程,介绍一下这套工具怎么使用。

好吧,安排!

0x00 效果展示

Gitbook + Typora ,我称之为 “神器”,不仅是因为他可以用来写文章,更在于它可以将你写的 Markdown 文章直接转换成 pdf,转成各种常用格式,甚至可以转换成网页直接发布到网上。

正好我的个人网站备案审核通过了,就利用 Gitbook + Typora 制作了一个小网站,挂在我的网站上。

欢迎大家参观。

示例一 旅游攻略 :http://gitbook.smartcrane.tech

个人感觉哈,这个Gitbook 的网页排版,用来看一些学习笔记,博客文章,电子书,真的是体验超棒。

喜欢写作的同学,可以用这个快速搭建一个自己的作品网站;

会爬虫的同学,可以定期爬一些博客文章,小说,新闻等等,足不出户天下尽在掌握。

哈哈哈哈哈。大家可以在此基础上,尽情发挥自己的聪明才智, 打造一个属于自己的个人网站。

0x01 环境搭建

我们需要提前准备两个工具,Gitbook 和 Typora。

1. GitBook

GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书。(来自百度百科)

安装 GitBook 首先要安装 Node.js 环境。

下载对应版本的 Node.js 安装包之后,一路安装下去就可以了(到最后如果问要不要安装依赖的时候,也一并安装了)

真的超简单的,一点都不麻烦。

Gitbook 下载链接:https://nodejs.org/en/download/

安装好后,打开命令提示符(win+R,输入cmd,回车)

输入以下命令,安装 GitBook:

npm install -g gitbook-cli

然后就开始刷刷刷刷地安装了,安装完之后,可以运行 gitbook -V 命令来验证是否安装成功。

如果出现下面的结果,说明安装成功了。

CLI version: 2.3.2
GitBook version: 3.2.3

是不是很简单呢!

2. Typora

Typora 是一款所见即所得的 Markdown 格式文本编辑器,也就是把编辑区和预览区合二为一了。

其实目前 Markdown 编辑器有很多,大家挑选一款自己用的顺手的就好。

我选择 Typora 主要有两个原因,

一是它的界面很干净漂亮,赏心悦目;

二是它界面显示效果跟 gitbook 的网页界面布局很相似。

Typora 下载链接 :https://typora.io/

上面是下载链接,安装过程没有什么特别的,正常安装就可以了。

另:

看到网上有人说有被墙,下载不下来的情况(反正我也没遇到过)

保险起见,我传了一份网盘(windows x64版)

链接: https://pan.baidu.com/s/1YdfgI97hLVY9AV5gsd97fQ 提取码: errm

0x02  GitBook基本使用

在本地创建一个文件夹,比如我创建了 D:\MyBooks\NoteBook 文件夹,用来存放笔记文档。

打开 cmd 窗口,通过 cd 命令,转到创建好的文件夹路径下。

C:\Users\smartcrane> d:
D:\> cd MyBooks/NoteBook
D:\MyBooks\NoteBook>

然后在该文件夹目录下,执行命令:

D:\MyBooks\NoteBook> gitbook init

回车后会自动初始化这个文件夹,然后在文件夹中生成两个文件 README.mdSUMMARY.md

然后用 Typora 打开这两个md 文件,就可以自己编辑了。

  • README.md 是首页,你可以随便写东西。

  • SUMMARY.md 是目录,你可以在这里创建目录

这里编辑好目录之后,重新执行 gitbook init 命令,会根据目录中的路径和文件名,自动创建对应的文件和文件夹。

创建好之后,你同样可以继续编辑每一个文件的内容,这里就不说了,自由发挥。

当文件写好之后,可以用 gitbook 生成网页,在浏览器中预览效果

执行 gitbook serve 命令后,会启动一个 4000 端口,然后就可以通过 http://localhost:4000 地址在浏览器中查看了。

是不是很酷啊!

此外,gitbook 还有一个指令 gitbook build ,可以将这些 markdown 文章生成 html 网页,这样就可以直接部署到自己的服务器网站上啦,下面我来操作一下。

然后,在文件夹中就会生成一个 _book 的文件夹,把这个文件夹中的所有内容拷贝到自己的服务器网站上

然后大家就可以通过外网访问啦。

示例 个人笔记 :http://blog.smartcrane.club/

(更新:上述网址 http://blog.smartcrane.club/ 改用作个人博客网站,示例地址更改为 http://gitbook.smartcrane.tech/shanghai/)

0x03 GitBook 实战

上篇爬虫《Python 网络爬虫实战:去哪儿网旅游攻略图文爬取保存为 Markdown电子书》中,我们不是爬了很多很多的markdown格式的图文文章嘛。

接下来,我准备把爬到的这些文章,通过 gitbook 制作成一个网站,挂到自己的服务器上(仅供学习交流使用)

import osdef saveMarkdownFile(filename,content):with open("newdata/" + filename + ".md", 'w', encoding='utf-8') as f:f.write(content)path = "./newdata/"
files = os.listdir(path)
str = ""
for filename in files:# 文件名中包含特殊字符时会导致 gitbook 解析错误newName = filename.replace("#", "").replace(")", ")").replace("(", "(")str += "* [%s](上海旅游攻略/%s)\n"%(newName[0:-3],newName)# 同步修改文件名try:os.rename(path+filename,path+newName)except:print(newName)saveMarkdownFile("Summary", str)

简单解释一下上面的代码:

1. 首先找到 Markdown 文章存放的路径,读取所有文章的列表。

2. 剔除文章标题名中的特殊字符,如 # ( )等,避免在解析时出错。

3. 按照格式 [标题](链接) 生成文章的目录。

4. 剔除文件名中字符的同时,同步将文件重命名。

完成上面的工作之后,我们只需要

1. 把生成的 Summary.md 文件中的内容,拷贝到之前我们创建的 NoteBook 文件夹中的 SUMMARY.md 中。

这一步主要想节省手打目录的功夫。

2. 把目录中出现的文章,全部拷贝到之前创建的 NoteBook 文件夹中,对应的路径下。

依照上节讲的,执行 gitbook init 初始化

然后 gitbook serve 开启服务,在浏览器中预览效果

如果效果满意,就 gitbook build 生成网页,然后将 _book 文件夹中的网页资源上传至自己的服务器。

然后就可以通过外网访问啦。

示例 旅游攻略:http://gitbook.smartcrane.tech/shanghai/

0x04 你可能遇到的问题

1. 无法加载文件 C:\Users\smartcrane\AppData\Roaming\npm\gitbook.ps1,因为在此系统上禁止运行脚本。

我用 PowerShell 窗口执行 gitbook 命令时,出现了这个错误,但是使用 cmd 窗口执行的时候可以正常执行。

所以解决办法是,改用 cmd 执行即可。

如果你是嫌 cmd 窗口,用 cd 指令切换目录比较麻烦的话,可以在对应的文件夹目录下,按住 Shift 键,点击鼠标右键,选择 “在此处打开 PowerShell 窗口” ,然后在 PowerShell 窗口中运行 Start cmd 命令,即可打开 cmd 窗口。

注:这种命令行我也不是很熟练,如果有更好的方法,麻烦分享一下。

2. Error: ENOENT: no such file or directory, stat 'D:\MyBooks\NoteBook\_book\gitbook\gitbook-plugin-livereload\plugin.js'

如果在执行 gitbook serve 命令的时候,可能会出现这种报错。

找到 C:\Users\smartcrane\.gitbook\versions\3.2.3\lib\output\website 目录下,打开 copyPluginAssets.js 文件。

修改其中第 67 行和第 112 行,将 confirm: true 改成 confirm: false 即可。

 3. 没有通过 gitbook serve 开启服务,而是直接打开本地文件夹中的 index.html 文件时,无法正常跳转。

如果打开导出的 html 文件,走的是 file:// 协议,就会出现链接不能跳转的问题;

如果是通过 gitbook serve 打开的话,走的是 http:// 协议,就可以打开。

0x05 参考资料

【1】GitBook 从懵逼到入门

【2】Gitbook 使用文档


如果文章中有哪里没有讲明白,或者讲解有误的地方,欢迎在评论区批评指正,或者扫描下面的二维码,加我微信,大家一起学习交流,共同进步。

【Python 骚操作】使用 Gitbook + Typora 打造一个属于自己的电子书网站相关推荐

  1. Python 骚操作!如何让自己在斗图中立于不败之地?

    点击⬆️"小詹学Python",选择"星标公众号" 福利干货,第一时间送达! 本文授权转载自AirPython,禁二次转载 阅读文本大概需要 6 分钟. 1 目 ...

  2. Python骚操作:Python控制Excel实现自动化办公!

    Python骚操作:Python控制Excel实现自动化办公! 1.安装 Python骚操作:Python控制Excel实现自动化办公! 2.操作一个简单的Excel文档 操作注释及代码: Pytho ...

  3. Python骚操作—自动刷抖音

    python骚操作之电脑自动刷抖音 上篇文章发完之后,有朋友在后台留言给我,说手机自动化控制很炫酷,但是appium的安装和使用很复杂,想让我写一篇详细文章介绍一下,下面我就以自动刷抖音为例简单介绍一 ...

  4. Python骚操作,实现驾考自动答题,直接满分

    Python骚操作来了~ 用Python来实现科目一/四自动答题,100分不要太简单! 最初是表弟最近想买车,但是驾照都没有,买什么车,只能先考驾照~ 看他在网页上练习题目慢吞吞的,我就看不下去了,直 ...

  5. 10 个让你相见恨晚的 Python 骚操作

    众所周知,Python 以语法简洁著称,同样实现一个功能,Java 可能要十来行,Python 一行就可以搞定. Python 的代码之所以这么优雅,完全归功于其独有的特性,只要你掌握了这些特性,同样 ...

  6. Python 骚操作,微信远程控制电脑

    **今天带给大家一个非常有意思的 python 程序,基于 itchat 实现微信控制电脑.你可以通过在微信发送命令,来拍摄当前电脑的使用者,然后图片会发送到你的微信上.甚至你可以发送命令来远程关闭电 ...

  7. 【Python】这些Python骚操作,你值得拥有

    Python 我用的比较多一点,对一些小玩意有些许了解.我不大清楚骚操作怎么定义,只好说说我觉得 Python 和其它语言(比如 C 和 JAVA 等)设定比较奇特的地方. 看了后,说不定你马上就有玩 ...

  8. Python骚操作-微信远程控制电脑

    Python+微信远程控制电脑 今天带给大家一个非常有意思的 python 程序,基于 itchat 实现微信控制电脑.你可以通过在微信发送命令,来拍摄当前电脑的使用者,然后图片会发送到你的微信上.甚 ...

  9. Python骚操作之微信远程控制电脑

    前言 好几天没给大家写文章了,原因是这几天比较忙,再又马上开学了,所以有些事情有些力不从心,不过之后,我会调整好时间,尽量每周给大家带来3-4篇的文章,接下来的一段时间,文章内容会有一些跟Python ...

最新文章

  1. 好的,没事,失败是成功之母
  2. “老师,弃了吧,做个别的……”“笑话,都到这个份上了,怎么能弃掉呢?”...
  3. 试翻译Output Cache Improvements in Orchard 1.9
  4. SpringBoot-MongoDB 索引冲突分析及解决
  5. 在JS中使用trim 方法
  6. Python SciPy教程
  7. 文本生成系列之transformer结构扩展(二)
  8. 010 Editor逆向分析文档
  9. 第五人格显示服务器连接失败,第五人格网络连接失败怎么回事
  10. 前端面试被问到项目中的难点有哪些?
  11. 计算机桌面出现输入框,Mac电脑使用:桌面底部莫名出现白色输入框解决的解决办法...
  12. orge terrain
  13. 不小心删除微信聊天记录怎么恢复?不看看这几种方法怎么行
  14. java/php/net/python“最终幻想14”游戏时装图鉴网站设计与制作
  15. 蓝牙BQB认证 Profile测试
  16. 01-SNAP与snappy介绍及安装
  17. Windows系统下CMD命令
  18. 实验四:激光传感器实验,摩尔斯密码
  19. 调用WindowsMedia播放器与Flash播放器
  20. The C Programming Language 读书总结

热门文章

  1. ThinkPHP6 验证码(点击刷新)
  2. 微信开放平台--》网站应用开发 微信登录网站接口(https://open.weixin.qq.com/)
  3. R语言 RevoScaleR的大规模数据集决策树模型应用案例
  4. j2ee开发的各种技术
  5. mysql汉字插不进去_Mysql下插入汉字失败
  6. 二.android 12 修改文件夹背景透明度
  7. HTML5 canvas 之 clip
  8. QT案例实战1 - 从零开始编写一个OCR工具软件 (7) 屏幕截图/图像展示/文字识别
  9. 登录注册页面,JS判断用户手机号码是否已经存在,或者格式不正确
  10. 数据库运行sql文件