See changelog 20000608-07:30

This commit is contained in:
Luiz Rafael Culik
2000-06-08 10:33:08 +00:00
parent 52c70a7db3
commit b0a7a11c15
7 changed files with 269 additions and 119 deletions

View File

@@ -14,7 +14,6 @@ PRG_SOURCES=\
gentrf.prg \
genng.prg \
genhtm.prg \
genchm.prg \
genrtf.prg \
genhpc.prg \
genasc.prg \

View File

@@ -65,6 +65,7 @@ STATIC atiTable := {}
STATIC nNumTableItems := 0
STATIC aCurDoc := {}
STATIC nCurDoc := 1
STATIC lWasTestExamples := .f.
STATIC aColorTable := { 'aqua', 'black', 'fuchia', 'grey', 'green', 'lime', 'maroon', 'navy', 'olive', 'purple', 'red', 'silver', 'teal', 'white', 'yellow' }
@@ -245,7 +246,7 @@ FUNCTION ProcessChm()
// WRITE_ERROR( "Blank Function Name",,,, aDirList[ i, F_NAME ] )
cFuncName := "Unknown"
ENDIF
AADD( aDocInfo, { cCategory, cFuncName, cOneLine, cFileName } )
AADD( aDocInfo, { cCategory, cFuncName, cOneLine, lower(cFileName) } )
// Now close down this little piece
IF .NOT. EMPTY( cSeeAlso )
@@ -381,7 +382,7 @@ FUNCTION ProcessChm()
oChm:WriteText( '<br>' )
oChm:WriteText( '<br>' )
oChm:WriteText( "<a NAME=" + '"' + ALLTRIM( UPPERLOWER( cFuncname ) ) + '"' + "></a>" )
oChm:WriteText( "<a NAME=" + '"' + ALLTRIM( cFuncname ) + '"' + "></a>" )
// 2) Category
ELSEIF AT( cCat, cBuffer ) > 0
@@ -475,11 +476,12 @@ end
IF !lBlankLine
// oChm:WritePar( "" )
ENDIF
oChm:WriteParBold( " Examples" )
oChm:WriteText( "</dl><b> Examples</b>" )
oChm:WriteText( "<PRE>" )
nMode := D_EXAMPLE
lAddBlank := .T.
lAddEndPreTag := .T.
lWasTestExamples:=.t.
end
ELSEIF AT( cTest, cBuffer ) > 0
if GetItem( cBuffer, nCurdoc )
@@ -490,6 +492,7 @@ end
oChm:WriteText( "<DD><P>" )
nMode := D_EXAMPLE
lAddBlank := .T.
lWasTestExamples:=.t.
end
ELSEIF AT( cStatus, cBuffer ) > 0
if GetItem( cBuffer, nCurdoc )
@@ -618,7 +621,7 @@ end
lAddBlank := .F.
ENDIF
cTemp := ALLTRIM( SUBSTR( cBuffer, 1, AT( ":", cBuffer ) - 1 ) )
oChm:WriteText( "<a href=" + cFileName + "#" + UPPERLOWER( cTemp ) + ">" + cBuffer + '</a>' )
oChm:WriteText( "<a href=" + cFileName + "#" + cTemp + ">" + cBuffer + '</a>' )
ELSEIF nMode = D_METHODLINK
IF LEN( cBuffer ) > LONGLINE
@@ -630,7 +633,7 @@ end
lAddBlank := .F.
ENDIF
cTemp := ALLTRIM( SUBSTR( cBuffer, 1, AT( "(", cBuffer ) - 1 ) )
oChm:WriteText( "<a href=" + cFileName + "#" + UPPERLOWER( cTemp ) + ">" + cBuffer + '</a>' )
oChm:WriteText( "<a href=" + cFileName + "#" + cTemp + ">" + cBuffer + '</a>' )
ELSEIF nMode = D_COMPLIANCE
IF LEN( cBuffer ) > LONGLINE
@@ -642,9 +645,15 @@ end
ELSEIF nMode = D_STATUS
IF !EMPTY( cBuffer )
If lWasTestExamples
oChm:WriteParBold( "Status",.t.,.f. )
Else
oChm:WriteParBold( "Status" )
oChm:WriteText( "<DD><P>" )
oChm:WriteText( "<DD>" )
Endif
lWasTestExamples:=.f.
ENDIF
ProcStatusChm( oChm, cBuffer )
ELSE
@@ -790,15 +799,15 @@ RETURN nil
FUNCTION ProcStatusChm( nWriteHandle, cBuffer )
IF LEN( ALLTRIM( cBuffer ) ) > 1
nWriteHandle:WriteText( cBuffer )
nWriteHandle:Writepar( cBuffer )
ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "R"
nWriteHandle:WriteText( " Ready" )
nWriteHandle:Writepar( " Ready" )
ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "S"
nWriteHandle:WriteText( " Started" )
nWriteHandle:Writepar( " Started" )
ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "C"
nWriteHandle:WriteText( " Clipper" )
nWriteHandle:Writepar( " Clipper" )
ELSE
nWriteHandle:WriteText( " Not Started" )
nWriteHandle:Writepar( " Not Started" )
ENDIF
RETURN nil
@@ -858,7 +867,7 @@ FUNCTION FormatChmBuff( cBuffer, cStyle, oChm )
cReturn := STRTRAN( cReturn, "<par>", "" )
cReturn := STRTRAN( cReturn, "<", "&lt;" )
cReturn := STRTRAN( cReturn, ">", "&gt;" )
cReturn := AllTrim(cReturn)
creturn := '<par><b>' + creturn + ' </b></par>'
ELSEIF cStyle == 'Arguments'
@@ -986,6 +995,7 @@ FUNCTION ProcChmDesc( cBuffer, oChm, cStyle )
LOCAL creturn := ''
LOCAL ncolorend
LOCAL nIdentLevel
LOCAL lHasFixed := .F.
LOCAL lEndPar := .F.
LOCAL cLine := ''
LOCAL lEndFixed := .F.
@@ -1053,6 +1063,11 @@ FUNCTION ProcChmDesc( cBuffer, oChm, cStyle )
ENDIF
IF !EMPTY( cBuffer )
// cBuffer:=SUBSTR(cBuffer,2)
cBuffer := STRTRAN( cBuffer, "<", "&lt;" )
cBuffer := STRTRAN( cBuffer, ">", "&gt;" )
cBuffer := STRTRAN( cBuffer, "&lt;b&gt;", "<b>" )
cBuffer := STRTRAN( cBuffer, "&lt;/b&gt;", "</b>" )
cBuffeR := ALLTRIM( cBuffer )
oChm:WritePar( cBuffer )
ENDIF
@@ -1092,17 +1107,25 @@ FUNCTION ProcChmDesc( cBuffer, oChm, cStyle )
ENDIF
IF AT( '<fixed>', cBuffer ) > 0 .OR. cStyle = "Example"
IF AT( '<fixed>', cBuffer ) = 0 .OR. !EMPTY( cBuffer )
if AT( '<fixed>', cBuffer ) > 0
lHasFixed:=.T.
else
lHasFixed:=.F.
Endif
cBuffer := STRTRAN( cBuffer, "<par>", "" )
cBuffer := STRTRAN( cBuffer, "<fixed>", "" )
oChm:WriteText( "<br><pre>" )
if !lHasFixed
oChm:WritePar( cBuffer )
Endif
ENDIF
DO WHILE !lendFixed
cOldLine := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) )
IF AT( "</fixed>", cOldLine ) > 0
lendfixed := .t.
cOldLine := STRTRAN( cOldLine, "</fixed>", "" )
cOldLine := ALLTRIM(STRTRAN( cOldLine, "</fixed>", "" ))
ENDIF
IF AT( DELIM, cOldLine ) = 0
cReturn += ALLTRIM( cOldLine ) + ' '
@@ -1112,11 +1135,12 @@ FUNCTION ProcChmDesc( cBuffer, oChm, cStyle )
lEndfixed := .t.
ENDIF
IF AT( DELIM, cOldLine ) == 0
oChm:WritePar( cOldLine )
IF AT( DELIM, cOldLine ) == 0 .and. !lendfixed
oChm:WriteText( cOldLine )
ENDIF
ENDDO
oChm:WriteText( "</pre><br>" )
// oChm:WriteText( "</pre><br>" )
END
IF AT( '<table>', cBuffer ) > 0
DO WHILE !lendTable

View File

@@ -65,7 +65,7 @@ STATIC atiTable := {}
STATIC nNumTableItems := 0
STATIC aCurDoc := {}
STATIC nCurDoc := 1
STATIC lWasTestExamples := .f.
STATIC aColorTable := { 'aqua', 'black', 'fuchia', 'grey', 'green', 'lime', 'maroon', 'navy', 'olive', 'purple', 'red', 'silver', 'teal', 'white', 'yellow' }
*+±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
@@ -381,7 +381,7 @@ FUNCTION ProcessWww()
ohtm:WriteText( '<br>' )
ohtm:WriteText( '<br>' )
oHtm:WriteText( "<a NAME=" + '"' + ALLTRIM( UPPERLOWER( cFuncname ) ) + '"' + "></a>" )
oHtm:WriteText( "<a NAME=" + '"' + ALLTRIM( cFuncname ) + '"' + "></a>" )
// 2) Category
ELSEIF AT( cCat, cBuffer ) > 0
@@ -423,7 +423,7 @@ FUNCTION ProcessWww()
IF AT( cSyn, cBuffer ) > 0
if GetItem( cBuffer, nCurdoc )
oHtm:WriteParBold( " Syntax", .f., .f. )
ohtm:WriteText( '<DD><P>' )
ohtm:WriteText( '<DD>' )
nMode := D_SYNTAX
lAddBlank := .T.
lEndSyntax := .T.
@@ -431,7 +431,7 @@ end
ELSEIF AT( cConstruct, cBuffer ) > 0
if GetItem( cBuffer, nCurdoc )
oHtm:WriteParBold( " Constructor syntax", .F., .f. )
ohtm:WriteText( '<DD><P>' )
ohtm:WriteText( '<DD>' )
nMode := D_SYNTAX
lAddBlank := .T.
lEndSyntax := .T.
@@ -439,7 +439,7 @@ end
ELSEIF AT( cArg, cBuffer ) > 0
if GetItem( cBuffer, nCurdoc )
oHtm:WriteParBold( " Arguments" )
ohtm:WriteText( '<DD><P>' )
ohtm:WriteText( '<DD>' )
nMode := D_ARG
lAddBlank := .T.
@@ -452,7 +452,7 @@ end
ENDIF
oHtm:WriteParBold( " Returns" )
ohtm:WriteText( '<DD><P>' )
ohtm:WriteText( '<DD>' )
nMode := D_ARG
lAddBlank := .T.
lEndReturns := .t.
@@ -464,7 +464,7 @@ end
ENDIF
oHtm:WriteParBold( " Description" )
ohtm:WriteText( '<DD><P>' )
ohtm:WriteText( '<DD>' )
nMode := D_DESCRIPTION
lAddBlank := .T.
@@ -475,21 +475,23 @@ end
IF !lBlankLine
// oHtm:WritePar( "" )
ENDIF
oHtm:WriteParBold( " Examples" )
oHtm:WriteText( "</dl><b> Examples</b>" )
oHtm:WriteText( "<PRE>" )
nMode := D_EXAMPLE
lAddBlank := .T.
lAddEndPreTag := .T.
lWasTestExamples:=.t.
end
ELSEIF AT( cTest, cBuffer ) > 0
if GetItem( cBuffer, nCurdoc )
IF !lBlankLine
// oHtm:WritePar( "" )
ENDIF
oHtm:WriteParBold( " Tests", .t., .f. )
oHtm:WriteText( "<DD><P>" )
oHtm:WriteText( "</dl><b>Tests</b>" )
// oHtm:WriteText( "<DD>" )
nMode := D_EXAMPLE
lAddBlank := .T.
lWasTestExamples:= .t.
end
ELSEIF AT( cStatus, cBuffer ) > 0
if GetItem( cBuffer, nCurdoc )
@@ -501,7 +503,7 @@ end
// oHtm:WritePar( "" )
ENDIF
oHtm:WriteParBold( " Compliance" )
oHtm:WriteText( "<DD><P>" )
oHtm:WriteText( "<DD>" )
nMode := D_COMPLIANCE
lAddBlank := .T.
end
@@ -511,7 +513,7 @@ end
// oHtm:WritePar( "" )
ENDIF
oHtm:WriteParBold( " Platforms" )
oHtm:WriteText( "<DD><P>" )
oHtm:WriteText( "<DD>" )
nMode := D_NORMAL
lAddBlank := .T.
end
@@ -521,7 +523,7 @@ end
// oHtm:WritePar( "" )
ENDIF
oHtm:WriteParBold( " Files" )
oHtm:WriteText( "<DD><P>" )
oHtm:WriteText( "<DD>" )
nMode := D_NORMAL
lAddBlank := .T.
end
@@ -531,7 +533,7 @@ end
// oHtm:WritePar( "" )
ENDIF
oHtm:WriteParBold( " Functions" )
oHtm:WriteText( "<DD><P>" )
oHtm:WriteText( "<DD>" )
nMode := D_NORMAL
lAddBlank := .T.
end
@@ -618,7 +620,7 @@ end
lAddBlank := .F.
ENDIF
cTemp := ALLTRIM( SUBSTR( cBuffer, 1, AT( ":", cBuffer ) - 1 ) )
ohtm:WriteText( "<a href=" + cFileName + "#" + UPPERLOWER( cTemp ) + ">" + cBuffer + '</a>' )
ohtm:WriteText( "<a href=" + cFileName + "#" + cTemp + ">" + cBuffer + '</a>' )
ELSEIF nMode = D_METHODLINK
IF LEN( cBuffer ) > LONGLINE
@@ -630,7 +632,7 @@ end
lAddBlank := .F.
ENDIF
cTemp := ALLTRIM( SUBSTR( cBuffer, 1, AT( "(", cBuffer ) - 1 ) )
ohtm:WriteText( "<a href=" + cFileName + "#" + UPPERLOWER( cTemp ) + ">" + cBuffer + '</a>' )
ohtm:WriteText( "<a href=" + cFileName + "#" + cTemp + ">" + cBuffer + '</a>' )
ELSEIF nMode = D_COMPLIANCE
IF LEN( cBuffer ) > LONGLINE
@@ -642,8 +644,13 @@ end
ELSEIF nMode = D_STATUS
IF !EMPTY( cBuffer )
If lWasTestExamples
oHtm:WriteParBold( "Status",.t.,.f. )
Else
oHtm:WriteParBold( "Status" )
oHtm:WriteText( "<DD><P>" )
oHtm:WriteText( "<DD>" )
Endif
lWasTestExamples:=.f.
ENDIF
ProcStatusWww( oHtm, cBuffer )
@@ -790,15 +797,15 @@ RETURN nil
FUNCTION ProcStatusWww( nWriteHandle, cBuffer )
IF LEN( ALLTRIM( cBuffer ) ) > 1
nWriteHandle:WriteText( cBuffer )
nWriteHandle:Writepar( cBuffer )
ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "R"
nWriteHandle:WriteText( " Ready" )
nWriteHandle:Writepar( " Ready" )
ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "S"
nWriteHandle:WriteText( " Started" )
nWriteHandle:Writepar( " Started" )
ELSEIF SUBSTR( ALLTRIM( cBuffer ), 1 ) == "C"
nWriteHandle:WriteText( " Clipper" )
nWriteHandle:Writepar( " Clipper" )
ELSE
nWriteHandle:WriteText( " Not Started" )
nWriteHandle:Writepar( " Not Started" )
ENDIF
RETURN nil
@@ -858,7 +865,7 @@ FUNCTION FormatHtmBuff( cBuffer, cStyle, oHtm )
cReturn := STRTRAN( cReturn, "<par>", "" )
cReturn := STRTRAN( cReturn, "<", "&lt;" )
cReturn := STRTRAN( cReturn, ">", "&gt;" )
cReturn := AllTrim(cReturn)
creturn := '<par><b>' + creturn + ' </b></par>'
ELSEIF cStyle == 'Arguments'
@@ -980,7 +987,8 @@ FUNCTION ProchtmDesc( cBuffer, oHtm, cStyle )
LOCAL cOldLine := ''
LOCAL npos
LOCAL CurPos := 0
LOCAL lHasFixed := .F.
LOCAL CurPos := 0
LOCAL nColorPos
LOCAL ccolor := ''
LOCAL creturn := ''
@@ -1053,6 +1061,9 @@ FUNCTION ProchtmDesc( cBuffer, oHtm, cStyle )
ENDIF
IF !EMPTY( cBuffer )
// cBuffer:=SUBSTR(cBuffer,2)
cBuffer := STRTRAN( cBuffer, "<", "&lt;" )
cBuffer := STRTRAN( cBuffer, ">", "&gt;" )
cBuffeR := ALLTRIM( cBuffer )
oHtm:WritePar( cBuffer )
ENDIF
@@ -1092,17 +1103,26 @@ FUNCTION ProchtmDesc( cBuffer, oHtm, cStyle )
ENDIF
IF AT( '<fixed>', cBuffer ) > 0 .OR. cStyle = "Example"
IF AT( '<fixed>', cBuffer ) = 0 .OR. !EMPTY( cBuffer )
if AT( '<fixed>', cBuffer ) > 0
lHasFixed:=.T.
else
lHasFixed:=.F.
Endif
cBuffer := STRTRAN( cBuffer, "<par>", "" )
cBuffer := STRTRAN( cBuffer, "<fixed>", "" )
oHtm:WriteText( "<br><pre>" )
oHtm:WritePar( cBuffer )
// oHtm:WriteText( "<br>" )
if !lHasFixed
oHtm:WriteText( cBuffer )
Endif
ENDIF
DO WHILE !lendFixed
cOldLine := TRIM( SUBSTR( ReadLN( @lEof ), nCommentLen ) )
IF AT( "</fixed>", cOldLine ) > 0
lendfixed := .t.
cOldLine := STRTRAN( cOldLine, "</fixed>", "" )
cOldLine := Alltrim(STRTRAN( cOldLine, "</fixed>", "" ))
ENDIF
IF AT( DELIM, cOldLine ) = 0
cReturn += ALLTRIM( cOldLine ) + ' '
@@ -1112,11 +1132,13 @@ FUNCTION ProchtmDesc( cBuffer, oHtm, cStyle )
lEndfixed := .t.
ENDIF
IF AT( DELIM, cOldLine ) == 0
oHtm:WritePar( cOldLine )
IF AT( DELIM, cOldLine ) == 0 .and. !lendfixed
oHtm:WriteText( cOldLine )
ENDIF
ENDDO
oHtm:WriteText( "</pre><br>" )
// oHtm:WriteText( "</pre><br>" )
lHasFixed:=.f.
END
IF AT( '<table>', cBuffer ) > 0
DO WHILE !lendTable

View File

@@ -535,6 +535,7 @@ end
LONGLINE, aDirList[ i, F_NAME ] )
ENDIF
lBlankLine := EMPTY( cBuffer )
cBuffer := oOs2:DosToOs2Text(cBuffer)
IF AT( "<par>", cBuffer ) > 0
STRTRAN( cBuffer, "<par>", '' )
STRTRAN( cBuffer, "</par>", '' )
@@ -551,7 +552,7 @@ end
LONGLINE, aDirList[ i, F_NAME ] )
ENDIF
lBlankLine := EMPTY( cBuffer )
oOs2:DosToOs2Text(cBuffer)
procos2desc( cbuffer, oOs2, "Arguments" )
ELSEIF nMode = D_ARG
@@ -560,6 +561,7 @@ end
LONGLINE, aDirList[ i, F_NAME ] )
ENDIF
lBlankLine := EMPTY( cBuffer )
oOs2:DosToOs2Text(cBuffer)
procos2desc( cbuffer, oOs2, "Arguments" )
ELSEIF nMode = D_NORMAL
IF LEN( cBuffer ) > LONGLINE
@@ -567,6 +569,7 @@ end
LONGLINE, aDirList[ i, F_NAME ] )
ENDIF
lBlankLine := EMPTY( cBuffer )
oOs2:DosToOs2Text(cBuffer)
procos2desc( cBuffer, oOs2 )
ELSEIF nMode = D_DATALINK
IF LEN( cBuffer ) > LONGLINE
@@ -611,6 +614,7 @@ end
LONGLINE, aDirList[ i, F_NAME ] )
ENDIF
lBlankLine := EMPTY( cBuffer )
oOs2:DosToOs2Text(cBuffer)
procos2desc( cBuffer, oOs2, "Compliance" )
ELSEIF nMode = D_DESCRIPTION
@@ -619,6 +623,7 @@ end
LONGLINE, aDirList[ i, F_NAME ] )
ENDIF
lBlankLine := EMPTY( cBuffer )
oOs2:DosToOs2Text(cBuffer)
procos2desc( cBuffer, oOs2, "Description" )
ELSEIF nMode = D_EXAMPLE
@@ -632,13 +637,14 @@ end
oOs2:WritePar( "" ) //:endpar()
lAddBlank := .F.
ENDIF
oOs2:DosToOs2Text(cBuffer)
procos2desc( cBuffer, oOs2, "Example" )
ELSEIF nMode = D_STATUS
IF !EMPTY( cBuffer )
oOs2:WriteParBold( "Status" )
ENDIF
oOs2:DosToOs2Text(cBuffer)
ProcStatusOs2( oOs2, cBuffer )
ELSE
@@ -1011,6 +1017,7 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle )
ENDIF
IF AT( '<par>', cBuffer ) > 0 .AND. AT( '</par>', cBuffer ) > 0
cBuffer := STRTRAN( cBuffer, '<par>', '' )
cBuffer := STRTRAN( cBuffer, '<b>', ':hp2. ' )
cBuffer := STRTRAN( cBuffer, '</b>', ':ehp2. ' )
@@ -1032,7 +1039,7 @@ FUNCTION Procos2Desc( cBuffer, oOs2, cStyle )
ENDIF
IF !EMPTY( cBuffer )
cBuffer := SUBSTR( cBuffer, 2 )
oOs2:WritePar( cBuffer )
oOs2:Writetext( cBuffer )
ENDIF
ELSEIF cStyle == "Arguments"

View File

@@ -254,7 +254,7 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
CLEAR SCREEN
SET CURSOR OFF
ReadLinkFile( cLinkName )
if lNgi
cCompiler := fill_Link_info( cLinkName )
endif
@@ -267,6 +267,7 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
IF EMPTY( DIRECTORY( "rtf.*", "D" ) )
FT_MKDIR( "rtf" )
ENDIF
ReadLinkFile( cLinkName )
ELSEIF lWww
IF EMPTY( DIRECTORY( "htm.*", "D" ) )
FT_MKDIR( "htm" )
@@ -280,6 +281,7 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
IF EMPTY( DIRECTORY( "ngi.*", "D" ) )
FT_MKDIR( "ngi" )
ENDIF
ReadLinkFile( cLinkName )
ELSEIF lTroff
IF EMPTY( DIRECTORY( "tr.*", "D" ) )
FT_MKDIR( "tr" )
@@ -453,14 +455,14 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
aadd(aMetaContents,{'Keywords',"Harbour project, Clipper, xBase, database, Free Software, GNU, compiler, cross platform, 32-bit, FiveWin,"+cItem})
ohtm:=THTML():new('htm\hb'+strtran(citem," ","")+'.htm',aMetaContents)
ohtm:WriteText('<h2>'+adocinfo[1,1]+'</h2><br>')
ohtm:WriteText("<ul>")
ohtm:WriteText("<pre><ul>")
for ppp:=1 to len(adocinfo)
if citem ==adocinfo[ppp,1]
oHtm:Writelink(adocinfo[ppp,4],UpperLower(adocinfo[ppp,2]))
oHtm:Writelink(adocinfo[ppp,4],pad(adocinfo[ppp,2],21)+adocinfo[ppp,3])
else
ohtm:WriteText("</ul>")
ohtm:WriteText("</ul></pre>")
ohtm:close()
citem:=adocinfo[ppp,1]
aMetaContents:={}
@@ -471,8 +473,8 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
// oHtm:WriteMetaTag('Keywords',"Harbour project, Clipper, xBase, database, Free Software, GNU, compiler, cross platform, 32-bit, FiveWin,"+cItem)
ohtm:WriteText('<h2>'+adocinfo[ppp,1]+'</h2><br>')
ohtm:WriteText("<ul>")
oHtm:Writelink(adocinfo[ppp,4],UpperLower(adocinfo[ppp,2]))
ohtm:WriteText("<pre><ul>")
oHtm:Writelink(adocinfo[ppp,4],pad(adocinfo[ppp,2],21)+adocinfo[ppp,3])
endif
next
if ppp>len(adocinfo)
@@ -518,60 +520,23 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
ohtm1:writetext('</ul>')
ohtm1:close()
/*
oHtm := THTML():New( "htm\harbour.htm" )
/*
ASORT( awww,,, { | x, y | x[ 1 ] < y[ 1 ] } )
FOR nPos := 1 TO LEN( aWww )
cTemp := aWww[ nPos, 1 ]
IF LEFT( cTemp, 1 ) >= "A" .AND. LEFT( cTemp, 1 ) < "N" .AND. AT( "()", cTemp ) > 0
oHtm:WriteLink( LOWER( aWww[ nPos, 2 ] ), UpperLower( aWww[ nPos, 1 ] ) )
ENDIF
NEXT
FOR nPos := 1 TO LEN( aWww )
cTemp := aWww[ nPos, 1 ]
IF LEFT( cTemp, 1 ) >= "N" .AND. LEFT( cTemp, 1 ) < "_" .AND. AT( "()", cTemp ) > 0
oHtm:WriteLink( LOWER( aWww[ nPos, 2 ] ), UpperLower( aWww[ nPos, 1 ] ) )
ENDIF
NEXT
oHtm:WriteText( "</ul>" )
oHtm:Writetext( "<h2>Commands</h2>" )
oHtm:WriteText( "<UL>" )
FOR nPos := 1 TO LEN( aWww )
cTemp := aWww[ nPos, 1 ]
IF AT( "()", cTemp ) == 0 .AND. ctemp <> "LICENSE" .AND. cTemp <> "OVERVIEW" .AND. cTemp <> "Compiler Options" ;
.AND. UPPER( LEFT( ctemp, 4 ) ) <> "BASE" .AND. UPPER( LEFT( cTemp, 4 ) ) <> "TERM" .AND. UPPER( LEFT( cTemp, 5 ) ) <> "TOOLS"
oHtm:WriteLink( LOWER( aWww[ nPos, 2 ] ), UpperLower( aWww[ nPos, 1 ] ) )
ENDIF
NEXT
oHtm:WriteText( "</ul>" )
oHtm:WriteText( "<h2>Run Time Error</h2>" )
oHtm:WriteText( "<ul>" )
FOR nPos := 1 TO LEN( aWww )
cTemp := aWww[ nPos, 1 ]
IF AT( "()", cTemp ) == 0 .AND. UPPER( LEFT( ctemp, 4 ) ) == "BASE" .OR. UPPER( LEFT( cTemp, 4 ) ) == "TERM" .OR. UPPER( LEFT( cTemp, 5 ) ) == "TOOLS"
oHtm:WriteLink( LOWER( aWww[ nPos, 2 ] ), UpperLower( aWww[ nPos, 1 ] ) )
ENDIF
NEXT
oHtm:WriteText( "</ul>" )
*/
oHtm:Close()
ELSEIF lChm
nHpj := FCREATE( 'chm\'+lower(substr(cLinkName,1,AT(".",cLinkName)-1)) +".hhp" )
FWRITE( nHpj, '[OPTIONS]' + CRLF )
FWRITE( nHpj, 'Compatibility=1.1 or later'+CRLF)
FWRITE( nHpj, 'Auto Index=Yes'+CRLF)
FWRITE( nHpj, 'Language=0x416 Português (brasileiro)' + CRLF )
FWRITE( nHpj, 'compiled file=.\'+ lower(substr(cLinkName,1,AT(".",cLinkName)-1)) +".chm"+ CRLF )
FWRITE( nHpj, 'Contents file=.\'+ lower(substr(cLinkName,1,AT(".",cLinkName)-1)) +".hhc"+ CRLF )
FWRITE( nHpj, 'Compiled file=.\'+ lower(substr(cLinkName,1,AT(".",cLinkName)-1)) +".chm"+ CRLF )
FWRITE( nHpj, 'Display compile progress=No'+CRLF)
nPos:=aScan(awww,{|x| Upper(x[1])="OVERVIEW"})
if nPos > 0
FWRITE( nHpj,'Default topic='+awww[npos,2]+CRLF)
FWRITE( nHpj,'Default topic='+ lower(awww[npos,2])+".htm"+CRLF)
Else
FWRITE( nHpj,'Default topic='+awww[1,2]+CRLF)
FWRITE( nHpj,'Default topic='+lower(awww[1,2]) +".htm"+CRLF)
Endif
FWRITE( nHpj, '[FILES]' + CRLF )
For nPos:=1 to len(aWww)
@@ -579,6 +544,94 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
Next
FCLOSE( nHpj )
ohtm:=THTML():NewContent('chm\'+lower(substr(cLinkName,1,AT(".",cLinkName)-1)) +".hhc")
ohtm:WriteText('<!--Sitemap 1.0-->')
ohtm:Addobject("text/site properties")
ohtm:EndObject()
ohtm:WriteText("<ul>")
oHtm:ListItem()
oHtm:AddObject("text/sitemap")
oHTm:AddParam('Name','HARBOUR')
ohtm:EndObject()
ohtm:WriteText("<ul>")
oHtm:ListItem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name","Harbour Read me")
oHtm:AddParam("Local","overview.htm")
oHtm:EndObject()
OHTM:WriteChmLink('overview.htm',"Harbour Read me")
oHtm:ListItem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name","Harbour License")
oHtm:AddParam("Local","license.htm")
oHtm:EndObject()
OHTM:WriteChmLink('license.htm',"Harbour License")
oHtm:ListItem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name","GNU License")
oHtm:AddParam("Local","http://www.gnu.org/copyleft/gpl.html")
oHtm:EndObject()
OHTM:WriteChmLink('http://www.gnu.org/copyleft/gpl.html',"GNU License")
oHtm:ListItem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name","Compiler Options")
oHtm:AddParam("Local","compileroptions.htm")
oHtm:EndObject()
OHTM:WriteChmLink('compileroptions.htm',"Compiler Options")
oHtm:ListItem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name","Harbour Extensions")
oHtm:AddParam("Local","harbourextensions.htm")
oHtm:EndObject()
OHTM:WriteChmLink('harbourextensions.htm',"Harbour Extensions")
oHtm:WriteText( "</UL>" )
asort(adocinfo,,,{|x,y| x[1]+x[2]<y[1]+y[2]})
do while .t.
citem:=adocinfo[1,1]
oHtm:WriteText( "<UL>" )
oHtm:Listitem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name",adocinfo[1,1])
oHtm:EndObject()
ohtm:WriteText("<ul>")
for ppp:=1 to len(adocinfo)
if citem ==adocinfo[ppp,1]
oHtm:Listitem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name",UpperLower(aDocinfo[ppp,2]))
oHtm:AddParam("Local",lower(aDocInfo[ppp,4]))
oHtm:EndObject()
oHtm:WriteChmlink(lower(adocinfo[ppp,4]),adocinfo[ppp,2])
else
ohtm:WriteText("</ul>")
citem:=adocinfo[ppp,1]
oHtm:Listitem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name",adocinfo[ppp,1])
oHtm:EndObject()
ohtm:WriteText("<ul>")
oHtm:Listitem()
oHtm:AddObject("text/sitemap")
oHtm:AddParam("Name",UpperLower(aDocinfo[ppp,2]))
oHtm:AddParam("Local",lower(aDocInfo[ppp,4]))
oHtm:EndObject()
oHtm:WriteChmlink(lower(adocinfo[ppp,4]),adocinfo[ppp,2])
endif
next
if ppp>len(adocinfo)
exit
endif
enddo
ohtm:WriteText("</ul>")
ohtm:close()
ELSEIF lNgi
SET ALTERNATE TO "assembl.bat" ADDITIVE
SET ALTERNATE ON

View File

@@ -53,7 +53,8 @@ CLASS THTML
METHOD WriteTitle( cTitle )
METHOD WritePar( cPar )
METHOD WriteParBold( cPar )
METHOD WriteLink( cLink )
METHOD WriteLink( cLink ,cName)
METHOD WriteChmLink( cLink ,cName)
METHOD WriteText( cText )
METHOD WriteMetaTag(cTag,cDescription)
METHOD CLOSE()
@@ -63,12 +64,12 @@ CLASS THTML
METHOD ADDPARAM(cName,cValue)
METHOD EndOBJect()
METHOD NewContent(cFile)
METHOD ListItem()
ENDCLASS
METHOD New( cFile,aMetaContents ) CLASS THTML
Local nCount
? Valtype(aMetaContents)
IF Nx > 0
FCLOSE( NX )
ENDIF
@@ -112,13 +113,13 @@ METHOD WriteParBold( cPar, lEndDl, lPar ) CLASS THTML
DEFAULT lEnddl TO .T.
DEFAULT lPar TO .T.
IF lEndDl .AND. lPar
FWRITE( Self:nHandle, "</P></dd>" + CRLF + "</DL>" + CRLF + "<DL>" + CRLF + "<dt><b>" + ALLTRIM( cPar ) + '</b></dt>' + CRLF )
FWRITE( Self:nHandle, "</P></dd>" + CRLF + "</DL>" + CRLF + "<DL>" + CRLF + "<dt><b>" + ALLTRIM( cPar ) + '</b></dt><p>' + CRLF )
ELSEIF !lPar .AND. !lEnddl
FWRITE( Self:nHandle, '<DL>' + CRLF + "<dt><b>" + ALLTRIM( cPar ) + '</b></dt>' + CRLF )
FWRITE( Self:nHandle, '<DL>' + CRLF + "<dt><b>" + ALLTRIM( cPar ) + '</b></dt><p>' + CRLF )
ELSEIF !lPar .AND. lEnddl
FWRITE( Self:nHandle, "</PRE></dd>" + CRLF + "</DL>" + CRLF + "<DL>" + CRLF + "<dt><b>" + ALLTRIM( cPar ) + '</b></dt>' + CRLF )
FWRITE( Self:nHandle, "</PRE></dd>" + CRLF + "</DL>" + CRLF + "<DL>" + CRLF + "<dt><b>" + ALLTRIM( cPar ) + '</b></dt><p>' + CRLF )
ELSEIF lPar .AND. !lEnddl
FWRITE( Self:nHandle, "</P></dd>" + CRLF + "<DL>" + CRLF + "<dt><b>" + ALLTRIM( cPar ) + '</b></dt>' + CRLF )
FWRITE( Self:nHandle, "</P></dd>" + CRLF + "<DL>" + CRLF + "<dt><b>" + ALLTRIM( cPar ) + '</b></dt><p>' + CRLF )
ENDIF
RETURN Self
@@ -166,7 +167,6 @@ return Self
METHOD NewChm( cFile ,aMetaContents,cFuncName) CLASS THTML
Local nCount
? Valtype(aMetaContents)
IF Nx > 0
FCLOSE( NX )
ENDIF
@@ -191,10 +191,10 @@ METHOD NewChm( cFile ,aMetaContents,cFuncName) CLASS THTML
RETURN Self
method ADDOBJECT(cType,cClassId) Class THTML
IF VALTYPE(cClassId)<>NIL
IF VALTYPE(cClassId)<>NIL .and. VALTYPE(cClassId)=="C"
FWRITE( Self:nHandle,'<OBJECT TYPE="'+cType+'" CLASSID="'+cClassId+'">'+CRLF)
ELSE
FWRITE( Self:nHandle,'<OBJECT TYPE="'+cType+'">'+CRLF)
FWRITE( Self:nHandle,'<OBJECT TYPE="'+ cType +'">'+CRLF)
ENDIF
RETURN Self
METHOD ENDOBJECT() Class THTML
@@ -218,4 +218,33 @@ METHOD NewContent( cFile ) CLASS THTML
nX := Self:nHandle
FWRITE( Self:nHandle, "<HTML>" + CRLF )
RETURN Self
METHOD ListItem() CLASS tHtml
FWRITE( Self:nHandle, "<LI>" )
RETURN SELF
METHOD WriteChmLink( cLink, cName ) CLASS THTML
LOCAL nPos
LOCAL cTemp := ''
nPos := AT( "()", cLink )
IF nPos > 0
if AT(".htm",cLink)=0
cTemp := SUBSTR( cLink, 1, nPos - 1 ) + '.htm'
else
cTemp := SUBSTR( cLink, 1, nPos - 1 )
endif
ELSE
if AT(".htm",cLink)=0
cTemp := ALLTRIM( cLink ) + '.htm'
else
cTemp := ALLTRIM( cLink )
endif
ENDIF
IF cName != Nil
cLink := cName
ENDIF
cTemp := STRTRAN( cTemp, " ", "" )
FWRITE( Self:nHandle, "<a href=" + LOWER( cTemp ) + ">" + cLink + "</a><br>" + CRLF )
Return Self
*+ EOF: HTML.PRG

View File

@@ -138,7 +138,7 @@ RETURN Self
METHOD WriteParBold( cPar ) CLASS TOs2
FWRITE( Self:nHandle, ':p.:hp2.' + ALLTRIM( cPar ) + CRLF + ':ehp2.' + CRLF )
FWRITE( Self:nHandle, ':p.:hp2.' + ALLTRIM( cPar ) + ':ehp2.' + CRLF )
RETURN Self
@@ -148,16 +148,19 @@ METHOD WriteTitle( cTopic, cTitle ) CLASS TOs2
LOCAL nPos
LOCAL cWrite
LOCAL nItem
cTopic := ALLTRIM( cTopic )
IF Self:Scanlink( cTopic ) == 0
nItem := ASCAN( Self:aLinkRef, { | a | a[ 1 ] == cTopic } )
nItem := ASCAN( Self:aLinkRef, { | a | upper(a[ 1 ]) == upper(cTopic )} )
ELSE // Just in case that nItem>0 so the Link is already referenced
nItem := ASCAN( Self:aLinkRef, { | a | a[ 1 ] == cTopic } )
nItem := ASCAN( Self:aLinkRef, { | a | upper(a[ 1 ]) == upper(cTopic) } )
ENDIF
FWRITE( Self:nHandle, ':h1 res=' + ALLTRIM( STR( nItem ) ) + '.' + cTopic + CRLF )
FWRITE( Self:nHandle, ':i1 id=' + UPPER( cTopic ) + "." + UPPER( cTopic ) + CRLF )
cTopic := ::DosToOs2Text(cTopic)
cTitle := ::DosToOs2Text(cTitle)
FWRITE( Self:nHandle, ":p." + cTitle + CRLF )
RETURN Self
@@ -175,9 +178,9 @@ METHOD WriteLink( cLink ) CLASS TOs2
LOCAL nItem
IF Self:Scanlink( cLink ) == 0
nItem := ASCAN( Self:aLinkRef, { | a | a[ 1 ] == cLink } ) // Again.
nItem := ASCAN( Self:aLinkRef, { | a | upper(a[ 1 ]) == upper(cLink) } ) // Again.
ELSE
nItem := ASCAN( Self:aLinkRef, { | a, b | a[ 1 ] == cLink } )
nItem := ASCAN( Self:aLinkRef, { | a, b | upper(a[ 1 ]) == upper(cLink) } )
ENDIF
@@ -196,10 +199,10 @@ METHOD ScanLink( cLink ) CLASS TOs2
LOCAL nItem
LOCAL nReturn
nItem := ASCAN( Self:aLinkRef, { | a, b | a[ 1 ] == cLink } )
nItem := ASCAN( Self:aLinkRef, { | a, b | Upper(a[ 1 ] )== upper(cLink) } )
IF nItem == 0
AADD( Self:aLinkRef, { cLink, Self:nRef } )
AADD( Self:aLinkRef, { upper(cLink), Self:nRef } )
Self:nRef ++
ENDIF
@@ -208,10 +211,23 @@ RETURN nItem
METHOD DosToOs2Text( cText ) CLASS TOs2
LOCAL cReturn
cReturn := STRTRAN( cText, '"', "&cdq." )
cReturn := STRTRAN( cText, '&', "&amp." )
cReturn := STRTRAN( cReturn, '"', "&cdq." )
cReturn := STRTRAN( cReturn, ':', "&colon." )
cReturn := STRTRAN( cReturn, ',', "&comma." )
cReturn := STRTRAN( cReturn, '_', "&us." )
cReturn := STRTRAN( cReturn, '~', "&tilde." )
cReturn := STRTRAN( cReturn, '|', "&splitvbar." )
cReturn := STRTRAN( cReturn, '/', "&slash." )
cReturn := STRTRAN( cReturn, ';', "&semi." )
cReturn := STRTRAN( cReturn, ')', "&rpar." )
cReturn := STRTRAN( cReturn, ']', "&rbrk.." )
cReturn := STRTRAN( cReturn, '}', "&rbrc." )
cReturn := STRTRAN( cReturn, '(', "&lpar." )
cReturn := STRTRAN( cReturn, '[', "&lbrk." )
cReturn := STRTRAN( cReturn, '{', "&lbrc." )
cReturn := STRTRAN( cReturn, '=', "&eq." )
cReturn := STRTRAN( cReturn, '$', "&dollar." )
RETURN cReturn