# Riddler v0.1.0 - Table of Contents

> Riddler is a dynamic content runtime: a host authors content as JSON documents - screens now; emails, images and feature flags forthcoming - and Riddler resolves each against a visitor's context; the host renders, sends or serves what comes back

## Pages

- [Riddler](readme.md)
- [Changelog](changelog.md)

- Architecture decisions
  - [ADR-0001: Riddler is one package: a dynamic content runtime that consumes the statifier family, and the content document is its contract](0001-riddler-one-package.md)
  - [ADR-0002: The screen document v1](0002-element-document.md)
  - [ADR-0003: The template subset](0003-template-subset.md)

## Modules

- [Riddler](Riddler.md): Riddler: a dynamic content runtime.
- [Riddler.Finding](Riddler.Finding.md): One reason something was refused.

- Screens
  - [Riddler.Screens](Riddler.Screens.md): A document against one visitor: what they are shown, and what could not be
decided.
  - [Riddler.Screens.Document](Riddler.Screens.Document.md): The screen document: what a host declares, and why one is refused.
  - [Riddler.Screens.Registry](Riddler.Screens.Registry.md): The node types this version of the runtime knows, by the name a document
spells them with.
  - [Riddler.Screens.Resolved](Riddler.Screens.Resolved.md): A document resolved against one visitor's context and responses.
  - [Riddler.Screens.Type](Riddler.Screens.Type.md): What a node type has to tell the document about itself.
  - [Riddler.Screens.Type.Button](Riddler.Screens.Type.Button.md): A control a visitor presses, and what pressing it means.
  - [Riddler.Screens.Type.Heading](Riddler.Screens.Type.Heading.md): A section title: a level and the text of the heading.
  - [Riddler.Screens.Type.Text](Riddler.Screens.Type.Text.md): A block of authored prose.
  - [Riddler.Screens.Type.TextQuestion](Riddler.Screens.Type.TextQuestion.md): A question a visitor answers with a line of text.
  - [Riddler.Screens.Type.Variant](Riddler.Screens.Type.Variant.md): A container that shows one of several candidates: first match wins.

- Template
  - [Riddler.Template](Riddler.Template.md): The safe template subset: a deliberately small slice of Liquid.
  - [Riddler.Template.Compiled](Riddler.Template.Compiled.md): A template that has been accepted by `Riddler.Template.compile/1`.

## Mix Tasks

- Corpus
  - [mix riddler.corpus](Mix.Tasks.Riddler.Corpus.md): Copies the conformance corpus and the JSON schemas out of this repository and
into a checkout of [riddler_spec](https://github.com/riddler/riddler_spec),
or checks that the copy already there is the one this repository would write.

