Zettelmarkup: Inline Embedding / Transclusion

To some degree, an specification for embedded material is conceptually not too far away from a specification for linked material. Both contain a reference specification and optionally some text. In contrast to a link, the specification of embedded material must currently resolve to some kind of real content. This content replaces the embed specification.

An embed specification begins with two consecutive left curly bracket characters (“{”, U+007B) and ends with two consecutive right curly bracket characters (“}”, U+007D). The curly brackets delimits either a reference specification or some text, a vertical bar character and the link specification, similar to a link. If the content starts with more than two left curly bracket characters, all but the last two will be treated as text.

One difference to a link: if the text was not given, an empty string is assumed.

The reference must point to some content, either zettel content or URL-referenced content. If the current user is not allowed to read the referenced zettel, the inline transclusion / embedding is ignored. If the referenced zettel does not exist, or is not readable because of other reasons, a spinning emoji is presented as a visual hint:

Example: {{00000000000000}} will be rendered as Error placeholder.

There are two kind of content:

  1. image content,
  2. textual content.