Re: Documentation Improvement Proposal
Chris White <[email protected]> Tue, 2 Aug 2011 12:57:26 -0700
| Newsgroups | gmane.comp.lang.ruby.documentation,gmane.comp.lang.ruby.general |
|---|---|
| Message-ID | <[email protected]> |
On Aug 2, 2011, at 11:54 AM, Eric Hodel wrote: > On Aug 2, 2011, at 9:36 AM, Chris White wrote: >> [=85] >>=20 >> So if a user wants to study Ruby's handling of numeric types, they = can easily narrow down on them. Those interested in systems program can = focus on the Operating Systems category. Finally, it helps when a user = who has no idea what class to look for by narrowing down the list of = choices. =46rom there the user can decide what class best suites their = needs, and compare it to other similar classes. >=20 > Your focus seems to be largely on the HTML documentation, but there's = also ri. Why don't we take your proposed front matter and check it into = ruby itself where both ri and any generated HTML can take advantage of = it? Well, I prefer doing it in markdown to avoid the clutter of tags, = converting to HTML using a tool of some sort. As for the layout part, I = wish I were more familiar with how the documentation is generated. I'd = like to improve on the overall style, but the best I can provide is a = sample template with HTML, CSS, and JS showing how I think it should = like. If someone can offer me guidance on how to integrate that into the = generation workflow that would be great. >=20 >> Next is the language issue. Ruby is a programming language with roots = in Japan. This means that a good amount of the core team speak Japanese = as their main language, and I've noticed the Japanese documentation [2] = to be a bit more thorough and better laid out. In fact there is already = a project underway to improve the Japanese documentation[3]. However my = fear is that the English documentation will become further out of sync.=20= >=20 > The documentation from the core standard library is written in = English, so I'm uncertain about what will become out of sync between the = two. I think you're writing the wrong mailing list though, you should = contact the rurema people to have your concerns addressed. The out of sync part is I don't see where there's an easy to spot place = on the documentation page that details the core syntax and details such = as field input separators, blocks, yield, etc. It's the core API classes = and the standard library, please a few links to books and what not, but = those can become out of date. Take for example: http://doc.ruby-lang.org/ja/1.9.2/doc/spec=3D2fcall.html This is Japanese documentation explaining a few things such as yield and = block arguments. >=20 >> As a final concern, both sets of documentation do not provide a way = for the addition of user comments. This is a core feature of the PHP = documentation that make it such a success. Users can point out weird = edge cases or useful examples of how to utilize something that is not = apparent by simply looking at the provided documentation. >=20 > Having user contributions only on a website seems like a waste of = community effort. User contributions should be aggressively curated to = fold documentation improvements back in to the source material and = remove bug reports and "how do I use this?" type questions. That's why I was suggestion moderation, it would help ensure that = questions more suitable for -talk or IRC would not leak in. My general = concern is that there would be interesting use cases which are not = applicable to the average user. However after careful consideration I = think these can be added as "articles" or put in a specific location for = advanced use materials. >=20 >> This are just a few issues with much more that I could go into. Now = with that all in mind I'd like to discuss a proposal for improving the = state of the documentation. >>=20 >> =3D Steps Towards Improvement =3D >>=20 >> So are the steps I would like to take in order to improve the overall = status: >>=20 >> * Find a hosting sponsor as an official documentation project will = most likely generate a reasonable amount of traffic which would be too = much of a financial burden for me to take on alone >=20 > James Britt is the current maintainer of ruby-doc.org, you can contact = him from his email address in the sidebar. Okay I will give James a shout out. >=20 >> * Establish a content management system / wiki which will allow for: >> * User comments >> * Multiple contributors ( content writers, translators, editors, = etc. ) >> * Multi-lingual support ( not just Japanese and English, but also = allow for translations in multiple languages ) >=20 > I suggest you get in touch with the rurema people before attempting to = build something they don't want and won't use. When I spoke to okkez at = RubyKaigi about combining efforts I got the idea that this is not one of = their goals and that they wouldn't want to use such a tool. It may have = been due to my lack of proper understanding though. I will have to get in touch with them then. Just need to find the proper = place to do so (some kind of chief contact that understands the project = direction as a whole).=20 >=20 >> * Revision support for rollbacks and ability to see revision history >> * Support for syntax highlighting >> * Ability to categorize / tag / adjust navigation >> * I'll start putting up documentation, the idea being that I would = like to have a good chunk of content up so everyone has something = tangible to see >> * Most likely I'll start by doing a port of the Ruby Koans [4] to a = more tutorial oriented format, as I like way the content is categorized >> * Continue my translation [5] of the Ruby Japanese documentation so = that there is a reference of some type for parts of the language which = are not classes >> * Once this is done I will put out a call for contributors including: >> * Content writers >> * Editors >> * Translators ( while not essential at this phase, it would be nice = to get it started early before the scale gets massive ) >> * Site administrators / moderators ( For helping to moderate = comments and make sure they're not spam or are off topic ) >> * Anyone to add comments to help improve the general documentation >=20 > My recommendation is to stop proposing, stop asking and start doing. I've already stated what I plan to do, it was more to get it out in the = open and get people starting to talk about it. Consider it more of "Hey = guys here's what I'm going to do" than a "What do you think about this?" = Though I'm already getting back great feedback. >=20 > I didn't ask if people wanted to contribute documentation to Ruby = 1.9.3, I challenged them and gave them easy guidelines for contributing. = Then I wrote a bunch of documentation myself. As I stated, work is already underway to translate the syntax portion of = the JP docs (in fact I was working on it not even 10 minutes ago). Also = I plan tonight/tomorrow to start putting the Koans into a tutorial style = format. Yes, I totally plan to write a bunch of documentation. >=20 > Through the challenge, documentation was increased from 54% to 65% and = most of that increase came from outside contributors. >=20 > See: = http://blog.segment7.net/2011/05/09/ruby-1-9-3-documentation-challenge >=20 > Similarly, rubygems.org was written by Nick Quaranto without asking = for permission. He simply did it and now we have an awesome site for = hosting gems. >=20 > I'd still like to avoid duplicated effort between rurema, any = improvements made to ruby-doc.org or a replacement of ruby-doc.org, it = may be easier to build by simply fulfilling the needs you see are unmet. As I mentioned I'll reach out to them (though I'll have to use formal = Japanese, so it will take same time to write up). Partly because I'm = curious of how the existing layout is built (static pages only, etc.).=20= >=20 >> * Look at getting a project setup in redmine for people to file = documentation bugs or any other issues that come up >=20 > It's easy! We don't need a new process for this! >=20 > You create a patch and attach it to a ticket in redmine in the DOC = category. You can even assign it to me for faster commit. All right. I'll try and work out a patch a week to start out, then = increase pace if it feels too slow. Mainly I want to get the content = that doesn't exist yet up. >=20 > You can also create a pull request on github but that may take longer = to be applied. >=20 >> I think this is enough to work with for now.=20 >=20 > Please, just do it, but if you add user comments please make it easy = to fold them back into the source and remove them from the website. If = I were a PHP committer and found myself encountering a page like this I = would be embarrassed at my failure to incorporate useful contributions = by users: http://www.php.net/manual/en/function.openssl-sign.php >=20 > (Fortunately I wrote OpenSSL documentation for Ruby that contains = examples similar to those provided in the user comments of the PHP site. = You can see it in Ruby 1.9.3-preview1 if you `ri OpenSSL`.) That I will. Expect to hear from me soon :) Best Regards, Chris White Twitter: http://www.twitter.com/cwgem=