Skip to content

robinweser/elodin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

15cf4b5 · Nov 3, 2020
Oct 13, 2019
Oct 27, 2020
Oct 27, 2020
Oct 28, 2020
Oct 30, 2020
Oct 30, 2020
Oct 28, 2020
Oct 28, 2020
Oct 30, 2020
Apr 3, 2020
Jan 11, 2019
Sep 7, 2019
Sep 6, 2019
Jan 11, 2019
Nov 3, 2020
Oct 25, 2020
Oct 25, 2020
Oct 30, 2020

Repository files navigation

Elodin

Warning: Elodin is still WIP and experimental. It is not recommended to use it in production yet. There might be unknown bugs and the APIs might change rapidly.

Elodin is a small styling language that aims to provide a universal way to author user interface styles.

  • Component-based:
    Elodin styles are authored on component-base and fully encapsulated from other styles accounting for predictable styling without side-effects. It also enables automatic code-splitting where each component is rendered to a new file.
  • Quick learning-curve:
    The syntax is a mix of CSS and JavaScript with some concepts from ReasonML and thus already familiar to many developers. It is declarative and unlike CSS only supports one value per property.
  • Write once, use everywhere:
    Elodin compiles to a variety of different languages, platforms and libraries without having to change a single line. It's truly one file for all targets!
  • Type-safe properties:
    The compiler will validate every property-value pair and throw on invalid rules resulting in solid code and bulletproof output. If it compiles, it works!

License Spectrum npm downloads

The Gist

variant Mode {
  Dark
  Light
}

style Button {
  justifyContent: center
  alignItems: flexEnd
  paddingBottom: 10
  paddingTop: 10
  fontSize: 15
  color: rgb(255 0 255)

  [Mode=Dark] {
    backgroundColor: black
  }

  [Mode=Light] {
    backgroundColor: white
  }
}

style Label {
  fontSize: 10
  color: grey
}

Documentation

Examples

Tooling

Contributing

Feel free to ask questions and give feedback on Spectrum.
For more information follow the contribution guide.
Also, please read our code of conduct.

License

Elodin is licensed under the MIT License.
Documentation is licensed under Creative Commons License.
Created with ♥ by Robin Weser.