Well, the conj is just a few days away now, and in celebration of this auspicious event (and Clojure’s 2nd 3rd birthday) we’d like to announce that ClojureDocs is now in beta.
Many thanks to everyone who has contributed over the past few months. Content has been posted, feedback has been given, and the site’s come a long way since July.
For example, here’s what the homepage looked like on July 23rd:
And here’s the hompage as of today:
In addition to design changes, there have been some great features suggested and implemented since the alpha launch:
- Quick-ref based on Johannes Friestad’s work.
- OpenID based user accounts.
- API support.
- Code-only examples content.
- Examples style guide.
- See alsos.
- Var lookup through search autocomplete.
- Prettified urls: /clojure_core/clojure.core/map vs /v/1734
- Library versioning support (the UI’s a bit sparse for now).
A disorganized, but more complete listing can be found here and on the mailing list.
What does beta mean for ClojureDocs?
The ClojureDocs codebase has been open-sourced (licensed under the EPL 1.0). ClojureDocs consists of a few projects, and is hosted on github. Namely:
- The website
- The source code analyzer, which is responsible for importing library, namespace, and var data.
- The api backend.
We want ClojureDocs to become an integral part of the Clojure community, and need your help to do it. Any and all types of feedback are welcome. Pull requests are really appreciated. Just have a lightbulb moment with one of the core vars? Add an example. Now that the urls are much nicer, use links instead of plain old text wherever you’re discussing code.
Help us make ClojureDocs a great resource for Clojure.
What’s up next?
Search, and tagging. ClojureDocs’ search has come a long way since day one, but is still not where it should be. Tagging has been high on UserVoice for a while now, and I think the time is right to take a whack at it. I’m cautious about tagging, done properly it would be a great feature for the site. Well-implemented tagging could support discovery of Clojure concepts as well as related vars, and poorly-implemented tagging would just be a gigantic confusing mess. I’ll save that for another post, though.