Hot Docs 1.32 Threaded Build
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
BladeRunnerModeratorBetreff: Hot Docs 1.32 Threaded Build |
Fr, Apr 03, 2009 0:37 Antworten mit Zitat |
|
---|---|---|
Hallo,
ich habe mir mal die Mühe gemacht HotDocs auf den neusten Stand zu bringen: Es werden nun auch in ?threaded-Direktiven stehende Schlüsselwörter erkannt. Zudem ist der Build an die Community Edition der MaxIDE angepasst und generiert auch dort den passenden Code. Ob es so mit der Standard-IDE funzt kann ich nicht sagen, aber Versuch macht klug. Link: https://www.blitzforum.de/upload/file.php?id=5209 (bleibt dauerhaft bestehen, da im Portal gehostet). HF Edit für Portalssuche: HotDocs, hotdocs, hotdocs.de.vu, BMaxHilfe, hilfe, Anleitung |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
- Zuletzt bearbeitet von BladeRunner am So, Dez 05, 2010 13:35, insgesamt einmal bearbeitet
Farbfinsternis |
Fr, Apr 03, 2009 9:56 Antworten mit Zitat |
|
---|---|---|
Danke Dir! Probiere ich gleich mal aus. | ||
Farbfinsternis.tv |
amon |
So, Apr 05, 2009 19:49 Antworten mit Zitat |
|
---|---|---|
Hat ganz gut geklappt, musst nur an einer stelle einen zusätzlichen Test einführen:
im file output.bmx In Zeile 902 hab ich ein If Statement einfügen müssen, weil bei den 1.32 htmls da einmal nach dem Trim ein Leerstring rauskam, es Stand "~r~n" drinnen vorher. Code: [AUSKLAPPEN] If text2.Length > 0 Then
'exit, if program find </body> If delheader=1 And Left(text2,6)="</body" Then terminate=1; Exit 'skip all html tags If text2[0]=60 And text2[text2.length-1]=62 Then skip=1 '60=< 62=> 'tag start If Left(text2,6)="<table" Then skip=0; text1="<table class=alternative>" If Left(text2,3)="<tr" Then skip=0; text1="<tr>" If Left(text2,3)="<th" Then skip=0; text1="<th>" If Left(text2,3)="<td" Then skip=0; text1="<td>" If Left(text2,3)="<h2" Then skip=0; text1="<h2>" If Left(text2,4)="<pre" Then skip=0; text1="<pre class=codeblock>" If Left(text2,3)="<p>" Then skip=0; text1="<p>" If Left(text2,4)="<div" Then skip=0; text1="<div class=codeblock>" If brcount=0 Then text1="<br><br>"+text1 If brcount=1 Then text1="<br>"+text1 EndIf 'tag end If Left(text2,7)="</table" Then skip=0; text1="</table>" If Left(text2,4)="</tr" Then skip=0; text1="</tr>" If Left(text2,4)="</th" Then skip=0; text1="</th>" If Left(text2,4)="</td" Then skip=0; text1="</td>" If Left(text2,4)="</h2" Then skip=0; text1="</h2>" If Left(text2,5)="</pre" Then skip=0; text1="</pre>" If Left(text2,4)="</p>" Then skip=0; text1="</p>" If Left(text2,5)="</div" Then skip=0; text1="</div><br>" If Left(text2,3)="<br" Then skip=0; text1="<br>"; brcount=brcount+1 Else brcount=0 If delimage =0 And Left(text2,4)="<img" Then skip=0 'no modifications If delformat=0 And Left(text2,3)="<b>" Then skip=0; text1="<b>" If delformat=0 And Left(text2,3)="<i>" Then skip=0; text1="<i>" If delformat=0 And Left(text2,3)="<u>" Then skip=0; text1="<u>" If delformat=0 And Left(text2,4)="</b>" Then skip=0; text1="</b>" If delformat=0 And Left(text2,4)="</i>" Then skip=0; text1="</i>" If delformat=0 And Left(text2,4)="</u>" Then skip=0; text1="</u>" If dellink=0 And Left(text2,3)="<a " Then skip=0 'no modifications If dellink=0 And Left(text2,4)="</a>" Then skip=0; text1="</a>" If delh1=0 Then If Left(text2,3)="<h1" And h1used=1 Then skip=0; text1="<h2>" If Left(text2,4)="</h1" And h1used=1 Then skip=0; text1="</h2>" If Left(text2,3)="<h1" And h1used=0 Then skip=0; text1="<font class=bigname>" If Left(text2,4)="</h1" And h1used=0 Then skip=0; text1="</font><br><br>"; h1used=1 ElseIf delh1=1 Then If Left(text2,3)="<h1" Then paused=1 If Left(text2,4)="</h1" Then paused=0 EndIf If begin=1 And skip=0 And paused=0 Then text3=text3+text1 If delheader=1 And Left(text2,5)="<body" Then begin=1 EndIf Nach dieser Änderung lief es durch bei mir |
||
Farbfinsternis |
Mo, Mai 02, 2011 20:23 Antworten mit Zitat |
|
---|---|---|
Sorry dass ich diesen alten Thread nochmal reaktiviere, aber ich habe eine Frage ... bzw. ein Anliegen:
Wäre es möglich zu implementieren dass man per Config das parsen von Extern-Blöcken unterbinden kann? |
||
Farbfinsternis.tv |
BladeRunnerModerator |
Di, Mai 03, 2011 4:42 Antworten mit Zitat |
|
---|---|---|
Ich bin derzeit nicht mit allzuviel Zeit gesegnet, daher verspreche ich mal nichts. Das Dingen ist ja aber auch von TheShadow und mittlerweile OpenSource - falls Du also die Zeit und die Muße hast Dich einzulesen, fühl dich frei
Ein dauerhaftes Hosting der erweiterten Version wäre hier gesichert. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
blackgecko |
Di, Mai 03, 2011 18:50 Antworten mit Zitat |
|
---|---|---|
Also wenn der Thread schon mal oben ist: Bei mir klappt das Erstellen der hotdocs nicht. Weder mit der originalen Version noch mit dieser.
Zuerst einmal: Ich sitze hier an einem Linux-PC. Zuerst musste ich die Abfrage abändern, die nach MaxIDE.exe sucht, aber das bekomm ich noch hin. Das Problem kommt dann, wenn hotdocs "sync dirs..." ausgibt. Dort bleibt das Programm hängen und gibt kein Lebenszeichen mehr von sich (außer 100% CPU-Auslastung). Hat jemand eine Ahnung, was da los ist? |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
Farbfinsternis |
Di, Mai 03, 2011 18:51 Antworten mit Zitat |
|
---|---|---|
Das Problem besteht schon ewig und konnte bisher nicht gelöst werden. | ||
Farbfinsternis.tv |
BladeRunnerModerator |
Di, Mai 03, 2011 18:54 Antworten mit Zitat |
|
---|---|---|
Sorry, da ich nur unter Windows arbeite kann ich nur Vermutungen anstellen. Linux ist wesentlich pingeliger was Ordnernamen etc. angeht, es mag sein dass er sich totsucht weil die Ordnernamen nicht korrekt in Groß- und Kleinschreibung sind.
Ich erinnere mich allerdings dass ich, als ich das Threaded-Flag reinschraubte ein ähnliches Problem hatte. Da waren die Abbruchbedingungen für diverse Schleifen an der Falschen stelle und er geriet in eine Endlosloop. Ich würde Dir empfehlen dich mit debuglog-Ausgaben zur problemstelle vorzuhangeln und dann zu sehen wo es hängt - genauso hab ich es damals auch gemacht. War schweisstreibend, das. Schade dass TS nicht mehr unter uns weilt. Fremden Code warten ist immer ein Spass. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
blackgecko |
Di, Mai 03, 2011 20:04 Antworten mit Zitat |
|
---|---|---|
OK, danke trotzdem.
Ich hab mal n bisschen im Code geändert, es hat sich schon gebessert: Über die Stelle mit "sync dirs..." komm ich jetzt schon drüber. (Das war ein Problem mit NextFile und FileType) Aber jetzt hängt er an der Stelle "write modules..." und bleibt dort seltsamerweise bei brl.audio hängen. Falls ich es jemals ganz schaffe, schreib ich hier, was man machen muss. mfg blackgecko |
||
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die. |
BladeRunnerModerator |
Mi, Mai 04, 2011 8:35 Antworten mit Zitat |
|
---|---|---|
Das klingt sehr vertraut, mit Filetype und nextfile - das war doch irgendwie ein Reihenfolgeproblem. Ich denke das wiederholte sich auf mehreren Ebenen. Viel Erfolg. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
blackgecko |
Mi, Mai 04, 2011 20:27 Antworten mit Zitat |
|
---|---|---|
So, ich habs geschafft
1. Ist die IDE da? Hotdocs prüft nach Eingabe eines Verzeichnisses, ob es das richtige ist, indem nach der BlitzMax IDE gesucht wird. Da der Code nur für Windows gedacht ist, wird nach MaxIDE.exe gesucht. Folgender Code ändert dies für Linux ab, er muss in hotdocs.bmx ab Zeile 413 statt dem, was da steht eingesetzt werden. (Was man für MacOS noch einsetzen muss, weiß ich nicht, ich glaub da heißen die Programme .app, aber sicher bin ich nicht) BlitzMax: [AUSKLAPPEN] Local maxide_extension:String 2. FileType Probleme Dieses Problem tritt gleich 3Mal auf. Jedes Mal wird ein Ordner mir ReadDir geöffnet und mit NextFile ausgelesen. Wenn das Verzeichnis fertig ausgelesen ist, liefert NextFile einen leeren String. Nun prüft hotdocs den FileType von Pfad+Dateiname. Ist das ein Ordner oder eine Datei, wird damit etwas gemacht. Ansonsten (-> Datei nicht vorhanden) wird aus der Schleife ausgestiegen. Ist jetzt aber der Dateiname ein leerer String, wird nur der Pfad geprüft. Und dieser hat hinten einen "/". Und eine Überprüfung davon liefert anscheinend bei Windows das Ergebnis, dass die Datei nicht existiert, auf Linux aber erkennt FileType hier einen Ordner. Das kann zu Endlosschleifen führen. Abhilfe schafft eine einfache If-Bedingung. Eingefügt werden muss sie in output.bmx, Zeile 125, Zeile 334 und Zeile 1815, am besten direkt nach dem Aufruf von NextFile. BlitzMax: [AUSKLAPPEN] If file = "" Then ExitNach diesen Änderungen klappt die Erstellung bei mir. Allerdings weigern sich die htmlviews der maxgui, die index.html anzuzeigen. Aber im Browser siehts auch schön aus. PS: Die Zeilenzaheln stimmen nur ungefähr, weil das sich ja verschiebt, wenn man was einfügt. Aber sollte alles zu finden sein. |
||
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
Powered by phpBB © 2001 - 2006, phpBB Group