Escadrille 0.2 Is Out
I have finally gotten around to cutting release 0.2 of my escadrille project.
Throughout the spring and summer I have been sporadically working on escadrille, my website generator project. For a good while now, the job of generating and updating my website has been completed by the escadrille project. However, as I improve the software, there becomes fewer and fewer manual tasks that I need to double check before uploading the updated version of the site.
After a smattering of small-ish improvements over the summer I finally decided that I had enough new features and changes in the bag to justify another pre-1.0 release. My versioning scheme uses numbers less than 1.0 while I think there are still fundamental features missing. That said, the system is fairly useable now if you don’t mind the odd rough corner.
The three biggest, most useful features that were added in 0.2 are:
- The list flag. "-l/—list" will only print the names of the tasks that escadrille has found enabled in the given configuration file. This is super handy in conjunction with the next flag on this list, "-s/—skip".
- The skip flag. "-s/—skip" takes in the name of a task and allows you to modify the process described by the configuration file by skipping one or more of the tasks. Can be given multiple times.
- A docker environment for running escadrille. Docker creates a consistent environment so there should no longer be an issue running escadrille on different computers, including MacOS.
These three features have made escadrille very easy to use and to test and will get a lot of use, at least from me, in the future.
Speaking of future, I guess I can talk a bit about the roadmap that I have in mind for escadrille. First of all version 1.0 cannot be released without unit tests and documentation. Unit tests will be added, and unit test coverage should only increase after that point; once unit testing is possible no new code will be accepted unless it has and passes the appropriate tests. For documentation, I want to add a basic RST task that pretty much runs the rst2html.py script on the given source files. Using that I plan to build a basic website and basic documentation packages that can be uploaded to the www.fretboardfreak.com/escadrille where I currently just have an "under construction" placeholder. Unless I am forgetting something off the top of my head this should be enough for me to consider releasing version "1.0".
That covers the more immediate roadmap. Looking further out though, I am planning to write a number of tasks that do portions of the RST parsing and website building tasks while operating on doctree or pickle files. For example one task would parse an RST file into a doctree, the next task might look through the doctree fields and replace partial URLs with full URLs automatically substituting the domain name, then yet another task would put the doctrees through jinja and build up the HTML files. This will be a little further down the road though.