Description
This issue is spun out of #281 (comment).
Postpone support for Scala.js in laika-io
This option has been mentioned in the original request. It is, however, beyond the scope of the 0.19 roadmap. Any future consideration would require that someone opens a ticket for this and is able to generate significant interest in the community for having this module on Scala.js.
The goals of this issue are to propose the broader idea, evaluate if it is even within Laika's scope, and see if there is community interest.
Proposal
The idea is really two separate but (IMO) related things.
- cross-publish laika-io for Scala.js (targeting Node.js) and Scala Native
- create a CLI application
The motivation for a CLI is so that Laika can be used as a standalone site generator à la Jekyll. @valencik and I recently discussed this in context of the typelevel.org website. I'm not entirely sure if this is possible, since I've really only used it via sbt: specifically, if there is enough configuration flexibility via HOCON/templates, without resorting to Scala code.
Assuming a CLI is a feasible and attractive feature, then cross-building laika-io to Scala.js and Native becomes very interesting.
- Scala Native CLI would be a self-contained lightweight binary with instant startup (vs a JVM application)
- A Scala.js CLI published to NPM would be extremely easy to install and run from virtually everywhere
If publishing a CLI application is out-of-scope for Laika, then I think cross-building laika-io for JS/Native is less valuable. The core is already cross-published for JS (and maybe Native someday) which, if desired, can be used directly with fs2-io without going through laika-io.