REM Font Awesome Latest Version Downloader by Daniel
@echo off & cls
ECHO Font Awesome Latest Version Downloader by Daniel
call :TimeCountBegin
ECHO Get latest releases...
wget -N
https://api.github.com/repos/FortAwesome/Font-Awesome/releases/latest
FOR /F "usebackq delims==" %%i IN (`type latest ^| jq.exe ".tag_name"`) DO set "VERSION=v%%~i"
IF /i %VERSION% equ "" (
echo Didn't get Font Awesome version!
exit
)
set URL=
https://site-assets.fontawesome.com/releases/%VERSION%
set "LIST_CSS=all brands duotone fontawesome light regular solid svg-with-js thin v4-font-face v4-shims v5-font-face sharp-solid"
set "LIST_JS=all brands conflict-detection duotone fontawesome light regular solid thin v4-shims sharp-solid"
set "LIST_SPR=brands duotone light regular sharp-solid solid thin"
ECHO.
ECHO Loading Font Awesome Pro %VERSION%...
ECHO.
ECHO Loading all CSS
FOR %%a IN (%LIST_CSS%) do wget -e robots=off -p -N -nv -R ".eot@",.tmp --referer=%URL% %URL%/css/%%a.css
ECHO.
ECHO Loading all JS
FOR %%a IN (%LIST_JS%) do wget -p -nv --referer=%URL% %URL%/js/%%a.js
ECHO.
ECHO Loading Sprites...
FOR %%a IN (%LIST_SPR%) do (
wget -p -nv --referer=%URL% %URL%/sprites/%%a.svg
ECHO Loading %%a
CALL :Aria2cdownl %%a
)
If Exist uri.txt (DEL uri.txt)
REM Add to zip
ECHO.
ECHO Add to zip
7za.exe a -tzip releases\fontawesome-pro-%VERSION%-web-rip.zip .\site-assets.fontawesome.com\releases\%VERSION%\*
ECHO Done!
call :TimeCountEnd
pause
exit
:Aria2cdownl
REM aria2c log LEVEL: debug, info, notice, warn or error. Default: debug
set loglev=--log-level=error
set filelog=download.log
set svgname=%1
IF Exist uri.txt (DEL uri.txt)
IF Exist %filelog% (DEL %filelog%)
FOR /F tokens^=2^ delims^=^" %%A in ('find "symbol id=" site-assets.fontawesome.com/releases/%VERSION%/sprites/%svgname%.svg') do echo %URL%/svgs/%svgname%/%%A.svg >> uri.txt
aria2c.exe -R --continue=true %loglev% --log=%filelog% --referer=* --conditional-get=true -i uri.txt -d "site-assets.fontawesome.com/releases/%VERSION%/svgs/%svgname%"
for %%I in ("%filelog%") do (
if %%~zI GTR 0 (
ECHO.
Echo ERROR downloads! Reload %svgname%...
CALL :Aria2cdownl %svgname%
) else (
IF Exist %filelog% (DEL %filelog%)
exit /b
)
)
:TimeCountBegin
set begin_HH=1%time:~0,2%
set /a begin_HH=%begin_HH%-100
set begin_MM=1%time:~3,2%
set /a begin_MM=%begin_MM%-100
set begin_SS=1%time:~6,2%
set /a begin_SS=%begin_SS%-100
goto :EOF
:TimeCountEnd
set end_HH=1%time:~0,2%
set /a end_HH=%end_HH%-100
set end_MM=1%time:~3,2%
set /a end_MM=%end_MM%-100
set end_SS=1%time:~6,2%
set /a end_SS=%end_SS%-100
set /a begin=(%begin_HH%*3600)+(%begin_MM%*60)+%begin_SS%
set /a end=(%end_HH%*3600)+(%end_MM%*60)+%end_SS%
set /a worktime=%end%-%begin%
set /a worktime_MM=%worktime%/60
set /a worktime_SS=%worktime%-%worktime_MM%*60
if %errorlevel%==0 echo. && echo Work times: %worktime_MM% min %worktime_SS% sec
goto :EOF