docsify部署知识库
0x01 环境
- nodejs
- Ubuntu 16.04
- docsify
- Nginx
0x02 搭建nodejs
- 安装nodejs
- https://npm.taobao.org/mirrors/node/v10.15.0/ ,下载对应版本的nodejs(这里下载10.15)
- 解压:tar -zxvf node-v10.15.0-linux-x64.tar.gz
- 修改名字:mv node-v10.15.0-linux-x64 nodejs
- 移动到/usr/local目录下(这个自己能找到就行):mv nodejs /usr/local
- 建立全局软连:
1
2ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm
0x03 安装docsify
npm全局安装:npm i docsify-cli -g
若安装完执行docsify找不到命令,那就建立一个软连接:
1
ln -s /usr/local/nodejs/bin/docsify /usr/local/bin/docsify
docsify命令:
1
2初始化:docsify init ./docs
本地预览:docsify serve docs更多详情请参考官方文档:https://docsify.js.org/#/zh-cn/quickstart
0x04 配置访问权限
Nginx配置反向代理和Basic Authentication 401认证
编辑nginx的配置文件/etc/nginx/nginx.conf如下:
生成密码文件 sudo htpasswd -c /etc/nginx/conf/htpasswd username 根据提示输入密码
重新加载nginx: sudo service nginx reload
再次登录,提示弹出框,输入用户名和密码
0x05 其他
pandoc批量将docx文件转markdown文件
- 官方链接:https://www.pandoc.org,pandoc是文档格式转化工具,能够多种文档格式转换。
- 命令格式:pandoc -o f.md f.docx -extract-media=f
- 批量递归替换文件名和文件夹名中的空格或者特殊字符:
批量替换空格或者其他特殊字符1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55@echo off
setlocal enabledelayedexpansion
chcp 65001
:: 如果要指定绝对路径,用以下两行,注释 set path=. 所在行。也就是用以下两行代替 set path=. 这一行。
:: set path="C:\temp\test"
:: cd "/d %path%"
set path=.
:: echo.&set /p path=please input path:
set str_space=
set str_heng=-
:: 删除特殊字符,记得替换成你自己需要删除的
set adv=
:: echo.&set /p adv=please input to be delete characters:
call:renameFiles
for /f "delims=" %%i in ('dir /ad/b/s "%path%"') do (
cd %%i
call:renameFiles
)
echo.
echo 处理完毕
echo.
pause
:: 子过程一般放在最后,主程序最后要加上exit或跳转语句,避免错误的进入子过程。
:: 如果没有 exit,子程序还会被执行(而不是调用)一次,这样在执行 echo %1 时,因为没有参数,会提示:ECHO is off.
exit
:renameFiles
echo 正在处理的目录:【%cd%】 ...
:: 先删除空格
for /f "delims=" %%i in ('dir /b *.*') do (
set "foo=%%i"
ren "%%~i" "!foo:%str_space%=%str_heng%!"
)
for /f "delims=" %%i in ('dir /b *%adv%*') do (
:: echo %%i
set var=%%i
set var=!var:%adv%=!
echo rename "%%i" to "!var!"
ren "%%i" "!var!"
)
echo.
goto:eof - 批量将当前目录中的docx文档转换为markdown格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25import os
# 当前目录下所有文件的名字
all_files_name = os.listdir()
# 保存所有docx文件的名字
all_docx_files = []
# 获取目录下的docx文件, 并保存
for file_name in all_files_name:
try:
if file_name[-5:] == ".docx":
all_docx_files.append(file_name)
except Exception as e:
print(e)
# 将docx文件批量装换为md
for docx_file in all_docx_files:
try:
tmp_md_name = docx_file[0: -5] + ".md"
new_command = "pandoc "+ docx_file + " -o " + tmp_md_name + " --extract-media=" + docx_file[0: -5]
result = os.popen(new_command).readlines()
if len(result) == 0:
print(docx_file, "转换成功")
except Exception as e:
print(e)批量生成docsify目录md文档
- 插件地址:https://github.com/julianxhokaxhiu/gitbook-plugin-summary
- 安装:npm i gitbook-plugin-summary
- 即可使用命令:book sm生成SUMMARY.md
- 可将SUMMARY.md的内容复制到docsify目录下的_navbar.md文件中,即可批量生成目录。(注意:路径中不要有空格和[]&等特殊字符)
0x06 FAQ
- docsify中有许多好用的小插件,可以选择性的加载。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 KB-AT的博客!