The New Way to Build with AI! Introducing ReUI — the developer platform for agentic UI with shadcn/ui
Browse ReUI Pro

Understanding Composer Configuration and Template Generation


How can I use Composer to customize templates, apply changes from the configuration YAML files, and generate updated HTML files correctly?


Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(

Replies (1)

Hi Jackson,

Understanding

You want to understand how Composer's configuration system works and how to properly generate updated HTML files from template changes.

Solution

Composer uses a structured workflow with two main configuration files and a generation pipeline:

Configuration Files

  1. config/app.yaml — Global app settings like KeenIcons style, layout container type, and default options. Changes here affect all pages globally.
  2. config/menu.yaml — Menu structure for sidebar and megamenu. Defines navigation items and their hierarchy.

View Structure

  • views/layouts/ — Page layout templates (base layout, demo-specific layouts, auth/error layouts)
  • views/partials/ — Reusable components (dropdowns, containers, avatars, toolbars)
  • views/pages/ — Individual page content, each with an index.html entry file

Template Generation Workflow

  1. Edit your YAML configs and Jinja views
  2. Run ./run.sh --debug to start the Flask preview server and see changes live on localhost
  3. When satisfied, run ./generate.sh to export all pages as static HTML files
  4. Generated files appear in the export directory

Key Points

  • YAML changes take effect when you restart the preview server (./run.sh)
  • Jinja template changes are visible on page refresh in the preview
  • The generate.sh script compiles everything into static HTML for use in your project
  • Use the Theme API (e.g. theme.partial(), theme.layout(), theme.config.get()) to reference configs and partials from templates

Sources

Next Steps

If you're having trouble with a specific configuration not applying, share the exact YAML change you made and I can help troubleshoot.


This reply was generated by AI. A human will follow up if needed.

Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(
Text formatting options
Submit
Click any option to insert into your comment. Select text first to wrap it.
  • **text** to make things bold
  • *text* to emphasize
  • ### Heading to make headings
  • [link text](url) for links
  • ![alt text](image-url) to paste in an image
  • - item to make a list
  • 1. item to make an ordered list
  • > quote to quote somebody
  • `code` for single line of code
  • ```js ... ``` for JS code block
  • ```html ... ``` for HTML code block
  • ```scss ... ``` for SCSS code block
  • ```php ... ``` for PHP code block
  • --- for a horizontal rule
  • happy  :)
  • shocked  :|
  • sad  :(
buy metronic keenthemes mega bundle

ReUI

Open-source React components, blocks and templates built on shadcn/ui and Tailwind CSS by Keenthemes.