From c1e57c70af4d7cc82a20c68f990b4845839de4fa Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 27 Jan 2015 00:26:17 +0000 Subject: [PATCH] wikiconvert: started fpdoc project file git-svn-id: trunk@47541 - --- components/wiki/lazwiki/wiki2fpdocconvert.pas | 48 +++++++++++++++++++ components/wiki/lazwiki/wikiformat.pas | 4 ++ components/wiki/wikiconvert.lpr | 24 ++++++++++ 3 files changed, 76 insertions(+) diff --git a/components/wiki/lazwiki/wiki2fpdocconvert.pas b/components/wiki/lazwiki/wiki2fpdocconvert.pas index bb84f27498..d7e3ee4ce8 100644 --- a/components/wiki/lazwiki/wiki2fpdocconvert.pas +++ b/components/wiki/lazwiki/wiki2fpdocconvert.pas @@ -111,6 +111,7 @@ type procedure SavePage(Page: TW2FPDocPage); procedure SetPackageName(AValue: string); procedure SetRootName(AValue: string); + procedure SaveProject; public constructor Create; override; procedure Convert; override; @@ -285,6 +286,52 @@ begin FRootName:=AValue; end; +procedure TWiki2FPDocConverter.SaveProject; +var + sl: TStringList; + Filename: String; + i: Integer; +begin + Filename:=AppendPathDelim(OutputDir)+PackageName+'.xml'; + sl:=TStringList.Create; + try + sl.Add(''); + sl.Add(''); + sl.Add(' '); + sl.Add(' '); + sl.Add(' '); + // chm + //sl.Add(' '); + // html + sl.Add(' '); + sl.Add(' '); + sl.Add(' '); + sl.Add(' '); + for i:=0 to Count-1 do + sl.Add(' '); + sl.Add(' '); + sl.Add(' '); + sl.Add(''); + + sl.SaveToFile(Filename); + if not Quiet then + debugln(['fpdoc project file: ',Filename]); + finally + sl.Free; + end; +end; + procedure TWiki2FPDocConverter.ConvertPage(Page: TW2FPDocPage); var doc: TXMLDocument; @@ -371,6 +418,7 @@ begin // save for i:=0 to Count-1 do SavePage(TW2FPDocPage(Pages[i])); + SaveProject; end; end. diff --git a/components/wiki/lazwiki/wikiformat.pas b/components/wiki/lazwiki/wikiformat.pas index fa91cccc5d..bc8ee216b9 100644 --- a/components/wiki/lazwiki/wikiformat.pas +++ b/components/wiki/lazwiki/wikiformat.pas @@ -60,7 +60,9 @@ type FCodeTags: TKeyWordFunctionList; FNoWarnBaseURLs: TStringToStringTree; FOnLog: TWikiOnLog; + FQuiet: boolean; FTitle: string; + FVerbose: boolean; FWarnMissingPageLinks: boolean; procedure SetTitle(AValue: string); protected @@ -94,6 +96,8 @@ type property CodeTags: TKeyWordFunctionList read FCodeTags write FCodeTags; function CollectAllLangCodes(Delimiter: char = ','): string; procedure GetPageTranslations(DocumentName: string; out LangToPage: TStringToPointerTree); + property Verbose: boolean read FVerbose write FVerbose; + property Quiet: boolean read FQuiet write FQuiet; end; function WikiPageToFilename(DocumentName: string; IsInternalLink, AppendCaseID: boolean): string; diff --git a/components/wiki/wikiconvert.lpr b/components/wiki/wikiconvert.lpr index b4c9bf65ed..ff6490a35c 100644 --- a/components/wiki/wikiconvert.lpr +++ b/components/wiki/wikiconvert.lpr @@ -37,7 +37,11 @@ type FFPDocConverter: TWiki2FPDocConverter; FHTMLConverter: TWiki2HTMLConverter; FLanguageTags: TKeyWordFunctionList; + FQuiet: boolean; + FVerbose: boolean; FXHTMLConverter: TWiki2XHTMLConverter; + procedure SetQuiet(AValue: boolean); + procedure SetVerbose(AValue: boolean); procedure Test; protected procedure DoRun; override; @@ -53,6 +57,8 @@ type property CHMConverter: TWiki2CHMConverter read FCHMConverter; property Converter: TWiki2FormatConverter read FConverter; property LanguageTags: TKeyWordFunctionList read FLanguageTags; + property Verbose: boolean read FVerbose write SetVerbose; + property Quiet: boolean read FQuiet write SetQuiet; end; { TMyApplication } @@ -253,6 +259,22 @@ begin Halt; end; +procedure TWiki2FPDocApplication.SetQuiet(AValue: boolean); +begin + if FQuiet=AValue then Exit; + FQuiet:=AValue; + if Converter<>nil then + Converter.Quiet:=Quiet; +end; + +procedure TWiki2FPDocApplication.SetVerbose(AValue: boolean); +begin + if FVerbose=AValue then Exit; + FVerbose:=AValue; + if Converter<>nil then + Converter.Verbose:=Verbose; +end; + constructor TWiki2FPDocApplication.Create(TheOwner: TComponent); begin inherited Create(TheOwner); @@ -289,6 +311,8 @@ begin writeln(' --imagesdir= : directory of image files. default: ',Converter.ImagesDir); writeln(' --title= : the title of the wiki. default: "',Converter.Title,'"'); writeln(' --nowarnurl= : do not warn for URLs starting with this. Can be given multiple times.'); + writeln(' --verbose'); + writeln(' --quiet'); writeln(' : wiki page in xml format, can be given multiple times'); writeln(' Duplicates are ignored.'); writeln(' You can use globbing, like "wikixml/*.xml". You must quote such parameters on console/shell.');