DGBG.DOC

17.6 KB f2b06793b743290d…




        ┌── Thanks for considering DGBG! ──────────────────────────────┐
        │                                                              │
        │                                                              │
        │                                                              │
        │           DGBG is The Darn Good Bulletin Generator           │
        │                       ^    ^    ^        ^                   │
        │               Copyright 1991, Brian McCormick                │
        │                                                              │
        │                                                              │
        │                                                              │
        └───────────────────────────────────────────────── DGBG 1.00 ──┘





























     Distribution and Liability Statement:

         This software is free, and may be distributed for free to other
         people.  Charging a fee for this software is a violation of the
         author's copyright.  As usual with software of this nature, no
         warranty either stated or implied is offered.  By using this
         software, you agree that you assume all liability in connection
         with its use or misuse.

     What is DGBG?

         DGBG was designed for the purpose of compiling a visually
         appealing news bulletin for use on BBS's.  DGBG is only one
         of many such programs, but it supports more useful features
         and is more visually appealing than any similar program this
         author has seen.  Among the features that DGBG supports:

            *  DGBG creates ANSI (.ANS), ASCII (.ASC), and
               AVATAR (.AVT) files.

            *  Each news item is displayed in a window of its
               own.

            *  Input text is automatically line wrapped for an
               optimal fit within display windows.

            *  Each window can be independently positioned, and
               will overlap previously drawn windows.

            *  The background color, text color, frame color,
               frame style, highlight color, and title can be
               set individually for each window.

            *  Sequential display of windows with overlap is
               supported in ASCII, ANSI, and AVATAR output files.



     How to use DGBG

         DGBG works in much the same way as other news bulletin
         compilers.  Like other news bulletin compilers, this program
         scans an input file containing message text and control
         parameters.  The information contained within that file is
         used to produce up to three output files, one containing ANSI
         terminal control information, one a flat ASCII file, and the
         last an optional AVATAR output file.  The ASCII file contains
         no terminal control information other than screen clearing
         codes.  Both files are elaborately formatted and decorated to
         produce a visually appealing display.

         The default input file for DGBG is called DGBG.TXT, and it
         should be present within the directory that DGBG is invoked
         from.  DGBG will look for that file when it starts up, and
         will abort with an error message if the file is not found.
         DGBG can be forced to process a file other than DGBG.TXT by
         providing the name of that file on the command line.  If this
         option is used, all references to DGBG.TXT in this document
         can be considered to apply to the file specified.




                                    2
         Since DGBG.TXT contains both message text and formatting
         commands, there must be a way for DGBG to distinguish
         between the two.  Formatting commands are therefore dis-
         tinguished from message text by the fact that all commands
         start with an asterisk ("*") and must begin in the first
         text column.  Without going into any detail as yet into what
         the various commands mean, the following simple illustration
         should show how commands are distinguished from text:

            *Title Simple Illustration
            This is a line of text

            This is another line of text
            *Style 4
            *Window

         All the lines beginning with an asterisk are formatting
         commands, and all the rest of the lines (including the blank
         one) are lines of message text.

         Text input into the DGBG control file is a fairly straight-
         forward task.  Simply entering the text in paragraph format
         will work.  Line length is not especially important since
         any input text will automatically be line wrapped to a length
         of 60 characters per line.  Input lines should not exceed 110
         characters though, for longer lines may be truncated.

         The line wrapping algorithm in DGBG keys on two things to
         determine when to end a paragraph of text and begin a new one.
         The first of these is a blank line.  Any blank line will cause
         DGBG to finish the current paragraph, skip a line, and begin
         the next one.  Vertical spacing with blank lines is thereby
         preserved in the output files.  A line beginning with a space
         (such as a paragraph indention) will also trigger the end of
         the current paragraph and the beginning of a new one.  In this
         case however, no lines are skipped between paragraphs.  The
         indention is preserved however, and thus horizontal spacing is
         preserved in the output file.  DGBG's line wrapping algorithm
         does NOT remove extra blanks between individual words unless a
         line break also occurs between those words.

         The real power of DGBG is not derived merely from simple text
         input, however.  What makes DGBG special is the ability to
         configure multiple overlapping windows, each with its own
         individual characteristics.  This is accomplished through the
         use of a set of formatting commands.

         DGBG's commands essentially fall into two categories:  the
         Window command and all the rest.  All the commands except the
         Window command are used to set various parameters which will
         be used when the window command is invoked to determine what
         characteristics (such as location, color, etc.) a window will
         have when it is displayed.  Each time a command other than the

                                    3
         Window command (with some exceptions, as will be seen later)
         is invoked, the value of the setting controlled by that command
         is changed.  The order of commands is not important, as long as
         all the desired characteristics of a command are established
         before the Window command is used.  A command occurring twice
         before a Window command will not cause an error.  The last
         value given will be the one used when the window is written to
         the output files.

         Text is processed in a manner similar to the way non-Window
         commands are processed.  It is saved up until a Window
         command is reached, and then it is all put into the display
         window at once.


     DGBG Commands

         Following this section is an alphabetical listing of all
         the commands supported by DGBG.  For each command, both a
         description and a syntax definition are given.

         This document describes the function of DGBG's commands in
         ordinary English, and therefore their purpose should be
         reasonably self evident.  The syntax definitions may not be
         so obvious however, and so the following descriptions are
         given:

            *Command <1..10>

            This syntax means that the (purely hypothetical) command
            "Command" would accept an integer between 1 and 10 as its
            parameter.

            *Command <string>

            This syntax means that the command would accept a
            character string as a parameter.

            *Command [<string>]

            When the parameter is enclosed in square brackets,
            it is optional. In this case, the command "Command"
            would accept either a string parameter or no parameter
            at all.

         Many of the commands deal specifically with color.  The
         specific color values available vary from command to command
         and are given in the syntax definition for each command.
         The following chart shows what colors are associated with
         each color value:




                                    4
                                 Non-Blinking

                     0 - Black           8 - Dark Gray
                     1 - Blue            9 - Bright Blue
                     2 - Green          10 - Bright Green
                     3 - Cyan           11 - Bright Cyan
                     4 - Red            12 - Bright Red
                     5 - Magenta        13 - Bright Magenta
                     6 - Brown          14 - Yellow
                     7 - Light Gray     15 - White


                                   Blinking

                    16 - Black          24 - Dark Gray
                    17 - Blue           25 - Bright Blue
                    18 - Green          26 - Bright Green
                    19 - Cyan           27 - Bright Cyan
                    20 - Red            28 - Bright Red
                    21 - Magenta        29 - Bright Magenta
                    22 - Brown          30 - Yellow
                    23 - Light Gray     31 - White

         With that out of the way, here are the commands:

     AVATAR

         Syntax:  *Avatar

         The Avatar command enables the output of a file ending in
         the extension .AVT containing AVATAR terminal control
         information.  This option is for Sysops who are running
         BBS's that support the AVATAR terminal type as described
         in FSC-0025.  AVATAR output is not produced unless this
         command is given.  The AVATAR command must be issued before
         the Path command in order to have any effect.

     BACKGROUND

         Syntax:  *Background <0..7>

         The Background command is used to set the color that will be
         used as the background of the next window to be drawn.  The
         default value used if no Background command is issued is
         one (blue).

     FRAMECOLOR

         Syntax:  *Framecolor <0..31>

         The Framecolor command is used to set the foreground color of
         the frame around the next window.  The default value for this
         parameter if it is not given is five (magenta).

                                    5
     HIGHLIGHTS

         Syntax:  *Highlights <0..31>

         The Highlights command sets the foreground color used for
         displaying the window title, prompt, and DGBG edition stamp.
         The default setting is 15 (white).

     MESSAGECOLOR

         Syntax:  *Messagecolor <0..31>

         The Messagecolor command establishes the foreground color which
         will be used for actual news text within a window.  The default
         setting is 10 (bright green).

     NORIMS

         Syntax:  *Norims

         Without the benefit of color, the output of DGBG can be
         difficult to read because the lines separating windows do not
         always define the window well enough to separate it from other
         windows that it overlaps.  Since ASCII files never have color,
         DGBG by default draws in a blank line above and below each
         window in the ASCII output that overlaps another window.
         These blank lines, or "rims" can be disabled by using the Norims
         command.  All windows drawn after the Norims command is used
         will be rimless.  The Norims command can not be reversed except
         by removing it from the configuration file altogether.

     PATH

         Syntax:  *Path <string>

         This command establishes the path and name of the output files
         and causes those files to be opened.  This command should only
         be used once.  Do not provide an extension as part of the argument
         to the Path command.  The extensions .ASC, .ANS, and .AVT will
         be automatically appended by DGBG.  There is no default value,
         and this command must be issued before the first window command
         is issued.

     STYLE

         Syntax:  *Style <1..12>

         The STYLE command is used to select the style of frame which
         will surround the text in the next window to be shown.  There
         are twelve frame styles as shown at the top of the next page.




                                    6
        ┌─┤ Frame Style 1 ├────────┐     ┌── Frame Style 4 ─────────┐
        │ Single line with serifs  │     │ Single line w/o serifs   │
        └────────────┤ DGBG 1.00 ├─┘     └───────────── DGBG 1.00 ──┘

        ╔═╡ Frame Style 2 ╞════════╗     ╔══ Frame Style 5 ═════════╗
        ║ Double line with serifs  ║     ║ Double line w/o serifs   ║
        ╚════════════╡ DGBG 1.00 ╞═╝     ╚═════════════ DGBG 1.00 ══╝

        █▀█ Frame Style 3 █▀▀▀▀▀▀▀▀█     █▀▀ Frame Style 6 ▀▀▀▀▀▀▀▀▀█
        █ Thick border with serifs █     █ Thick border w/o serifs  █
        █▄▄▄▄▄▄▄▄▄▄▄▄█ DGBG 1.00 █▄█     █▄▄▄▄▄▄▄▄▄▄▄▄▄ DGBG 1.00 ▄▄█

        ┌─[ Frame Style 7 ]────────┐         Frame Style 10
        │ Single line w/ brackets  │       No frame
        └────────────[ DGBG 1.00 ]─┘                    DGBG 1.00

        ╔═[ Frame Style 8 ]════════╗     *** Frame Style 11 *********
        ║ Double line w/ brackets  ║     * Asterisks                *
        ╚════════════[ DGBG 1.00 ]═╝     ************** DGBG 1.00 ***

        █▀[ Frame Style 9 ]▀▀▀▀▀▀▀▀█     +-| Frame Style 12 |-------+
        █ Thick border w/ brackets █     | ASCII only               |
        █▄▄▄▄▄▄▄▄▄▄▄▄[ DGBG 1.00 ]▄█     +------------| DGBG 1.00 |-+


        The default setting for the Style command is two (double line
        with serifs).

     TITLE

         Syntax:  *Title [<string>]

         Sets the value for the title string that will be used when the
         next Window command is issued.  If no parameter is provided,
         the next window will not have a title.  The default setting is
         for no title, and the maximum title length is 50 characters.

     WINDOW

         Syntax:  *Window

         When the window command is issued, all of the current color,
         title, etc. settings and the message text collected since the
         last Window command (or the beginning of the file if there was
         no previous window command) is used to create a window.  That
         window is then written to the output file.

         If no Window command is found in the configuration file, DGBG
         does not produce any output.  The last command in the
         configuration file should therefore be a Window command.




                                    7
     X

         Syntax:  *X <1..16>

         Sets the X coordinate (column) at which the upper left hand
         corner of the next window to be drawn will reside.  The default
         X value of nine produces a window which is approximately
         centered (horizontally) on the screen.  The X and Y coordinates
         should be altered if an overlapping window effect is desired.
         If they are not, windows will simply overwrite one another.

     Y

         Syntax:  *Y <1..10>

         Sets the Y coordinate (row) at which the upper left hand
         corner of the next window to be drawn will reside.  The
         default setting of six produces a window which is approx-
         imately centered on the screen.  The X and Y coordinates
         should be altered if an overlapping window effect is desired.
         If they are not, windows will simply overwrite one another.


      Final Words

         If you believe you have found a bug in this program, first
         go back and reread the documentation, make sure you have
         at least files=25 in your CONFIG.SYS, and perform all the
         other normal double checks.  If you are still unable to
         get the program to work, and think you have found a bug,
         please attempt to send me netmail and I will see what I
         can do.  I am currently accepting netmail at 1:391/21. I am
         a college student however, so this should not be considered
         a permanent arrangement.  After 1 May 1990, just look for
         Brian_McCormick in the FidoNet nodelist.  Regrettably, I am
         too poor to provide unlimited support for this program, but
         if you can contact me, I will be more than happy to look
         into any bug reports, and I will fix any real bugs that can
         be found.

         I would like to thank Bernard Johnson of DigiKing BBS
         (1:391/16) for assisting in testing this program and for
         his many valuable suggestions.  Without his help, DGBG
         would not be what it is today.  Also instrumental to the
         development of this program was Greg Langham of Ozark
         Connection BBS (1:391/7), who wrote a program that set
         the standard for this one.  (Please don't bother Bernard or
         Greg about support for this program, because they do not
         have the source.)





                                    8