Thanks for the update, Aaron. Regarding the R docs, one suggestion I have is to use pkgdown package ( https://pkgdown.r-lib.org/index.html) to automatically generated the documentation pages (tutorials, API reference, etc.). I've seen huge adoption of this package being used for documentations in the R community.
On Thu, Aug 29, 2019 at 8:26 PM Aaron Markham <aaron.s.mark...@gmail.com> wrote: > Hi everyone, > > I'm very excited to share a preview and the pull requests for a new > website and new documentation pipelines. > > The following link is using Apache's new staging site setup. It is > built from the new docs publishing pipelines in CI where a Jekyll > website is built, and documentation artifacts from Clojure, CPP, Java, > Julia, Python, R, and Scala are combined into one website. > > https://mxnet-beta.staged.apache.org > > It is the culmination of a lot of effort of several MXNet contributors. > > * A huge shout out goes to Thomas Delteil for the work on the new > Jekyll-backend and beautiful-looking website, and for helping me out > whenever I'd get stuck on revamping the 7 different API docs systems > in CI. > * Soji Adeshina and Vishaal Kapoor both helping me with the system > design for the new docs pipelines. > * Per Goncalves da Silva and Marco de Abreu both helped me with > figuring out CI issues. > * We also ported over Mu Li's beta site for the Python & R APIs which > had many contributors there. Thanks goes to Mu, Ivy Bazan, Jonas > Mueller, Aston Zhang, and Zhi Zhang for their help & contributions. I > apologize in advance if I missed anyone. > > Highlights: > > * R docs are now generated as part of CI. There were issues with R > docs coming from beta repo. They were not reproducible. So I began the > process of creating the pdf doc that is expected by R users as an > alternative. Thomas fixed a CPP bug that was blocking 90% of the docs > from appearing. The R docs are 10x in length compared to the pdf we're > hosting now! > > * Each other API is built in a micro-site fashion. You will notice > that the reference API links will open up the site that is generated > by that language's docs tools. We tried to keep the navigation common > and do this for the Python API. This is something that can be expanded > on for the other APIs in later updates to the website. > > * Each doc set can be generated separately with functions that will > run in Docker and generate the docs artifacts. This means you can now > focus on your preferred API and not have to deal with anything else. > > * Website changes are now much easier. You can serve Jekyll locally, > and have it do incremental updates, so you can see your changes live > without having to build MXNet or anything else. It's a pure front-end > setup. > > * For website publishing, the MXNet binary is built once and then > shared with the other docs generation pipelines. > > * For individual docs runs, you can run a "lite" binary build, then > follow it up with the docs run you want. > > --- > > For example to build MXNet: > > ci/build.py --docker-registry mxnetcidev --platform ubuntu_cpu_lite > /work/runtime_functions.sh build_ubuntu_cpu_docs > > Then to build the R docs: > > ci/build.py --docker-registry mxnetcidev --platform ubuntu_cpu_r > /work/runtime_functions.sh build_r_docs > > There is now a Docker image and a runtime_function for each API > (except Perl which is built offsite). Python is like this: > > ci/build.py --docker-registry mxnetcidev --platform ubuntu_cpu_python > /work/runtime_functions.sh build_python_docs > > The pattern for platform is ubuntu_cpu_{api} and runtime_functions.sh > is build_{api}_docs. > > Further information is on the developer wiki: > https://cwiki.apache.org/confluence/display/MXNET/Building+the+New+Website > ---- > > Ok, now this is where YOU come in. We need reviewers and testers. > > There are a lot of changes. My original PR was over 1,000 files with > 83k additions and 55k deletions. So, Thomas broke this up into three > pull requests that stack. > > Step 1 New Content https://github.com/apache/incubator-mxnet/pull/15884 > Step 2 Remove Old Content > https://github.com/apache/incubator-mxnet/pull/15885 > Step 3 Setup New Jenkins > https://github.com/apache/incubator-mxnet/pull/15886 > > For reviewing purposes, start with the new content - what's easily > visible on the preview website. This is mostly happening in the first > PR: > https://github.com/apache/incubator-mxnet/pull/15884 > You can also look at these helper PRs that show you the differences so > it is easier to review what's happening in Steps 2 and 3. You can > review these now as well. > Step 1->2: https://github.com/ThomasDelteil/incubator-mxnet/pull/5 > Step 2->3: https://github.com/ThomasDelteil/incubator-mxnet/pull/6 > > I really appreciate everyone's support on this effort. > > Cheers, > Aaron >