Unstructured tags

In general, it is highly recommended to express DSLs in terms of structured tags, by using the Diesel.Tag macro. This will enforce a well defined schema and the compiler will be able to pick up misconfigurations and/or omissions and raise errors early.

This said, it is also possible to express a DSL in terms of unstructured, or plain atom tags, when more informal definitions might be acceptable:

defmodule MyApp.Html.Dsl do
  use Diesel.Dsl,
    otp_app: :my_app,
    root: :html,
    tags: [:head, :body, :meta, :script, ...]
end