feat: add template inheritance (extends/block) support

- ViewEngine now supports extends and named blocks
- Each route gets exclusive cached AST (no shared parent layouts)
- Fix iteration over struct arrays in each loops
- Add demo app with full e-commerce layout using extends
- Serve static files from public folder
- Bump version to 0.3.0
This commit is contained in:
2026-01-25 15:23:57 +05:30
parent 776f8a68f5
commit 1b2da224be
52 changed files with 2962 additions and 728 deletions

View File

@@ -0,0 +1,28 @@
doctype html
html(lang="en")
head
meta(charset="UTF-8")
meta(name="viewport" content="width=device-width, initial-scale=1.0")
link(rel="stylesheet" href="/css/style.css")
block title
title Pugz Store
body
header.header
.container
.header-content
a.logo(href="/") Pugz Store
nav.nav
a.nav-link(href="/") Home
a.nav-link(href="/products") Products
a.nav-link(href="/about") About
.header-actions
a.cart-link(href="/cart")
| Cart (#{cartCount})
main
block content
footer.footer
.container
.footer-content
p Built with Pugz - A Pug template engine for Zig