gatherHeaderDoc.plIntroductionThe This document provides API-level documentation on the tool's internals. For user documentation, see HeaderDoc User Guide. Functions
addTopLinkToFramesetTOCsAdds a link to the main TOC index from each of the HTML frameset files. chooseBestChooses the best object for a UID. sub chooseBest( $$$) Parameters
DiscussionUsed by the doc set generation code to choose which HTML file to associate with a given apple_ref in the event of a conflict. This is primarily used when generating manual page content because multiple manual pages often describe the same functions. In general, apple_ref tags should always be unique. Do not rely on this logic remaining as it is today. default_templateReturns a default (minimal) TOC template. sub default_template docListFromStringTakes a string containing link requests and assembles an array of just the link requests. ParametersgenerateDocSetFileGenerates an Xcode-compatible pair of DocSet XML files for this documentation set. ParametersgenTableGenerates a multi-column table of links. sub genTable Parameters
getFilesReturns a list of the HTML files in the input directory. sub getFiles gethierlinkstringReturns a link string linking to a jump destination for a
given letter group within an Parameters
getLinkToFramesetFromReturns a relative link to a destination frameset (a header, class, etc.) from the main TOC. Parameters
DiscussionIn addition to being a link, the anchors returned may also be jump link destinations for letter groups within long sets of links. Thus, this function needs to know the name of the group that the destination is in, as well as the type (e.g. header, category...). getLinkToFunctionFromReturns a relative link to a function, data type, or other non-API-owning API element (i.e. not an entire header or class). Parameters
DiscussionIn addition to being a link, the anchors returned may also be jump link destinations for letter groups within long sets of links. Thus, this function needs to know the name of the group that the destination is in, as well as the type (e.g. header, category...). getNameStringForLinkReturns the jump destination part of an anchor. ParametersDiscussionUsed by groupListReturns a list of links to sub groupList groupsortSorts the names of groups. sub groupsort( @) ParametersDiscussionThis forces the "Section legacy" to appear after all of the numeric man page sections when processing manual pages. For all other cases, it just does a simple sort. objNameSort helper for sorting objects by name. sub objName ParameterspathpartsReturns the number of parts in a path. sub pathparts ParametersprintllPrints a list of the keys in the "letters linked" hash for debugging purposees. sub printll ParametersprintMasterTOCParses the template files and writes the output indices. sub printMasterTOC relatedDocsTakes a string containing link requests and returns a single-column table containing only the link requests. sub relatedDocs Parameters
rightframeworkReturns whether the framework discussion is at the same nesting level (pathwise) as the framework UID you just read from elsewhere in that folder. sub rightframework DiscussionAlthough not a complete guarantee, this prevents the most common cause of getting the wrong framework discussion, which is nesting multiple trees worth of HeaderDoc output inside one another and building an outer set of docs that incudes the inner set. textToXMLConverts a string of text to XML (minimally). sub textToXML warnRetCauseHelper function to simplify warning code used for debugging
sub warnRetCause( $$$) XMLTokenAbstractReturns the abstract that goes into the Tokens.xml file. sub XMLTokenAbstract DiscussionThis returns the abstract if there was one, stripping off any HTML tags in the process. If there is no abstract, it attempts to scrape the first paragraph from the discussion. Globals
contentFilesAn array of all HTML files. my @contentFiles; debuggingAlways 1. my $debugging = 1; devtoolsModulesPathPath to the Perl modules in the developer tools package. my $devtoolsModulesPath; externalXRefFilesStorage for the my $externalXRefFiles = ""; generateDocSetSet if you pass the -d flag. my $generateDocSet = 0; GHD::bgcolorThe background color for the built-in (default) template. $GHD::bgcolor = "#ffffff"; group_letters_linkedPer-group letter link status variable. my %group_letters_linked = (); DiscussionUsed for determining whether to put in an anchor for jumping to the first two letters of a given symbol. (Only inserted the first time those two letters appear in a given .) has_resolverIndicates that an internal link resolution tool was found. my $has_resolver; HeaderDoc::copyrightOwnerThe copyright owner (from the config file). $HeaderDoc::copyrightOwner = $config{ "copyrightOwner" }; HeaderDoc::groupHierLimitStorage for the $HeaderDoc::groupHierLimit = undef; HeaderDoc::groupHierSubgroupLimitStorage for the $HeaderDoc::groupHierSubgroupLimit = undef; HeaderDoc::useWhatIsSet if you pass the -w flag. $HeaderDoc::useWhatIs = 0; inputDirThe diretory for input. my $inputDir; inputFilesAn array of HeaderDoc-generated files. my @inputFiles; isMacOSA 1 if MacPerl, else 0. my $isMacOS; letters_linkedPer-output-file letter link status variable. my %letters_linked = (); DiscussionUsed for determining whether to put in an anchor for jumping to the first two letters of a given symbol. (Only inserted the first time those two letters appear in a given .) linktargetStorage for the contents of the "target=..." attribute for generated links. my $linktarget = ""; DiscussionSet by the masterTOCFileNameThe main TOC file (e.g. index.html). my $masterTOCFileName = ""; noResolveSet if -N flag is set (disable link resolution). my $noResolve = 0; optionsStorage for getopt(). my %options = (); pathSeparatorUsually a slash (/); in MacPerl, a colon(:). my $pathSeparator; skipTOCSet if you pass the -n flag with the -d flag. my $skipTOC = 0; uninstalledModulesPathPath to the Perl modules in the source directory. my $uninstalledModulesPath; |