You can use slots to render templates. Let's create a app.edge file inside the views/components/layout directory.

<!DOCTYPE html>
<meta charset="utf-8">
<title>{{ title || "Your default title" }}</title>
@if ($slots.meta)
{{{ await $slots.meta() }}}
{{{ await $slots.main() }}}

Edit a welcome.edge file inside the views directory.
In this exemple we want to render the main content of or welcome page using our $slots.main function, add a meta markup with $slots.meta, and change the default title.

views/welcome.edge{ title: "Welcome page title" })
<meta name="description" content="A welcome page made with EdgeJS">
<h1>Hello world</h1>

As you can see, we can use slots to replace section of our layout. This is what we have done with the meta section and the main section.