The Pillars
The Pillars

Oscean is a flat-file wiki engine.

Oscean is a static wiki engine written entirely in assembly, designed to be deployed from low-power devices with no extra dependencies, the site generator itself is assembled with Drifblim, a small assembler written in that same language.

uxncli bin/drifblim.rom src/oscean.tal bin/oscean.rom

The wiki and related tools are designed to be used offline first, so the content is generally accessed and edited locally, there are no offsite queries for critical resources. Since 2006, this ecosystem has grown into a collection of tools which also includes a time tracker.

The generated files are optimized for screen-readers and terminal browsers, using no javascript, the stylesheet for this entire website is 30 lines long. The entire project was designed with a focus on digital preservation.

Iris, in Dotgrid

To learn more about the templating engine, see meta.

Indental is a plaintext dictionary-type database format designed to store elements accessible by name.

In the Indental file, an unindented line declares the key to a new root node, indented lines associate parameters or lists to their root node, a key-value pair is declared with a colon, and a list is declared by a sequence of equally indented lines.



This database format was used to store the plain-text content of the Oscean wiki between 2014 and 2020.

Tablatal is a plaintext list-type database format designed to store a list of elements of the same length, accessible by id.

In the Tablatal file, the first line declares the key, the spacing between each key defines the length of the parameters for all subsequent lines. The format was originally designed to store the Horaire logs.

Erica   12    Opal
Alex    23    Cyan
Nike    34    Red
Ruca    45    Grey

Or, [{name:Erica,Age:12,Color:Blue},{name:Alex,Age..}

Lain is a Lisp dialect used as a templating and scripting engine.

The Lain is a simple Lisp language that used to exist at the core of Oscean before the migration to a fully static website, but it can still be found in various projects of the Nataniev, such as in the Ronin and Paradise applications.

Templating With Lain

(link "home")                             {(link "home")}
(link "home" "local")                     {(link "home" "local")}
(link "https://github.com/")              {(link "https://github.com/")}
(link "https://github.com/" "external")   {(link "https://github.com/" "external")}
(bold "bold")                             {(bold "bold")}
(ital "italic")                           {(ital "italic")}
(bold (link "home" "bold link"))          {(bold (link "home" "bold link"))}

Programming With Lain

(add (sub 5 3) 2)                         ; Basic Math
(λ (a b c) (concat a b c))                ; Lambda
(def obj:foo "bar")                       ; Creating object
(obj:foo)                                 ; Reading object parameters
(def _sidebar (dom:create "sidebar"))     ; Creating DOM elements

Runic is a templating format.

Runic is a first-order templating language operating on an array of lines, Where line is prefixed by a rune, giving a sense of the data being handled.

  * Header
  & Paragraph
  - List Element 1
  - List Element 2
  | table | row1
  | table | row2
  λ -- (link "LAIN") BLOCK

Incoming: defunct about meta index notebook indental lain arvelie arvelie riven