Hey Mark, I don't know of any publicly available tools besides autodoc. My understanding is that Zack was keeping the source to clojuredocs closed, at least for now. While I assume his extraction code is in Clojure, the actual clojuredocs presentation code is a Ruby on Rails app [1]
Whether autodoc is the right basis for what you would like depends on exactly what you would like. The issue of running on Windows is a red herring. While it does have bugs on Windows, I don't think they'd be difficult to fix. They seem to mostly be of the form of not using path separators correctly and being disciplined enough about using java.io.File instead of just hacking up file name strings. A motivated user should be able to get it all working pretty quickly, I would think (patches very welcome!). It's on my list to do, but I haven't gotten to it yet. The real issue is whether you want information in comments, in "formatted docstrings" or in non-docstring metadata. Since docstrings are already metadata and I didn't want to mess with their usability in other contexts, I took the last approach. I don't think putting the info in comments (as naturaldocs does) would really be in the Clojure style. Having a tool that detected standard formatting in doc strings seems like the right way to go to me. The trick would be finding a format that wasn't ugly or confusing to people accessing docstrings another way (like from Slime or the REPL). Examples, on the other hand, might go better in a separate metadata field. Hmmm... All of this should be possible to build on top of autodoc fairly easily. Autodoc basically has four parts: - collect-info walks the source tree (by loading each file in turn) and returns a structure describing the public variable it found there, organized by namespace. - build-html generates a directory of html (and optionally a JSON index) based on this data. - The HTML templates, CSS files and images used to create the default format used on clojure.github.com/clojure. These are all replaceable as long as you keep the tags that the build-html code uses (assuming you want that information). - the rest of the goop deals with the nastiness of automating git interactions, creating doc trees that span branches, handling the fact that the program is written in Clojure and also used to document multiple, incompatible versions of Clojure, generate supporting docs written using markdown, etc. Two easy things to do would be: - Recognize additional metadata fields in collect info and use them in build-html (category markers, for instance), or - After collect-info, parse the docstrings themselves and add elements to the generated structures to represent docstring-embedded data. Then use that in build-html. Note that if you want to pull info from comments, autodoc probably isn't the right tool since it's driven completely from the compiled namespaces and metadata. I am happy to see people fork autodoc[2] and twist it to their own vision of what makes great documentation. This is a nice area in which to improve stuff. I'll happily integrate changes that fit the main mission of autodoc. Enjoy, Tom [1] http://groups.google.com/group/clojure/browse_thread/thread/a97d472679f2cade/53eec6db0ca0c82f?lnk=gst&q=clojuredocs+ruby#53eec6db0ca0c82f [2] Here it is: http://github.com/tomfaulhaber/autodoc -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en