(WIP draft description - Check PR #51 for the actual implementation)
Say you have a collection of individual chapters (or any other division scheme) in Djot, Markdown or even SIL, and you want to gather these into a book, with all bells and whistles.
Seasoned users experience with the SILE packages and the SIL language surely know how to write a "wrapper" document in that language, invoking all required commands and including their content files. All the low-level constructs are there to do so. There's some things however that they will end up doing all the time, repetitively: at the very least, pick up a font, set a main language, load fairly standard packages, set PDF metadata... Moreover, if your content, or most of it, was authored in Djot or Markdown[^metadata-blocks], it feels quite cumbersome to have to write such a wrapper in SIL syntax, doesn't it ?
[^metadata-blocks]: Several Markdown processors, such as the Pandoc converter and some static website generators, support metadata blocks as a special construct in Markdown files, with a varying syntax and often ad hoc conventions. We are trying, here, to be more general and consistent, regardless of the input format.
The resilient collection introduces a new type of document, a "master document" format which aims at simplifying and streamlining the process, abstracting and taking care of most of the usual needs. Master documents usually have the .silm extension and can be processed as shown below.
sile -u inputters.silm mybook.silm
The format consists in a simple description of the book properties and contents, expressed in YAML, a lightweight human-readable data-representation language.
(WIP draft description - Check PR #51 for the actual implementation)
Say you have a collection of individual chapters (or any other division scheme) in Djot, Markdown or even SIL, and you want to gather these into a book, with all bells and whistles.
Seasoned users experience with the SILE packages and the SIL language surely know how to write a "wrapper" document in that language, invoking all required commands and including their content files. All the low-level constructs are there to do so. There's some things however that they will end up doing all the time, repetitively: at the very least, pick up a font, set a main language, load fairly standard packages, set PDF metadata... Moreover, if your content, or most of it, was authored in Djot or Markdown[^metadata-blocks], it feels quite cumbersome to have to write such a wrapper in SIL syntax, doesn't it ?
[^metadata-blocks]: Several Markdown processors, such as the Pandoc converter and some static website generators, support metadata blocks as a special construct in Markdown files, with a varying syntax and often ad hoc conventions. We are trying, here, to be more general and consistent, regardless of the input format.
The resilient collection introduces a new type of document, a "master document" format which aims at simplifying and streamlining the process, abstracting and taking care of most of the usual needs. Master documents usually have the
.silm
extension and can be processed as shown below.The format consists in a simple description of the book properties and contents, expressed in YAML, a lightweight human-readable data-representation language.