notebook
首页自定义链接
多级目录
  • 子菜单1
  • 子菜单2
首页自定义链接
多级目录
  • 子菜单1
  • 子菜单2
  1. 3cs
  • 目录
  • 1study
    • 9nuclear_english
    • moose
    • moose_analysis
    • NUSOL_FI_JFNK
    • relap5
    • relap5_analysis
  • 3cs
    • 0cs
    • 1android
    • 1linux
    • 1web
    • 1windows
    • 2cpp
    • 2html
    • 2javascript
    • 2shellscript
    • 3gitboook
    • 3markdown
    • 4gdb
    • 4git
    • 4mysql
    • 4regex
    • 5vim
    • 5vscode
  • 9me
    • 0read
    • 1book
    • test
  1. 3cs

3gitboook

目录#

[TOC]

GitBook#

官方文档
打造完美写作系统:Gitbook+Github Pages+Github Actions
GitBook 简介安装配置
GitHub Pages 搭建教程

安装node, npm, nvm, gitbook#

ubuntu 参考
linux 卸载node重新安装
/usr/local/bin/npm: 没有那个文件或目录
npm ERR! code EACCES
TypeError: cb.apply is not a function
各种错误

使用#

打造完美写作系统:Gitbook+Github Pages+Github Actions

本地浏览器#

启动服务,可用于本地浏览器浏览 gitbook serve
用浏览器查看我们创作的内容 http://localhost:4000/

插件#

编写 book.json

{
    "title": "lzw笔记",
    "outputfile": "SUMMARY.md",
    "catalog": "all",
    "ignores": [],
    "unchanged": [],
    "sortedBy": "-",
    "disableTitleFormatting": true,
    "plugins": [
        "favicon-absolute",
        "katex",
        "-lunr",
        "-search",
        "search-pro",
        "splitter",
        "page-treeview",
        "edit-link",
        "anchor-navigation-ex",
        "expandable-chapters",
        "copy-code-button"
    ],
    "pluginsConfig": {
        "page-treeview": {
            "copyright": "Copyright © aleen42",
            "minHeaderCount": "2",
            "minHeaderDeep": "2"
        },
        "edit-link": {
            "base": "//github.com/xxx/notebook/edit/master",
            "label": "编辑此页面"
        },
        "favicon-absolute": {
            "favicon": "/favicon.ico"
        }
    }
}

使用#

1.
book.json内添加插件"plugins": ["插件名"],新插件放前面,install完了就中断。 gitbook install
2.
也可以分别直接用淘宝镜像下载npm包,更快
自动生成目录gitbook-summary , 根目录执行 book sm
网页目录可折叠"expandable-chapters"
复制代码按钮"copy-code-button"
标题导航"anchor-navigation-ex",2025mac安装报错,则在配置中删除,然后手动安装,再build:npm install gitbook-plugin-anchor-navigation-ex --save
侧边栏宽度可调节 "splitter"
页面顶部显示目录 "page-treeview"
在线编辑文件 "edit-link"
LaTex插件 "katex" > "mathjax-pro"
导出整本电子书 calibre

禁用#

自带的:在插件名前-;引入的:json中删除
>"plugins":[ "-search"]
>

启用GitPage#

打造完美写作系统:Gitbook+Github Pages+Github Actions
GitBook 简介安装配置
gitbooks-devops-roadmap
GitHub Pages 搭建教程
选网页主题,进github仓库,fork后改名xxx.github.io
settings——pages——custom domain———填入xxx.github.io或者其他花名

gitbook上传到gitpage网页#

初次部署#

vscode左下新建gitbook发布分支gh-pages。
main分支只有源代码和配置文件;
gh-pages分支生成gitbook,删除其他所有不必要的内容,上传到仓库后会被同步到gitpage网站。
vscode左下切换到发布分支gh-pages。
创建gitbook,生成_book文件夹
本地提取_book文件夹内文件,删除父目录内其他所有文件。
同步。
settings——pages——branch——gh-pages——save
查看 gitbook 是否生效 https://xxx.github.io/NoteBook/
切换回 main 分支。

日后部署#

使用gh-pages插件将本地静态页面HTML文件推送到远处仓库gh-pages分支

PicGo 图床管理#

项目地址
使用手册
jsDelivrCDN自定义域名加速——https://cdn.jsdelivr.net/gh/xxx/notebook-img
picgo设置——设置快捷键——禁用快速上传快捷键

配置自定义域名#

1.
选择阿里云域名购买,市场份额过半。top和xyz两个新顶级域名 比较便宜。(top不良使用率高,xyz长期费用贵)
2.
配置 DNS 解析
3.
在网站仓库主分支新建文件 CNAME,填写域名 l2w.top。(踩坑:直接在仓库-设置-Pages中填域名不行,每次重建网站都会被清空。)

其他#

windows版本上使用(失败。。。)#

1.
下载安装nodejs及附加组件
下载安装v12.x版本的nodejs,其中msi版本可以自动配置npm环境变量,
安装时允许下载python等附加依赖组件,
cmd输入node -v查看自己安装是否成功。
2.
安装gitbook
cmd输入npm install gitbook-cli -g;
该命令安装后gitbook包会默认放在nodejs安装路径下的node_global文件夹下,所以要想全局使用gitbook命令,还需要将该文件夹设置为环境变量。
设置完环境变量后,可以在控制台使用gitbook -V查看是否安装成功(这里V是大写)。
报错TypeError: cb.apply is not a function,根据报错信息C:\Users\MyPC\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js:287 ,可知需要更新依赖项。
进入node模块依赖库——cd C:\Users\MyPC\AppData\Roaming\npm\node_modules\gitbook-cli\node_modules\npm\node_modules\
安装最新版graceful-fs依赖模块——npm install graceful-fs@latest --save
输入gitbook -V查看是否解决。
还是报错Error: read ECONNRESET。
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install @gitbook-ng/gitbook

请求加入谷歌索引#

知乎参考
1.
查看网站是否被Google收录:打开Google搜索输入site:l2w.top,一般没有收录所以查询不到
2.
手动请求收录:进入Google Search Console——点击左上角添加资源——弹窗选择右边的网址前缀——选择最快的HTML文件验证方法——下载随机生成的.html验证文件,上传到网址根目录——自行测试该网址成功后回到console完成验证
3.
添加Sitemaps给爬虫加速(特别是大网站、新网站、内部相互链接少的网站):进入XML-Sitemaps.com,输入个人网站地址,点击start——搜索完成后view details,下载sitemap.xml文件并上传到网站根目录——回到Console点击左侧菜单站点地图,添加网址
4.
手动请求优先编入索引(可能有效,数小时~一两周):点击console上方搜索框输入自己的网址——若显示未收录点击“请求编入索引”——大约等待不超过半天就能检索到(实测只检测到了index根站点,子文件夹内容没有检索到)

标题最好少于20字#

否则手机悬浮目录只能看见大片空白

加密文档#

工具——技术实现,类似的许多工具
安装:npm install staticrypt
此方法存在重大漏洞!!!(已解决~)
首先加密原理是:待加密的明文md文件通过本地的gitbook生成了明文html文件,然后将其移动到忽略上传的文件夹,再使用工具本地加密并替换原来的明文html。
之后上传GitHub仓库时仅有加密后的暗文html,从而完成加密(没有上传明文md和明文html)。理论上互联网用户无法在gitbook网站和github仓库访问该内容,除非输入加密网址的密码。
但是!最近才发现,可以通过gitbook网站的搜索框直接搜到加密网页的内容!
后续解决方案
原因是gitbook-plugins-search-pro插件在生成html的时候就生成了一个_book/search_plus_index.json文本索引,里面包含所有文档的所有文本信息。把替换这个文件写进脚本就可以屏蔽搜索了。(以后还是隐私信息尽量不上网)。
具体来说就是:先移走要加密的md文件,gitbook build生成一个不含有加密信息的json索引保存起来——然后把要加密的md文件弄回来,再次build,把这次的含有加密明文的json用之前的文件替换掉——然后再进行加密等操作。
ShellScript脚本代码如下(注意把staticrypt的加密密码mima换成自己的)
#!/bin/zsh
cd ~/Desktop/notebook && book sm && cp SUMMARY.md README.md && mv 9me/test.md node_modules/test.md && gitbook build &&  mv _book/search_plus_index.json node_modules/search_plus_index.json && mv node_modules/test.md 9me/test.md && gitbook build && staticrypt _book/9me/test.html mima --short && rm _book/9me/test.html && mv _book/9me/test_encrypted.html _book/9me/test.html && mv 9me/test.md node_modules/test.md && mv node_modules/search_plus_index.json _book/search_plus_index.json  && gh-pages -d _book && git add --all && git commit -a -m "." --no-verify && git push && mv node_modules/test.md 9me/test.md && echo ====================success==================

Nginx 网站加密认证#

https://segmentfault.com/a/1190000018195589
修改于 2025-08-13 16:06:35
上一页
2shellscript
下一页
3markdown
Built with