Skip to content

Confusion around Layout vs. Page in TagExtension #178

Description

@evantravers

My understanding of a the Layout vs Page dichotomy is:

  • Layout provides a wrapper while exposing the ability to render @inner_content
  • Page is a terminal page that can be wrapped in a Layout

This all makes sense, except for some of the extensions. For example, Extensions.TagExtension requires you to provide a layout: key that points to a Tableau.Layout page… that doesn't expose a render @inner_content but just acts like a terminal page.

Maybe I'm overcomplicating this. Either it seems like TagExtension should have a template: key that passes assigns.posts to handled by a Tableau.Page and inserted into the graph for each tag, or there's some nuance about Tableau.Layout that I'm missing.

Activity

  1. changed the title [-]Confusion around Layout vs. Page in extensions[/-] [+]Confusion around Layout vs. Page in TagExtension[/+] on Apr 14, 2026
  2. evantravers commented on Apr 14, 2026

    @evantravers
    ContributorAuthor

    Still thinking and reading code, maybe it has to do with a Page struct requires a permalink, whereas a Layout does not?

    That's technically clearer, but semantically a little confusing.

  3. mhanberg commented on Apr 28, 2026

    @mhanberg
    Collaborator

    I think there is something weird going on. I'll try and get a minute to straighten it out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions