home *** CD-ROM | disk | FTP | other *** search
/ Amiga ACS 1998 #4 / amigaacscoverdisc1998-041998.iso / utilities / shareware / workbench / hypertext_dtc / arexx / hyperguide2html.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1997-12-20  |  2.8 KB  |  136 lines

  1. /*
  2. ** $PROJECT: HyperText-DataType-System
  3. **
  4. ** $VER: HyperGuide2HTML.rexx 40.2 (20.12.97)
  5. **
  6. ** $AUTHOR: Stefan Ruppert , Windthorststrasse 5 , 65439 Floersheim , GERMANY
  7. **
  8. ** $COPYRIGHT: (C) Copyright 1997 by Stefan Ruppert, All Rights Reserved!
  9. **
  10. ** $EMAIL: ruppert@amigaworld.com
  11. **
  12. ** $HISTORY:
  13. **
  14. ** 20.12.97 : 040.002 : added PORT/K template item and support for UniView
  15. ** 05.01.97 : 040.001 : initial
  16. **
  17. */
  18.  
  19. Options Results
  20.  
  21. Parse Arg args
  22.  
  23. /* --------------------------- needed libraries --------------------------- */
  24.  
  25. Call AddLib('rexxsupport.library',0,-30,0)
  26. Call AddLib('rexxdossupport.library',0,-30,0)
  27.  
  28. Parse Arg args
  29.  
  30. rxport        = ''
  31. stem.dest     = ''
  32. stem.port     = ''
  33. stem.verbose  = 1
  34. stem.debug    = 0
  35. stem.nodir    = 0
  36.  
  37. template = 'DEST/A,PORT/K,VERBOSE/S,NODIR/S,DEBUG/S'
  38.  
  39. If ReadArgs(args,template,'STEM.') Then Do
  40.  
  41.    If STEM.PORT = '' Then Do
  42.       STEM.PORT = 'MULTIVIEW.1.1'
  43.  
  44.       If ~Show('P',STEM.PORT) Then
  45.      STEM.PORT = 'UNIVIEW.1.1'
  46.    End
  47.  
  48.    ADDRESS VALUE STEM.PORT
  49.  
  50.    'GETATTR OBJECT=OBJECT FIELD=NODENAME VAR=MAIN'
  51.  
  52.    If Upper(main) ~= 'MAIN' Then Do
  53.       'LINK MAIN'
  54.  
  55.       'GETATTR OBJECT=OBJECT FIELD=NODENAME VAR=MAIN'
  56.       If Upper(main) ~= 'MAIN' Then Do
  57.      Say 'The script cannot link to the main node'
  58.      Exit 10
  59.       End
  60.    End
  61.  
  62.    'GETATTR OBJECT=OBJECT FIELD=PATH VAR=PATH'
  63.  
  64.    filename = FilePart(path)
  65.    p = Pos('.hguide',filename)
  66.    If p > 0 Then
  67.       filename = Left(filename,p - 1)
  68.    Else Do
  69.       p = Pos('.guide',filename)
  70.       If p > 0 Then
  71.      filename = Left(filename,p - 1)
  72.    End
  73.  
  74.    filename = ToLower(filename)
  75.    basename = filename
  76.  
  77.    subdir = AddPart(stem.dest,basename)
  78.    file = ToLower(AddPart(subdir,'main.html'))
  79.  
  80.    if stem.verbose Then
  81.       Say 'Converting main node to : ' || file
  82.    If ~Exists(subdir) Then
  83.       Call MakeDir(subdir)
  84.    'EXPORT TYPE=HTML FILE="' || file || '" ARGS=LOWER'
  85.  
  86.    done = 0
  87.    do until done
  88.       'NEXTINTERNAL'
  89.       If RC=0 Then Do
  90.  
  91.      If ~Exists(subdir) Then Do
  92.         Say 'Cannot create sub directory : ' || subdir
  93.         Exit 10
  94.      End
  95.  
  96.      status = ''
  97.      Do until status = 'OK'
  98.         'GETATTR OBJECT=OBJECT FIELD=STATUS VAR=STATUS'
  99.         If stem.debug Then
  100.            Say status
  101.         Call Delay(5)
  102.      End
  103.  
  104.      'GETATTR OBJECT=OBJECT FIELD=NODENAME VAR=NODE'
  105.      nodefile = node
  106.      p = Pos('.',nodefile)
  107.      If p > 0 Then
  108.         nodefile = Left(nodefile,p - 1)
  109.      nodefile = nodefile || '.html'
  110.  
  111.      file = ToLower(AddPart(subdir,nodefile))
  112.  
  113.      if stem.verbose Then
  114.         Say 'Converting node="' || node || '" to : ' || file
  115.  
  116.      'EXPORT TYPE=HTML FILE="' || file || '" ARGS=LOWER'
  117.       End
  118.       Else
  119.      done = 1
  120.    End
  121. End
  122. Else Do
  123.    /*
  124.    ioerr = GetVar(process,'local')
  125.    Say ioerr
  126.    Say Fault(116,'HyperGuide2HTML')
  127.    */
  128.    Say 'Template : ' || template
  129. End
  130. Exit
  131.  
  132. ToLower:
  133.  
  134.    return Translate(Arg(1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')
  135.  
  136.