Kleine Dokumentation aus commands.txt erstellen
Übersicht

![]() |
simiBetreff: Kleine Dokumentation aus commands.txt erstellen |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi zusammen...
Unter Linux kann man ja die Dokumentation nicht direkt in der MaxIDE anschauen... So musste ich immer die Dateien im Modverzeichniss suche gehen.... Deshalb hab ich mir heute ein kleines Tool zusammengecodet, dass aus der command.txt die verschiedenen Module und Befehle liest. Dann wird eine Indexpage für die Module erstellt und dann noch für jedes Modul einzeln eine Inhaltsseite mit den verschiedenen Befehlen. Vielleicht kanns ja jemand brauchen ![]() Code: [AUSKLAPPEN] SuperStrict
Local stream:Tstream = TStream(TCStream.OpenFile(BlitzMaxPath()+"/doc/bmxmods/commands.txt",1,0)) Local names:String[] Local path:String[] Local list:TList[] Local line:String Local n1:Int,n2:Int Local name:String Local id:Int '-------------------------------------------------------------------------------------------------- '--------------------------- COMMANDS.TXT PARSEN ------------------------------- '-------------------------------------------------------------------------------------------------- stream = TStream(TCStream.OpenFile(BlitzMaxPath()+"/doc/bmxmods/commands.txt",1,0)) Repeat line = stream.readline() If line.trim()="" Then Continue 'Modulname herausfinden n1 = line.find(".mod/")+5 n2 = line.find(".mod/doc/commands.html") name = line[n1..n2] 'schauen ob Name schon vorhanden id=-1 For Local x:Int = 0 To names.length-1 If names[x] = name Then id=x Exit End If Next 'Wenn nicht vorhanden If id = -1 Then id = names.length names=names[..(names.length)+1] list = list[..(list.length)+1] path = path[..list.length+1] list[id] = CreateList() names[id] = name path[id]=line[(line.find("|")+1)..line.findlast("#")] End If 'Funktion zu Modul hinzufügen name = line.replace(":","|").Replace("(","|").Replace("$","|").Replace("#","|").Replace("!","|") name = name[0..(name.find("|"))] list[id].addlast(name) Until Eof(stream) stream.close() '-------------------------------------------------------------------------------------------------- '-----------------------------ORDNER ERSTELLEN -------------------------------------- '-------------------------------------------------------------------------------------------------- CreateDir(BlitzMaxPath()+"/doc_2") CreateDir(BlitzMaxPath()+"/doc_2/mods") '-------------------------------------------------------------------------------------------------- '----------------------------- INDEX.HTML ERSTELLEN ------------------------------- '-------------------------------------------------------------------------------------------------- stream = TStream(TCStream.OpenFile(BlitzMaxPath()+"/doc_2/index.html",0,1)) stream.writeline("<html>") stream.writeline(" <head>") stream.writeline(" <title>BMax-Hilfe</title>") stream.writeline(" </head>") stream.writeline(" <frameset cols=~q15%,*~q>") stream.writeline(" <frame src=~qnav.html~q name=~qnav~q>") stream.writeline(" <frame src=~q"+BlitzMaxPath()+"/doc/home.html~q name=~qhelp~q>") stream.writeline(" </frameset>") stream.writeline("</html>") stream.close() '-------------------------------------------------------------------------------------------------- '----------------------------- NAV.HTML ERSTELLEN ------------------------------- '-------------------------------------------------------------------------------------------------- stream = TStream(TCStream.OpenFile(BlitzMaxPath()+"/doc_2/nav.html",0,1)) stream.writeline("<html>") stream.writeline(" <head>") stream.writeline(" <title>BMax-Hilfe</title>") stream.writeline(" </head>") stream.writeline(" <body") stream.writeline(" <h3>Inhalt</h3>") stream.writeline(" <a target=~qhelp~q href=~q"+BlitzMaxPath()+"/doc/home.html~q>Home</a><br>") stream.writeline(" <hr>") For Local i:String = EachIn names stream.writeline(" <a href=~qmods/"+i+".html~q>"+i+"</a><br>") Next stream.writeline(" </body") stream.writeline("</html>") stream.close() '-------------------------------------------------------------------------------------------------- '-------------------- EINZELNE DATEIEN ERSTELLEN ------------------------------- '-------------------------------------------------------------------------------------------------- For Local i:Int = 0 To names.length-1 stream = TStream(TCStream.OpenFile(BlitzMaxPath()+"/doc_2/mods/"+names[i]+".html",0,1)) stream.writeline("<html>") stream.writeline(" <head>") stream.writeline(" <title>BMax-Hilfe</title>") stream.writeline(" </head>") stream.writeline(" <body") stream.writeline(" <script Type=~qtext/javascript~q>") stream.writeline(" parent[~qhelp~q].location.href = ~q"+BlitzMaxPath()+path[i]+"~q;") stream.writeline(" </script>") stream.writeline(" <h3>"+names[i]+"</h3>") For Local x:String = EachIn list[i] stream.writeline(" <a target=~qhelp~q href=~q"+BlitzMaxPath()+path[i]+"#"+x+"~q>"+x+"</a><br>") Next stream.writeline(" <hr>") stream.writeline(" <a href=~q"+BlitzMaxPath()+"/doc_2/nav.html~q>Inhalt</a>") stream.writeline(" </body") stream.writeline("</html>") stream.close() Next |
||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, warum öffnest du nicht einfach die Standart-doc(Die, die sonst in der MaxIDE angezeigt wird) mit nem Browser deiner Wahl? So mach ich das immer.
Oder hab ich den nutzen dieses Programms falsch verstanden? |
||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
hobbla ![]() bin ich ein depp :\ ich hab nur immer die docs direkt im modulverzeichniss gesehen.... :\ nie dass es so eine indexpage mit framedarstellung gibt ![]() naja, als trost bleibt mir ja noch, dass vielleicht jemand den code für etwas anderes benutzen kann..... danke für den Hinweis ![]() cu |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group