Coders Gonna Code, Haters Gonna Hate
Lately I've been talking a lot about making non-programmers happy, so here's something for the coders. B)
For Leadwerks3D documentation, I considered three possibilities:
-IPB-based docs
-Wiki
-Offline CHM files
Each has their own strengths and weaknesses, as always seems to be the case.
IPB
A bit slower, harder to organize, harder to edit, looks really good and consistent with the site, search requires quite a few clicks to get where you want to go, missing table of contents is a bummer for long pages.
Wiki
A target for spam, doesn't match the main website, user-written docs cause fragmention and a mix of official and unnofficlal information, nice table of contents, good searchability.
Offline CHM
Fast, doesn't require internet connection, easy to edit, Windows-only.
I dismissed offline docs simply because we wouldn't be able to post a link to refer people to a certain page. I decided on a wiki because of the better search functionality, table of contents, and ease of editing.
Here's what I have in mind for the docs. Because Leadwerks3D is written in C++, we're able to document members, constructors, operators, and other stuff we haven't had access to in the past. Best of all, almost everything works exactly the same in Lua, including function and operator overloading.
http://www.leadwerks.com/newwiki/index.php?title=Vec3
I'm also a big fan of the ease with which we can add internal links. For example, the Vec3 members in the AABB class documentation link straight to the Vec3 class page:
http://www.leadwerks.com/newwiki/index.php?title=AABB#Members
To avoid spam, and to make sure I can answer any questions about the contents of the wiki, it's going to be read-only. Community tutorials have been very useful in the past, and we're going to continue that going forward, either through a subforum or database for Leadwerks3D tutorials.
I think having one page per command and an example for every single command has been more redundant and time-consuming that we have needed. I want to list the syntax for each command only once, like this:
http://www.leadwerks.com/newwiki/index.php?title=Entity#SetPosition
Instead of making a lot of redundant examples (Do we really need a page of code for Entity::SetPosition() AND Entity::SetRotation()?) I hope to provide more comprehensive examples showing how to actually do something, and how the functions can be used together to do interesting things.
In general, I want to go into much more depth with the Leadwerks3D documentation, on all aspects of using the program, because I plan for this iteration of our technology to have a pretty long life. If you have any suggestions, just let me know.
13 Comments
Recommended Comments