pennmush/game/data/
pennmush/game/log/
pennmush/game/save/
pennmush/game/txt/evt/
pennmush/game/txt/nws/
pennmush/os2/
pennmush/po/
pennmush/win32/msvc.net/
pennmush/win32/msvc6/
& PUEBLO
& PUEBLO()
Pueblo is a client made by Chaco (a now defunct company).
It attempts to mix HTML with MUSH, and does a decent job at it.
There are other clients (notably MUSHclient) that also offer Pueblo 
features.  If compiled into the MUSH, PennMUSH offers support for
the enhanced features of Pueblo.

PennMUSH will automatically detect a Pueblo client (rather, the 
client will announce itself and PennMUSH will detect that), and
set up that connection for Pueblo use. 

The PUEBLO() function returns 1 for players connected with Pueblo, 
0 for players with other clients, and #-1 NOT CONNECTED for
players who aren't connected. It uses the most recently active
connection if a player is multiply logged in.

For more information, see 'Pueblo features', 'HTML' and
'HTML Functions'. 

& PUEBLO FEATURES
PennMUSH makes the following enhancements visible to Pueblo users, if
Pueblo support has been enabled in the server (check @config):

- Object/Room names are highlighted
- Support for VRML graphics
- Unordered list for contents and transparent exits
- Contents and links have links (Click an exit to walk through it)
- Object lists (like the ones found in 'examine') have links
- Conversion of ANSI sequences to <FONT> tags.

See 'HTML', 'HTML Functions' and '@VRML_URL' for more help.

& @VRML_URL
& VRML
@VRML_URL Object=<URL>

This provides an object (usually a room) with a VRML world. When a 
Pueblo-user enters this object, the VRML World listed in @VRML_URL
will be loaded.

Example:
@VRML_URL here=http://www.pennmush.org/pennmush.vrml

To learn about the VRML Format, have a look at the Pueblo Help, which
mentions several good sites for learning.

See also 'HTML'.

& HTML
Hyper Text Markup Language (http://www.w3.org)

The only HTML implementation supported by the MUSH is the one
supported by Pueblo (See 'Pueblo'). To utilize HTML, use
one of the MUSH HTML Functions. (See 'HTML Functions').

HTML tags are stripped when sent to non-HTML capable players.

See 'HTML Functions'.
& HTML FUNCTIONS
HTML Functions are used to output HTML tags to HTML capable
users. These tags will be stripped by the system for anything
non-HTML related. These functions will not be available if
the server is compiled without Pueblo support (check @config).

html()
tag()
endtag()
tagwrap()

Examples:
  [html(A HREF="http://www.pennmush.org")]PennMUSH[html(/A)]
  [tag(A,HREF="http://www.pennmush.org")]PennMUSH[endtag(A)]
  [tagwrap(A,HREF="http://www.pennmush.org",PennMUSH)]
Each of these produces the HTML output:
  <A HREF="http://www.pennmush.org">PennMUSH</A>

Mortals are restricted in the tags they may use. Most standard HTML
tags are ok; protocol-specific tags like SEND and XCH_CMD can only be
sent by Wizards. In addition, the html() function is Wizard-only.
& HTML()
Function: html(<string>)

This wizard-only function will output string as a HTML Tag.

Example:
  think [html(B)]

Will output (in HTML):
  <B>

Non-wizards should see the tag(), endtag(), and tagwrap() functions.
& TAG()
Function: tag(<name>,[param1[,param2...]])

This will output the tag 'name' with values from it's parameters.

Example:
 [tag(IMG,SRC=http://www.pennmush.org/someimage.jpg,ALIGN=LEFT,WIDTH=300)]

Will output (in HTML):
 <IMG SRC=http://www.pennmush.org/someimage.jpg ALIGN=LEFT WIDTH=300>

& ENDTAG()
Function: endtag(<name>)

This will output an end tag 'name'.

Example:
 [endtag(IMG)]

Will output (in HTML):
 </IMG>

& TAGWRAP()
Function: tagwrap(<tag>[,<parameters>],<string>)

This will output 'tag' with parameters, followed by 'string', and then
a closing tag for 'tag'. 

Example:
 [tagwrap(A,HREF=http://lists.pennmush.org,PennMUSH Lists)]
Will output (in HTML):
 <A HREF=http://lists.pennmush.org>PennMUSH Lists</A>

A particularly important use of this function is tagwrap(PRE,<string>).
Because Pueblo works like an html browser, spaces and tabs are compressed
to a single space. If you have code (a +who function, for example) that
relies on exact spacing, surround its output with a tagwrap(PRE,...)
so that Pueblo will render it as "preformatted" text.