Skip to content
Saleh Abdel Motaal edited this page Jan 10, 2020 · 3 revisions

Welcome to the markout wiki!

Markout in a Nutshell!

How

1 Parsing — Breaking source text into syntactically isolated tokens. The architecture leverages built-in RegExp goodness in declarative, maintainable and extensible modes (JS extending JSON) that can be used with construct-based processing to afford nesting (js inside html tags) and other enhancements.

2 Composition — Collating tokens into semantically layered constructs. The vision has been refined from a lot of experiments with construct-based processing of grammars of varying challenges, not least of which is ECMAScript.

3 Rendering — Realizing constructs with contextually structured entities. Most of the work on this layer is simplified by the compositional layer for html rendering at least, but pdf, stdio and other destinations need further efforts.

4 Enhancement — Decorating entities with functionally encapsulated state. The intent here is to make it possible for enhancements to happen with minimal interference, so the opposite of what React does!

Why

Markout’s philosophy is to leverage and maximize on the capabilities of different destinations and mediums, thus improving how we would reason about rich content features, including accessibility.

Where

All experimental efforts were open-sourced across a few repos under https://github.com/SMotaal, which will be refactored out to https://github.com/outmark as collaborative open-source project (for everyone interested).

Clone this wiki locally