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!
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
}
Feel free to ask questions and give feedback on Spectrum.
For more information follow the contribution guide.
Also, please read our code of conduct.
Elodin is licensed under the MIT License.
Documentation is licensed under Creative Commons License.
Created with ♥ by Robin Weser.