Skip to content

Add Qute alt expression syntax support per template root#818

Open
ia3andy wants to merge 1 commit intoquarkiverse:mainfrom
ia3andy:qute-alt-syntax-v2
Open

Add Qute alt expression syntax support per template root#818
ia3andy wants to merge 1 commit intoquarkiverse:mainfrom
ia3andy:qute-alt-syntax-v2

Conversation

@ia3andy
Copy link
Copy Markdown
Collaborator

@ia3andy ia3andy commented Apr 6, 2026

Summary

  • Add per-template-root ParserConfig resolution following the spec from Qute: Alternative output expr syntax "{=foo}" quarkusio/quarkus#47882
  • App templates (local + application resources) use the quarkus.qute.alt-expr-syntax config property
  • Dependency templates (themes) use .qute config files at their template root
  • .qute files are scanned early via the project scanner (while JAR filesystems are mounted) and cached in a SimpleBuildItem for later lookup
  • Convert blog templates to {=expr} alt syntax as demonstration
  • Add .qute config file to the default theme (alt-expr-syntax=false)

Depends on quarkusio/quarkus#47882

Test plan

  • All 231 roq-frontmatter deployment tests pass
  • Full mvn clean install -DskipTests succeeds
  • Create a test site with two themes having different .qute configs to verify per-root resolution
  • Run blog in dev mode to verify template rendering with alt syntax

🤖 Generated with Claude Code

@ia3andy ia3andy requested a review from a team as a code owner April 6, 2026 08:57
Migrate path()/watchPath() to file()/liveReloadWatchPath() for the
new project-scanner API and add per-dependency parser config scanning
for Qute alternative expression syntax (.qute marker files).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@ia3andy ia3andy force-pushed the qute-alt-syntax-v2 branch from 9837a97 to 6deca34 Compare April 8, 2026 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant