SHYTE(5) BSD File Formats Manual SHYTE(5)NAMESHYTE — Simple Plain Text Hypertext System.
DESCRIPTIONSHYTE is _S_imple _HY_per_TE_xt. SHYTE documents are pre-formatted plain
text documents, prefixed with SHYTE meta-data. Links are indicated with
embedded SHYTE Locators. All is explained in detail below.
· All SHYTE documents MUST use the UTF-8 character encoding.
· All the lines of SHYTE documents MUST be terminated with newlines
(ascii linefeed).
· All the lines of SHYTE documents MUST be wrapped at 79 printable
characters, with the exception of Locator Lines. The terminating
newline may be the 80th character of a line.
· All paragraphs MUST be separated by single blank lines.
· All contiguous sentences MUST be separated by two space characters.
· SHYTE documents MUST begin with the words, "SHYTE DOCUMENT", in
uppercase, with no other text following, on the first line of the
document. This line is called the SHYTE Identifier.
· SHYTE documents MUST follow the SHYTE Identifier with a meta-data
header resembling an email header. In normal use, SHYTE browsers
MUST hide the SHYTE Identifier and the meta-data, and MUST provide a
means for the user to examine the complete, unaltered SHYTE Identi‐
fier and meta-data, on demand. The meta-data MUST be separated from
the body of the document by a blank line.
· Meta-data is expressed as key/value pairs. The base set of
header keywords is: "Title", "Author", "Copyright", "License",
"Version", "Description", "Date", and, "Tags".
· The "Title" keyword MUST appear in all SHYTE document headers.
The rest of the keywords are optional.
· Each keyword MUST occur only once in any header, with the excep‐
tion of the "Author" keyword, which may occur multiple times in a
header.
· The composer of a SHYTE document may supplement this group of
keywords with those of his or her own creation.
· Keywords MUST NOT contain whitespace, and be separated from their
corresponding values by a colon followed by an arbitrary amount
of whitespace. The values may contain whitespace, but the ini‐
tial whitespace after the colon MUST NOT be considered part of
the value.
· Continuation lines of wrapped meta-data must begin with white‐
space. The leading whitespace of continuation lines MUST not be
considered part of the value.
· Creators of SHYTE documents are are encouraged to use the
"Description", and "Tags" keywords to provide meta-data for
search engines and indexing sites to use. Meta-data can make
search more efficient and produce higher quality search results.
· A link from one SHYTE document to another is expressed as a SHYTE
Locator, embedded in document text. Locators resemble the following
pseudo-regular-expression:
<-?((HOSTNAME|IP ADDRESS)(:PORT)?)?/path/to/document>
Some examples of SHYTE Locators:
<mammothcheese.ca/document>
<mammothcheese.ca:2000/foobar/tooley/dumbledare>
</root>
<-mammothcheese.ca/binary/resource>
· If a locator does not specify the port number on which the server
is listening, the port number used will be 1966, the default
Squeers(8) port.
· A Locator without a hostname or an IP address is considered to be
a Relative Locator. The implied host is the origin server of the
document in which the Locator appears.
· There is no implied root document on a SHYTE site. Locators must
name the resource to be requested. The root document of a SHYTE
site MUST be called, "root". The root document may also be
available under other names, via hard or symbolic links.
· It is not possible to view directories on SHYTE servers. It is
an error of construction for the path portion of a SHYTE locator
to end in a virgule.
· SHYTE Locators MUST NOT be spread across multiple lines, no mat‐
ter what their length. If a line of a document is made longer
than 79 printable characters by an embedded SHYTE Locator, then
that Locator MUST be moved to separate line by itself. These
lines with lone long locators are called Locator Lines. They are
the only lines permitted to be wider than 79 printable charac‐
ters.
· A Locator specifies a SHYTE document, unless a hyphen follows the
opening angle bracket, in which case, the Locator is a Binary
Locator. If a Binary Locator is selected by the user, a browser
MUST be able to download the resource specified by the path por‐
tion to a file in the current directory with the same basename.
Browsers MAY run applications associated with certain file types,
but this behavior is optional.
· Composers of SHYTE documents are encouraged to create long documents.
SHYTE browsers must provide facilities for users to place bookmarks
on the current document, and to search the current document using
regular expressions.
· SHYTE browsers MUST cache all the documents visited in a session.
When a user re-visits an already-visited document, the browser MUST
reload the cached version of that document. Browsers MUST also pro‐
vide a means for the user to re-load documents from their sources, on
demand. The cache MUST be a session-cache only, and be discarded
when the browser exits.
· Browsers are not allowed to modify SHYTE documents. Browsers there‐
fore must provide the means for the user to scroll the display window
horizontally if the current document is wider than the display win‐
dow.
· An example SHYTE document:
SHYTE DOCUMENT
Title: Pure SHYTE: The SHYTE Homepage
Author: James Gordon Bailie
Copyright: Copyright (c) James Gordon Bailie, 2010
License: This file may be freely distributed for non-commercial
purposes, as long as it is not altered in any way.
Conversions of the content to other formats are permitted
as long as none of the text is omitted or modified.
Description: The homepage of the SHYTE plain text hypertext system.
Tags: SHYTE, hypertext
THE SHYTE HOMEPAGE
Welcome to SHYTE-Space! SHYTE is _S_imple _HY_per_TE_xt. SHYTE documents
are plain text documents with meta-data headers, and links.
Read the SHYTE manual for more details: </shyte>
AUTHORS
James Bailie ⟨jimmy@mammothcheese.ca⟩
http://www.mammothcheese.ca
Oct 05, 2013