mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-15 01:19:29 +02:00
wiki: Fix internal links within chm files if filename contains illegal characters; fix icon of wiki template in chm file.
git-svn-id: trunk@49359 -
This commit is contained in:
parent
3d4af7e38c
commit
2a0abb0f98
@ -70,6 +70,7 @@ type
|
|||||||
procedure WriteIndexToStream(aStream: TStream);
|
procedure WriteIndexToStream(aStream: TStream);
|
||||||
procedure OnWriterLastFileAdded(Sender: TObject);
|
procedure OnWriterLastFileAdded(Sender: TObject);
|
||||||
function GetImageLink(ImgFilename: string): string; override;
|
function GetImageLink(ImgFilename: string): string; override;
|
||||||
|
function GetInternalImageLink(ImgFilename: String): String; override;
|
||||||
function GetPageLink(Page: TW2XHTMLPage): string; override;
|
function GetPageLink(Page: TW2XHTMLPage): string; override;
|
||||||
procedure SaveAllPages; override;
|
procedure SaveAllPages; override;
|
||||||
public
|
public
|
||||||
@ -206,9 +207,15 @@ begin
|
|||||||
Result:=CHMImagesDir+ExtractFileName(ImgFilename);
|
Result:=CHMImagesDir+ExtractFileName(ImgFilename);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TWiki2CHMConverter.GetInternalImageLink(ImgFilename: String): String;
|
||||||
|
begin
|
||||||
|
Result := CHMImagesDir + 'internal/' + ExtractFilename(ImgFilename);
|
||||||
|
end;
|
||||||
|
|
||||||
function TWiki2CHMConverter.GetPageLink(Page: TW2XHTMLPage): string;
|
function TWiki2CHMConverter.GetPageLink(Page: TW2XHTMLPage): string;
|
||||||
begin
|
begin
|
||||||
Result:=Page.WikiDocumentName+'.html';
|
// Result:=Page.WikiDocumentName+'.html';
|
||||||
|
Result :=Page.Filename;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TWiki2CHMConverter.SetCHMFile(AValue: string);
|
procedure TWiki2CHMConverter.SetCHMFile(AValue: string);
|
||||||
|
@ -81,6 +81,7 @@ type
|
|||||||
procedure OnWikiToken(Token: TWPToken); virtual;
|
procedure OnWikiToken(Token: TWPToken); virtual;
|
||||||
procedure RaiseNodeNotOpen(Token: TWPToken);
|
procedure RaiseNodeNotOpen(Token: TWPToken);
|
||||||
function GetImageLink(ImgFilename: string): string; virtual;
|
function GetImageLink(ImgFilename: string): string; virtual;
|
||||||
|
function GetInternalImageLink(ImgFilename: string): string; virtual;
|
||||||
function FindImage(const ImgFilename: string): string; virtual;
|
function FindImage(const ImgFilename: string): string; virtual;
|
||||||
procedure MarkImageAsUsed(const ImgFilename: string; Page: TW2XHTMLPage); virtual;
|
procedure MarkImageAsUsed(const ImgFilename: string; Page: TW2XHTMLPage); virtual;
|
||||||
function GetPageLink(Page: TW2XHTMLPage): string; virtual;
|
function GetPageLink(Page: TW2XHTMLPage): string; virtual;
|
||||||
@ -845,9 +846,9 @@ begin
|
|||||||
Node.AppendChild(childnode1);
|
Node.AppendChild(childnode1);
|
||||||
childnode1.SetAttribute('class', 'icon');
|
childnode1.SetAttribute('class', 'icon');
|
||||||
if FUseTemplateIcons then begin
|
if FUseTemplateIcons then begin
|
||||||
fn := FindImage('internal\'+iconfile);
|
fn := FindImage('internal/'+iconfile);
|
||||||
if fn <> '' then
|
if fn <> '' then
|
||||||
fn := GetImageLink(fn);
|
fn := GetInternalImageLink(fn);
|
||||||
MarkImageAsUsed(fn, Page);
|
MarkImageAsUsed(fn, Page);
|
||||||
childnode2 := doc.CreateElement('img');
|
childnode2 := doc.CreateElement('img');
|
||||||
childnode2.SetAttribute('src', fn);
|
childnode2.SetAttribute('src', fn);
|
||||||
@ -922,6 +923,11 @@ begin
|
|||||||
Result:=CreateRelativePath(ImgFilename,OutputDir);
|
Result:=CreateRelativePath(ImgFilename,OutputDir);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TWiki2XHTMLConverter.GetInternalImagelink(ImgFilename: String): string;
|
||||||
|
begin
|
||||||
|
Result := CreateRelativepath(ImgFilename,OutputDir);
|
||||||
|
end;
|
||||||
|
|
||||||
function TWiki2XHTMLConverter.FindImage(const ImgFilename: string): string;
|
function TWiki2XHTMLConverter.FindImage(const ImgFilename: string): string;
|
||||||
begin
|
begin
|
||||||
if ImagesDir='' then exit('');
|
if ImagesDir='' then exit('');
|
||||||
|
Loading…
Reference in New Issue
Block a user