doxygen redux

Hi, I'm working on a patch to overhaul docs+doxygen builds for both llvm and clang source trees.

Here's a sample of what it looks like for class clang::driver::Action (sorry, llvm API docs are a bigger set so only clang has been posted at this free webhost). Basically the output is a bump to latest doxygen plus custom css; the wins (IMHO) are the new style doesn't waste so much vertical page space, and uses slightly smaller fonts for both diagrams and html.

NEW: http://kona.zzl.org/clang/api/classclang_1_1driver_1_1Action.html
OLD: http://clang.llvm.org/doxygen/classclang_1_1driver_1_1Action.html

class with more inheritance: http://kona.zzl.org/clang/api/classclang_1_1Decl.html
class with a rather large collaboration diagram: http://kona.zzl.org/clang/api/classclang_1_1ASTContext.html

I'm not sure how the project/community feels about collab-diagrams. I find them exceedingly large and rarely useful. There are a couple of options if changes in that area are desired: (1) disable collab-diagrams. (2) make both class-inheritance and collab-diagrams hidden under a javascript-knob which users can click to expand each diagram.

Comments and suggestions are solicited!

(patches for this are being tracked with pr6613).

--mike-m

I think this looks *much* nicer, and I also agree that the collab diagram is useless. I'd be in favor of #1, but I do find the inheritance diagram to be useful. We'll need to upgrade doxygen on the server to install this, but I think it would be a great improvement!

-Chris

Yes, I think the inheritance diagram should stay. But it looks great!

-Tanya

Hello everybody,

I agree not only that it looks nicer but it is much more readable in the parts where there is a background block since it separates the blocks from one another.

--Sam

From: Chris Lattner <clattner@apple.com>
To: mike-m <mikem.llvm@gmail.com>
Cc: Tanya Lattner <tonic@nondot.org>; "LLVMdev@cs.uiuc.edu Mailing List" <llvmdev@cs.uiuc.edu>
Sent: Fri, April 30, 2010 10:55:25 AM
Subject: Re: [LLVMdev] doxygen redux

Hi, I'm working on a
patch to overhaul docs+doxygen builds for both llvm and clang source
trees.

Here's a sample of what it looks like for class
clang::driver::Action (sorry, llvm API docs are a bigger set so only clang has
been posted at this free webhost). Basically the output is a bump to latest
doxygen plus custom css; the wins (IMHO) are the new style doesn't waste so much
vertical page space, and uses slightly smaller fonts for both diagrams and
html.

NEW:
http://kona.zzl.org/clang/api/classclang_1_1driver_1_1Action.html
OLD:
http://clang.llvm.org/doxygen/classclang_1_1driver_1_1Action.html

class with more inheritance:
http://kona.zzl.org/clang/api/classclang_1_1Decl.html
class with a
rather large collaboration diagram:
http://kona.zzl.org/clang/api/classclang_1_1ASTContext.html

I'm
not sure how the project/community feels about collab-diagrams. I find them
exceedingly large and rarely useful. There are a couple of options if changes in
that area are desired: (1) disable collab-diagrams. (2) make both
class-inheritance and collab-diagrams hidden under a javascript-knob which users
can click to expand each diagram.

I think this looks *much* nicer, and I

also agree that the collab diagram is useless. I'd be in favor of #1, but
I do find the inheritance diagram to be useful. We'll need to upgrade
doxygen on the server to install this, but I think it would be a great
improvement!

-Chris

May I suggest (3) move them to the bottom of the page.

Trevor

Hum, I quite like them at the top. Though the collab graph is not the
most useful, we could let them closed by default but still keep it,
just in case.

cheers,
--renato

http://systemcall.org/

Reclaim your digital rights, eliminate DRM, learn more at
http://www.defectivebydesign.org/what_is_drm

Excellent work, this greatly improves the clarity of the generated docs.

I would love it if the inheritance diagrams were kept as they are and
the collaboration diagrams were hidden under a knob.

Thanks,
John

Unfortunately Doxygen (latest vers) doesn't have per-diagram javascript-knob options.

--mike-m