You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are a couple ways to generate Sphinx docs and push them onto a gh-pages branch. RTD has an advantage in being able track documentation for multiple branches, which I haven't seen recreated in any gh-pages implementation I've come across.
I think that it could be possible that two sets of docs could be maintained, but it would require a bit of clever template writing in Sphinx that I haven't looked into. My idea would be to have the master and develop branches build to two sub directories (e.g. repo/stable and repo/latest, similar to RTD) have a link on each page that would send you to the opposing docs. So each link would replace the 'stable' or 'latest' to the opposing one. For example, the page pycalphad.github.io/latest/api/modules.html would contain a link to pycalphad.github.io/stable/api/modules.html.
Again, I'm not sure if it's possible, but I think it is a good starting point if we want to try and publish multiple versions of the docs on gh-pages.
We could easily change the rm command to only delete files in a subdirectory of the current branch or tag (given by git describe). We'd check out the repo at the current commit, build the docs, copy the build artifact to a temporary directory, git reset --hard, checkout gh-pages branch, remove all the files in the corresponding docs subdirectory, then copy the build products there. After that it would look pretty much the same as the given script.
I definitely think the approach to credential management should be to create a machine GitHub account and generate a key pair for it. It's possible to configure that account to only have push access to the gh-pages branch of this repo.