Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Mar 8, 2012
  1. Updated build number to 789.

Commits on Mar 7, 2012
Commits on Feb 28, 2012
  1. Parsing for objc shortcuts is not less strict. Closes #194.

    The problem was in appledoc expecting to have either both or neither of variable name and type keywords for a method argument. So this would pass `-(void)method:`, but this not `-(void)method:var`. The fix is simple: just assume the argument is `id`. So later example would transform internally to `-(void)method:(id)var`. Which is probably what Objective C compiler does too.
    Have no idea why I didn't think of this before, it's much less restricting (although probably not the recommended way of doing things in ObjC, but that's whole other topic I guess :)
Commits on Feb 25, 2012
  1. Self references don't form links. Closes #190.

    This covers the following cases:
    - Cross reference to "current" class, category or protocol.
    - Cross reference to "current" method or property.
Commits on Feb 23, 2012
  1. When merging categories to classes, their comment is also merged. Add…

    …resses #117.
    This is on by default, but can be controlled through `--merge-category-comment` cmd line switch.
  2. Updated build number to 764.

Commits on Feb 21, 2012
  1. Added better support for iPad, thanks to @JoeWard. Closes #119.

    I'm closing the ticket, but feel free to reopen or comment in case this doesn't fix everything!
Commits on Dec 30, 2011
  1. Updated build number to 752.

Commits on Dec 24, 2011
  1. Cleaned up HeaderDoc parsing code and made it optional. References #95

    …and #163.
    As comment preprocessing method in `GBTokenizer` became quite large, I divided it into separate methods by taking out header doc preprocessing. Also made header doc preprocessing optional and disabled by default (except the bare minimum covered by #95). To enable it, use `--preprocess-headerdoc` command line switch. The reason for opting it out by default is amount of preprocessing that could break things for existing appledoc users. Probably just me being paranoid, but better safe than sorry :)
Commits on Dec 19, 2011
  1. Fixed category cross references formatting. Closes #160.

    The problem was in Discount parsing URL with parenthesis `[text](path/with(parenthesis).html)` as `<a href="path/with(parenthesis">text</a>.html)`. Not sure if this is Markdown rule of how paths with parenthesis are handled, but the simplest solution was to convert category paths to not use parenthesis.
    **IMPORTANT:** From here on, category paths are constructed with a plus sign: `class+category`. Previously they were using format `class(category)`. Although this should be simply upgraded by running appledoc, it may break external links. Something to keep in mind...
Commits on Dec 15, 2011
  1. Increased build number to 743.

  2. Updated build number to 741.

Commits on Dec 8, 2011
  1. Fixed usage of single star as bold marker (kind of). Closes #154.

    The problem with star delimited unordered lists was in appledoc comment preprocessor which consumed single star and replaced them with double star markers so that text would be emitted in bold. That's actually a feature of appledoc which allows single stars be used for bold markers, but may break compatibility with Markdown as the result. As there's no reliable way of determining whether the user wants to have star delimited, I decided to go the route I had in my mind for some time now: introduce another command line switch that would prevent handling single stars. It's on/off solution, so not the best one, but everyone can choose at least... Also updated [online documentation]( with example of using the new switch.
    **Important:** As of this version on, single star handling is **off** by default! This may break backwards compatibility with some folks, but I feel it's better to keep as Markdown compatible for new people as possible...
Commits on Jun 27, 2011
  1. Fixed method merging for cases when instance method is merged on a cl…

    …ass method. Closes #90.
    This was working when instance method was registered first and class method with the same name was merged on it later on. But it didn't handle the other ordering. Hopefully this will allow handling all cases. Note that there might still be cases when merging properties and class methods - keep in mind if the issue get's re-opened.
    Also updated build number to 703.
Commits on Jun 9, 2011
  1. Addressing `&` and `&token;` issues when indexing documentation set, …

    …partially easing #107.
    Note: unfortunately it wasn't possible to continue indexing remaining files after encountering an error - docsetutil takes path to docset bundle, not individual files. So all symbols in the offending file AND all symbols in subsequent files will not be indexed.
    Also note that appledoc will log a warning and hence exit with code 1 in case it gets these errors! You'll probably want to use `--exit-threshold 2` or more if you're running from Xcode build script.
    For the moment, the only "workaround" is to stay clear of using these symbols in your own documentation. If you're using third party libraries or frameworks containing these symbols and only running them through appledoc to get similar looking docs encountering issues, you can only pass it through `--create-html` phase. If you want to have it integrated in Xcode, then go ahead and experiment to see how much of it is usable...
Commits on May 26, 2011
  1. Fixed Xcode integration warnings and errors full paths handling. Fixes

    To allow Xcode properly open the file after selecting the warning in build list, it requires full path to it in the output, so I had to add full path to GBSourceInfo and use that when generating Xcode compatible log.
    Note that I had appledoc crashed inside `[GBLog logFormatterForLogFormat]` when using standard log formats. The problem was with sending the given format instance `lowercaseString` however in case numerical value was used, the actual instance was `NSNumber`. To compensate, additional check was added to make sure the instance is indeed a `NSString`. Strange no one reported this as I didn't touch this code since last pushing to GitHub (or everyone was hardly waiting for Xcode compatibility and are now using that mode :).
    Also added `xcode` log format option to help output and increased build number to 701.
Commits on May 11, 2011
  1. Released version 2.0.4, build 698.

  2. Added basic support for headerdoc comments. Closes #95.

    Note that this only adds support for headerdoc style comments (`/*! */`) and `@result` for return value. The tool could be further improved by ignoring unsupported headerdoc tags (like `@abstract`, `@class`, `@method` and similar), but I don't have time for that right now. Will close the issue for now as headerdoc comments can be extracted, and if there will be a lot of demand for this feature in the future, either this issue can be reopened or a new one created.
    Also increased build number to 697.
Commits on May 10, 2011
  1. Fixed methods being reported in several sections after merging catego…

    …ries into classes.
    Although model objects properly merged sections from categories, resulting in empty sections if there were no methods in there, HTML generator rendered existing methods in these sections as if they were actually registered. Although this might require further investigation to really fix the issue (i.e. why output generator doesn't render empty section, why it adds methods to it?), current solution simply removes all empty sections after merging.
    Also updated build number to 694.
  2. Fixed handling method and properties declarations using different ret…

    …urn values. Closes #103.
    If method or property return value is different, the method is considered valid now, instead of asserting as before. In such case, the first occurrence is used (usually this would be the header file implementation).
    Also updated build number to 693.
  3. Refined exit codes handling. Closes #102.

    This commit concentrates on two related issues:
    - It adds a new command line switch `--exit-threshold` which allows users specify the threshold value (numeric) which is used to filter out tool exit codes: if reported exit code is below the threshold value, tool simply returns 0.
    - Restructures exit codes values to have higher value representing more severe condition. This plays nicer with previous point. Currently warning has value 1, error 2, fatal 3 (although fatal is not used currently in the tool).
    Note that it's not possible to suppress crashes, regardless of whether the threshold is set above the value (250 currently)!
    Also updated build number to 692.
Commits on May 3, 2011
  1. Implemented exit values different from 0 in case a warning, error or …

    …fatal message is logged. Closes #100.
    Exit values are:
    - 501 for warning
    - 502 for error (this would usually result in exception with exit code 1 anyway).
    - 503 for fatal (not used in appledoc at this point, but anyway)
    This also updates build number to 687.
Commits on Apr 25, 2011
  1. Increased build number to 684.

Commits on Mar 24, 2011
  1. Updated build number to 668.

  2. Increased build number to 666 (perhaps a bit controversial in some pe…

    …ople eyes, but hopefully it would work properly anyway :)
Commits on Mar 16, 2011
  1. Increased build number to 664.

Commits on Mar 3, 2011
  1. Increased build number to 659.

  2. Increased build number to 657.

  3. Increased build number to 653.

Commits on Mar 2, 2011
  1. Increased build number to 651.

Commits on Feb 27, 2011
  1. Updated build number to 635.

Commits on Feb 24, 2011
  1. Updated version to 2.0.3, build 632. Closes #41. Closes #66.

    This took quite a bit longer than estimated, but was worth it as now full Markdown syntax is supported (with extensions). Instead of doing internal parsing of source code, I embedded [Discount]( for this. Check the documentation to see all options it supports!
    Documentation is now 100% Markdown compatible, although several appledoc features are preserved and change default Markdown syntax:
    - Single star is converted to strong tag instead of em as in Markdown. You can also use Markdown default double star or double underscore for the same effect!
    - Single star and underscore markers are still converted to strong/em combination. Markdown would otherwise convert these to strong only.
    - Cross references are handled the same way as before.
    - You can now use cross references to documented objects with arbitrary descriptions (#41) using Markdown inline links like this: `[description](Class)` or `[description]([Class method:] "title"). If the address is recognized as documented object, this will be converted to proper link using description as the text! This works for classes, categories, protocols, methods and static documents!
    - You can also use the same for Markdown ref links, so this: `[description][1]` followed by: `[1]: Class` or `[1]: [Class method:] "title"` is properly converted to link to object, method or static document.
    Generally the documentation should be backwards compatible, so most users won't notice a difference, but there are a couple of points that are handled differently now with Discount, so some may experience different layout in the generated HTML files. You should now follow [Markdown syntax]( Perhaps most noticeable: example blocks following list item are now treated as continuation of list item, whereas before they were converted to example blocks. Hopefully these changes are for the best and definitely more in-spec with Markdown... If you experience some strange behavior, open a new issue or comment on this one...
    *IMPORTANT:* Don't forget to update template files!
    *NOTE:* Actually this commit only updates version, the actual solution was implemented on a temporary branch, merged to development at b7b92f8. The actual implementation starts at 1ad2f9d and ends with 226b767. GitHub still doesn't support linking commits to issues beyond closing... Not too elegant, but this was far too large to be handled by a single commit!
Commits on Feb 11, 2011
Commits on Feb 4, 2011
  1. Updated build number to 564.

Something went wrong with that request. Please try again.