[petsc-dev] PETSc goes Doxygen!?

Jed Brown jedbrown at mcs.anl.gov
Sat Jan 12 18:28:15 CST 2013


Can we also hide all the internal stuff?
On Jan 12, 2013 6:21 PM, "Barry Smith" <bsmith at mcs.anl.gov> wrote:

>
>   Not bad.
>
>   Any way to strip the ierr = and CHKERRQ(ierr); from all the html
> versions of the source code. I find it cluttering and ugly.
>
>    Barry
>
> On Jan 12, 2013, at 3:10 PM, Karl Rupp <rupp at mcs.anl.gov> wrote:
>
> > Dear PETScians,
> >
> > as indicated in a previous thread, I spent some time on investigating
> what Doxygen can do for us (thanks to Peter for some pointers). I set
> myself the constraint of not touching any existing sources in order to keep
> the generation of FORTRAN stubs intact.
> >
> > Actually, it turns out that even under this harsh constraints, Doxygen
> produces good results. Particularly the dynamic tree-view and the search
> feature are very nice. Have a look here:
> >  http://krupp.iue.tuwien.ac.at/petsc-doxygen/
> > To keep the effort for this evaluation reasonable, only the first two
> chapters of the user manual are currently migrated.
> >
> > The doxygen run is not integrated in any makefiles. One needs to run
> doxygen (version 1.8.0 or higher) from petsc-dev/doc by
> > $> doxygen ../src/docs/doxygen/Doxyfile
> >
> > Pros:
> >  - Three-way-linking:
> >
> >       Examples
> >       /       \
> > Man-Pages --  Manuals
> >
> >    I injected a minor test case linking an example with a man page and
> the developer manual:
> >
> http://krupp.iue.tuwien.ac.at/petsc-doxygen/docs_2doxygen_2examples_2ex1_8c-example.html
> >
> http://krupp.iue.tuwien.ac.at/petsc-doxygen/ex1_8h_a4204a07ed0f7e0571f0b2b934759b6b0.htm
> >
> http://krupp.iue.tuwien.ac.at/petsc-doxygen/dev-minimal-class-standards.html
> >
> >  - Everything in one place
> >  - Convenient browsing using Tree-View
> >  - Search feature at the top right (yes, it should be 10x larger...)
> >  - BibTeX support
> >  - Just needs simple filters for the existing sources
> >  - Examples, References and 'Referenced by' automatically provided. I
> think 'Referenced by' should be turned off, but I kept it for demonstration
> purposes.
> >
> >
> > Cons:
> >  - The manuals are converted partly by hand (see discussion below)
> >  - Size: The full output consumes 1GB. Some things can still be turned
> off, though.
> >  - Link names: The URLs for the man pages contain some hash rather than
> the function name. Former versions of Doxygen used to have the full
> function name in the URL, similar to what sowing produces.
> >  - Group examples: I haven't found a way to group examples, there's only
> the list of all examples
> >  - External Dependency rather than 'our own dependency'.
> >
> >
> > The most time consuming part was/is the migration of the manuals. This
> is partly a technical thing (Doxygen does not parse all LaTeX stuff, so
> this needs to be filtered), but also a semantic thing. For example, in a
> PDF you naturally refer to another Chapter by something like 'as we know
> from Chapter 1 ...', while in an HTML document it is preferable to have
> something like 'as we know from <a>the introductory discussion</a> ...'.
> >
> > Doxygen allows to have commands for switching between different output
> targets, so in principle it would be possible to transfer the current
> manuals to a markup-time format, which can then be used with doxygen as
> well as for dedicated standalone PDFs as we have it now. For that to happen
> it is essential to come to a conclusion on whether we want to use Doxygen
> in the future, or whether we want to stick with the current tools. Barry?
> ;-)
> >
> > Best regards,
> > Karli
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130112/68e6e152/attachment.html>


More information about the petsc-dev mailing list