# TODO Here will be kept all of the various todos for this project, organized by release. N.b. that v0.3.0 was skipped because of such a fundamental change in the usage of the program with the incorporation of Groowt and Web View Components. ## 0.6.0 - [ ] Plugin system for build scripts ## 0.5.0 - [ ] watch/dev mode and server - [ ] Reorganize gradle project layout so there is less hunting around for files ## 0.4.* Ongoing - [ ] Automate test project - [ ] Move as much gradle integration from `cli` project to `api` project - [ ] Think about abstracting the build tool logic, because all we need really is the URLs/Paths for the classes/jars of components and resources - [ ] Document new api and usage. - [ ] Re-incorporate dist plugin in gradle build of cli/api - [ ] Think about how these might be used without a gradle project backing ## 0.4.3 - [ ] `Text` component for simply rendering Text objects. Can be used as such: ``` ``` - [ ] `TextContainer` for accessing all found texts - [ ] `ModelFactory` for creating models, and `TextModelFactory` for creating models from texts. - [ ] `Model` component for rendering a model with either a supplied renderer, or a registered `ModelRenderer` - [ ] `Global` component for rendering globals. - [ ] Automatically inject self PageSpec and path to Pages. ## 0.4.1 - [x] Update groowt to 0.1.2. ### v0.2.0 - [x] Investigate imports, including static, in scripts - Does not work; must use binding - [x] Get rid of `taskTypes` DSL, replace with static import of task types to scripts - Done via the binding directly - [x] Plan out `data` models DSL - Done via `models` dsl ### v0.1.0 - [x] Add some kind of `outputs` map to dsl that can be used to retrieve various info about another output of the current build. For example: ```groovy // while in a special page 'special.gsp' we could get the 'output' info for a text 'blog/post.md' def post = outputs['blog/post.md'] assert post instanceof Output // or something assert post.path == 'blog/post.md' assert post.targetPath = 'blog/post.html' // as well as some other information, perhaps such as the Type, extension, *etc.* ```