2.4 KiB
2.4 KiB
TODO
Here will be kept all of the various todos for this project, organized by release.
Future
Add
- Plan out plugin system such that we can create custom providers of texts, data, etc.
- Provide a way to override
ssgBuilds
variables from the cli. - Add
Watchable
interface/trait back; an abstraction over FS watching and other sources (such as a database, etc.). - Explore
apply(Plugin)
in buildScripts.
Fix
v0.2.0
Add
- Write manual.
- Remove
lib
module. - Add a way for CLI to choose a build to do, or multiple builds, defaulting to 'default' if it exists.
- Write lots of tests for buildscript dsl, etc.
- Explore
base
in buildScript dsl.- Get rid of
allBuilds
concept, and replace it with composable/concat-able builds. In the dsl we could have a notion ofabstractBuild
which can be 'extended' (i.e., on the left side of a concat operation) but not actually run (since it doesn't have a name). OutputDir
should be concat-able, such that the left is the base for the right.OutputDirFunctions.concat
should be concat-able as well, such that both areBiFunction<OutputDir, Build, OutputDir>
, and the output of the left is the input of the right.- Make the delegates as dumb as possible; no more
getResult
methods; make different classes/object handle concat'ing and getting results.
- Get rid of
Fix
- Update CHANGELOG to reflect the gsp-dsl changes.
taskTypes
gone, use class name instead- introduction of
models
- Change most instances of
Closure<Void>
toClosure<?>
to help with IDE expectations.
Finished
v0.2.0
- Investigate imports, including static, in scripts
- Does not work; must use binding
- Get rid of
taskTypes
DSL, replace with static import of task types to scripts- Done via the binding directly
- Plan out
data
models DSL- Done via
models
dsl
- Done via
v0.1.0
- 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:// 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.*