home *** CD-ROM | disk | FTP | other *** search
- /*
- ** html_map.ced
- **
- ** $VER: html_map.ced 1.6 (01.07.1999)
- **
- ** Arexx script for HTML v3.2 map mark
- **
- ** This script works with CygnusEd Professional v4.2
- **
- ** Copyright ā Eric BELLE
- */
-
- /*
- **------------------------------------------------------------------------------
- ** Initialisation
- **------------------------------------------------------------------------------
- */
-
- OPTIONS RESULTS /* Tell CygnusEd to return results. */
- NL = '0A'X /* Alias for new line. */
- KRETURN = RAWKEY 68 /* Shortcut to the return key. */
- KTAB = RAWKEY 66 /* Shortcut to the tab key. */
- STATUS TABSARESPACES /* Return TAB mode ("tab" or "space"). */
- IF RESULT = 1 /* Test the TAB mode. */
- THEN "TABS = SPACES" /* Switch TAB mode from "space" to "tab". */
- ELSE NOP /* No operation. */
- TAB SIZE 1 /* Set TAB size proportional to 2 spaces. */
-
- /*
- **------------------------------------------------------------------------------
- ** Map identification name
- **------------------------------------------------------------------------------
- */
-
- GETSTRING '"Map"' '"Indentification name for the map?"'
- MapName= RESULT
-
- IF (MapName=" " | MapName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- /*
- **------------------------------------------------------------------------------
- ** Image definition
- **------------------------------------------------------------------------------
- */
-
- ImageDefinition = "q"
- DO WHILE ~(ImageDefinition="y" | ImageDefinition="n",
- | ImageDefinition=" " | ImageDefinition="RESULT")
- GETSTRING "y" '"Image definition: (y)es, (n)o?"'
- ImageDefinition = RESULT
- END
-
- SELECT
- WHEN (ImageDefinition="RESULT") THEN EXIT 0
- WHEN (ImageDefinition=" ") THEN EXIT 0
- WHEN (ImageDefinition="y") THEN DO
-
- /*
- **------------------------------------------------------------------------------
- ** Image map name
- **------------------------------------------------------------------------------
- */
-
- ImageLocation = "q"
- DO WHILE ~(ImageLocation="l" | ImageLocation="a" | ImageLocation="u",
- | ImageLocation=" " | ImageLocation="RESULT")
- GETSTRING "l" '"Image location: (l)ocal, (a)bsolute, (u)niversal?"'
- ImageLocation = RESULT
- END
-
- IF (ImageLocation="RESULT" | ImageLocation=" ")
- THEN EXIT 0
- ELSE NOP
-
- SELECT
- WHEN (ImageLocation="l") THEN DO
- GETSTRING "Image" '"Image name with its relative path?"'
- ImageName = RESULT
-
- IF (ImageName=" " | ImageName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- OpenImage = '<IMG SRC="' || ImageName || '"'
- END
- WHEN (ImageLocation="a") THEN DO
- STATUS DIRNAME
- HtmlFileDir = RESULT || "/"
-
- GETFILENAME HtmlFileDir '"Select Image"'
- ImageName = RESULT
-
- IF (ImageName=" " | ImageName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- OpenImage = '<IMG SRC="file://localhost/' || ImageName || '"'
- END
- WHEN (ImageLocation="u") THEN DO
- GETSTRING "Image" '"Image name with its universal path?"'
- ImageName = RESULT
-
- IF (ImageName="RESULT" | ImageName=" ")
- THEN EXIT 0
- ELSE NOP
-
- OpenImage = '<IMG SRC="file://' || ImageName || '"'
- END
- OTHERWISE NOP
- END
-
- /*
- **------------------------------------------------------------------------------
- ** Text for image map substitution
- **------------------------------------------------------------------------------
- */
-
- GETSTRING '"text"' '"Text for image substitution?"'
- ImageText = RESULT
-
- IF (ImageText="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- /*
- **------------------------------------------------------------------------------
- ** Image map size options
- **------------------------------------------------------------------------------
- */
-
- ImageSize = "q"
- DO WHILE ~(ImageSize="y" | ImageSize="n" | ImageSize="d",
- | ImageSize=" " | ImageSize="RESULT")
- GETSTRING "d" '"Image size options: (y)es, (n)o, (d)efault?"'
- ImageSize = RESULT
- END
-
- IF (ImageSize="RESULT" | ImageSize=" ")
- THEN EXIT 0
- ELSE NOP
-
- SELECT
- WHEN (ImageSize="d") THEN DO
- ImageWidth = "100"
- ImageHeight = "100"
- ImageBorder = "0"
- END
- WHEN (ImageSize="y") THEN DO
- GETNUMBER "100" '"Width (pixels)?"'
- ImageWidth = RESULT
-
- IF (ImageWidth="RESULT" | ImageWidth=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETNUMBER "100" '"Height (pixels)?"'
- ImageHeight = RESULT
-
- IF (ImageHeight="RESULT" | ImageHeight=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETNUMBER 0 '"Border (pixels)?"' 0 32768
- ImageBorder = RESULT
-
- IF (ImageBorder=" ")
- THEN EXIT 0
- ELSE NOP
- END
- OTHERWISE NOP
- END
-
- /*
- **------------------------------------------------------------------------------
- ** Image map position options
- **------------------------------------------------------------------------------
- */
-
- ImagePosition = "q"
- DO WHILE ~(ImagePosition="y" | ImagePosition="n" | ImagePosition="d",
- | ImagePosition=" " | ImagePosition="RESULT")
- GETSTRING "d" '"Image position options: (y)es, (n)o, (d)efault?"'
- ImagePosition = RESULT
- END
-
- IF (ImagePosition="RESULT" | ImagePosition=" ")
- THEN EXIT 0
- ELSE NOP
-
- SELECT
- WHEN (ImagePosition="d") THEN DO
- ImagePositionMode = "n"
- HorizontalTextDistance = "10"
- VerticalTextDistance = "10"
- END
- WHEN (ImagePosition="y") THEN DO
- ImagePositionMode = "q"
- DO WHILE ~(ImagePositionMode="l" | ImagePositionMode="c" | ImagePositionMode="r",
- | ImagePositionMode="n" | ImagePositionMode=" " | ImagePositionMode="RESULT")
- GETSTRING "c" '"Image position: (l)eft, (c)enter, (r)ight, (n)o?"'
- ImagePositionMode = RESULT
- END
-
- IF (ImagePositionMode="RESULT" | ImagePositionMode=" ")
- THEN EXIT 0
- ELSE NOP
-
- OKAY2 "You know have to specify the distance " || NL ||,
- "between the image en the surrounding text" || NL ||,
- "(Lateral and vertical)."
-
- IF (RESULT=" " | RESULT="RESULT")
- THEN EXIT 0
- ELSE
-
- GETNUMBER 10 '"Lateral (pixels)?"' 0 32768
- HorizontalTextDistance = RESULT
-
- IF (HorizontalTextDistance=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETNUMBER 10 '"Vertical (pixels)?"' 0 32768
- VerticalTextDistance = RESULT
-
- IF (VerticalTextDistance=" ")
- THEN EXIT 0
- ELSE NOP
- END
- OTHERWISE NOP
- END
-
- /*
- **------------------------------------------------------------------------------
- ** Html image map marks
- **------------------------------------------------------------------------------
- */
-
- IF (ImageSize="n")
- THEN ImageSizeString = ""
- ELSE DO
- ImageSizeString = " BORDER=" || ImageBorder
- ImageSizeString = ImageSizeString || " WIDTH=" || ImageWidth
- ImageSizeString = ImageSizeString || " HEIGHT=" || ImageHeight
- END
-
- SELECT
- WHEN (ImagePositionMode="c") THEN ImagePosition = ""
- WHEN (ImagePositionMode="n") THEN ImagePosition = ""
- WHEN (ImagePositionMode="r") THEN ImagePosition = " ALIGN=RIGHT"
- WHEN (ImagePositionMode="l") THEN ImagePosition = " ALIGN=LEFT"
- OTHERWISE NOP
- END
-
- IF (ImagePosition="n")
- THEN ImagePositionString = ""
- ELSE DO
- ImagePositionString = ImagePosition
- ImagePositionString = ImagePositionString || " HSPACE=" || HorizontalTextDistance
- ImagePositionString = ImagePositionString || " VSPACE=" || VerticalTextDistance
- END
-
- ImageString = OpenImage
- ImageString = ImageString || ' ALT="' || ImageText || '"'
- ImageString = ImageString || ImageSizeString || ImagePositionString
-
- ImageString = ImageString || ' USEMAP="#' || MapName || '">'
-
- END
- OTHERWISE NOP
- END
-
- /*
- **------------------------------------------------------------------------------
- ** Sensible area number
- **------------------------------------------------------------------------------
- */
-
- GETNUMBER 1 '"Area number?"' 1 32768
- AreaNumber = RESULT
-
- IF (AreaNumber=" ")
- THEN EXIT 0
- ELSE NOP
-
- /*
- **------------------------------------------------------------------------------
- ** Sensible area caracteristics
- **------------------------------------------------------------------------------
- */
-
- IF (AreaNumber>=1)
- THEN OKAY1 ,
- "Recalling: co-ordonate origin (0,0) " || NL ||,
- "is at the left and at the top of the map " || NL ||,
- "________________________________________ " || NL ||,
- " " || NL ||,
- " Rectangular | Left top (X1,Y1) " || NL ||,
- " | Right bottom (X2,Y2) " || NL ||,
- " " || NL ||,
- " Circle | Center (X,Y) " || NL ||,
- " | Radius R " || NL ||,
- " " || NL ||,
- " Polygon | (X1,Y1) ... (Xn,Yn) "
- ELSE NOP
-
- DO I=1 TO AreaNumber
- AreaShape = "q"
- DO WHILE ~(AreaShape="r" | AreaShape="c" | AreaShape="p",
- | AreaShape=" " | AreaShape="RESULT")
- GETSTRING "r" '"Shape nā' I ': (r)ectangular, (c)ircle, (p)olygon?"'
- AreaShape = RESULT
- END
-
- SELECT
- WHEN (AreaShape="r") THEN DO
- GETNUMBER 1 '"X1 (pixels)?"' 0 32768
- X1 = RESULT
-
- IF (X1=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETNUMBER 1 '"Y1 (pixels)?"' 0 32768
- Y1 = RESULT
-
- IF (Y1=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETNUMBER 50 '"X2 (pixels)?"' 0 32768
- X2 = RESULT
-
- IF (X2=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETNUMBER 50 '"Y2 (pixels)?"' 0 32768
- Y2 = RESULT
-
- IF (Y2=" ")
- THEN EXIT 0
- ELSE NOP
-
- AreaString.I = '<AREA SHAPE="RECT" COORDS="'
- AreaString.I = AreaString.I || X1 || "," || Y1 || "," || X2 || "," || Y2
-
- CALL Link
- AreaString.I = AreaString.I || Link.I
- END
- WHEN (AreaShape="c") THEN DO
- GETNUMBER 10 '"X (pixels)?"' 0 32768
- X = RESULT
-
- IF (X=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETNUMBER 10 '"Y (pixels)?"' 0 32768
- Y = RESULT
-
- IF (Y=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETNUMBER 10 '"R (pixels)?"' 0 32768
- R = RESULT
-
- IF (R=" ")
- THEN EXIT 0
- ELSE NOP
-
- AreaString.I = '<AREA SHAPE="CIRCLE" COORDS="'
- AreaString.I = AreaString.I || X || "," || Y || "," || R
-
- CALL Link
- AreaString.I = AreaString.I || Link.I
- END
- WHEN (AreaShape="p") THEN DO
- GETNUMBER 3 '"Angle number?"' 3 32768
- AngleNumber = RESULT
-
- IF (AngleNumber=" ")
- THEN EXIT 0
- ELSE NOP
-
- AreaString.I = '<AREA SHAPE="POLYGON" COORDS="'
- DO J=1 TO AngleNumber
- Question = '"X' || J || ' (pixels)?"'
- GETNUMBER J Question 0 32768
- X.J = RESULT
-
- IF (X.J=" ")
- THEN EXIT 0
- ELSE NOP
-
- Question = '"Y' || J || ' (pixels)?"'
- GETNUMBER J Question 0 32768
- Y.J = RESULT
-
- IF (Y.J=" ")
- THEN EXIT 0
- ELSE NOP
-
- IF (J=AngleNumber)
- THEN AreaString.I = AreaString.I || X.J || "," || Y.J
- ELSE AreaString.I = AreaString.I || X.J || "," || Y.J || ","
- END
-
- CALL Link
- AreaString.I = AreaString.I || Link.I
- END
- OTHERWISE EXIT 0
- END
- END
-
- /*
- **------------------------------------------------------------------------------
- ** HTML map structure
- **------------------------------------------------------------------------------
- */
-
- OpenMap = '<MAP NAME="' || MapName || '">'
- CloseMap = "</MAP>"
-
- /*
- **------------------------------------------------------------------------------
- ** Map structure
- **------------------------------------------------------------------------------
- */
-
- IF (ImageDefinition="y")
- THEN DO
- IF (ImagepositionMode="c")
- THEN DO
- TEXT "<CENTER>" ; "AUTO-INDENT" ; KTAB
- TEXT ImageString ; "AUTO-INDENT" ; BACKTAB
- TEXT "</CENTER>" ; "AUTO-INDENT" ; "AUTO-INDENT"
- END
- ELSE DO
- TEXT ImageString ; "AUTO-INDENT" ; "AUTO-INDENT"
- END
- END
- ELSE NOP
-
- TEXT OpenMap ; "AUTO-INDENT" ; KTAB
- DO I=1 TO AreaNumber
- TEXT AreaString.I ; "AUTO-INDENT"
- END
- BACKTAB ; TEXT CloseMap
-
- /*
- **------------------------------------------------------------------------------
- ** End of html_map.ced Arexx script
- **------------------------------------------------------------------------------
- */
-
- EXIT 0
-
- /*
- **------------------------------------------------------------------------------
- ** Link macro for html_map.ced Arexx script
- **------------------------------------------------------------------------------
- */
-
- Link:
-
- /*
- **------------------------------------------------------------------------------
- ** Link macro choice
- **------------------------------------------------------------------------------
- */
-
- LinkChoice="no"
- DO WHILE (LinkChoice="no")
- OKAY2 "Link mode:" || NL ||,
- "~~~~~~~~~" || NL ||,
- " (0) - local anchor | (7) - universal file " || NL ||,
- " (1) - local file | (8) - universal file with anchor " || NL ||,
- " (2) - local file with anchor | (9) - universal WWW " || NL ||,
- " | (10) - universal WWW with anchor " || NL ||,
- " (3) - absolute file | (11) - universal FTP " || NL ||,
- " (4) - absolute file with anchor | (12) - universal Telnet " || NL ||,
- " (5) - absolute WWW | (13) - universal Gopher " || NL ||,
- " (6) - absolute WWW with anchor | (14) - universal Usenet " || NL ||,
- " | (15) - universal e-Mail "
-
- IF (RESULT=0)
- THEN EXIT 0
- ELSE LinkChoice="ok"
-
- GETNUMBER 0 '"Link mode?"' 0 17
- LinkMode = RESULT
-
- IF (LinkMode=" ")
- THEN LinkChoice = "no"
- ELSE NOP
- END
-
- /*
- **------------------------------------------------------------------------------
- ** Html link macro marks
- **------------------------------------------------------------------------------
- */
-
- SELECT
- WHEN (LinkMode=0) THEN DO
- GETSTRING "Anchor" '"Anchor identification name?"'
- AnchorName = RESULT
-
- IF (AnchorName="RESULT" | AnchorName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="#' || AnchorName || '">'
- END
- WHEN (LinkMode=1) THEN DO
- GETSTRING "File" '"File name with its relative path?"'
- FileName = RESULT
-
- IF (FileName=" " | FileName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="' || FileName || '">'
- END
- WHEN (LinkMode=2) THEN DO
- GETSTRING "File" '"File name with its relative path?"'
- FileName = RESULT
-
- IF (FileName=" " | FileName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- GETSTRING "Anchor" '"Anchor identification name?"'
- AnchorName = RESULT
-
- IF (AnchorName="RESULT" | AnchorName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="' || FileName || "#" || AnchorName || '">'
- END
- WHEN (LinkMode=3) THEN DO
- STATUS DIRNAME
- HtmlFileDir = RESULT || "/"
-
- GETFILENAME HtmlFileDir '"Select file"'
- FileName = RESULT
-
- IF (FileName=" " | FileName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="file://localhost/' || FileName || '">'
- END
- WHEN (LinkMode=4) THEN DO
- STATUS DIRNAME
- HtmlFileDir = RESULT || "/"
-
- GETFILENAME HtmlFileDir '"Select file"'
- FileName = RESULT
-
- IF (FileName=" " | FileName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- GETSTRING "Anchor" '"Anchor identification name?"'
- AnchorName = RESULT
-
- IF (AnchorName="RESULT" | AnchorName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="file://localhost/' || FileName || "#" || AnchorName || '">'
- END
- WHEN (LinkMode=5) THEN DO
- STATUS DIRNAME
- HtmlFileDir = RESULT || "/"
-
- GETFILENAME HtmlFileDir '"Select file"'
- FileName = RESULT
-
- IF (FileName=" " | FileName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="http://localhost/' || FileName || '">'
- END
- WHEN (LinkMode=6) THEN DO
- STATUS DIRNAME
- HtmlFileDir = RESULT || "/"
-
- GETFILENAME HtmlFileDir '"Select file"'
- FileName = RESULT
-
- IF (FileName=" " | FileName="RESULT")
- THEN EXIT 0
- ELSE NOP
-
- GETSTRING "Anchor" '"Anchor identification name?"'
- AnchorName = RESULT
-
- IF (AnchorName="RESULT" | AnchorName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="http://localhost/' || FileName || "#" || AnchorName || '">'
- END
- WHEN (LinkMode=7) THEN DO
- GETSTRING "File" '"File name with its universal path?"'
- FileName = RESULT
-
- IF (FileName="RESULT" | FileName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="file://' || FileName || '">'
- END
- WHEN (LinkMode=8) THEN DO
- GETSTRING "File" '"File name with its universal path?"'
- FileName = RESULT
-
- IF (FileName="RESULT" | FileName=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETSTRING "Anchor" '"Anchor identification name?"'
- AnchorName = RESULT
-
- IF (AnchorName="RESULT" | AnchorName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="file://' || FileName || "#" || AnchorName || '">'
- END
- WHEN (LinkMode=9) THEN DO
- GETSTRING "Html" '"Html file name with its universal path?"'
- HtmlName = RESULT
-
- IF (HtmlName="RESULT" | HtmlName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="http://' || HtmlName || '">'
- END
- WHEN (LinkMode=10) THEN DO
- GETSTRING "Html" '"Html file name with its universal path?"'
- HtmlName = RESULT
-
- IF (HtmlName="RESULT" | HtmlName=" ")
- THEN EXIT 0
- ELSE NOP
-
- GETSTRING "Anchor" '"Anchor identification name?"'
- AnchorName = RESULT
-
- IF (AnchorName="RESULT" | AnchorName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="http://' || HtmlName || "#" || AnchorName || '">'
- END
- WHEN (LinkMode=11) THEN DO
- GETSTRING "Ftp" '"Ftp host?"'
- FtpName = RESULT
-
- IF (FtpName="RESULT" | FtpName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="ftp://' || FtpName || '">'
- END
- WHEN (LinkMode=12) THEN DO
- GETSTRING "Telnet" '"Telnet host?"'
- TelnetName = RESULT
-
- IF (TelnetName="RESULT" | TelnetName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="telnet://' || TelnetName || '">'
- END
- WHEN (LinkMode=13) THEN DO
- GETSTRING "Gopher" '"Gopher host?"'
- GopherName = RESULT
-
- IF (GopherName="RESULT" | GopherName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="gopher://' || GopherName || '">'
- END
- WHEN (LinkMode=14) THEN DO
- GETSTRING "News" '"Usenet newsgroup host?"'
- NewsName = RESULT
-
- IF (NewsName="RESULT" | NewsName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="news://' || NewsName || '">'
- END
- WHEN (LinkMode=15) THEN DO
- GETSTRING "e-Mail" '"Electronic address?"'
- MailName = RESULT
-
- IF (MailName="RESULT" | MailName=" ")
- THEN EXIT 0
- ELSE NOP
-
- Link.I = '" HREF="mailto:' || MailName || '">'
- END
- OTHERWISE NOP
- END
-
- /*
- **------------------------------------------------------------------------------
- ** End of link macro
- **------------------------------------------------------------------------------
- */
-
- RETURN