Graphviz Markup Semantics

We define what happens when markup keywords are encountered by the breadth-first evaluator. See Extract Site to Dot for examples.

# Context

Context is established by keywords, used in place and passed as a copy to nested markup.

Keywords that establish a page title, a name in context, do not immediately fetch that page.

Keywords that successfully fetch pages establish that content as the page in context for nested markup.

Keywords can subset the page in context and pass that to nested markup.

Lines without keywords will pass through as is. dot

# Keywords

DOT digraph

DOT strict digraph

Engage the algorithmic translation of linked wiki pages using the following additional keywords. We support the two dot variations shown.

HERE

HERE NODE

HERE NODE label

The name in context is established as a page to be examined. A fetch is initiated. The page becomes the page in context. Optionally render as node. Optionally render the labeled markup node with a dotted edge to node here.

LINK

LINK HERE -> NODE

LINK NODE -> HERE

The page in context or WHERE-portions thereof are examined for internal links. These become the name in context for nested markup. Optionally render an edge from/to the page in context to/from each new name in context.

WHERE /reg-ex/

WHERE graph

The page in context is examined for items matching a condition which become the subset page in context for nested markup.

ELSE

When the preceding HERE fails to retrieve and establish a page in context then nested markup is evaluated with the previous context in place.

FAKE NODE -> HERE

FAKE HERE -> NODE

Render an edge from/to the name in context (failed page in context) to/from a fabricated node name based on adding a prefix (pre or post) and an occurrence name (one, two or three) to the name in context.

LINEUP

The site and slug of leftward lineup pages become the name in context for nested markup.