diff options
Diffstat (limited to 'docs/doctool/Info')
| -rw-r--r-- | docs/doctool/Info/CSSGuide.txt | 782 | ||||
| -rw-r--r-- | docs/doctool/Info/Languages.txt | 105 | ||||
| -rw-r--r-- | docs/doctool/Info/NDMarkup.txt | 80 |
3 files changed, 967 insertions, 0 deletions
diff --git a/docs/doctool/Info/CSSGuide.txt b/docs/doctool/Info/CSSGuide.txt new file mode 100644 index 00000000..bf4e1377 --- /dev/null +++ b/docs/doctool/Info/CSSGuide.txt @@ -0,0 +1,782 @@ + + Title: CSS Guide +_______________________________________________________________________________ + +It's important to understand the internal HTML file structure and styles in order to design your own CSS style for Natural Docs. If +you're content with the default styles, there's no need to read this document. + +The diagrams are designed for clarity. In the actual HTML, you'd obviously see "<pre class=CCode></pre>" instead of +"<pre CCode></pre CCode>". If there's no element in the diagram tag, for example "<CTitle></CTitle>", that means you +shouldn't rely on what HTML element it is. Just refer to them as .Style in your CSS file instead of Element.Style. + + +Topic: Page Structure + + The body tag is used to distinguish between the types of pages. For framed pages, its style will be <FramedMenuPage>, + <FramedContentPage>, or <FramedIndexPage> depending on what it is. Non-framed pages have a body style of + <UnframedPage>. + + On unframed pages, the menu will be contained in a <MenuSection> td and the content or index in <ContentSection> or + <IndexSection> tds. Tables are used instead of CSS positioning for better compatibility with older browsers and because they + have the ability to stretch when its content is too wide and collapse when the browser window is too small. + + Unframed Page: + + > <body UnframedPage> + > [browser styles] + > + > <table><tr> + > + > <td MenuSection> + > Menu + > </td MenuSection> + > + > <td ContentSection/IndexSection> + > Content or Index + > </td ContentSection/IndexSection> + > + > </tr></table> + > + > <Footer> + > Footer + > </Footer> + > + > [/browser styles] + > </body UnframedPage> + + Framed Menu Page: + + > <body FramedMenuPage> + > [browser styles] + > + > Menu + > + > <Footer> + > Footer + > </Footer> + > + > [/browser styles] + > </body FramedMenuPage> + + Framed Content/Index Page: + + > <body FramedContentPage/FramedIndexPage> + > [browser styles] + > + > Content or Index + > + > [/browser styles] + > </body FramedContentPage/FramedIndexPage> + + +Styles: Page Styles + + UnframedPage - An unframed page. Will be applied to a body tag. + + FramedMenuPage - A framed menu page. Will be applied to a body tag. + FramedContentPage - A framed content page. Will be applied to a body tag. + FramedIndexPage - A framed index page. Will be applied to a body tag. + + MenuSection - The menu section in a non-framed page. Will be applied to a td tag. + ContentSection - The content section in a non-framed page. Will be applied to a td tag. + IndexSection - The index section in a non-framed page. Will be applied to a td tag. + + Footer - The page footer. Will be in a framed menu page or on its own in a non-framed page. + + +Styles: Browser Styles + + Natural Docs pages include JavaScript to detect which browser the user is running and apply styles so that you can work + around browser quirks right in the CSS file. + + Immediately after the body tag, the browser type and version styles will be applied. However, neither are guaranteed to be + there; the user may have JavaScript turned off or be using a browser that isn't detected. These styles should only be used to + correct minor flaws and should not be heavily relied on. + + > <body> + > + > <browser type>? + > <browser version>? + > + > Page Content + > + > </browser version>? + > </browser type>? + > + > </body> + + For example, if a <CTopic>'s style is giving you problems in Internet Explorer 4, override it with .IE4 .CTopic. If a <MTitle>'s + style gives you a problem in Opera 5 but only in frames, override it with .FramedMenuPage .Opera5 .MTitle. + + Browser Types: + + If the browser is not one of the types below, neither this nor the browser version will be present. There's the possibility that + some obscure browser will appear as one of the others by spoofing, but the most prominent of these, Opera, Konquerer, and + Safari, are taken care of. + + IE - Internet Explorer + Gecko - The Gecko rendering engine, which includes Mozilla, Netscape 6+, etc. + Opera - Opera + KHTML - The KHTML rendering engine, which includes Konqueror and Safari. + Netscape - The pre-Gecko Netscape rendering engine, which is 4.x and earlier. + + Browser Versions: + + If the browser is not one of the versions below, this style will not be present. The browser type still may be. Gecko and + KHTML-based browsers are not broken out into sub-versions. + + IE4 - Internet Explorer 4.x. + IE5 - Internet Explorer 5.x. + IE6 - Internet Explorer 6.x. + + Opera5 - Opera 5.x. + Opera6 - Opera 6.x. + Opera7 - Opera 7.x. + + Netscape4 - Netscape 4.x. + + + +Topic: Content Structure + + All the content of a given file is either contained in a <ContentSection> or a <FramedContentPage>. All other content styles are + prefixed with a C. + + Each piece of content is a <CTopic> surrounded by its type; for example, <CFunction> for a function. Inside + that are the <CTitle> and if necessary, <CBody>. Inside <CBody> are analogues to all the top-level <NDMarkup> tags: + <CHeading>, <CParagraph>, etc. Styles like <CParagraph> exist so that you only style explicit <NDMarkup> paragraphs, + not any p that appears. + + In addition to the top-level <NDMarkup> tags, you also have <Prototype>, <CTitle>, and <Summaries>. <Summaries> are + described in their own section. + + (start diagram) + + <Content> + + <CType (CFunction, CVariable, etc.)> + <CTopic> + + <CTitle> + Topic title + </CTitle> + + <CBody> + + <ClassHierarchy> (See it's section) + + <Prototype> (See it's section) + + <p CParagraph> + Paragraph + </p CParagraph> + + <CHeading> + Heading + </CHeading> + + <pre CCode> + Code + </pre CCode> + + <ul CBulletList> + <li> + Bullet item + </li> + </ul CBulletList> + + <table CDescriptionList> + <tr> + <td CDLEntry> + Entry + </td CDLEntry> + <td CDLDescription> + Description + </td CDLDescription> + </tr> + </table CDescriptionList> + + <Summary> (See it's section) + + </CBody> + + </CTopic> + </CType (CFunction, CVariable, etc.)> + + </Content> + + (end diagram) + + Take advantange of the CSS inheritance model. For example, you can style all titles via .CTitle, and you can style + specific titles with .CType .CTitle. + + +Styles: Content Styles + + CTopic - An individual topic. + + CTitle - The title of a topic. + CBody - The body of a topic. May not exist. + CParagraph - A paragraph. Is implemented with a p. + CHeading - A heading. + CBulletList - A bullet list. Is implemented with a ul. + CCode - A section of code. Is implemented with a pre. + + CDescriptionList - A description list, which is the type of list you're reading right now. Is implemented with a table. + CDLEntry - A description list entry, which is the left side. + CDLDescription - A description list description, which is the right side. + + #MainTopic - The ID given to the main topic, which is the first in the file. It is applied to the topic type tag, such as <CClass> + and <CFunction>. + + CType - A placeholder for all type-specific styles. The actual styles will be C followed by the alphanumeric-only topic type name. + So the CType of a "PL/SQL Function" topic will actually be CPLSQLFunction. + + +Topic: Menu Structure + + Everything is enclosed in a <MenuSection> or a <FramedMenuPage>. All other menu styles are prefixed with an M. + + The title is an <MTitle> and will always be at the beginning of the menu if it exists. If a subtitle exists as well, it will appear + as an <MSubTitle> inside <MTitle>. Subtitles aren't allowed without titles. Every other entry in the menu is contained in a + <MEntry>, inside of which there's the type, such as <MFile> and <MGroup>. Inside of that is the content. With <MGroups>, + there's also a section inside called <MGroupContent> which can contain more entries. Here's the diagram: + + > <Menu> + > + > <MTitle> + > Menu title + > + > <MSubTitle> + > Menu sub title + > </MSubTitle> + > + > </MTitle> + > + > <MEntry> + > <MFile> + > <a href>File</a href> + > </MFile> + > </MEntry> + > + > <MEntry> + > <MText> + > Text + > </MText> + > </MEntry> + > + > <MEntry> + > <MLink> + > <a href>Link</a href> + > </MLink> + > </MEntry> + > + > <MEntry> + > <MGroup> + > <a href>Group</a href> + > <MGroupContent> + > + > (MEntries) + > + > </MGroupContent> + > </MGroup> + > </MEntry> + > + > </Menu> + + The <MFile> entry that's currently selected will have the <#MSelected> ID, so you can reference it in CSS via .Menu + .MFile#MSelected. + + +Styles: Menu Styles + + MTitle - The title of the menu. + MSubTitle - The subtitle of the menu. Will appear within <MTitle>. + + MEntry - The parent container of <MFile> and <MGroup> entries. + + MFile - A file entry. + MGroup - A group entry. + MGroupContent - A container for a <MGroup's> content. + MText - A plain text entry. + MLink - An external link entry. + + #MSelected - The ID of the currently selected <MFile>. + + +Topic: Class Hierarchy Structure + + Everything is contained in a single <ClassHierarchy>. Each entry is surrounded by its type, such as <CHParent>, and the + generic <CHEntry>. Depending on the context, entries may be surrounded by one or more <CHIndents>. + + (start diagram) + + <ClassHierarchy> + + <CHIndent>? + + <type (CHParent, CHCurrent, etc.)> + <CHEntry> + + Entry + + </CHEntry> + </type (CHParent, CHCurrent, etc.)> + + </CHIndent>? + + </ClassHierarchy> + + (end diagram) + + +Styles: Class Hierarchy Styles + + ClassHierarchy - The topmost style containing everything. + + CHEntry - A generic class entry. + + CHParent - The style for a parent class. + CHCurrent - The style for the current class, which is the one the hierarchy is generated for. + CHChild - The style for a child class. + CHChildNote - The style for when a child is added that just shows how many other children were omitted. + + CHIndent - A style used to indent a level. + + +Topic: Summary Structure + + Everything is enclosed in a single <Summary>. All the other summary styles are prefixed with an S. + + <STitle> holds the actual word "Summary" and <SBorder> and <STable> hold the content. <SBorder> exists because different + browsers apply table padding attributes in different ways. <STable> exists as a class to separate the main table from any other + tables that may be necessary. Here's a diagram: + + > <Summary> + > + > <STitle> + > Title + > </STitle> + > + > <SBorder> + > <table STable> + > ... + > </table STable> + > </SBorder> + > + > </Summary> + + On to the table content. Rows may have the <SMarked> style, which means they should be tinted for easier readablity. + + Since we many attributes left to apply, they're done with a kludgy mess of styles within each cell. It's hacky and verbose, but it + works and is compatible everywhere. We apply the type, whether it's an entry or a description, and if it's in a group or class as + shown below: + + > <tr SMarked?> + > <td SEntrySize?> + > + > <SType (SFunction, SClass, etc.)> + > <SEntry> + > <SIndent#>? + > + > <a href>Entry</a href> + > + > </SIndent#>? + > </SEntry> + > </SType> + > + > </td SEntrySize?> + > <td SDescriptionSize?> + > + > <SType (SFunction, SClass, etc.)> + > <SDescription> + > <SIndent#>? + > + > Description + > + > </SIndent#>? + > </SDescription> + > </SType> + > + > </td SDescriptionSize?> + > </tr SMarked?> + + <SIndent#> exist to allow indenting. They're necessary because implementing it as nested tables, while structurally cleaner, + won't allow the desciptions to line up on the right throughout the entire summary. + + Use the power of CSS's inheritance rules to specify styles. For example, to set the style of a group entry, apply it to + .SGroup .SEntry. However, you could also apply a style to both the group's entry and description by applying the + style to .SGroup. Or, you could apply a style to all the entries by applying it to .SEntry. And so on. + + +Styles: Summary Styles + + Summary - The topmost style containing the entire summary. + + STitle - Contains the summary title, which is the part that actually says "Summary". + + SBorder - Surrounds <STable>, since some browsers can't do table padding right. A hack, I know. + STable - The actual summary table. This class separates it from other layout tables that may appear. + + SMarked - A class applied to rows that should have a slightly different color than the rest of the rows to make them easier to + read. + SEntrySize - A class applied to one entry cell to specify the column width. + SDescriptionSize - A class applied to one description cell to specify the column width. + + SEntry - The entry (left) side of the table. + SDescription - The description (right) side of the table. + + SIndent# - Surrounding entries and descriptions that are part of a group and need to be indented. Actual styles will be + SIndent1, SIndent2, etc. + + SType - A placeholder for all topic-specific styles. The actual styles will be S followed by the alphanumeric-only topic type name. + So the SType of a "PL/SQL Function" topic will actually be SPLSQLFunction. + + +Topic: Prototype Structure + + Everything is enclosed in a <Prototype>. All other styles are prefixed with a P. + + Parameter Type First Style: + + For prototypes such as + > void Function (unsigned int* a, int b = 0) + where the types come first. + + (start diagram) + + <table Prototype> + + <td PBeforeParameters> + "void Function (" + </td PBeforeParameters> + + <td PTypePrefix> + "unsigned" + </td PTypePrefix> + + <td PType> + "int" + </td PType> + + <td PParameterPrefix> + "*" + </td PParameterPrefix> + + <td PParameter> + "a", "b" + </td PParameter> + + <td PDefaultValuePrefix> + "=" + </td PDefaultValuePrefix> + + <td PDefaultValue> + "0" + </td PDefaultValue> + + (repeated as necessary) + + <td PAfterParameters> + ")" + </td PAfterParameters> + + </table Prototype> + + (end diagram) + + + Parameter Name First Style: + + For prototypes such as + > function Function (a, b: int; c: int := 0) + where the parameters come first. + + (start diagram) + + <table Prototype> + + <td PBeforeParameters> + "function Function (" + </td PBeforeParameters> + + <td PParameter> + "a,", "b:", "c:" + </td PParameter> + + <td PType> + "int" + </td PType> + + <td PDefaultValuePrefix> + ":=" + </td PDefaultValuePrefix> + + <td PDefaultValue> + "0" + </td PDefaultValue> + + (repeated as necessary) + + <td PAfterParameters> + ")" + </td PAfterParameters> + + </table Prototype> + + (end diagram) + + + Note that any section may not exist. For example, there will be no <PTypePrefix> cells generated if none of the parameters + have it. + + +Styles: Prototype Styles + + Prototype - The style encompassing the entire prototype. + + PBeforeParameters - The part of the prototype that comes before the parameters. + PAfterParameters - The part of the prototype that comes after the parameters. + + PType - The parameter type. + PTypePrefix - The prefix of a parameter type. + PParameter - The parameter name. + PParameterPrefix - The prefix of a parameter name. + PDefaultValue - The default value expression for a parameter. + PDefaultValuePrefix - The prefix of the default value expression. + + +Topic: Link Structure + + All links to symbols have a type style prefixed with L. The only exceptions are summary entries; summary descriptions use + them as well. + + > <a LType (LFunction, LClass, etc.)> + > Link + > </a LType (LFunction, LClass, etc.)> + + You can use this to make links to different symbols appear in different styles. For example, making .LClass bold will make all + links to classes bold, except when appearing in summary entries. You can combine this with other styles to be even more + specific. For example, you can apply a style to function links appearing in summary descriptions with .SDescription .LFunction. + +Styles: Link Styles + + LType - A placeholder for all topic-specific styles. The actual styles will be L followed by the alphanumeric-only topic type name. + So the LType of a "PL/SQL Function" topic will actually be LPLSQLFunction. + + + +Topic: Index Structure + + Everything is enclosed in a <IndexSection> or an <FramedIndexPage>. All other index styles are prefixed with an I. + + (start diagram) + + <Index> + + <IPageTitle> + Page Title + </IPageTitle> + + <INavigationBar> + A - <a href>B</a href> - C ... + </INavigationBar> + + <table> + + <IHeading> + Heading (A, B, etc.) + </IHeading> + + <td ISymbolPrefix> + Prefix, if any + </td ISymbolPrefix> + + <td IEntry> + Entry + </td IEntry> + + ... + + </table> + + </Index> + + (end diagram) + + Every index entry, including headings, are rows in a table. The first column of a non-heading are <ISymbolPrefixes> so that + the non-prefix portions align correctly. The other column are <IEntries>, of which there are multiple formats, described below. + + (start diagram) + + <a href ISymbol> + Symbol + </a href ISymbol>, + <IParent> + Class + </IParent> + + <ISymbol> + Symbol + </ISymbol> + <ISubIndex> + <a href IParent> + Class + </a href IParent> + ... + </ISubIndex> + + <ISymbol> + Symbol + </ISymbol> + <ISubIndex> + <IParent> + Class + </IParent> + <ISubIndex> + <a href IFile> + File + </a href IFile> + ... + </ISubIndex> + ... + </ISubIndex> + + (end diagram) + + Each part of the entry is surrounded by its type, which may or may not be a link. If an entry has more than one defining class + or file, they're broken out into <ISubIndexes>. + + It's called <IParent> instead of <IClass> because class entries are <ISymbols>. <IParents> are only used when the symbol + has a class. If the symbol _is_ a class, the symbol is global. + + +Styles: Index Styles + + Index - Surrounds the entire index. + + IPageTitle - The page title. + INavigationBar - The navigation bar. + + IHeading - An index heading, such as the letter for the group. + + IEntry - An entry in the index. + ISymbolPrefix - The stripped prefix of the entry. + ISymbol - The entry symbol. + IParent - The entry parent class. If the entry _is_ a class, this isn't defined because classes are global and don't have parent + classes. This is why it's called IParent instead of IClass; hopefully it's less confusing. + IFile - The file the entry is defined in. + + ISubIndex - The surrounding block if an entry needs to be broken out into a sub-index. + + #IFirstHeading - The ID of the first <IHeading> to appear in the file. + + #IFirstSymbolPrefix - The ID for the first <ISymbolPrefix> to appear under an <IHeading>. + #ILastSymbolPrefix - The ID for the last <ISymbolPrefix> to appear under an <IHeading>. + #IOnlySymbolPrefix - The ID if there is only one <ISymbolPrefix> for an <IHeading>. + + +Topic: Tool Tip Structure + + Tool tips may appear anywhere in the page, mainly because it's assumed that they will use position: absolute and + visibility: hidden. + + The entire tool tip is found in a <CToolTip> style, with a CType style inside it. CTypes are normally outside their elements, but + that would cause it to be partially visible in this case. We need <CToolTip> to be the outermost style so its visibility and + position can be manipulated in JavaScript. + + Inside there's a <CPrototype> and/or the description text. The description text has no special surrounding tags. + + > <CToolTip> + > + > <CPrototype> + > Prototype + > </CPrototype> + > + > Summary text + > + > </CToolTip> + +Styles: Tool Tip Styles + + CToolTip - Surrounds the entire tool tip. This *must* have position: absolute and visibility: hidden for the tool tip mechanism + to work. + + See also <CPrototype>. + + +Styles: Miscellaneous Styles + + HB - Hidden Break. Will surround a single space to try to break a word transparently. Should be set to as small as possible. + + blockquote - This HTML element should surround anything that needs to be scrolled if it's too wide, like prototypes and text + diagrams. It's not a style because this makes it much easier to do the JavaScript necessary to get this working + in IE. + + +Group: History + +Topic: Revisions + + How the page structure has changed throughout the various releases. + + 1.33: + + - Added <PDefaultValuePrefix>. + + 1.32: + + - <blockquotes> now surround elements that should scroll if they're too wide for the page. + + 1.3: + + - Removed CPrototype. See the replacement <Prototype Structure> and <Prototype Styles>. + - Removed SInGroup, SInClass, and SInSection in favor of more general <SIndent#>. + - <CTypes>, <STypes>, and <LTypes> are now completely determined by <Topics.txt> configuration files. + - <CTypes>, <STypes>, and <LTypes> no longer have separate list types. A CFunctionList is now just a CFunction. + - Indexes are now done with tables. + - ISection was removed. + - <IEntries> are only used for the entry cell, not for each entry in an <ISubIndex>. + - Added <ISymbolPrefix>, related IDs, and <#IFirstHeading>. + + 1.21: + + - Added <TOPIC_PROPERTY> and TOPIC_PROPERTY_LIST styles, so they get corresponding <CTypes>, <STypes>, and + <LTypes>. + + 1.2: + + - Added <Class Hierarchy Styles> since 1.2 added class hierarchies. + + 1.16: + + - Changed the first topic from having a CMain type to having a normal type with a <#MainTopic> ID. + + 1.1: + + - Added <Tool Tip Styles>. + - Renamed HiddenBreak to <HB>. + - Added <TOPIC_CONSTANT>, TOPIC_CONSTANT_LIST, <TOPIC_TYPE>, and TOPIC_TYPE_LIST types, so they get + corresponding <CTypes>, <STypes>, and <LTypes>. + + 1.0: + + - The <CType> tags now appear arround the <CTopic> tags instead of vice versa. + - Added a <CBody> tag to surround non-<CTitle> elements. + - <SMarked> now appears in tr's instead of td's, where it belonged in the first place. + + 0.95: + + - Added <Browser Styles>. + - Redid <Page Structure>, replacing generic styles like Menu with page type styles like <UnframedPage>/<MenuSection> + and <FramedMenuPage>. + + 0.91: + + - Added <LURL> and <LEMail> link styles, since 0.91 added URL and e-mail links. + - Added <ISection> style, which is better than <IHeading> floating on its own. + + 0.9: + + - Added <Index Styles>, since 0.9 added indexes. + diff --git a/docs/doctool/Info/Languages.txt b/docs/doctool/Info/Languages.txt new file mode 100644 index 00000000..98885955 --- /dev/null +++ b/docs/doctool/Info/Languages.txt @@ -0,0 +1,105 @@ + + Title: Language Notes +_______________________________________________________________________________ + + This is more for my personal reference than anything else. + + + ___________________________________________________________________________ + + Topic: Prototype Parameter Styles + ___________________________________________________________________________ + + Parameters via Commas, Typed via Spaces: + + > FunctionName ( type indentifier, type identifier = value, modifier type identifier ) + > FunctionName ( indentifier, identifier = value ) + + The general idea is that parameters are separated by commas. Identifiers cannot contain spaces. Types and modifiers, + if available, are separated from the identifiers with spaces. There may be an equals sign to set the default value. + + So parsing means splitting by commas, stripping everything past an equals sign for the default value, stripping everything + after the last space for the identifier, and the rest is the type. If there are no internal spaces after the default value is + stripped, it's all identifier. + + Note that internal parenthesis, brackets, braces, and angle brackets should be parsed out. They may be present in default + values or types and any commas and equal signs in them should not be included. + + Applies to C++, Java, C#, JavaScript, Python, PHP, Ruby. + + Applies to Perl as well, even though it doesn't have any real parameter declaration structure. Just adding it with comments + is fine. + + Parameters via Semicolons and Commas, Typed via Colons: + + > FunctionName ( identifier: type; identifier, identifier: type; identifier: type := value ) + + Parameters via semicolons, types via colons. However, there can be more than one parameter per type via commas. + Default values via colon-equals. + + Applies to Pascal, Ada. + + + SQL: + + > FunctionName ( identifier type, identifier modifier type, identifier type := value ) + + Parameters separated by commas. Identifiers come before the types and are separated by a space. Default values are + specified with colon-equals. + + > FunctionName @identifier type, @dentifier modifier type, @identifier type = value + + Microsoft's SQL uses equals instead of colon-equals, doesn't need parenthesis, and starts its parameter names with an @ + symbol. + + + Visual Basic: + + > FunctionName ( modifiers identifier as type, identifier = value ) + + Parameters separated by commas. Default values via equals. However, any number of modifiers may appear before the + identifier. Those modifiers are ByVal, ByRef, Optional, and ParamArray. + + + Tcl: + + > FunctionName { identifier identifier { whatever } } { code } + + Identifiers are specified in the first set of braces and have no commas. However, they can be broken out into sub-braces. + + + ___________________________________________________________________________ + + Topic: Syntax References + ___________________________________________________________________________ + + C++ - http://www.csci.csusb.edu/dick/c++std/syntax.html + + C# - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csspec/html/CSharpSpecStart.asp. Open in IE. + + Java - http://cui.unige.ch/db-research/Enseignement/analyseinfo/ + Ada - http://cui.unige.ch/db-research/Enseignement/analyseinfo/ + + SQL - http://cui.unige.ch/db-research/Enseignement/analyseinfo/, + http://www.cs.umb.edu/cs634/ora9idocs/appdev.920/a96624/13_elems.htm, or + http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_tsqlcon_6lyk.asp?frame=true (open in IE). + + JavaScript - http://academ.hvcc.edu/~kantopet/javascript/index.php + + Python - http://www.python.org/doc/2.3.4/ref/ref.html + + PHP - http://www.php.net/manual/en/langref.php + + Visual Basic - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbls7/html/vbspecstart.asp. Open in IE. + + Pascal - http://pages.cpsc.ucalgary.ca/~becker/231/SyntaxDiagrams/pascal-syntax_files/frame.htm. Open in IE. + + Ruby - http://www.rubycentral.com/book/ + + ActionScript - <http://skaiste.elekta.lt/Books/O'Reilly/Bookshelfs/books/webdesign/action/index.htm> + + R - Somewhere on http://www.r-project.org. + + ColdFusion - http://livedocs.macromedia.com/coldfusion/6/Developing_ColdFusion_MX_Applications_with_CFML/contents.htm + + Eiffel - http://www.gobosoft.com/eiffel/syntax/ diff --git a/docs/doctool/Info/NDMarkup.txt b/docs/doctool/Info/NDMarkup.txt new file mode 100644 index 00000000..b4966223 --- /dev/null +++ b/docs/doctool/Info/NDMarkup.txt @@ -0,0 +1,80 @@ + + Title: NDMarkup +_______________________________________________________________________________ + +A markup format used by the parser, both internally and in <NaturalDocs::Parser::ParsedTopic> objects. Text formatted in +NDMarkup will only have the tags documented below. + + +About: Top-Level Tags + + All content will be surrounded by one of the top-level tags. These tags will not appear within each other. + + <p></p> - Surrounds a paragraph. Paragraph breaks will replace double line breaks, and single line breaks will + be removed completely. + + <code></code> - Surrounds code or text diagrams that should appear literally in the output. + + <h></h> - Surrounds a heading. + + <ul></ul> - Surrounds a bulleted (unordered) list. + <dl></dl> - Surrounds a description list, which is what you are reading. + + +About: List Item Tags + + These tags will only appear within their respective lists. + + <li></li> - Surrounds a bulleted list item. + <de></de> - Surrounds a description list entry, which is the left side. It will always be followed by a description list + description. + <ds></ds> - Surrounds a description list symbol. This is the same as a description list entry, except that the content + is also a referenceable symbol. This occurs when inside a list topic. This tag will always + be followed by a description list description. + <dd></dd> - Surrounds a description list description, which is the right side. It will always be preceded by a description + list entry or symbol. + +About: Text Tags + + These tags will only appear in paragraphs, headings, or description list descriptions. + + <b></b> - Bold + <i></i> - Italics + <u></u> - Underline + + <link></link> - Surrounds a potential link to a symbol; potential because the target is not guaranteed to exist. This + tag merely designates an attempted link. No other tags will appear between them. + + <url></url> - Surrounds an external link. No other tags will appear between them. + <email></email> - Surrounds an email address. No other tags will appear between them. + +About: Amp Chars + + These are the only amp chars supported, and will appear everywhere. Every other character will appear as is. + + & - The ampersand &. + " - The double quote ". + < - The less than sign <. + > - The greater than sign >. + +About: Tabs + + NDMarkup will not contain tab characters, only spaces. Any tab characters appearing in the source files will be + expanded/replaced as necessary. + + +About: General Tag Properties + + Since the tags are generated, they will always have the following properties, which will make pattern matching much + easier. + + - Tags and amp chars will always be in all lowercase. + - There will be no properties or extraneous whitespace within tags. They will only appear exactly as documented here. + - All code is valid, meaning tags will always be closed, <li>s will only appear within <ul>s, etc. + + So, for example, you can match symbol links with /<link>([^<]+)<\/link>/ and $1 will be the symbol. No surprises or + gotchas. No need for sophisticated parsing routines. + + Remember that for symbol definitions, the text should appear as is, but internally (such as for the anchor) they need to + be passed through <NaturalDocs::SymbolTable->Defines()> so that the output file is just as tolerant as + <NaturalDocs::SymbolTable>. |