Open samhatfield opened 4 months ago
Fully supportive of this idea!
I like the use of a readthedocs theme, which is in line with what we use elsewhere. Some of these documentations are made available directly on readthedocs.io, but we have also the option to use https://sites.ecmwf.int/docs, where for example Loki and Atlas documentation is hosted. I believe we have examples for both what the Github actions setup needs to look like to automatically update this.
Just two things I'd throw in to consider:
Turns out Ford supports arbitrary Markdown-based static sites. So I was able to add my own User Guide section! Pretty cool. Let's go with Ford then.
Docs now live at https://sites.ecmwf.int/docs/ectrans/.
That's super nice Sam, especially as the previous FORD documention is no longer auto-generated within ifs-source. The special API documentation is nice but would be cool if it could be autogenerated from in-code documentation of just the interface header files, which we can extend.
We may want to filter out the transi sources from this FORD documentation. It has its own doxygen (see https://github.com/ecmwf-ifs/ectrans/blob/main/src/transi/transi.h) Could you also add support to generate the doxygen for transi and add it to the domain, e.g. https://sites.ecmwf.int/docs/ectrans/transi and put a link in the FORD documentation?
We could certainly find a way to automatically extract the docblock from each of the header files and stitch them together. I'll add that to the TODO list.
And adding a separate build step for the transi Doxygen, good idea :)
ecTrans currently has no documentation beyond the relevant chapter of the IFS documentation. An open-source project ought to have at least instructions for building and running the code and a documentation of the API (in this case the routines in
src/trans/external
.I propose to use mkdocs to build a basic documentation site using Markdown. This will use the Readthedocs theme as that's what everyone is used to, but there are other themes available.
mkdocs allows you to build a static site with minimal overhead. Just a
mkdocs.yml
file and some markdown files. I like it because all of the static site plumbing can be kept out of the main ecTrans repository. For now someone could build the documentation locally and upload it to a sites.ecmwf.int, but in future we could find a way to do this automatically with a Github action.I suggest sections of
See samhatfield/docs for an idea of how this looks.
And the site itself:
Any thoughts @wdeconinck @marsdeno @ioanhadade @reuterbal?