Dear Rony, Will do but later, I am in the middle of something.
Hälsningar/Regards/Grüsse, P.O. Jonsson oor...@jonases.se > Am 21.02.2020 um 12:44 schrieb Rony G. Flatscher <rony.flatsc...@wu.ac.at>: > > On 20.02.2020 23:20, P.O. Jonsson wrote: >> This is just to inform that I have managed to inject Erich Rexx script in my >> build chain so that my built documents should now be 100% the same as yours >> and the ones built by Erich or Rick. I could only test it on rexxref.pdf but >> that is a beast and if it works there the rest should be ok. >> >> Removing the additional spaces shrunk rexxref.pdf with 10 pages and ooDialog >> with 182 pages ! ooDialog.pdf is now „only“ 1898 pages :-) > The following program needs to be run from "oorexx/doc/trunk" and will > replace leading and trailing empty lines in the content of "programlisting" > elements which are probably the cause for the blank lines. > > If you then run the documentation generation, then those blank lines should > not show up anymore. > Program "stripBlankLinesFromProgramlistingElements.rex" that removes leading > and trailing CR-LF from programlistings. Run it in the doc-branch you want to > work with, e.g. from "oorexx/doc/trunk": > > ---rgf, 2020-02-02: strip CR-LF from ooRexx xml program listings > start=.dateTime~new > call sysfiletree "*.xml", "files.", "FOS" > end =.dateTime~new > say "SysFileTree duration:" end-start", about to process" files.0 "files" > > len=files.0~length > do i=1 to files.0 > say i~right(len)":" files.i > call stripBlankLines files.i > end > end =.dateTime~new > say "processed" .count~counter "<programlisting> elements, duration:" > end-start > > ::routine stripBlankLines > parse arg fileName > > inStr=.stream~new(fileName)~~open("read") > chars=inStr~chars > allChars=inStr~charin(1,chars) > inStr~close > > startNeedle="<programlisting>" > endNeedle ="</programlisting>" > crlf ="0d0a"x > mbOut=.mutableBuffer~new(,chars) > > do while allChars<>"" > parse var allChars before (startNeedle) program (endNeedle) allChars > if program="" then > do > if allChars="" then -- arrived at end of file > mbOut~append(before) > else -- maybe a placeholder of whitespace > mbOut~append(before, startNeedle, program, endNeedle) > end > else -- strip leading and trailing CR-LF characters > do > mbOut~append(before, startNeedle, program~strip("both",crlf), > endNeedle) > .count~increase > end > end > > -- write new file > .stream~new(fileName)~~open("write replace")~~charout(mbOut~string)~close > > > ::class count > ::attribute counter class > > ::method init class > expose counter > counter=0 > > ::method increase class > expose counter > counter+=1 > If something would go wrong, then you could always re-instate the original > version of the documentation by issuing an "svn revert" command, so testing > the above program should be safe from that respect as well. > Could you try that out and report whether it solved the empty line problem? > (The program can be run repeatedly, in the case that new programlisting-code > gets added to the documentation and there is a need to remove leading and > trailing empty lines again.) > > ---rony > > > > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel