场景:平时我们使用的需求/产品文档,研发文档等等各种文档,如何使用的?qq或者邮箱,或者其他方式互相发送,然后还必须在本机安装office才能打开
问题:
1.我想在手机上看怎们办?而且我手机还没装office,我手机内存还很小(穷。。。)
2.今天开会,我没带电脑到会议室,只能用同事电脑,文档在我电脑上
3.文档的版本怎么控制?经常手一懒没更新到服务器上,或者我更新到服务器上,使用的人手懒了下,没更新,相互之间文档就不同步了。。。
。。。。。
实质:文档,尤其是对于查看者来说,本来就不需要占用,文档只需要存在在一个地方,需要的时候随时看就ok,与地点无关,与设备无关。。。
想法:基于上边的问题,在github上查了下,阮一峰大神果然已经造过轮子,直接拿来用
git地址:https://github.com/ruanyf/loppo
阮大神的这个组件已经将近500星。
使用方法:
首先全局安装loppo组件: npm install loppo -g
新建一个文件夹test1,然后在该文件夹下执行命令:loppo
注意,test1目录下要先防止docs文件夹,否则执行loppo命令会报错。
可以看到,生成了 dist文件夹,以及chapters.yml和loppo.yml文件,可以在docs下放置你的*.md文件,可以按照不同的文件夹来放置。每次放置后都需要执行以下命令:
1.loppo chapter --force 更新目录文件
2.loppo 重新编译
3.loppo server 重新启动服务器
启动服务器后就可以访问了,访问的效果如下:
另外,需要考虑更新的问题,如何更新?
因为大家是合作的模式,谁都可以提交文档,更新文档服务器,所以,更新步骤应该是这样的:
1.将自己更新的文档签入公司内部git服务器
2.执行服务器上的批处理命令,执行相关更新步骤(远程执行批处理文件有很多方式,可以自己选择一种方便+安全的)
3.重启服务器
这样,团队内部的需求/研发/测试等同学都可以随时更新文件服务器,也可以随时随地的查看文件服务器的文件。
批处理文件内容如下:
rem -------------从git服务器拉取最新的文档----------------------
rem @echo off
rem @echo '从远端git服务器获取最新代码和文档中.....'
rem git pull
rem -------------杀掉占用8080端口的进程-------------------------
@echo off
setlocal enabledelayedexpansion
for /f "eol=* tokens=*" %%i in ('netstat -an -o ^| findstr "8080"') do (
set a=%%i
set a=!a:~69,10!
taskkill /pid !a! /F
)
rem ----------------更新文档目录----------------------
@echo off
@echo '开始更新文档目录......'
cmd /c loppo chapter --force
rem ----------------重新编译----------------------
echo '重新编译.....'
cmd /c loppo
rem ----------------重启文件服务器----------------------
echo '重启文件服务器......'
cmd /c loppo server
备注:
1.更新文档只需要运行loppo chapter --force ,然后运行loppo,不需要重启服务器,所以也就不需要杀掉8080端口的占用进程,另外,尽量不要使用这种常用端口来监听,会和其他东西冲突
2.ruanyf大神的loppo作品有bug,已经给大神提issue了,我的解决办法是修改lib/utils.js:
if (level < current_level) {
for (let i = 0; isFirstLevelDir ? i <= (current_level - level) : i < (current_level - level); i += 1)
level > current_level ||
(level === current_level && chapterPathOrigin.split('/')[level] === '') ||
isFirstLevelDir
修改这两处的代码,就可以直接运行了,另外,也可以直接使用我 修改后的组件superloppo,
严重声明,版权归ruanyf大神所有,我只是拿来学习和修改。