Files
pugz/examples/demo/views/mixins/product-card.pug
Ankit Patial 1b2da224be 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
2026-01-25 15:23:57 +05:30

39 lines
1.3 KiB
Plaintext

//- Product card mixin - displays a product in grid/list view
//- Parameters:
//- product: { id, name, price, image, rating, category }
mixin product-card(product)
article.product-card
a.product-image(href="/products/" + product.id)
img(src=product.image alt=product.name)
if product.sale
span.badge.badge-sale Sale
.product-info
span.product-category #{product.category}
h3.product-name
a(href="/products/" + product.id) #{product.name}
.product-rating
+rating(product.rating)
.product-footer
span.product-price $#{product.price}
button.btn.btn-primary.btn-sm(data-product=product.id) Add to Cart
//- Featured product card with larger display
mixin product-featured(product)
article.product-card.product-featured
.product-image-large
img(src=product.image alt=product.name)
if product.sale
span.badge.badge-sale Sale
.product-details
span.product-category #{product.category}
h2.product-name #{product.name}
p.product-description #{product.description}
.product-rating
+rating(product.rating)
span.review-count (#{product.reviewCount} reviews)
.product-price-large $#{product.price}
.product-actions
button.btn.btn-primary.btn-lg Add to Cart
button.btn.btn-outline Wishlist