Skip to content

Develop a Laika CLI for Node.js and Native #360

Open
@armanbilge

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.

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions