Created
March 15, 2020 22:27
-
-
Save jeetsukumaran/f696c3146f230f550375269ec155aebc to your computer and use it in GitHub Desktop.
Modified Sphinx Makefile --- copies HTML documentation to project/docs folder to be deployed as a Github project static website
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Minimal makefile for Sphinx documentation | |
# Project organization assumed: | |
# | |
# project1/ | |
# docs/ | |
# src/ | |
# project1/ | |
# project1-docs/ | |
# build/ | |
# source/ | |
# Makefile | |
# You can set these variables from the command line, and also | |
# from the environment for the first two. | |
SPHINXOPTS ?= | |
SPHINXBUILD ?= sphinx-build | |
SOURCEDIR = source | |
BUILDDIR = build | |
# Put it first so that "make" without argument is like "make help". | |
help: | |
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | |
.PHONY: publish help Makefile | |
# Catch-all target: route all unknown targets to Sphinx using the new | |
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). | |
%: Makefile | |
@echo === Executing Sphinx build ... | |
@echo | |
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | |
@if [ "$@" = "html" ]; then \ | |
echo ;\ | |
echo === Copying files to deploy directory ... ;\ | |
echo ;\ | |
mkdir -p "../../docs"; \ | |
rsync -ap --progress --delete $(wildcard $(BUILDDIR)/html/*) "../../docs/"; \ | |
else \ | |
echo ;\ | |
echo "(Not copying not HTML target)"; \ | |
fi | |
publish: | |
git add source "../../docs" | |
git commit | |
git push |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment