- 1. Liquid templating
- 2. liquid templating
- 2.1. What is a template engine?
- 2.2. Install
- 2.3. Liquid use-cases
- 2.4. Liquid Hello World
- 2.5. Liquid Hello World with variable
- 2.6. Liquid Hello World read template from file
- 2.7. Liquid Hello World embed template file
- 2.8. Liquid flow control: if - else
- 2.9. Liquid flow control: else if written as elsif
- 2.10. Liquid flow control: case/when
- 2.11. case on type-name (match-like)
- 2.12. Liquid passing more complex data
- 2.13. Liquid for loop passing a vector or an array
- 2.14. Liquid vector of tuples
- 2.15. Liquid HashMap
- 2.16. Liquid for loop with if conditions
- 2.17. Liquid for loop: limit, offset, reversed
- 2.18. Liquid with struct
- 2.19. Liquid with Option in a struct
- 2.20. Liquid include
- 2.21. Liquid include header and footer
- 2.22. Liquid layout (include and capture)
- 2.23. Liquid assign to variable in template
- 2.24. Liquid: length of string, size of vector
- 2.25. Liquid: Embed HTML - escape HTML
3. Filters
- 3.1. Liquid filters on strings: upcase, downcase, capitalize
- 3.2. Liquid filters on numbers: plus, minus
- 3.3. Liquid filters: first, last
- 3.4. Liquid filter reverse array
- 3.5. Liquid comma between every two elements (forloop.last)
- 3.6. Liquid: create your own filter: reverse a string
- 3.7. Liquid: create your own filter: commafy
- 3.8. Handle variants of an enum
4. Tags
- 4.1. Liquid tags
- 4.2. Liquid create your own tag without parameters
- 4.3. Liquid create your own tag with a single parameter
- 4.4. Liquid create your own tag with many values
- 4.5. Liquid create your own tag accepting two numbers
- 4.6. Liquid create your own tag with attribute as key=value pair
- 4.7. Liquid create tag that uses scalar values passed to the render function
- 4.8. Liquid create tag that uses array of values passed to the render function (latest, limit, tag)
- 4.9. Liquid create include tag that overrides existing include tag
- 4.10. Liquid sort array or vector
5. TODO
- 5.1. Liquid TODO
- 5.2. Sorted HashMap