Natural Docs is an extensible, multi-language, source code documentation generator written in Perl.
Version: 1.4Natural Docs is an extensible, multi-language, source code documentation generator written in Perl.
Operating System: Linux
Its syntax is transparent so the source comments read just as easily as the generated documentation. Natural Docs also focuses on automation and high-quality HTML output.
Keep in mind that if you use the development releases:
· It won't necessarily be as stable as a full release.
· There is no documentation for the new features beyond this page. Documenting Your Code and the Help folder won't be updated until a full release.
· Every new feature may not be complete. Make sure you read the notes on this page fully before using them.
· Only the default CSS style is valid. Since there will be a lot of changes I'm letting Small and Roman fall out of date and will recreate them before the full release.
· Likewise, if you made an elaborate custom CSS style it's probably broken, and will break again in future development releases.
What's New in This Release:
· Natural Docs 1.4 is finally, finally here. There are no surprises if you've been following the development releases, but let's go through the big new features for those who haven't.
· First we have search support. If you look at the documentation there's an inconspicuous little search entry at the bottom of the menu. If you start typing in there it will pull up results from the index as you type. What's nice about it is that it's all done in DHTML so there's no special software to install. You can just upload your output directory to a web server or open it from your hard drive and it will work. Also, you don't have to do anything at all to add it to your documentation. Just run the new version of Natural Docs and it will appear.
· Next is Javadoc compatibility. If you have full language support, Natural Docs will be able to read any existing Javadoc comments you've written and incorporate them into the output. The conversion can sometimes be imperfect but it's better than rewriting them all by hand. As a bonus, you can also write Natural Docs comments without the topic line by using the Javadoc comment symbols but otherwise using Natural Docs' formatting.
· We also have image support now. You can embed images in your documentation just by writing (see image.jpg) so it makes sense when you're reading it from the source code instead of looking like a HTML tag. You can tell Natural Docs where to look for images with the -img command line option.
· The ActionScript parser has been updated for ActionScript 3, and the C# parser has been updated to include some of the 2.0 language features. You can now document structs in C++ as a single entry and all its members will appear in a prototype. You can still use the old method of documenting each member individually if you want.
· As for minor tweaks, the Note and Notes keywords have been removed. These often caused Natural Docs to include comments that weren't meant for it in the output, so they're gone. You can add them back by editing Topics.txt if you need them. You can also add timestamps to the footer of your documentation by editing Menu.txt. There's now an -oft (--only-file-titles) command line option that tells Natural Docs not to guess at what the title of a file should be by its contents and to only use the file name. The CSS structure of the generated output has changed a bit so check the changelog if you've built your own custom style. There are too many bugs fixed to list.
· The web site got a few updates as well, including a walkthrough of the documentation syntax to help new people get started and a RSS feed of the news.
· For those of you who didn't see the news on the web site, this is probably the last major release using the current Perl codebase. Natural Docs has needed a big overhaul for quite some time now. I've had a number of features in the back of my mind that I just can't do under the current architecture. Ripping out the engine has always been planned but it's a big project and I wasn't always eager to work on it.
· However, I'm currently working on Natural Docs 2.0 which is just that. Since I would have needed to rebuild most of it anyway I'm taking the opportunity to switch languages, and I settled on C#. Perl is great for what it is but I don't think it's up to what I had planned, and after working on it for a few months I think I made the right choice.
· Natural Docs 2.0 will run with .NET on Windows and Mono on Linux and Mac OS X. It will always be cross-platform; if a feature of .NET doesn't work with Mono I won't use it. It will also incorporate SQLite which runs in all three places as well. I'm keeping things close to the vest for now but I'll start putting out code and development releases as it gets usable. I may start a developer blog talking about why I chose these things and the upcoming features if there's any interest. Let me know though, because I don't know if I'll bother if I'm just going to be talking to myself, not that that's ever stopped anyone from blogging before.
· So there you go. Shiny new 1.4 now, 2.0 in the works.