MakeCSL: A Proposal
The following is the introduction to a proposal document I just checked into the XBib SVN repository. Unfortunately, while I can do a lot on the design end, my Javascript skills aren’t good enough to achieve what I think we need, and I don’t have the time to acquire that level of skill. If someone out there has those skills and the interest to experiment, let me know, or post a note to the xbib dev list.
Anyway, the nutshell of the idea …
CSL is at the stage where the language is virtually stable, and has gone through enough refinement that it has achieved its objective of being a powerful, open and accessible language for encoding citation styling information. It has been implemented fully in Javascript, and there is another implementation in progress for Ruby. In addition, styles are being written and deployed in publicly accessible style repository that allows styles to be accessed directly over HTTP.
However, it remains difficult for the average user to create new styles. There remains a large gap between the number of styles there are and the number of styles there needs to be to be declared a success.
To rectify this situation, one obvious approach is to build a full-blown editing GUI, which allows a user to load existing styles modify them, etc. However, such a task is not straightforward. Citation styling can be quite complex, and CSL is designed to accommodate that complexity. While it is certainly possible to do such a GUI, it will take time to realize.
Rather than to take the next step for a fully implemented editor than can both read and write CSL styles, then, I propose instead a much simpler and more incremental enhancement that borrows from lessons of the past. Like the MakeBST utility that allowed BibTeX users to more easily create new citation styles by answering a series of questions, MakeCSL will make it much quicker for users to create new styles by focusing on writing new styles.
It seems to me such an approach is likely to have the most bang-for-buck in building the infrastructure that will allow the dramatic expansion of the number of freely available styles. Since it could be done using standard web technologies, it should open up the number of potential style contributors. In turn, the lessons learned from it can benefit more comprehensive editing GUIs.
Oh, I did start to put together a somewhat amateurish example of what I have in mind.
Creative Commons License