purescript-contrib / purescript-css

A clean, type-safe library for describing, manipulating and rendering CSS
Apache License 2.0
105 stars 39 forks source link

Is `purescript-css` supposed to be a port of `Clay`? #28

Open menelaos opened 8 years ago

menelaos commented 8 years ago

I've noticed that purescript-css is pretty much a port of Clay, albeit still incomplete.

I've locally ported some of the remaining Clay modules to PureScript and I'd be happy to open PRs for them.

There are however two issues:

Clay uses type classes for common shared values like none whereas purescript-css currently does not. In order to avoid collisions, this results in (un-css-ish) names like

-- Display.purs
displayNone :: Display
displayNone = Display $ fromString "none"

-- Text.purs
noneTextDecoration :: TextDecoration
noneTextDecoration = TextDecoration $ fromString "none"

Is there a reason for this design decision?

The other issue concerns licensing. Due to the structural resemblance of purescript-css to Clay, the original author probably needs to be credited somewhere. This would be doubly true if I were to open PRs for the remaining modules.

Should I go ahead and continue the port or do you have other plans in mind for purescript-css?

garyb commented 8 years ago

It could well be, I'm not sure, I've never used it - @puffnfresh did basically all the work and we've just kept it ticking along ever since.

I'm not sure where we're going with it really, it works for our basic css needs at the moment, but anything more advanced than minor inline styles and we still use a stylesheet. We've been talking about making a few changes like dropping the monadic interface in favour of something monoidal (or just array) based, but we've not had a pressing enough need to take a proper look and figure out where we want to go with it yet.

The contributions are appreciated for sure, just unfortunately this library lies in a state of limbo in that nobody really owns it or is responsible for its maintenance.

alexmingoia commented 8 years ago

I'd be willing to take on maintenance of the repo... It really just needs to have more rule and value types along with some documentation.

paluh commented 8 years ago

@garyb is it possible to merge bug fixes and bump version of this library? There are many elements (from Elements.purs) missing in current release version which are present on the master.

I'm also thinking about writing some short guide to this library, but current state of pull requests is quite discouraging ;-) Should I try?

garyb commented 8 years ago

Apologies, I think we're pretty much up to date now. I've not made a release just yet as you mentioned there were some bugs in the issue about purescript-test-unit, so if there's anything else outstanding we may as well integrate those too.

I have a few things that need tweaking too, so will get those in today.

garyb commented 8 years ago

@alexmingoia any help in those regards would be appreciated!