Skip to content
Developer Codex
Pages & Editor

Page Layouts

A page layout divides the editor into a named grid of areas — a sidebar and main column, a header and body, a two-by-two grid of panels. Once a layout is applied, you assign individual blocks to specific areas, giving your page a structured visual form instead of a single column of text.

Layouts are particularly useful for character sheets, location profiles, and reference pages where different types of information benefit from side-by-side presentation.

Eight layouts are available in every workspace immediately:

LayoutAreasShape
Single ColumncontentOne column
Two Equal Columnsleft, rightTwo equal columns
Sidebar + Mainsidebar, mainNarrow left, wide right
Main + Sidebarmain, sidebarWide left, narrow right
Two-by-Two Gridtl, tr, bl, br2×2 grid
Header + Two Columns + Footerheader, left, right, footerFull-page grid
Character Sheetportrait, stats, bio, notes3×3 with spanning areas
Dashboardmetric1, metric2, metric3, detail-left, detail-rightMetrics row + detail row

The layout picker shows a visual miniature preview of each layout before you apply it. The currently applied layout is indicated as selected.

  1. Open the page you want to structure.
  2. Open the layout picker — via the toolbar or page options menu.
  3. Select a layout. The picker shows previews for all available layouts.
  4. Confirm the selection.

The editor switches to the grid view immediately. Areas without blocks show an EmptyCell placeholder — a dashed border with an insert affordance.

The layout is stored as a snapshot in the page — if the underlying layout definition is later deleted, your page retains its grid exactly as it was.

Once a layout is applied, drag a block from the editor to the target grid area. Alternatively, use the block’s context menu and select Assign to area, then choose from the available area names.

A block can only be assigned to an area that exists in the current layout. Attempting to assign a block to an area name that doesn’t exist in the current layout is rejected.

Click the EmptyCell placeholder in any empty area. A new block is created and immediately assigned to that area. The cursor lands in the new block, ready for typing.

Each grid area has its own independent undo history. Pressing Cmd+Z while editing block A reverts only block A’s content — block B is unaffected. This isolation means you can freely edit one area without worrying about cascading undos elsewhere on the page.

Open the layout picker and select Remove Layout. The page reverts to single-column view. Block content is fully preserved — no text or images are lost. Blocks that had area assignments have their area cleared (set to no area), so they reflow into the single column.

Before switching from one layout to another, Inklings checks whether any blocks are assigned to areas that don’t exist in the target layout. If they are, those blocks are displaced — their area assignment would be invalid in the new layout.

The Layout Conflict Dialog appears when displaced blocks are detected:

  • The dialog lists each displaced block with a preview of its content
  • Cancel — leaves the current layout unchanged
  • Apply anyway — switches to the new layout; displaced blocks lose their area assignment (area becomes null) but their content is fully preserved

No data loss occurs either way. Displaced blocks with cleared area assignments reflow into the layout’s unassigned space.

Open the layout creator (via the layout picker’s Create custom layout option or the layout management panel).

  1. Enter a name (maximum 100 characters, cannot be empty).
  2. Define the CSS Grid template areas. Each row is a space-separated list of area names; rows are separated by newlines.
header header
left right
footer footer

Validation rules for custom layouts:

  • All rows must have the same column count
  • Each named area must form a contiguous rectangle (no L-shapes or T-shapes)
  • Area names accept only letters, digits, hyphens, and underscores — no spaces or special characters
  • Maximum 20 rows, 20 columns, and 50 distinct area names

Non-contiguous shapes and mismatched column counts are rejected with a specific error message before saving.

Custom layouts can be deleted from the layout management panel. Built-in layouts cannot be deleted or modified.

When a custom layout is deleted, pages that were using it retain their existing layout grid as a snapshot — the snapshot is self-contained and doesn’t depend on the definition being present.

A type definition can have a default layout. When a new page is assigned that type, the default layout is applied automatically.

To set a default layout on a type: open the type definition in the type management panel, and set the Default layout field to a layout definition. New pages assigned that type will open with the layout already applied and the grid waiting for content.

Was this page helpful?