Skip to content

Support columns on grid-item directive#2766

Open
stefanv wants to merge 6 commits intojupyter-book:mainfrom
stefanv:grid-item-columns
Open

Support columns on grid-item directive#2766
stefanv wants to merge 6 commits intojupyter-book:mainfrom
stefanv:grid-item-columns

Conversation

@stefanv
Copy link
Collaborator

@stefanv stefanv commented Mar 16, 2026

  • Pass through the columns option
  • Render grid-item as grid-item in AST, not as div

xref: jupyter-book/myst-theme#838

closes: #1141

TODO:

  • List but comment out Sphinx Design options that are not currently implemented
  • Consider generating documentation from / pointing to this PR to show which places need to be touched when updating a directive

- Pass through the `columns` option
- Render `grid-item` as `grid-item` in AST, not as div
@changeset-bot
Copy link

changeset-bot bot commented Mar 16, 2026

🦋 Changeset detected

Latest commit: 2c5cc33

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
myst-ext-grid Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Collaborator

@choldgraf choldgraf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM - I think it's safe to merge when you're happy with it. A few quick non-blocking comments:

  • Could we add minimal tests or warnings for the new functionality and the most common use-case bugs we expect users to accidentally trigger? e.g., what if columns is above 12 if a user thinks that might be possible?
  • The confusion that triggered this was because there's a discrepancy between the functionality of the sphinx "grids" implementation and this one. Is there any other obvious thing we should add a brief warning for? Doesn't strictly need to be in this PR but it might be a nice opportunity to clear up confusion

Grids allow you to structure arbitrary chunks of content in a grid-like system.

To generate a grid, use the ` ```{grid} ` wrapper directive along with ` ```{card} ` directives inside.
To generate a grid, use the `:::{grid} ...` wrapper directive along with `:::{grid-item}` or `:::{card}` directives inside.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sidenote: we should probably standardize this in our docs

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants