項(xiàng)目組靜態(tài)Markdown文件服務(wù)器搭建

場(chǎng)景:平時(shí)我們使用的需求/產(chǎn)品文檔,研發(fā)文檔等等各種文檔,如何使用的?qq或者郵箱,或者其他方式互相發(fā)送,然后還必須在本機(jī)安裝office才能打開(kāi)

問(wèn)題:

1.我想在手機(jī)上看怎們辦?而且我手機(jī)還沒(méi)裝office,我手機(jī)內(nèi)存還很?。ǜF。。。)

2.今天開(kāi)會(huì),我沒(méi)帶電腦到會(huì)議室,只能用同事電腦,文檔在我電腦上

3.文檔的版本怎么控制?經(jīng)常手一懶沒(méi)更新到服務(wù)器上,或者我更新到服務(wù)器上,使用的人手懶了下,沒(méi)更新,相互之間文檔就不同步了。。。

。。。。。

實(shí)質(zhì):文檔,尤其是對(duì)于查看者來(lái)說(shuō),本來(lái)就不需要占用,文檔只需要存在在一個(gè)地方,需要的時(shí)候隨時(shí)看就ok,與地點(diǎn)無(wú)關(guān),與設(shè)備無(wú)關(guān)。。。

想法:基于上邊的問(wèn)題,在github上查了下,阮一峰大神果然已經(jīng)造過(guò)輪子,直接拿來(lái)用

git地址:https://github.com/ruanyf/loppo

阮大神的這個(gè)組件已經(jīng)將近500星。

使用方法:

首先全局安裝loppo組件: npm install loppo -g

新建一個(gè)文件夾test1,然后在該文件夾下執(zhí)行命令:loppo?

注意,test1目錄下要先防止docs文件夾,否則執(zhí)行l(wèi)oppo命令會(huì)報(bào)錯(cuò)。

可以看到,生成了 dist文件夾,以及chapters.yml和loppo.yml文件,可以在docs下放置你的*.md文件,可以按照不同的文件夾來(lái)放置。每次放置后都需要執(zhí)行以下命令:

1.loppo chapter --force? 更新目錄文件

2.loppo? ?重新編譯

3.loppo server? ?重新啟動(dòng)服務(wù)器

啟動(dòng)服務(wù)器后就可以訪問(wèn)了,訪問(wèn)的效果如下:

另外,需要考慮更新的問(wèn)題,如何更新?

因?yàn)榇蠹沂呛献鞯哪J剑l(shuí)都可以提交文檔,更新文檔服務(wù)器,所以,更新步驟應(yīng)該是這樣的:

1.將自己更新的文檔簽入公司內(nèi)部git服務(wù)器

2.執(zhí)行服務(wù)器上的批處理命令,執(zhí)行相關(guān)更新步驟(遠(yuǎn)程執(zhí)行批處理文件有很多方式,可以自己選擇一種方便+安全的)

3.重啟服務(wù)器

這樣,團(tuán)隊(duì)內(nèi)部的需求/研發(fā)/測(cè)試等同學(xué)都可以隨時(shí)更新文件服務(wù)器,也可以隨時(shí)隨地的查看文件服務(wù)器的文件。

批處理文件內(nèi)容如下:

rem -------------從git服務(wù)器拉取最新的文檔----------------------

rem @echo off

rem @echo '從遠(yuǎn)端git服務(wù)器獲取最新代碼和文檔中.....'

rem git pull

rem -------------殺掉占用8080端口的進(jìn)程-------------------------

@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 '開(kāi)始更新文檔目錄......'

cmd /c loppo chapter --force

rem ----------------重新編譯----------------------

echo '重新編譯.....'

cmd /c loppo

rem ----------------重啟文件服務(wù)器----------------------

echo '重啟文件服務(wù)器......'

cmd /c loppo server

備注:

1.更新文檔只需要運(yùn)行l(wèi)oppo chapter --force ,然后運(yùn)行l(wèi)oppo,不需要重啟服務(wù)器,所以也就不需要?dú)⒌?080端口的占用進(jìn)程,另外,盡量不要使用這種常用端口來(lái)監(jiān)聽(tīng),會(huì)和其他東西沖突

2.ruanyf大神的loppo作品有bug,已經(jīng)給大神提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

修改這兩處的代碼,就可以直接運(yùn)行了,另外,也可以直接使用我 修改后的組件superloppo,

嚴(yán)重聲明,版權(quán)歸ruanyf大神所有,我只是拿來(lái)學(xué)習(xí)和修改。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 個(gè)人學(xué)習(xí)批處理的初衷來(lái)源于實(shí)際工作;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求,從而在測(cè)試過(guò)程中就重復(fù)涉及到...
    Luckykailiu閱讀 5,003評(píng)論 0 11
  • .bat腳本基本命令語(yǔ)法 目錄 批處理的常見(jiàn)命令(未列舉的命令還比較多,請(qǐng)查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,542評(píng)論 1 19
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評(píng)論 19 139
  • 一、基礎(chǔ)語(yǔ)法: 1.批處理文件是一個(gè)“.bat”結(jié)尾的文本文件,這個(gè)文件的每一行都是一條DOS命令。可以使用任何文...
    蔣_Sir閱讀 9,407評(píng)論 1 4
  • 姓名:周玉霞 六項(xiàng)精進(jìn):327期學(xué)員 公司:溫州易道偉業(yè)企業(yè)管理咨詢(xún)有限公司 地點(diǎn):鹿城區(qū)東龍路46號(hào) 【日精進(jìn)打...
    Anne玉閱讀 197評(píng)論 0 0

友情鏈接更多精彩內(nèi)容