Gitbook +Typora打造属于自己的Python网站( 二 )


Gitbook +Typora打造属于自己的Python网站文章插图
此外 , gitbook 还有一个指令 gitbook build , 可以将这些 markdown 文章生成 html 网页 , 这样就可以直接部署到自己的服务器网站上啦 , 下面我来操作一下 。
Gitbook +Typora打造属于自己的Python网站文章插图
然后 , 在文件夹中就会生成一个 _book 的文件夹 , 把这个文件夹中的所有内容拷贝到自己的服务器网站上
Gitbook +Typora打造属于自己的Python网站文章插图
然后大家就可以通过外网访问啦 。
示例 个人笔记 :
0x03 GitBook 实战上篇爬虫《Python 网络爬虫实战:去哪儿网旅游攻略图文爬取保存为 Markdown电子书》中 , 我们不是爬了很多很多的markdown格式的图文文章嘛 。
接下来 , 我准备把爬到的这些文章 , 通过 gitbook 制作成一个网站 , 挂到自己的服务器上(仅供学习交流使用)
import os def 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 +Typora打造属于自己的Python网站文章插图
依照上节讲的 , 执行 gitbook init 初始化
然后 gitbook serve 开启服务 , 在浏览器中预览效果
如果效果满意 , 就 gitbook build 生成网页 , 然后将 _book 文件夹中的网页资源上传至自己的服务器 。
然后就可以通过外网访问啦 。
示例 旅游攻略:
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 命令的时候 , 可能会出现这种报错 。
Gitbook +Typora打造属于自己的Python网站文章插图
找到 C:\Users\smartcrane\.gitbook\versions\3.2.3\lib\output\website 目录下 , 打开 copyPluginAssets.js 文件 。
Gitbook +Typora打造属于自己的Python网站文章插图
修改其中第 67 行和第 112 行 , 将 confirm: true 改成 confirm: false 即可 。
Gitbook +Typora打造属于自己的Python网站文章插图
3. 没有通过 gitbook serve 开启服务 , 而是直接打开本地文件夹中的 index.html 文件时 , 无法正常跳转 。
如果打开导出的 html 文件 , 走的是 file:// 协议 , 就会出现链接不能跳转的问题;
如果是通过 gitbook serve 打开的话 , 走的是 http:// 协议 , 就可以打开 。