I wasn't planning on putting out another small release like this, but I finally fixed what could be a big quality of life issue for some people so I didn't want to sit on it. And that issue is wide elements screwing up the whole page layout, making you scroll back and forth to read everything.
Long prototypes are the most common offender, made worse by the new formatting in 1.3, so now they'll have their own scroll bar if they're too long rather than making the whole page scroll. Also, parts of it will never wrap anymore, so you'll never have a return type, function name, and opening parenthesis all appearing on separate lines. This works on Mozilla, Opera 7+, and thanks to some JavaScript hacking, IE 5+.
Wide text diagrams and example code will scroll this way too, which previously worked for Mozilla and Opera 7+ but now works for IE 5+ as well. The same goes for long URLs wrapping, which didn't work in IE before due to a browser bug.
In feature news, any definition list members appearing in enum topics will be indexed under constants, so if you define an enum Days with Monday, Tuesday, Wednesday as members, Days will still appear under Types but the others will now appear under Constants.
Because they're handled differently by different languages, it's governed by a setting in Languages.txt. They can appear under the type ("package.Days.Monday" for C#, Java, Visual Basic, and JavaScript) under the parent ("package.Monday" for Ruby) or be global (just "Monday" for everything else.) I'm not 100% certain on those language settings so e-mail me if I got any wrong.
In bug fix news, text files will now inherit the package separator and index prefix settings from the most used language correctly if you didn't set it manually. Also fixed a situation where putting generic topics in between two topics of the same type could cause two separate headings for that type.
In "I wasn't lying when I said I wasn't planning on putting out a release yet" news, the file layout of the output has been changed around. I needed to do this to allow a feature that, um, isn't done yet.
What this means to you is that you should empty your output directories before upgrading. The new version will not delete the files under the old layout, so you'll have an orphaned copy of the documentation lying around if you don't. This is for the best anyway because a number of purging bugs have been fixed and you may already have a few orphaned files. Bugs like files not being deleted if you remove an input directory from the command line, files not being deleted if you switch to using --documented-only, or empty output directories not being removed.
The other thing this means is that external links to specific pages in the documentation need to be updated. If your web site links to a specific function or class instead of just the documentation in general, those links all need to be redone. Sorry, but this was necessary, it's just a little ahead of schedule.
Earlier | Later | |||||
Natural Docs 1.31 released | Natural Docs 1.33 released |