Readable Source Code Documentation
for 21 Programming Languages
![]() | Natural Docs lets you document code written in any of 21 programming languages, plus it can be easily extended for more so whatever you use, it can too. And if your project uses multiple languages, no problem! It will all be included in the same set of documentation. |
Natural Docs also speaks your other language... English! Its comments are designed to be very natural and readable so they're just as usable in the source code as they are in the generated documentation. No weird syntax or tags scattered everywhere. | ![]() |
![]() | Natural Docs' generated documentation is pretty and powerful, with three independently scrolling panels, dynamic menus, search, and pop-up summaries when you hover over links. All its features work wherever you put it, be it a web server, a network share, or just opened from your hard drive. |
If you're new to Natural Docs be sure to read our Getting Started guide and we'll have you up and running in no time. If you've been using Natural Docs 1.5, check out our tour of What's New in 2.0! |
Updates for C# and SQL users. Everyone else is fine skipping this one. The C# parser had fallen out of date, so I went through the language specifications and updated it to support all the changes through C# 9.0. That means Natural Docs can properly handle:
Plus other smaller things. Most of these features already worked fine if they appeared in a function body but might have thrown things off if they appeared in a prototype. Now they'll work everywhere. I fixed a couple of bugs in the SQL parser as well. Next up are a couple of small features which aren't very exciting but are needed to lay the groundwork for SystemVerilog. Time to start a new round of development releases for 2.2. What do we have so far? Custom Home Pages Now you can use your own HTML file to serve as the home page instead of the default one. Just create an advanced style, add a HTML file to the style's folder, and add "Home Page: [file name]" to Style.txt. It will appear in the content area on the home page, highlighted below. The header and menu will still be there for people to navigate. ![]() You can also put these strings anywhere in the HTML and Natural Docs will replace them with the project information. This is useful if you wanted to add a build timestamp that updates automatically.
This feature isn't documented on the web site yet, but if you run the new version of Natural Docs you'll see it in the comments inside Style.txt. HTML Refresh I updated the default style of the generated documentation. The design and appearance are still fundamentally the same, so you might not even notice much unless you were looking at a before and after. However, there were lots and lots of little tweaks and cleanup that's more noticeable on higher resolution displays. Here's what's changed:
There's still some more tweaking to do, mostly the colors for prototypes and syntax highlighting, but the rest of it is done. |