# Tags - [x] autoescape - [x] block - [x] comment - [x] csrf_token - [x] cycle - [x] debug - [x] extends - [x] filter - [x] firstof - [x] for - [x] if - [x] ifchanged - [x] include - [x] load - [x] lorem - [x] now - [x] partial - [x] partialdef - [x] querystring - [x] regroup - [x] resetcycle - [x] spaceless - [x] templatetag - [x] url - [x] verbatim - [x] widthratio - [x] with # Filters - [ ] add - [ ] addslashes - [ ] capfirst - [ ] center - [ ] cut - [ ] date - [ ] default - [ ] default_if_none - [ ] dictsort - [ ] dictsortreversed - [ ] divisibleby - [ ] escape - [ ] escapejs - [ ] escapeseq - [ ] filesizeformat - [ ] first - [ ] floatformat - [ ] force_escape - [ ] get_digit - [ ] iriencode - [ ] join - [ ] json_script - [ ] last - [ ] length - [ ] linebreaks - [ ] linebreaksbr - [ ] linenumbers - [ ] ljust - [ ] lower - [ ] make_list - [ ] phone2numeric - [ ] pluralize - [ ] pprint - [ ] random - [ ] rjust - [ ] safe - [ ] safeseq - [ ] slice - [ ] slugify - [ ] stringformat - [ ] striptags - [ ] time - [ ] timesince - [ ] timeuntil - [ ] title - [ ] truncatechars - [ ] truncatechars_html - [ ] truncatewords - [ ] truncatewords_html - [ ] unordered_list - [ ] upper - [ ] urlencode - [ ] urlize - [ ] urlizetrunc - [ ] wordcount - [ ] wordwrap - [ ] yesno ___ ## Doing - [x] filter — super útil (ex.: {{ var|upper }}) - [x] autoescape — segurança importante - [x] spaceless — remove espaços em branco - [x] verbatim — como raw - [x] url — reverse de URLs (quando tiver routing) - [x] cycle — alternar valores em loop - [x] firstof — fallback de variáveis - [x] load — para custom tags/filters (futuro) - [x] csrf_token — quando tiver web --- ## To do 1 - Finalizar o parser — completar as tags que faltam da lista: - [x] debug - [x] lorem - [x] partial / partialdef - [x] querystring - [x] regroup - [x] resetcycle - [x] templatetag - [x] widthratio 2 - projetar o Context com calma: - Estrutura hierárquica (escopos aninhados para with, for, etc.) - Suporte a variáveis, listas, structs (models) - Acesso por ponto (obj.atributo, lista.0, etc.) - Fallback silencioso ou erro (como no Django) 3 - Renderer — com: - Resolução de variáveis - Aplicação de filtros - Herança com block.super - Loops com forloop - Tudo testado 4 -Filtros