项目组静态Markdown文件服务器搭建

场景:平时我们使用的需求/产品文档,研发文档等等各种文档,如何使用的?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大神所有,我只是拿来学习和修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,268评论 0 11
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 12,625评论 1 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,810评论 19 139
  • 一、基础语法: 1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文...
    蒋_Sir阅读 13,028评论 1 4
  • 姓名:周玉霞 六项精进:327期学员 公司:温州易道伟业企业管理咨询有限公司 地点:鹿城区东龙路46号 【日精进打...
    Anne玉阅读 1,396评论 0 0

友情链接更多精彩内容