Structure

Screen, View, Layout, Title Bar, Columns, and Mashup form the fixed hierarchy that defines the display environment. Plugins render their content inside Views. Follow the exact div setup; deviating causes layout and rendering issues.

TRMNL Platform trmnl.com
Custom Stack BYOS, trmnlp, ...

You don't specify Screen, Mashup, or View. The platform provides them automatically, and you specify the Layout and optionally a Title Bar.

You provide the full hierarchy yourself: Screen, View, Layout, and optionally a Mashup container and a Title Bar.

<!-- plugin's view markup -->
<div class="layout">...</div>
<div class="title_bar">...</div>
<!-- /plugin's view markup -->
<div class="screen">
  <div class="view view--full">
    <div class="layout">...</div>
    <div class="title_bar">...</div>
  </div>
</div>
#

The Exact Structure

The framework uses a fixed div hierarchy. Each level has a specific role. The canonical structure is:

Screen → (Mashup →) ViewLayout (+ optional Title Bar)

#

Component Roles

Each foundation component has a specific role. Use them as intended.

Layout

The content container, exactly one per View. Its direct children are typically Columns, Grid, or Flex, arranged with layout--row, layout--col, and alignment modifiers. See the Layout page's "What Goes Inside Layout" section for when to use each.

#

Single View

For a single plugin occupying the full screen:

Layout
TRMNL Logo Plugin Instance
<div class="screen">
  <div class="view view--full">
    <div class="layout">
      <!-- Your content here -->
    </div>
    <div class="title_bar">...</div>
  </div>
</div>