Git Product home page Git Product logo

Comments (12)

AndrewEQ avatar AndrewEQ commented on July 18, 2024 1

I totally forgot that you could use gulp to achieve this: https://www.npmjs.com/package/gulp-css-purge

from css-purge.

AndrewEQ avatar AndrewEQ commented on July 18, 2024

Hey Tyler, not at the moment but I'll consider this as a future feature, thanks for the input.

from css-purge.

silkphntm avatar silkphntm commented on July 18, 2024

Man was just looking for the exact same thing

from css-purge.

AndrewEQ avatar AndrewEQ commented on July 18, 2024

So this will process each file individually if you remove the .pipe(concat('main.css'))

var gulp = require('gulp'),
    concat = require('gulp-concat'),
    purge = require('gulp-css-purge');

gulp.task('default', function() {
  return gulp
        .src(['./**/*.css']) //input css
        .pipe(concat('main.css')) //merge into single css file - remove if you want to process output into separate files
        .pipe(purge({
            trim : true,
            shorten : true,
            verbose : true
        }))
        .pipe(gulp.dest('build/css')) //output folder
});

from css-purge.

DustinJSilk avatar DustinJSilk commented on July 18, 2024

used wrong github account up there
I actually went the long way around and exported a third css file with the common selectors to be removed. This was my solution using grunt-postcss:

(() => {
              let duplicateStyles = [];
              try {
                // Strip selectors from file
                const file = fs.readFileSync(__dirname +
                    '/static/css/duplicated_styles.css', 'utf8');
                duplicateStyles = file.match(/\.(\.|\w|-|\d|\s)+(?=\{)/g);
              } catch (err) {
                console.warn(err);
              }
              const options = {rulesToRemove: duplicateStyles, map: false};
              return require('css-byebye')(options)
            })()

This was all because the library I have to use exports 50kb of selectors with the required variables making it difficult to export 2 css files.

I might go back to what you've just suggested. Thanks!

from css-purge.

AndrewEQ avatar AndrewEQ commented on July 18, 2024

Sorry about that, there is a grunt version of the plugin if that helps: https://github.com/dominikwilkowski/grunt-css-purge

from css-purge.

AndrewEQ avatar AndrewEQ commented on July 18, 2024

Oh wait, sorry guys, read your original comment again, it won't remove B from A, just process A and B separately, removing their own duplicates if any from themselves. So it does A reduced and B reduced instead of what you requested A - B = A reduced and B. Please correct me if I'm wrong here.

from css-purge.

dijitalbrains avatar dijitalbrains commented on July 18, 2024

Any solution to the original problem yet? Removing duplicates across multiple files ?

from css-purge.

jombles avatar jombles commented on July 18, 2024

I am also interested in this functionality. Are there any updates?

from css-purge.

AndrewEQ avatar AndrewEQ commented on July 18, 2024

hey guys, sorry been really busy these past few months, recovered from the flu too, I'll try my best to take a look at things in the coming weekends

from css-purge.

alex-balint avatar alex-balint commented on July 18, 2024

Hi guys, same problem here... found this thing, maybe it helps (not tried yet, though): postcss-discard

They say:

Diffing stylesheets
postcss(discard({css: 'STYLES TO BE REMOVED'})).process('ORIGINAL CSS').css;

from css-purge.

prikr avatar prikr commented on July 18, 2024

Reopening, because i'm still searching for a feature like this. @AndrewEQ Any updates?

from css-purge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.