Help Library

ShofarMarkup is the simple language used to for page layout, generating HTML, or direct screen rendering.  It is specifically designed using a minimalist approach.  There are very few things to learn, very little software to make it work, and a very small footprint for security issues.

ShofarMarkup is designed primarily for static displaying of data.  Mechanics allow for partial or full page updates for dynamic data.  The goal is to communicate rather than entertain.

Positioning is done with a simple Table/Row/Cell structure that can be nested as required.  Text within a cell can be a single line (Jot) or multi-line using Paragraphs.

ShofarVerbs in ShofarMarkup

Each ShofarMarkup element can contain a Compile and Show attribute.  These are used to dynamically generate additional markup, text, images, etc.  For example Compile is used for verbs that might enumerate a list and Show would display a value.

ShofarMarkup in a ShofarFile

Within a ShofarFile ShofarMarkup will appear in two lists, the Markup_List and the Content_List.  They are identical in format.  The difference is that Markup in the Markup_List will honor the Compile and Show attributes, while Content in the Content_List will not.

Markup is then used to from privileged sources to generate pages, while Content can be come from arbitrary untrusted sources.  For example when used for email the message body is Content only.

Markup Location Resolution

When a Markup item is to be found each File in the Layers is searched starting from the Extension.

If the Markup’s Key starts with a ‘@’ then only “Program.Shofar/Markup” is searched.  The characters between the ‘@’ and the first ‘.’ specify the File in “Program.Shofar/Markup”.  For example "@Home.Menu(160x90)" is found in “Program.Shofar/Markup,Home” and "@Body,Service.Standard" is found in " Program.Shofar/Markup,Body,Service".

If the Markup’s Key starts with a ‘=’ then all “/Markup,(file)” Files are searched for each site in the Layers starting with the Target Site.  The characters between the ‘=’ and the first ‘.’ specify the File in “/Markup”.

Help Library

Aide

Bag

Branch

Coin

Core

Computer

Dev

Kind

Kit

Leaf

Map

Message

Net

Packet

Primitives

Run

Secure

Session

Site

Socket

Primitives

Belt

Bond

Build

Clause

Fact

Glob

ID

Image

Leaf

Log

Markup

Money

Object

Package

Parse

Phrase

Render

Stack

String

Sum

SVG

Time

Tray

Unit

Verb

Markup

Table

Row

Cell

Column

Paragraph

Jot

Layout

Section

Markup