Commit Graph

10 Commits

Author SHA1 Message Date
7bcb79c7bc refactor: move docs and examples to src folder, update README with accurate benchmarks 2026-01-25 15:32:38 +05:30
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
27c4898706 follow PugJs 2026-01-24 23:53:19 +05:30
621f8def47 fix: add security protections and cleanup failing tests
Security fixes:
- Add path traversal protection in include/extends (rejects '..' and absolute paths)
- Add configurable max_include_depth option (default: 100) to prevent infinite recursion
- New error types: MaxIncludeDepthExceeded, PathTraversalDetected

Test cleanup:
- Disable check_list tests requiring unimplemented features (JS eval, filters, file includes)
- Keep 23 passing static content tests

Bump version to 0.2.2
2026-01-24 14:31:24 +05:30
714db30a8c Add documentation and interpreted benchmark
- Add docs/syntax.md: complete template syntax reference
- Add docs/api.md: detailed API documentation
- Add src/benchmarks/bench_interpreted.zig: runtime benchmark
- Update build.zig: add bench-interpreted step
- Update README.md: simplified with docs links and benchmark table
2026-01-22 11:08:52 +05:30
5841ec38d8 Update README: clarify GitHub as mirror, prefer for dependencies 2026-01-20 18:08:42 +05:30
c73fb2ed03 Fix memory leak in demo, document arena allocator usage 2026-01-19 12:11:45 +05:30
d48bc3dedd Fix installation instructions with correct git server URL 2026-01-18 19:58:22 +05:30
fe62677a93 Rename test-bench to bench-2, update README with benchmark docs 2026-01-18 00:51:31 +05:30
458de03c02 Add README and simplify ViewEngine API
- ViewEngine.init() no longer requires allocator
- render() and renderTpl() accept allocator parameter
- Remove deinit() - no resources to clean up
- Remove unused parse/renderDoc methods
- Add memory management guidance to runtime.zig
- Clean up unused imports and options
2026-01-18 00:05:16 +05:30