Commits on Feb 24, 2011
  1. Merge branch 'development'

    committed Feb 24, 2011
  2. 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!
    committed Feb 24, 2011
  3. Improved copied documentation handling for methods from super classes…

    … and adopted protocols. Closes #70.
    The documentation is now properly processed only in the original context with slightly different behavior when creating cross references to local members; these are now generated so that they can be reused from any other object as well!
    committed Feb 24, 2011
Commits on Feb 23, 2011
  1. Cleaned up the code for related items processing.

    There was a remaining code, probably from copy/paste. Didn't hurt much (just required some more processor time due to repeated if), but had no place to be there... :)
    committed Feb 23, 2011
  2. Updated remote member links preprocessing in case unknown object is f…

    We also mark the range to avoid further preprocessing!
    committed Feb 23, 2011
  3. Fixed a bug with `--explicit-crossref` setting being incorrectly assi…

    …gned from global templates.
    The problem was in case global templates included the setting and had it's value set to NO. In such case setExplicitCrossref was sent with proper value, but this method always set matching cross reference markers template to "on", regardless of the value passed. This is properly handled now. Strangely nobody noticed this... Note that command line switches were correctly handled, it was just global templates that were invalid.
    committed Feb 23, 2011
  4. Fixed classes, categories and protocols long descriptions processing.

    These should include the whole text for long description regardless of repeat first paragraph setting!
    committed Feb 23, 2011
  5. Implemented custom anchor tags stripping when preparing description f…

    …or documentation set.
    Without this, some anchors cause errors with docsetutil while indexing!
    committed Feb 23, 2011
  6. Fixed embedded cross referenced prefix/suffix cleanup when converting…

    … Markdown to text.
    committed Feb 23, 2011
  7. Fixed code blocks auto generated links handling.

    If appledoc creates a cross reference link in a text that's later on converted to code block by Markdown processor, all such links are cleaned up when creating HTML value. This is required as Markdown processor doesn't process links inside these blocks.
    Note that this is not the most elegant solution: first we process the text and convert to links, then we process generated HTML again and remove inserted links. Ideally, this situation should be detected while processing string and prevent creating links there in the first place. However we would require reimplementing detection of code blocks there, so at least for now, this should be good enough - as code blocks are not that common this should not affect performance too much...
    committed Feb 23, 2011
Commits on Feb 22, 2011
  1. Fixed (think so :) copied method documentation filename.

    When inherited documentation is copied to a method, source information includes both filenames, original and inherited. Previously it sometimes happened that the same name was repeated. This should not happen now anymore.
    Note that I have no idea why this was happening - it sometimes did it, sometimes not... Probably due to order of processing since we use NSSet for storing objects to GBStore.
    committed Feb 22, 2011
  2. Fixed document links detection.

    To allow detecting documents properly, `[GBStore documentWithName:]` now accepts either name with or without `-template` prefix. Using both options within GBStore speeds up checking during processing.
    committed Feb 22, 2011
  3. Fixed cross references embedded within code spans.

    Using back tick Markdown syntax for code span, prevents Markdown from processing embedded text. This is fine from Markdown point of view (i.e. create HTML examples and similar), it creates issues with appledoc as any Markdown link generated from known object, embedded inside back ticks isn't converted properly. To overcome this, we need to embed back tick inside description manually after parsing. In the same time we need to take only handle links we generate while leaving any user entered ones unchanged!
    committed Feb 22, 2011
  4. Updated documentation set method declaration to text instead of html.

    Tried this to see if Xcode3 would delimit next section with new line, but doesn't help. Will leave it as text for now - declaration formatting isn't preserved anyway.
    committed Feb 22, 2011
  5. Implemented some basic cleaning up when converting from Markdown to t…

    At present only Markdown inline links are converted so instead of `[description](address "title")` we only write `description`.
    committed Feb 22, 2011
  6. Fixed docsetutil `Entity '' not defined` error.

    This error was reported during indexing for any unknown HTML code symbol (for example `–`). Markdown processor converted plain chars into these symbols as part of the conversion and obviously docsetutil has some issues with it. The workaround was to use plain text for abstract when generating tokens files. This commit is partial fix, the following will also handle some cleaning up of the text to make it more suitable for display.
    committed Feb 22, 2011
  7. Fixed potential runtime error when processing comments for cross refe…

    …rences due to setting search range length to invalid number.
    committed Feb 22, 2011
  8. Moved Markdown link regex to GBCommentComponentsProvider to have them…

    … accessible to the rest of the application.
    committed Feb 22, 2011
Commits on Feb 21, 2011
  1. Implemented settings property for GBCommentComponents and it's assign…

    …ment by processing methods.
    committed Feb 21, 2011
  2. Refactored GBMethodData to include prefixed selector builtin and adde…

    …d setting for enabling/disabling prefixed selector usage when creating related items section.
    The setting is not wired to command line switch yet.
    committed Feb 21, 2011
Commits on Feb 20, 2011
  1. Implemented prefix for local methods cross references when used as re…

    …lated items.
    Apple uses -, + or @property prefix for these.
    committed Feb 20, 2011
  2. Fixed remote member cross references handling when object is known bu…

    …t member isn't.
    In such case, the object was converted to a link. This is properly handled now by keeping unknown remote member text (i.e. not converting at all)!
    committed Feb 20, 2011