# XStatic To-Do #
-
Dependencies between templates is not implemented; only pages-to-templates and layouts-to-templates dependencies are implemented. Layouts are just templates that reside in the “layouts” directory under the main templates directory.
For example, if a layout (a template) includes Javascript code (via a template), and the Javascript is modified, none of the pages that depend on that layout will be updated with the new Javascript code.
I actually implemented this on 6/1/21 using a FileList block just for layouts only, not other non-layout templates. Could just as easily add it for all types of templates, but will just test this first. Plus non-layout to non-layout template dependencies are probably rare. There was no measurable difference when adding 3 layouts; could probably just FileList the entire TEMPLATES dir without a slow down.
-
Add tests.
-
Add configuration file.
## HTMLPage
Class To-Do
-
Because templates and layouts may be used by multiple pages, cache them within thread like Mote. No need to cache the page sources because they are not re-evaluated. Do no prematurely optimize.
-
It may be useful to pass local variables into a template. For example, to set the title of a template:
template "comment_form.html", title: "Your Feedback"
This change would require a params to transform, like Mote.
-
Add method to allow adding ‘<link>` tags to `<head>` (via @page?). For example:
link_tag href: 'http://example', rel: 'stylesheet' page.link 'http://example', rel: 'stylesheet' link 'http://example', 'stylesheet'
See:
- https://html.spec.whatwg.org/multipage/links.html#linkTypes - https://ogp.me/