From f1db695809e6e10fb92acc7ae1162c07b21c91e8 Mon Sep 17 00:00:00 2001 From: michael Date: Mon, 28 Dec 2020 13:55:22 +0000 Subject: [PATCH] * Move chm writer to separate unit git-svn-id: trunk@47868 - --- .gitattributes | 2 +- utils/fpdoc/{dw_htmlchm.inc => dw_chm.pp} | 34 +++++++++++++++-------- utils/fpdoc/dw_html.pp | 15 ++++------ utils/fpdoc/fpdoc.pp | 2 ++ 4 files changed, 32 insertions(+), 21 deletions(-) rename utils/fpdoc/{dw_htmlchm.inc => dw_chm.pp} (96%) diff --git a/.gitattributes b/.gitattributes index 64ab1de014..ee6c0feee0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -19286,9 +19286,9 @@ utils/fpdoc/Makefile.fpc.fpcmake svneol=native#text/plain utils/fpdoc/README.txt svneol=native#text/plain utils/fpdoc/css.inc svneol=native#text/plain utils/fpdoc/dglobals.pp svneol=native#text/plain +utils/fpdoc/dw_chm.pp svneol=native#text/plain utils/fpdoc/dw_dxml.pp svneol=native#text/plain utils/fpdoc/dw_html.pp svneol=native#text/plain -utils/fpdoc/dw_htmlchm.inc svneol=native#text/plain utils/fpdoc/dw_ipflin.pas svneol=native#text/plain utils/fpdoc/dw_latex.pp svneol=native#text/plain utils/fpdoc/dw_linrtf.pp svneol=native#text/plain diff --git a/utils/fpdoc/dw_htmlchm.inc b/utils/fpdoc/dw_chm.pp similarity index 96% rename from utils/fpdoc/dw_htmlchm.inc rename to utils/fpdoc/dw_chm.pp index 5f40b5ef43..d12c646e4e 100644 --- a/utils/fpdoc/dw_htmlchm.inc +++ b/utils/fpdoc/dw_chm.pp @@ -1,5 +1,10 @@ -{%mainunit dw_html} -{$IFDEF chmInterface} +unit dw_chm; + +interface + +uses Classes, DOM, DOM_HTML, + dGlobals, PasTree, dwriter, dw_html, ChmWriter, chmtypes; + type { TFpDocChmWriter } @@ -42,7 +47,10 @@ type Class Function FileNameExtension : String; override; Class procedure SplitImport(var AFilename, ALinkPrefix: String); override; end; -{$ELSE} // implementation + +implementation + +uses SysUtils, HTMWrite, chmsitemap; { TFpDocChmWriter } @@ -470,7 +478,7 @@ var i: Integer; PageDoc: TXMLDocument; FileStream: TMemoryStream; - FileName: String; + IFileName,FileName: String; FilePath: String; begin FileName := Engine.Output; @@ -520,16 +528,16 @@ begin //write any found images to CHM stream FileStream := TMemoryStream.Create; - for i := 0 to FImageFileList.Count - 1 do + for iFilename in ImageFileList do begin -{$ifdef imagetest} DoLog(' adding image: '+FImageFileList[i]); {$endif} - if FileExists(FImageFileList[i]) then +{$ifdef imagetest} DoLog(' adding image: '+iFileName); {$endif} + if FileExists(iFileName) then begin {$ifdef imagetest} DoLog(' - found'); {$endif} - FileName := ExtractFileName(FImageFileList[i]); - FilePath := '/'+FixHTMLpath(ExtractFilePath(FImageFileList[i])); + FileName := ExtractFileName(iFileName); + FilePath := '/'+FixHTMLpath(ExtractFilePath(iFileName)); - FileStream.LoadFromFile(FImageFileList[i]); + FileStream.LoadFromFile(iFileName); FChm.AddStreamToArchive(FileName, FilePath, FileStream, True); FileStream.Size := 0; end @@ -629,4 +637,8 @@ begin end; end; -{$ENDIF} +initialization + RegisterWriter(TCHMHTMLWriter,'chm','Compressed HTML file output using fpdoc.css stylesheet.'); +finalization + UnRegisterWriter('chm'); +end. diff --git a/utils/fpdoc/dw_html.pp b/utils/fpdoc/dw_html.pp index 0b54723114..bfeffefd7a 100644 --- a/utils/fpdoc/dw_html.pp +++ b/utils/fpdoc/dw_html.pp @@ -19,7 +19,7 @@ unit dw_html; {$WARN 5024 off : Parameter "$1" not used} interface -uses Classes, DOM, DOM_HTML, dGlobals, PasTree, dWriter, ChmWriter, chmtypes; +uses Classes, DOM, DOM_HTML, dGlobals, PasTree, dWriter; const // Subpage indices for modules @@ -273,16 +273,15 @@ type Property IndexColCount : Integer Read FIndexColCount write FIndexColCount; Property BaseImageURL : String Read FBaseImageURL Write FBaseImageURL; Property UseMenuBrackets : Boolean Read FUseMenuBrackets write FUseMenuBrackets; + Property ImageFileList : TStrings Read FImageFileList; end; - {$DEFINE chmInterface} - {$I dw_htmlchm.inc} - {$UNDEF chmInterface} + +Function FixHTMLpath(S : String) : STring; implementation -uses SysUtils, XMLRead, HTMWrite, sh_pas, fpdocclasstree, - chmsitemap; +uses SysUtils, XMLRead, HTMWrite, sh_pas, fpdocclasstree; {$i css.inc} {$i plusimage.inc} @@ -294,7 +293,6 @@ begin Result:=StringReplace(S,'\','/',[rfReplaceAll]); end; -{$I dw_htmlchm.inc} procedure TFileAllocator.AllocFilename(AElement: TPasElement; ASubindex: Integer); @@ -3955,9 +3953,8 @@ end; initialization // Do not localize. RegisterWriter(THTMLWriter,'html','HTML output using fpdoc.css stylesheet.'); - RegisterWriter(TCHMHTMLWriter,'chm','Compressed HTML file output using fpdoc.css stylesheet.'); finalization UnRegisterWriter('html'); - UnRegisterWriter('chm'); + end. diff --git a/utils/fpdoc/fpdoc.pp b/utils/fpdoc/fpdoc.pp index 64ba449dec..36db342996 100644 --- a/utils/fpdoc/fpdoc.pp +++ b/utils/fpdoc/fpdoc.pp @@ -31,6 +31,8 @@ uses dw_XML, // XML writer dw_dxml, // Delphi XML doc. dw_HTML, // HTML writer + dw_chm, // CHM Writer + // dw_markdown, // Markdown writer dw_ipflin, // IPF writer (new linear output) dw_man, // Man page writer dw_linrtf, // linear RTF writer