Currently we have two main type of items Views and Components, and also user-defined custom items.
Because of this all of the source items are arrays of different type of items. Main reason for this was that they may have custom attributes.
- Views and components both have a
name attribute. This is the tag name when in HTML/XML context.
- Views may have also a
path attribute for routing
- Components may define new user-defined types (with custom attributes)
However, this make it harder to integrate with some formats like Markdown (#22), which do not support this type of root element defining meta properties through attributes.