tomaz / appledoc

Objective-c code Apple style documentation set generator.
http://gentlebytes.com
4.2k stars 644 forks source link

Custom pages such as "guides" are not listed in the Xcode sidebar #188

Open bengotow opened 12 years ago

bengotow commented 12 years ago

I'm using AppleDoc to document an iOS SDK. The SDK includes an integration guide that explains how to tie it into an existing app as well as all your traditional class-level documentation. In most of Apple's documentation sets integration guides, summary pages, etc.. are listed in the Organizer's sidebar along with the classes. For example, this screenshot shows part of the iOS 5.0 Library:

http://dl.dropbox.com/u/4803975/xcode%20sidebar%20with%20guides.png

I'd really like to do that, since it's hard to navigate to custom guide pages if they're just linked to from the index page. I've used the --include and --index-desc options to get custom pages and a custom index page, so this sidebar is really my last issue!

If this isn't possible yet, I'd love to know what files need to be hacked or edited to get things into that sidebar. I'd also love to contribute back to the AppleDoc project if it's possible for me to add this feature.

tomaz commented 12 years ago

This is partially implemented by Amy - see #85. It's been some time so I don't remember exactly the state - the code is repeating some existing functionality, so it might need some cleanup (that's the reason I didn't include it straight away at that point as far as I remember). Once you have the structure in memory, you can create docset Tokens/Nodes .xml files from it. This is how you get a structure into Xcode. In appledoc this is handled by passing generated in-memory representation to a template file, should be similar to how classes documentation is handled, so you can probably reuse much of the code, but probably would require another template file as the in-memory representation is different.

bengotow commented 12 years ago

Thanks so much for the speedy reply. I'll take a look at #85 - it sounds like that'll do the trick, and if not I can edit Tokens/Nodes.xml!