Quick heads up, I've pulled my site's generation code out into its own project, Raise. It uses a number of enhancements from this repo, but provides a wrapper around AsciiDoctor with a few additions.
Many of the API additions I'm supporting will probably end up not making sense in the core AsciiDoctor template system (many of them are unrelated to templates anyway). A few of them might make sense for me to rip out and submit as pull requests here.
A few things I either support now or am planning to support in the future that could be relevant:
-
asynchronous templates: AsciiDoctor is not async right now, I'm going to try to put together a hacky system to allow asynchronous templates in Raise. This is necessary because I eventually want to support templates from non-JS sources (python, ruby, shell scripts, etc...) and they need to be executed as separate processes.
-
template_dirs as an attribute inside of a doc: Because I want people to use Raise primarily from the command line, templates are per-page and specified within the AsciiDoctor document, not in code. Would it make sense to have a similar option for core templates?
-
CSS compilation: I believe that AsciiDoctor already supports this in a more official way than what I have kind of hacked together for Raise. I haven't checked to see if AsciiDoctor.js supports the same API yet (ie, was Compass ported to JS alongside AsciiDoctor). That's likely something that should be handled separately from template support though.
And then some miscellaneous stuff that likely is not worth porting: renaming pages (test.html -> test/index.html), allowing Babel compilation and minification for Javascript, adding timestamps to scripts/css to get around caching, etc...
Quick heads up, I've pulled my site's generation code out into its own project, Raise. It uses a number of enhancements from this repo, but provides a wrapper around AsciiDoctor with a few additions.
Many of the API additions I'm supporting will probably end up not making sense in the core AsciiDoctor template system (many of them are unrelated to templates anyway). A few of them might make sense for me to rip out and submit as pull requests here.
A few things I either support now or am planning to support in the future that could be relevant:
asynchronous templates: AsciiDoctor is not async right now, I'm going to try to put together a hacky system to allow asynchronous templates in Raise. This is necessary because I eventually want to support templates from non-JS sources (python, ruby, shell scripts, etc...) and they need to be executed as separate processes.
template_dirsas an attribute inside of a doc: Because I want people to use Raise primarily from the command line, templates are per-page and specified within the AsciiDoctor document, not in code. Would it make sense to have a similar option for core templates?CSS compilation: I believe that AsciiDoctor already supports this in a more official way than what I have kind of hacked together for Raise. I haven't checked to see if AsciiDoctor.js supports the same API yet (ie, was Compass ported to JS alongside AsciiDoctor). That's likely something that should be handled separately from template support though.
And then some miscellaneous stuff that likely is not worth porting: renaming pages (
test.html->test/index.html), allowing Babel compilation and minification for Javascript, adding timestamps to scripts/css to get around caching, etc...