home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / goattracker_2.74_stereo.zip / morphos / ReadMe2Guide.rexx < prev   
OS/2 REXX Batch file  |  2014-07-23  |  1KB  |  54 lines

  1. /* $VER: ReadMe2Guide 0.5 $
  2.  * Convert simple ReadMe file to AmigaGuide
  3.  * ⌐ Stefan Haubenthal 2010-2012
  4.  * rx ReadMe2Guide <foo.txt >foo.guide foo 1.0
  5.  */
  6.  
  7. say '@database ""'
  8. say '@author "ReadMe2Guide"'
  9. say '@node Main "Main"'
  10. say '@toc Contents'
  11. if arg() then say '@$VER: 'arg(1)
  12. if ~eof(stdin) then parse pull last "0d"x
  13. prevnode="Main"
  14. toc=""
  15. do until eof(stdin)
  16.     parse pull curr "0d"x
  17.     if length(curr)>0 & (curr=copies("=", length(last)) | curr=copies("-", length(last))) then
  18.     do
  19.         if prevnode~="Main" then
  20.         do
  21.             say '@endnode'
  22.             say '@node 'compress(last,' "/:')' "'compress(last,'"')'"'
  23.             say '@toc Contents'
  24.             toc=toc'@{"'compress(last,'"')'" link 'compress(last,' "/:')'}'"0a"x
  25.         end
  26.         prevnode=last
  27.     end
  28.     /* escape at-sign */
  29.     if pos("@", last)>0 then
  30.         say insert("\", last, pos("@", last)-1)
  31.     else
  32.         /* *bold* */
  33.         do
  34.         a=pos(" *", last)
  35.         b=pos("* ", last)
  36.         if b-a>2 then
  37.             say delstr(insert("@{ub}", delstr(insert("@{b}", last, a), a+5, 1), b+2), b+8, 1)
  38.         else
  39.             /* _italic_ */
  40.             do
  41.             a=pos(" _", last)
  42.             b=pos("_ ", last)
  43.             if b-a>2 then
  44.                 say delstr(insert("@{ui}", delstr(insert("@{i}", last, a), a+5, 1), b+4), b+3, 1)
  45.             else
  46.                 say last
  47.             end
  48.         end
  49.     last=curr
  50. end
  51. say '@endnode'
  52. say '@node Contents'
  53. say toc'@endnode'
  54.