Feature Proposal: Investigate feasibility of book export to ICML
This proposal is to investigate adding an option to Editoria to export the contents of a book as an Adobe InCopy standalone document file (
.icml file extension) using Pandoc (or a similar tool like Ickmull) HTML-to-ICML conversion. Adding this feature would allow users to manually set the page layout and book design in Adobe InDesign, rather than using paged.js for automated rule-based pagination. This would enable users and organizations to author, style, and edit a book in Editoria even when the book has complex or custom formatting/page layout requirements that can’t be achieved by automatic pagination with Editoria styles, CSS rules, and Paged.js.
If implemented, all users should be able to export the book as ICML from the Book Builder screen at any time.
Adding an “export to ICML” feature would be dependent on identifying an existing HTML-to-ICML conversion that produces an ICML file of sufficient quality to warrant the development resources. Developing a conversion from scratch is not feasible.
One of the fundamental premises of Editoria is the ability to export a book to an automatically generated paginated output instantly. Text elements in the book are tagged with styles (General Text, Extract, Source Note, etc.), which correspond to CSS rules and templates that dictate how that text is displayed in the auto-generated paginated output: margins, vertical space, etc. Once a standard design template for a book series or press is implemented as CSS rules, then subsequent books that use the same design template can be paginated instantly, once they’re tagged with styles.
However, some books don’t lend themselves to automatic pagination following a set of rules, e.g. poetry books, coffee table books, art books, etc. Or perhaps a designer simply wants to lay a book out with more control over every page. Enabling export to ICML would allow authors and/or editors to do the authoring/editing/styling work in Editoria, then take the book out of Editoria to paginate it using InDesign.
The first step is to evaluate whether Pandoc or Ickmull’s HTML-to-ICML produces an ICML file of sufficient quality to pursue this further. If the ICML file appears to be reasonable and this is worth building, the following determinations would also need to be made:
- The exact format the converter requires the HTML input to be in. When exporting a book from Editoria, Editoria combines all the components’ content into one single HTML file. It may be that a specific HTML-to-ICML conversion requires a slightly different format than paged.js does, in which case building this feature would require development work to tweak the format Editoria delivers the HTML in.
- It is also possible that assets in Editoria, such as images, would need to be somehow exported from Editoria along with the ICML file (e.g. as a zip archive containing all the book’s image files).
If a converter can be identified, the HTML-ICML conversion itself should probably be handled as a PubSweet job runner job, likely by creating a PubSweet component for ICML export, which in turn relies on a Docker container to run the conversion. See the
job-xsweet PubSweet component for an idea of what that might look like.
Finally, an option to export to ICML would need to be added to the export interface on the top right of the Book Builder.
See also this previous Feature Proposal for ICML output