The Portark Language
Portark is a language for text markup. It might be used to write simple articles or manuals.
Portark is based on the Unotal syntax that is described elsewhere.
Span Items
A string of printable characters (not including line or paragraph terminators), like »alpha« is a span item.
A room with a sequence of span items, like »< alpha beta>«, also is a span item.
Such a room might have types as markup, like »< &new alpha >«.
Span Item Types
:portark:new
Marks a term that is being introduced here as a new term. I.e., the term is mentioned for the first time in this text, usually with an explicit or implicit explanation. This might be translated to a DFN element type in HTML.
(none) If a span does not have one of the type mentioned above, it is just a span (which might be translated to an HTML span element).
- Example
[This is called a ]< &:portark:new map >[.]
- HTML
This is called a <dfn>map</dfn>.
Paragraph Divisions
When a span item appears in a context, where a div item is expected, it is considered to be a paragraph division.
The following example shows a „text“, which expects div items as direct contents. So the two span items within this text are deemed Paragraphs.
- Example
< !portark &text
< < &new Portark>[ is a text markup language.] >
< [Portark texts can be converted into HTML documents.] >>- HTML
<div>
<p><dfn>Portark</dfn>is a text markup language.</p>
<p>Portark texts can be converted into HTML documents.</p></div>
Remark: This means that paragraphs are not mark up explicitly – instead every top-level entry within a text-room is deemed a paragraph.
Description Divisions
(Description divisions are a recent feature that is not being documented here yet.)
Division Items
The entries of a text room are division items.
A division item is either another text room or a paragraph division (later, also description divisions might be allowed).
Text Divisions
A room of type »:portark:text« is a text division (or the main division being described below).
It contains a sequence of division items (described above).
- Example
< !portark &text
< [Paragraph.] >
< &text [A nested subtext.] >
>
Text Division Attributes
:portark:heading
The heading of this text division. A span item.
- Example
< !portark &text heading=[An Example]
< [Paragraph.] >
< &text heading=[A Nested Subtext] [Paragraph] >>
The Main Division
The top-level room of a Portark document is the main division, which needs to have the type »:portark:text«.
Main Division Attributes
:portark:title
The heading of this document. A span item.
- Example
< !portark &text title=[An Example]
< [Paragraph.] >
< &text heading=[A Nested Subtext] [Paragraph] >>
External Features
This section describes how additional information can modify a file generated from a Portark source.
The only current implementation uses a policy attribute from another source file to determined whether the HTML file generated has a metatag to allow or deny robots.