Permalink
Cannot retrieve contributors at this time
204 lines (176 sloc)
5.26 KB
@ECHO OFF | |
REM Command file for Sphinx documentation | |
setlocal | |
pushd %~dp0 | |
if "%PYTHON%" == "" ( | |
set PYTHON=py -3 | |
) | |
set BUILDDIR=_build | |
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . | |
if NOT "%PAPER%" == "" ( | |
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% | |
) | |
if "%1" == "check" goto check | |
if "%1" == "serve" goto serve | |
if "%1" == "" goto help | |
if "%1" == "help" ( | |
:help | |
echo.Please use `make ^<target^>` where ^<target^> is one of | |
echo. html to make standalone HTML files | |
echo. dirhtml to make HTML files named index.html in directories | |
echo. singlehtml to make a single large HTML file | |
echo. pickle to make pickle files | |
echo. json to make JSON files | |
echo. htmlhelp to make HTML files and a HTML help project | |
echo. qthelp to make HTML files and a qthelp project | |
echo. devhelp to make HTML files and a Devhelp project | |
echo. epub to make an epub | |
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter | |
echo. text to make text files | |
echo. man to make manual pages | |
echo. changes to make an overview over all changed/added/deprecated items | |
echo. linkcheck to check all external links for integrity | |
echo. doctest to run all doctests embedded in the documentation if enabled | |
echo. check to check for stylistic and formal issues using rstlint | |
echo. serve to serve devguide on the localhost ^(8000^) | |
goto end | |
) | |
if "%1" == "clean" ( | |
for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i | |
del /q /s %BUILDDIR%\* | |
goto end | |
) | |
rem Targets other than "clean", "check", "serve", "help", or "" need the | |
rem Sphinx build command, which the user may define via SPHINXBUILD. | |
if not defined SPHINXBUILD ( | |
rem If it is not defined, we build in a virtual environment | |
if not exist venv ( | |
echo. Setting up the virtual environment | |
%PYTHON% -m venv venv | |
echo. Installing requirements | |
venv\Scripts\python -m pip install -r requirements.txt | |
) | |
set PYTHON=venv\Scripts\python | |
set SPHINXBUILD=venv\Scripts\sphinx-build | |
) | |
if "%1" == "html" ( | |
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The HTML pages are in %BUILDDIR%/html. | |
goto end | |
) | |
if "%1" == "dirhtml" ( | |
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. | |
goto end | |
) | |
if "%1" == "singlehtml" ( | |
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. | |
goto end | |
) | |
if "%1" == "pickle" ( | |
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; now you can process the pickle files. | |
goto end | |
) | |
if "%1" == "json" ( | |
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; now you can process the JSON files. | |
goto end | |
) | |
if "%1" == "htmlhelp" ( | |
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; now you can run HTML Help Workshop with the ^ | |
.hhp project file in %BUILDDIR%/htmlhelp. | |
goto end | |
) | |
if "%1" == "qthelp" ( | |
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; now you can run "qcollectiongenerator" with the ^ | |
.qhcp project file in %BUILDDIR%/qthelp, like this: | |
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\PythonDevelopersGuide.qhcp | |
echo.To view the help file: | |
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\PythonDevelopersGuide.ghc | |
goto end | |
) | |
if "%1" == "devhelp" ( | |
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. | |
goto end | |
) | |
if "%1" == "epub" ( | |
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The epub file is in %BUILDDIR%/epub. | |
goto end | |
) | |
if "%1" == "latex" ( | |
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. | |
goto end | |
) | |
if "%1" == "text" ( | |
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The text files are in %BUILDDIR%/text. | |
goto end | |
) | |
if "%1" == "man" ( | |
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Build finished. The manual pages are in %BUILDDIR%/man. | |
goto end | |
) | |
if "%1" == "changes" ( | |
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.The overview file is in %BUILDDIR%/changes. | |
goto end | |
) | |
if "%1" == "linkcheck" ( | |
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Link check complete; look for any errors in the above output ^ | |
or in %BUILDDIR%/linkcheck/output.txt. | |
goto end | |
) | |
if "%1" == "doctest" ( | |
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest | |
if errorlevel 1 exit /b 1 | |
echo. | |
echo.Testing of doctests in the sources finished, look at the ^ | |
results in %BUILDDIR%/doctest/output.txt. | |
goto end | |
) | |
:check | |
cmd /C %PYTHON% tools\rstlint.py -i tools -i venv | |
goto end | |
:serve | |
cmd /C %PYTHON% tools\serve.py %BUILDDIR%\html | |
goto end | |
:end | |
popd | |
endlocal |