-
Notifications
You must be signed in to change notification settings - Fork 2
/
generate-html-viewer-readme.bat
47 lines (35 loc) · 2.47 KB
/
generate-html-viewer-readme.bat
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
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
where msr.exe 2>nul >nul || if not exist %~dp0\msr.exe powershell -Command "Invoke-WebRequest -Uri https://github.com/qualiu/msr/blob/master/tools/msr.exe?raw=true -OutFile %~dp0\msr.exe"
where msr.exe 2>nul >nul || set "PATH=%PATH%;%~dp0"
where nin.exe 2>nul >nul || if not exist %~dp0\nin.exe powershell -Command "Invoke-WebRequest -Uri https://github.com/qualiu/msr/blob/master/tools/nin.exe?raw=true -OutFile %~dp0\nin.exe"
where nin.exe 2>nul >nul || set "PATH=%PATH%;%~dp0"
for /f "tokens=*" %%a in ('msr -hC ^| msr -t ".*Now time = (\d+\S+) (\d+[:\d]+)\.(\d{3})(\d*)\s+(\w+)?.*" -o "$1 $2" -PAC') do set "TimeNow=%%a"
set ThisFolder=%~dp0
set ThisScriptName=%~nx0
:: Find all directories which contains html
for /f "tokens=*" %%a in ('msr -rp %~dp0 --nd "^\.git" -f "\.html" -l -PAC ^| nin nul "^(.+)\\[^\\\\/]+$" -ui -PAC') do (
call :Check_Generate_README_in_Directory %%a
)
msr -rp %~dp0 --nd "^\.git" -f "README.md" -x ".github.io" --w1 "%TimeNow%" -l --wt --sz
if !ERRORLEVEL! EQU 0 msr -rp %~dp0 --nd "^\.git" -f "README.md" -x ".github.io" -l --wt --sz
exit /b 0
:Check_Generate_README_in_Directory
set directory=%1
set readmeFile=%1\README.md
if exist %readmeFile% (
for /f "tokens=*" %%p in ('msr -p %readmeFile% -ix ".github.io/" ^| msr -it "^Matched \d+ lines\s*\((\d+\.?\d*\s*.*?)\).*" -o "$1" -PAC') do set "htmlPercentage=%%p"
msr -z "!htmlPercentage!" -t "^([5-9]\d|100)" -c Check if htmlPercentage=!htmlPercentage! ^>= 50% -H 0
if !ERRORLEVEL! NEQ 1 (
msr -p %readmeFile% -ix ".github.io/" -H 3
echo Existed %readmeFile% has just !htmlPercentage! percent of html files, ignore to avoid editing maunal file.
exit /b 0
)
echo Will overwrite existed %readmeFile% as htmlPercentage=!htmlPercentage! | msr -aPA -t "\w+" -x %readmeFile%
del /f %readmeFile%
)
echo **Zoom out** following screenshots to **90%% or smaller** if it's not tidy or comfortable. Auto generated by `%ThisScriptName%` .> %readmeFile%
:: msr -z "Zoom out following screenshots to 90%% or smaller if it is not tidy or comfortable." -it "(Zoom out|\d+%% or \w+)" -o "**$1**" -PAC > %readmeFile%
for /f "tokens=*" %%a in ('dir /b %directory%\*.html') do (
msr -z "* [%%a](https://qualiu.github.io/msr/%directory%/%%a)" -ix %ThisFolder% -o "" -aPAC | msr -x \ -o / -aPAC >> %readmeFile%
)