Changeset 8

Show
Ignore:
Timestamp:
11/06/05 03:04:21 (3 years ago)
Author:
jcc7
Message:

Got category lists to work in convertToWiki

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/tutorials/converttowiki/convertToWiki.d

    r7 r8  
    2020const char[] begTopicMarker = `<li><a href="#topic`; 
    2121const char[] endCatNameMarker = " ("; 
     22const char[] endPhase2 = `<div class="app" style="margin-left: 0.5em;">`; 
     23const char[] begTopicListMarker = `<li id="topic`; 
     24const char[] endTopicListMarker = `</a></li></ul>`; 
     25 
     26const char[] begExampleListMarker = `<li><a href="#ex`; 
     27const char[] endExampleListMarker = `</a></li>`; 
     28 
     29 
    2230 
    2331 
     
    4654    int endPos; 
    4755 
    48     bit done; 
     56    int topicBegPos; 
     57    int topicEndPos; 
     58 
     59//  bit done; 
    4960 
    5061 
     
    5768        writefln("Please specify the input file and output path at the commandline."); 
    5869 
     70 
     71    /* *** Read Entire Input File *** */ 
    5972 
    6073    File inFile = new File(inputFile); 
     
    6477 
    6578 
     79    /* *** Create Index File *** */ 
     80 
    6681    begPos = find(inStr, begCategoriesMarker ); 
    6782    if(begPos < 0)  
     
    8095    { 
    8196        inStr = inStr[begPos + begTopicMarker.length .. $]; 
    82         endPos = find(inStr, endCategoriesMarker); 
     97        //endPos = find(inStr, endCategoriesMarker); 
    8398 
    8499        begPos = find(inStr, `>`); 
     
    114129    } 
    115130 
    116  
    117  
    118131    File outFile = new File(outputPath ~ "index.html", FileMode.OutNew);  
    119132 
     
    134147 
    135148 
    136      
    137 /+   
    138 // This code isn't ready yet. 
    139  
    140     /* For each example */ 
    141  
    142  
    143     { 
     149    /* *** Create Category Files *** */ 
     150     
     151    debug writefln("\n***Create Category Files ***"); 
     152 
     153    while(topicBegPos >= 0) /* loop for each category */ 
     154    { 
     155        wikiExampleNames.length = 0; 
     156         
     157        topicBegPos = find(inStr, begTopicListMarker); 
     158        if(topicBegPos < 0)  
     159        { 
     160            writefln("Error: Example name not found!"); 
     161            assert(0); 
     162        } 
     163        inStr = inStr[topicBegPos + 1 .. $]; 
     164 
     165        begPos = find(inStr, `>`); 
     166        if(begPos < 0)  
     167        { 
     168            writefln("Error: Category name not found!"); 
     169            assert(0); 
     170        } 
     171        inStr = inStr[begPos + 1 .. $]; 
     172 
     173        midPos = find(inStr, `</li>`); 
     174        oldCategoryName = inStr[0..midPos]; 
     175        debug writefln("Found old category name: " ~ oldCategoryName); 
     176        wikiCategory = wikiCategoryName(oldCategoryName); 
     177        debug writefln("Found new category: " ~ wikiCategory); 
     178        topicEndPos = find(inStr, endPhase2); //endTopicListMarker); 
     179 
     180 
     181        begPos = find(inStr, begExampleListMarker); 
     182 
     183        while(begPos >= 0) /* loop through the examples */ 
     184        { 
     185            if(begPos < 0)  
     186            { 
     187                writefln("Error: Example name not found!"); 
     188                assert(0); 
     189            } 
     190            inStr = inStr[begPos + begExampleListMarker.length .. $]; 
     191 
     192            begPos = find(inStr, `>`); 
     193            if(begPos < 0)  
     194            { 
     195                writefln("Error: Example name not found!"); 
     196                assert(0); 
     197            } 
     198            inStr = inStr[begPos + 1 .. $]; 
     199            endPos = find(inStr, endExampleListMarker ); 
     200            if(endPos < 0)  
     201            { 
     202                writefln("Error: Example name ending not found!"); 
     203                assert(0); 
     204            } 
     205            oldExampleName = inStr[0..endPos];  
     206     
     207            wikiExample = wikiExampleName(oldCategoryName, oldExampleName); 
     208            wikiExampleNames ~= wikiExample; 
     209     
     210            begPos = find(inStr, begExampleListMarker); 
     211            endPos = find(inStr, endTopicListMarker); //endExampleListMarker); 
     212 
     213            if(endPos < begPos) begPos = -1; 
     214        }    
     215 
    144216        File outFile = new File(outputPath ~ wikiCategory ~ ".html", FileMode.OutNew);  
    145      
     217 
    146218        outFile.writeLine("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); 
    147219        outFile.writeLine("<html><head><title>" ~ args[1] ~ "</title>"); 
     
    149221        outFile.writeLine("</head>"); 
    150222 
    151         outFile.writeLine(`<body><pre><hr/>= ` ~ oldCategoryName ~ ` =<br/><a href=#"examples"<br/>`); 
    152  
    153         outFile.writeLine(`<hr id="` ~ wikiCategory ~ `" />= ` ~ oldCategoryName ~ " =<br/><br/>"); 
     223        outFile.writeLine(`<body><pre>= ` ~ oldCategoryName ~ ` =<br/>`); 
     224 
     225        //outFile.writeLine(`<hr id="` ~ wikiCategory ~ `" />= ` ~ oldCategoryName ~ " =<br/>"); 
    154226        foreach(char[] we; wikiExampleNames) 
    155           outFile.writeLine(`  * <#"` ~ we ~ `">` ~ we ~ `</a><br/>`); 
     227          outFile.writeLine(`  * <a href="` ~ we ~ `".html>` ~ we ~ `</a>`); 
    156228     
    157229        outFile.writeLine("</pre></body></html>"); 
    158230        outFile.close(); 
    159     }    
    160 +/ 
    161      
    162  
     231 
     232        topicBegPos = find(inStr, begTopicListMarker); 
     233        topicEndPos = find(inStr, endPhase2); //endTopicListMarker); 
     234     
     235        if(topicEndPos < topicBegPos) topicBegPos = -1; 
     236    } 
    163237 
    164238/+ 
    165239 
    166     /* Create Category File */ 
    167  
    168  
    169     wikiExampleNames.length = 0; 
    170  
     240// This code isn't ready yet. 
     241 
     242 
     243 
     244    debug writefln("\n***Create Example Files ***"); 
     245 
     246    /* *** Create Example Files *** */ 
    171247 
    172248    while(stillMoreExamples) /* for each example: */ 
     
    219295        wikiExample = wikiExampleName(oldCategoryName, oldExampleName); 
    220296 
    221         wikiExampleNames ~= wikiExample 
    222  
    223         outFile.writeLine(`<hr id="` ~ wikiExample ~ `"/>= ` ~ oldExampleName ~ " =<br/>"); 
     297 
     298 
     299 
     300        File outFile = new File(outputPath ~ wikiCategory ~ ".html", FileMode.OutNew);  
     301 
     302        outFile.writeLine("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">"); 
     303        outFile.writeLine("<html><head><title>" ~ args[1] ~ "</title>"); 
     304        outFile.writeLine(`<link rel="stylesheet" href="` ~ cssFile ~ `"/>`); 
     305        outFile.writeLine("</head>"); 
     306 
     307        outFile.writeLine(`<body><pre>= ` ~ oldExampleName ~ ` =<br/>`); 
     308 
     309        //outFile.writeLine(`<hr id="` ~ wikiExample ~ `"/>= ` ~ oldExampleName ~ " =<br/>"); 
    224310        outFile.writeLine("''Part of'' " ~ wikiCategory ~ "<br/>"); 
    225311 
     
    229315        outFile.writeLine("== Example ==<br/>"); 
    230316        outFile.writeLine("{{{"); 
    231         outFile.writeLine("#!d"); 
     317        outFile.writeLine("#!d</pre>"); 
    232318 
    233319        //outFile.writeLine("<code>"); 
     
    245331 
    246332        outFile.writeLine("}}}"); 
     333 
     334 
     335 
     336        outFile.writeLine("</body></html>"); 
     337        outFile.close(); 
     338 
    247339         
    248340        if(begPos == 0 && begPos > endPos) done = true; 
  • trunk/src/tutorials/converttowiki/names.d

    r7 r8  
    118118                case "Assertions": s = "AssertionsExample"; break; 
    119119                case "Unittests": s = "UnittestsExample"; break; 
    120                 case "Getch/Getchar": s = ""; break; 
    121                 default: writefln("Unknown example: %", e); assert(0); 
     120                case "Getch/Getchar": s = "GetchGetcharExample"; break; 
     121                default: writefln("Unknown example: %s", e); assert(0); 
    122122            } break; 
    123123         
     
    139139                case "Runtime Type Information (RTTI)": s = "RuntimeTypeInformationExample"; break; 
    140140                case "Statistics": s = "StatisticsExample"; break; 
    141                 default: writefln("Unknown example: %", e); assert(0); 
     141                default: writefln("Unknown example: %s", e); assert(0); 
    142142            } break; 
    143143         
     
    153153                case "Meta tags (__FILE__, __LINE__, etc.)": s = "MetaTagsExample"; break; 
    154154                case "uudecode": s = "UudecodeExample"; break; 
    155                 default: writefln("Unknown example: %", e); assert(0); 
     155                default: writefln("Unknown example: %s", e); assert(0); 
    156156            } break; 
    157157         
     
    167167                case "goto": s = "GotoExample"; break; 
    168168                case "return": s = "ReturnExample"; break; 
    169                 default: writefln("Unknown example: %", e); assert(0); 
     169                default: writefln("Unknown example: %s", e); assert(0); 
    170170            } break; 
    171171         
     
    178178                case "Returning Arrays from Functions": s = "ReturningArraysFromFunctionsExample"; break; 
    179179                case "Using char[][] args": s = "UsingCharArrayArgumentsExample"; break; 
    180                 default: writefln("Unknown example: %", e); assert(0); 
     180                default: writefln("Unknown example: %s", e); assert(0); 
    181181            } break; 
    182182         
     
    187187                case "Using Objects": s = "UsingObjectsExample"; break; 
    188188                case "Printing a Slice from a String": s = "PrintingSliceFromStringExample"; break; 
    189                 default: writefln("Unknown example: %", e); assert(0); 
     189                default: writefln("Unknown example: %s", e); assert(0); 
    190190            } break; 
    191191         
     
    195195                case "DelegateTest.d": s = "UsingDelegatesWithinObjectsExample"; break; 
    196196                case "Delegates": s = "UsingDelegateInsteadOfInterfaceExample"; break; 
    197                 case "Proper creation & use of stack delegates": s = "UsingStackDelegatesExample"; break; 
     197                case "Proper creation &amp; use of stack delegates": s = "UsingStackDelegatesExample"; break; 
    198198                case "Don't Return a Stack Delegate": s = "DontReturnStackDelegateExample"; break; 
    199199                case "Copyable stack delegates, implemented with structs and classes": s = "CopyableStackDelegatesWithStructsAndClassesExample"; break; 
     
    201201                case "Delegate 1": s = "DelegateNonStaticNestedFunctionExample"; break; 
    202202                case "Delegate 2": s = "IntFunctionDelegateExample"; break; 
    203                 default: writefln("Unknown example: %", e); assert(0); 
     203                default: writefln("Unknown example: %s", e); assert(0); 
    204204            } break; 
    205205         
     
    213213                case "Foreach with key and value pairs": s = "ForeachKeyValuePairsExample"; break; 
    214214                case "Associative array of strings": s = "ForeachStringArrExample"; break; 
    215                 default: writefln("Unknown example: %", e); assert(0); 
     215                default: writefln("Unknown example: %s", e); assert(0); 
    216216            } break; 
    217217         
     
    221221                case "Function Literal Assignment": s = "FunctionLiteralAssignExample"; break; 
    222222                case "Function Literal / Anonymous Function": s = "AnonymousFunctionExample"; break; 
    223                 default: writefln("Unknown example: %", e); assert(0); 
     223                default: writefln("Unknown example: %s", e); assert(0); 
    224224            } break; 
    225225         
     
    229229                case "DBC: basic design by contract": s = "DesignByContractExample"; break; 
    230230                case "Try/Catch/Finally": s = "TryCatchFinallyExample"; break; 
    231                 default: writefln("Unknown example: %", e); assert(0); 
     231                default: writefln("Unknown example: %s", e); assert(0); 
    232232            } break; 
    233233         
     
    239239                case "opCall": s = "OpCallExample"; break; 
    240240                case "Byte.d": s = "ByteOperatingOverloadExample"; break; 
    241                 default: writefln("Unknown example: %", e); assert(0); 
     241                default: writefln("Unknown example: %s", e); assert(0); 
    242242            } break; 
    243243         
     
    245245            switch(e) 
    246246            { 
    247                 case "Switch-Case Construct": s = ""; break; 
    248                 case "The Twelve Days of Christmas": s = ""; break; 
     247                case "Switch-Case Construct": s = "SwitchCaseExample"; break; 
     248                case "The Twelve Days of Christmas": s = "TwelveDaysOfChristmasExampleOne"; break; 
    249249                case "The Twelve Days of Christmas (Reprise)": s = "TwelveDaysOfChristmasExampleTwo"; break; 
    250                 default: writefln("Unknown example: %", e); assert(0); 
     250                default: writefln("Unknown example: %s", e); assert(0); 
    251251            } break; 
    252252         
     
    264264                case "Variable Arguments": s = "TemplateVariableArgumentsExample"; break; 
    265265                case "Template RTTI": s = "TemplateRttiExample"; break; 
    266                 default: writefln("Unknown example: %", e); assert(0); 
     266                default: writefln("Unknown example: %s", e); assert(0); 
    267267            } break; 
    268268         
     
    273273                case "Using versions to store multiple programs in one file": s = "UsingVersionsToStoreMultipleProgramInOneFileExample"; break; 
    274274                case "Compile time versioning": s = "CompileTimeVersioningExample"; break; 
    275                 default: writefln("Unknown example: %", e); assert(0); 
     275                default: writefln("Unknown example: %s", e); assert(0); 
    276276            } break; 
    277277         
     
    286286                case "Checkboxes": s = "DflCheckboxesExample"; break; 
    287287                case "Controls": s = "DflControlsExample"; break; 
    288                 default: writefln("Unknown example: %", e); assert(0); 
     288                default: writefln("Unknown example: %s", e); assert(0); 
    289289            } break; 
    290290         
     
    293293            { 
    294294                case "I/O with Mango": s = "IoWithMangoExample"; break; 
    295                 default: writefln("Unknown example: %", e); assert(0); 
     295                default: writefln("Unknown example: %s", e); assert(0); 
    296296            } break; 
    297297         
     
    321321                case "Zlib": s = "ZlibExample"; break; 
    322322                case "Unzip using std.zip": s = "UnzipUsingStdZipExample"; break; 
    323                 default: writefln("Unknown example: %", e); assert(0); 
     323                default: writefln("Unknown example: %s", e); assert(0); 
    324324            } break; 
    325325         
     
    330330                case "TreeView": s = "TreeViewExample"; break; 
    331331                case "MiniCalc - RestorePosition": s = "MiniCalcRestorePositionExample"; break; 
    332                 default: writefln("Unknown example: %", e); assert(0); 
    333             } break; 
    334         default: writefln("Unknown category: %", e); assert(0); 
     332                default: writefln("Unknown example: %s", e); assert(0); 
     333            } break; 
     334        default: writefln("Unknown category: %s", oldCategoryName); assert(0); 
    335335    } 
    336336    return s;