Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove duplication feature #29

Open
raphaelgoetter opened this issue Nov 17, 2014 · 7 comments
Open

Remove duplication feature #29

raphaelgoetter opened this issue Nov 17, 2014 · 7 comments

Comments

@raphaelgoetter
Copy link

En plus de combiner les MQ et minifier CSS en général, il pourrait être très intéressant de regrouper les règles identiques.

Par exemple :

/* layout.css */
.truc {
  width: 100%;
}
/* colors.css */
.truc {
  color: #184894;
}

Deviendrait :

/* build.css */
.truc {
  width: 100%;
  color: #184894;
}

Comme ce n'est pas anodin, il faudrait que ce soit une option non appliquée par défaut.

@7studio
Copy link

7studio commented Nov 17, 2014

En attendant de mettre en place une solution viable dans Pleeease, tu peux regarder CSS Shrink qui fait ça très bien.

@raphaelgoetter
Copy link
Author

@7studio Ah oui il est pas mal effectivement, mais pas parfait non plus :

body {
    color: red;
}

/* layout.css */
.truc {
  width: 100%;
}

/* colors.css */
.truc {
  color: #184894;
}

body {
    color: green;
}

va être compilé ainsi :

body{color:red}.truc{width:100%;color:#184894}body{color:green}

@7studio
Copy link

7studio commented Nov 17, 2014

@raphaelgoetter Excuse moi pour cette mauvaise information (et ma mauvaise compréhension) 😕
CSS Shrink combine uniquement les choses similaires adjacentes (cf. : http://cssshrink.com/velocity/#53) 😥
Ça n'a plus grand intérêt finalement mais voici un début d'explication : stoyan/cssshrink#7 (comment).

@iamvdo
Copy link
Owner

iamvdo commented Nov 18, 2014

C'est effectivement pas évident dans tous les cas, et l'intérêt est somme toute limité (Gzip fait ça déjà très bien). Par contre, on se rapproche d'un linter qui créerait une sorte de feuille de route des bonnes pratiques / retours / optimisation à réaliser, plutôt qu'un outil 100% automatique.
Est-ce que ce genre de retours seraient intéressant?

@raphaelgoetter
Copy link
Author

Est-ce que ce genre de retours seraient intéressant?

Mouais, sans plus.
(en ce qui me concerne, j'ai déjà des lint directement dans l'IDE)

@MoOx
Copy link

MoOx commented Nov 19, 2014

Ca me parait dangereux comme jeux. Un linter en complément à plus de sens que d'intégrer ça ici.

@iamvdo
Copy link
Owner

iamvdo commented Mar 26, 2015

Il y a maintenant un module pour ça: https://www.npmjs.com/package/postcss-discard-duplicates
Toujours pas fan, mais permet de tester les edge-case...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants