1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
program relinkdocs;
{
Quick script that corrects tex4ht output (FPC documentation)
(C) Marco van de Voort
Requires Sergei's work on dom_html, which means trunk from after (mainly r13357
but maybe also one of the slightly later commits)
, and maybe mods to chmlib.
Rule of thumb: use version 2.3.1 of the same date or newer as the last commit to the relink* files
Doesn't deallocate, but needs <64MB
}
{$ifdef fpc}
{$mode delphi}
{$else}
{$apptype console}
{$stringchecks on}
{$endif}
{$info only works properly with 2.3.1+ of july 2009 or newer }
{$ifdef ver2_2}
Die.
{$endif}
Uses cthreads,strutils,typinfo,Sax_HTML,sysutils,classes,dom_html,xmlwrite,htmwrite8859,relinkhtml;
procedure fixdir(readdir,writedir,prefix:string);
var
ind : TIndexes;
begin
ForceDirectories(writedir);
ind:=TIndexes.create;
ind.prefix:=prefix;
ind.readfiles(readdir);
ind.linkfiles;
ind.walk;
ind.walkback;
ind.patch;
ind.writehtmls(writedir);
end;
Var
S : String;
begin
If ParamCount=0 then
begin
fixdir('prog','prog-fixed/','prog'); // input=output overwrites, but should work.
fixdir('user','user-fixed/','user'); // input=output overwrites, but should work.
fixdir('ref','ref-fixed/','ref'); // input=output overwrites, but should work.
end
else
begin
S:=ParamStr(1);
fixdir(S,S,S);
end;
end.
|