Transitioning Clang's docs/ to Sphinx

Hello everyone,

As we finish converting LLVM's docs/ to Sphinx, transitioning Clang's
docs/ to Sphinx is now in the pipeline. It is my understanding that
this is something generally wanted by the community (if not, please
holler).

The conversion of LLVM's documentation to Sphinx has taken a long
time, but this conversion will be much faster, if only because my (and
others', I presume) techniques. The conversion of llvm/docs/tutorial/
I did in r169343 was singlehandedly 1.5x larger than all of Clang's
docs combined; the conversion took approximately 4 hours.

Daniel, IIRC you were the one that set up the Sphinx stuff for LLVM
and LLD. I know how to do all the Sphinx configuration, but I'm not
sure what exactly needs to be done on llvm.org's servers to get the
Sphinx docs to correctly regenerate on each checkin and be hosted on
llvm.org/docs, so I'm unsure how to get them to display on
clang.llvm.org/docs. Could you give me some pointers or set things up
for that? Thanks.

-- Sean Silva

Hello,

Here's a patch [1] that converts the following Clang documents to reST:
       docs/LanguageExtensions.rst
       docs/LibASTMatchers.rst
       docs/LibTooling.rst
       docs/PCHInternals.rst
       docs/ThreadSanitizer.rst
       docs/Tooling.rst

The patch is prepared by Mykhailo Pustovit, with review and minor edits by me.

Can not commit it yet, infrastructure is not ready.

[1] https://gist.github.com/4251468

Dmitri

Thanks. I have applied this on my local conversion branch.

btw, is anybody working on Passes.html and WritingAnLLVMPass.html?
Those are the last two in llvm!

-- Sean Silva

Yes, Anthony Mykhailenko should have those ready by tomorrow.

Dmitri

Ping.

Hi Sean,

I can take care of doing the setup on llvm.org to get the docs regenerated on commit.

Just ping me when the Clang config has landed and I’ll update the server.

  • Daniel

Initial sphinx setup should be done in r170042. It should build just
like the LLVM one did (just do `make -f Makefile.sphinx` and
everything should be in _build/html/).

-- Sean Silva

Ok, great. I’ll start on this shortly.

Ok, the switchover has been made and auto-updating is enabled. Please let me know if you see any issues.

Thanks for driving this!

  • Daniel