Custom layouts
Learn how to enable, and customise your lab layouts and themes. Custom layouts help you create a tailored lab experience for your product.
Read the docs below or view this video to learn more about activating the new lab UI and how to create custom layouts for your challenges.
What are Custom Layouts
Custom layouts allow you to customise the tab panels of a lab for an entire play, or customise the layout of each individual challenge for a more tailored experience.

In the screen shot above, we show a lab with custom layouts enabled. Users entering the lab will all have this layout by default.
How to configure custom layouts
You can create your custom layouts from the same
Layout & Themingwidget on the sidebar of a track dashboard.Click the
Editbutton next to theLayoutlabel.

Choosing a layout for all challenges in your track.
If you want to have the same, simple layout for your lab, simply enable on the
Use track layout for all challengestoggle on the layout landing page. You now have useful default layouts that should easily fit most use cases.Save changes, and you're done! Your lab should now be using the default layout for each of your challenges.
Customising layouts for individual challenges.
Select the challenge you want to customise and drag-and-drop tabs to your desired outcome.
Save your changes, and you're done! The challenge should now be reflecting the specific layout you have designed for the challenge.
You can customise each challenge to best fit your product and how you design your content.
Customise the layout for the whole track
Open up your track.yml file, under the lab_config options you can configure the default_layout option, and toggle override_challenge_layout to true, configuring the layout for the entire lab.
# track.yml
...
lab_config:
theme:
name: modern-dark
override_challenge_layout: false
default_layout: AssignmentLeft
...Layout API for lab_config
theme.name
modern-dark or original
These two options are the only current themes available. A modern take on the Instruqt lab, and the classic original colour scheme.
override_challenge_layout
true or false
Tells Instruqt to use the default track layout for your lab. And overrides any custom layouts you have enabled for any challenge.
default_layout
AssignmentRight, AssignmentLeft, or AssignmentBottom
Selects which default layout you would like to have for a track.
Customise layout for an individual challenge
You can also manage the individual, custom layouts as code, by adding a serialised string.
# <challenge_slug>/assignment.md frontmatter block
...
lab_config:
custom_layout: '{"root":{"children":[{"branch":{"children":[{"leaf":{"tabs":["assignment"],"activeTabId":"assignment","size":50}},{"leaf":{"tabs":["feedback"],"activeTabId":"feedback","size":50}}],"size":49}},{"leaf":{"tabs":["xpbbhgg2ilnm","vcly1o5zid56","jvcbfq9tblpa","zaw51ozikez1","dmyxy9cxga73"],"activeTabId":"xpbbhgg2ilnm","size":50}}],"orientation":"Horizontal"}}'
...
Themes


Enable
New Lab UIfor the track.In the
Layout & Theming widgetselect between the ModernDark theme and the Original colour scheme. \
The track will now use the selected theme for all plays.
Refer to the How to configure layouts and check the API here.
Last updated
Was this helpful?