home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / bbs_ra / dgbg100.arj / DGBG.DOC next >
Text File  |  1991-02-24  |  18KB  |  440 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.         ┌── Thanks for considering DGBG! ──────────────────────────────┐
  7.         │                                                              │
  8.         │                                                              │
  9.         │                                                              │
  10.         │           DGBG is The Darn Good Bulletin Generator           │
  11.         │                       ^    ^    ^        ^                   │
  12.         │               Copyright 1991, Brian McCormick                │
  13.         │                                                              │
  14.         │                                                              │
  15.         │                                                              │
  16.         └───────────────────────────────────────────────── DGBG 1.00 ──┘
  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.      Distribution and Liability Statement:
  47.  
  48.          This software is free, and may be distributed for free to other
  49.          people.  Charging a fee for this software is a violation of the
  50.          author's copyright.  As usual with software of this nature, no
  51.          warranty either stated or implied is offered.  By using this
  52.          software, you agree that you assume all liability in connection
  53.          with its use or misuse.
  54.  
  55.      What is DGBG?
  56.  
  57.          DGBG was designed for the purpose of compiling a visually
  58.          appealing news bulletin for use on BBS's.  DGBG is only one
  59.          of many such programs, but it supports more useful features
  60.          and is more visually appealing than any similar program this
  61.          author has seen.  Among the features that DGBG supports:
  62.  
  63.             *  DGBG creates ANSI (.ANS), ASCII (.ASC), and
  64.                AVATAR (.AVT) files.
  65.  
  66.             *  Each news item is displayed in a window of its
  67.                own.
  68.  
  69.             *  Input text is automatically line wrapped for an
  70.                optimal fit within display windows.
  71.  
  72.             *  Each window can be independently positioned, and
  73.                will overlap previously drawn windows.
  74.  
  75.             *  The background color, text color, frame color,
  76.                frame style, highlight color, and title can be
  77.                set individually for each window.
  78.  
  79.             *  Sequential display of windows with overlap is
  80.                supported in ASCII, ANSI, and AVATAR output files.
  81.  
  82.  
  83.  
  84.      How to use DGBG
  85.  
  86.          DGBG works in much the same way as other news bulletin
  87.          compilers.  Like other news bulletin compilers, this program
  88.          scans an input file containing message text and control
  89.          parameters.  The information contained within that file is
  90.          used to produce up to three output files, one containing ANSI
  91.          terminal control information, one a flat ASCII file, and the
  92.          last an optional AVATAR output file.  The ASCII file contains
  93.          no terminal control information other than screen clearing
  94.          codes.  Both files are elaborately formatted and decorated to
  95.          produce a visually appealing display.
  96.  
  97.          The default input file for DGBG is called DGBG.TXT, and it
  98.          should be present within the directory that DGBG is invoked
  99.          from.  DGBG will look for that file when it starts up, and
  100.          will abort with an error message if the file is not found.
  101.          DGBG can be forced to process a file other than DGBG.TXT by
  102.          providing the name of that file on the command line.  If this
  103.          option is used, all references to DGBG.TXT in this document
  104.          can be considered to apply to the file specified.
  105.  
  106.  
  107.  
  108.  
  109.                                     2
  110.          Since DGBG.TXT contains both message text and formatting
  111.          commands, there must be a way for DGBG to distinguish
  112.          between the two.  Formatting commands are therefore dis-
  113.          tinguished from message text by the fact that all commands
  114.          start with an asterisk ("*") and must begin in the first
  115.          text column.  Without going into any detail as yet into what
  116.          the various commands mean, the following simple illustration
  117.          should show how commands are distinguished from text:
  118.  
  119.             *Title Simple Illustration
  120.             This is a line of text
  121.  
  122.             This is another line of text
  123.             *Style 4
  124.             *Window
  125.  
  126.          All the lines beginning with an asterisk are formatting
  127.          commands, and all the rest of the lines (including the blank
  128.          one) are lines of message text.
  129.  
  130.          Text input into the DGBG control file is a fairly straight-
  131.          forward task.  Simply entering the text in paragraph format
  132.          will work.  Line length is not especially important since
  133.          any input text will automatically be line wrapped to a length
  134.          of 60 characters per line.  Input lines should not exceed 110
  135.          characters though, for longer lines may be truncated.
  136.  
  137.          The line wrapping algorithm in DGBG keys on two things to
  138.          determine when to end a paragraph of text and begin a new one.
  139.          The first of these is a blank line.  Any blank line will cause
  140.          DGBG to finish the current paragraph, skip a line, and begin
  141.          the next one.  Vertical spacing with blank lines is thereby
  142.          preserved in the output files.  A line beginning with a space
  143.          (such as a paragraph indention) will also trigger the end of
  144.          the current paragraph and the beginning of a new one.  In this
  145.          case however, no lines are skipped between paragraphs.  The
  146.          indention is preserved however, and thus horizontal spacing is
  147.          preserved in the output file.  DGBG's line wrapping algorithm
  148.          does NOT remove extra blanks between individual words unless a
  149.          line break also occurs between those words.
  150.  
  151.          The real power of DGBG is not derived merely from simple text
  152.          input, however.  What makes DGBG special is the ability to
  153.          configure multiple overlapping windows, each with its own
  154.          individual characteristics.  This is accomplished through the
  155.          use of a set of formatting commands.
  156.  
  157.          DGBG's commands essentially fall into two categories:  the
  158.          Window command and all the rest.  All the commands except the
  159.          Window command are used to set various parameters which will
  160.          be used when the window command is invoked to determine what
  161.          characteristics (such as location, color, etc.) a window will
  162.          have when it is displayed.  Each time a command other than the
  163.  
  164.                                     3
  165.          Window command (with some exceptions, as will be seen later)
  166.          is invoked, the value of the setting controlled by that command
  167.          is changed.  The order of commands is not important, as long as
  168.          all the desired characteristics of a command are established
  169.          before the Window command is used.  A command occurring twice
  170.          before a Window command will not cause an error.  The last
  171.          value given will be the one used when the window is written to
  172.          the output files.
  173.  
  174.          Text is processed in a manner similar to the way non-Window
  175.          commands are processed.  It is saved up until a Window
  176.          command is reached, and then it is all put into the display
  177.          window at once.
  178.  
  179.  
  180.      DGBG Commands
  181.  
  182.          Following this section is an alphabetical listing of all
  183.          the commands supported by DGBG.  For each command, both a
  184.          description and a syntax definition are given.
  185.  
  186.          This document describes the function of DGBG's commands in
  187.          ordinary English, and therefore their purpose should be
  188.          reasonably self evident.  The syntax definitions may not be
  189.          so obvious however, and so the following descriptions are
  190.          given:
  191.  
  192.             *Command <1..10>
  193.  
  194.             This syntax means that the (purely hypothetical) command
  195.             "Command" would accept an integer between 1 and 10 as its
  196.             parameter.
  197.  
  198.             *Command <string>
  199.  
  200.             This syntax means that the command would accept a
  201.             character string as a parameter.
  202.  
  203.             *Command [<string>]
  204.  
  205.             When the parameter is enclosed in square brackets,
  206.             it is optional. In this case, the command "Command"
  207.             would accept either a string parameter or no parameter
  208.             at all.
  209.  
  210.          Many of the commands deal specifically with color.  The
  211.          specific color values available vary from command to command
  212.          and are given in the syntax definition for each command.
  213.          The following chart shows what colors are associated with
  214.          each color value:
  215.  
  216.  
  217.  
  218.  
  219.                                     4
  220.                                  Non-Blinking
  221.  
  222.                      0 - Black           8 - Dark Gray
  223.                      1 - Blue            9 - Bright Blue
  224.                      2 - Green          10 - Bright Green
  225.                      3 - Cyan           11 - Bright Cyan
  226.                      4 - Red            12 - Bright Red
  227.                      5 - Magenta        13 - Bright Magenta
  228.                      6 - Brown          14 - Yellow
  229.                      7 - Light Gray     15 - White
  230.  
  231.  
  232.                                    Blinking
  233.  
  234.                     16 - Black          24 - Dark Gray
  235.                     17 - Blue           25 - Bright Blue
  236.                     18 - Green          26 - Bright Green
  237.                     19 - Cyan           27 - Bright Cyan
  238.                     20 - Red            28 - Bright Red
  239.                     21 - Magenta        29 - Bright Magenta
  240.                     22 - Brown          30 - Yellow
  241.                     23 - Light Gray     31 - White
  242.  
  243.          With that out of the way, here are the commands:
  244.  
  245.      AVATAR
  246.  
  247.          Syntax:  *Avatar
  248.  
  249.          The Avatar command enables the output of a file ending in
  250.          the extension .AVT containing AVATAR terminal control
  251.          information.  This option is for Sysops who are running
  252.          BBS's that support the AVATAR terminal type as described
  253.          in FSC-0025.  AVATAR output is not produced unless this
  254.          command is given.  The AVATAR command must be issued before
  255.          the Path command in order to have any effect.
  256.  
  257.      BACKGROUND
  258.  
  259.          Syntax:  *Background <0..7>
  260.  
  261.          The Background command is used to set the color that will be
  262.          used as the background of the next window to be drawn.  The
  263.          default value used if no Background command is issued is
  264.          one (blue).
  265.  
  266.      FRAMECOLOR
  267.  
  268.          Syntax:  *Framecolor <0..31>
  269.  
  270.          The Framecolor command is used to set the foreground color of
  271.          the frame around the next window.  The default value for this
  272.          parameter if it is not given is five (magenta).
  273.  
  274.                                     5
  275.      HIGHLIGHTS
  276.  
  277.          Syntax:  *Highlights <0..31>
  278.  
  279.          The Highlights command sets the foreground color used for
  280.          displaying the window title, prompt, and DGBG edition stamp.
  281.          The default setting is 15 (white).
  282.  
  283.      MESSAGECOLOR
  284.  
  285.          Syntax:  *Messagecolor <0..31>
  286.  
  287.          The Messagecolor command establishes the foreground color which
  288.          will be used for actual news text within a window.  The default
  289.          setting is 10 (bright green).
  290.  
  291.      NORIMS
  292.  
  293.          Syntax:  *Norims
  294.  
  295.          Without the benefit of color, the output of DGBG can be
  296.          difficult to read because the lines separating windows do not
  297.          always define the window well enough to separate it from other
  298.          windows that it overlaps.  Since ASCII files never have color,
  299.          DGBG by default draws in a blank line above and below each
  300.          window in the ASCII output that overlaps another window.
  301.          These blank lines, or "rims" can be disabled by using the Norims
  302.          command.  All windows drawn after the Norims command is used
  303.          will be rimless.  The Norims command can not be reversed except
  304.          by removing it from the configuration file altogether.
  305.  
  306.      PATH
  307.  
  308.          Syntax:  *Path <string>
  309.  
  310.          This command establishes the path and name of the output files
  311.          and causes those files to be opened.  This command should only
  312.          be used once.  Do not provide an extension as part of the argument
  313.          to the Path command.  The extensions .ASC, .ANS, and .AVT will
  314.          be automatically appended by DGBG.  There is no default value,
  315.          and this command must be issued before the first window command
  316.          is issued.
  317.  
  318.      STYLE
  319.  
  320.          Syntax:  *Style <1..12>
  321.  
  322.          The STYLE command is used to select the style of frame which
  323.          will surround the text in the next window to be shown.  There
  324.          are twelve frame styles as shown at the top of the next page.
  325.  
  326.  
  327.  
  328.  
  329.                                     6
  330.         ┌─┤ Frame Style 1 ├────────┐     ┌── Frame Style 4 ─────────┐
  331.         │ Single line with serifs  │     │ Single line w/o serifs   │
  332.         └────────────┤ DGBG 1.00 ├─┘     └───────────── DGBG 1.00 ──┘
  333.  
  334.         ╔═╡ Frame Style 2 ╞════════╗     ╔══ Frame Style 5 ═════════╗
  335.         ║ Double line with serifs  ║     ║ Double line w/o serifs   ║
  336.         ╚════════════╡ DGBG 1.00 ╞═╝     ╚═════════════ DGBG 1.00 ══╝
  337.  
  338.         █▀█ Frame Style 3 █▀▀▀▀▀▀▀▀█     █▀▀ Frame Style 6 ▀▀▀▀▀▀▀▀▀█
  339.         █ Thick border with serifs █     █ Thick border w/o serifs  █
  340.         █▄▄▄▄▄▄▄▄▄▄▄▄█ DGBG 1.00 █▄█     █▄▄▄▄▄▄▄▄▄▄▄▄▄ DGBG 1.00 ▄▄█
  341.  
  342.         ┌─[ Frame Style 7 ]────────┐         Frame Style 10
  343.         │ Single line w/ brackets  │       No frame
  344.         └────────────[ DGBG 1.00 ]─┘                    DGBG 1.00
  345.  
  346.         ╔═[ Frame Style 8 ]════════╗     *** Frame Style 11 *********
  347.         ║ Double line w/ brackets  ║     * Asterisks                *
  348.         ╚════════════[ DGBG 1.00 ]═╝     ************** DGBG 1.00 ***
  349.  
  350.         █▀[ Frame Style 9 ]▀▀▀▀▀▀▀▀█     +-| Frame Style 12 |-------+
  351.         █ Thick border w/ brackets █     | ASCII only               |
  352.         █▄▄▄▄▄▄▄▄▄▄▄▄[ DGBG 1.00 ]▄█     +------------| DGBG 1.00 |-+
  353.  
  354.  
  355.         The default setting for the Style command is two (double line
  356.         with serifs).
  357.  
  358.      TITLE
  359.  
  360.          Syntax:  *Title [<string>]
  361.  
  362.          Sets the value for the title string that will be used when the
  363.          next Window command is issued.  If no parameter is provided,
  364.          the next window will not have a title.  The default setting is
  365.          for no title, and the maximum title length is 50 characters.
  366.  
  367.      WINDOW
  368.  
  369.          Syntax:  *Window
  370.  
  371.          When the window command is issued, all of the current color,
  372.          title, etc. settings and the message text collected since the
  373.          last Window command (or the beginning of the file if there was
  374.          no previous window command) is used to create a window.  That
  375.          window is then written to the output file.
  376.  
  377.          If no Window command is found in the configuration file, DGBG
  378.          does not produce any output.  The last command in the
  379.          configuration file should therefore be a Window command.
  380.  
  381.  
  382.  
  383.  
  384.                                     7
  385.      X
  386.  
  387.          Syntax:  *X <1..16>
  388.  
  389.          Sets the X coordinate (column) at which the upper left hand
  390.          corner of the next window to be drawn will reside.  The default
  391.          X value of nine produces a window which is approximately
  392.          centered (horizontally) on the screen.  The X and Y coordinates
  393.          should be altered if an overlapping window effect is desired.
  394.          If they are not, windows will simply overwrite one another.
  395.  
  396.      Y
  397.  
  398.          Syntax:  *Y <1..10>
  399.  
  400.          Sets the Y coordinate (row) at which the upper left hand
  401.          corner of the next window to be drawn will reside.  The
  402.          default setting of six produces a window which is approx-
  403.          imately centered on the screen.  The X and Y coordinates
  404.          should be altered if an overlapping window effect is desired.
  405.          If they are not, windows will simply overwrite one another.
  406.  
  407.  
  408.       Final Words
  409.  
  410.          If you believe you have found a bug in this program, first
  411.          go back and reread the documentation, make sure you have
  412.          at least files=25 in your CONFIG.SYS, and perform all the
  413.          other normal double checks.  If you are still unable to
  414.          get the program to work, and think you have found a bug,
  415.          please attempt to send me netmail and I will see what I
  416.          can do.  I am currently accepting netmail at 1:391/21. I am
  417.          a college student however, so this should not be considered
  418.          a permanent arrangement.  After 1 May 1990, just look for
  419.          Brian_McCormick in the FidoNet nodelist.  Regrettably, I am
  420.          too poor to provide unlimited support for this program, but
  421.          if you can contact me, I will be more than happy to look
  422.          into any bug reports, and I will fix any real bugs that can
  423.          be found.
  424.  
  425.          I would like to thank Bernard Johnson of DigiKing BBS
  426.          (1:391/16) for assisting in testing this program and for
  427.          his many valuable suggestions.  Without his help, DGBG
  428.          would not be what it is today.  Also instrumental to the
  429.          development of this program was Greg Langham of Ozark
  430.          Connection BBS (1:391/7), who wrote a program that set
  431.          the standard for this one.  (Please don't bother Bernard or
  432.          Greg about support for this program, because they do not
  433.          have the source.)
  434.  
  435.  
  436.  
  437.  
  438.  
  439.                                     8
  440.