diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 94f7bae0..00000000
--- a/.eslintignore
+++ /dev/null
@@ -1,2 +0,0 @@
-packages/*/lib/*
-packages/grunt-purgecss/tasks/purgecss.js
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9559bd8c..d3a15f55 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,14 @@
+# [3.0](https://github.com/FullHuman/purgecss/compare/v2.3.0...v) (2020-09-06)
+
+
+### Features
+
+* **CLI:** add blocklist option ([3961afb](https://github.com/FullHuman/purgecss/commit/3961afbc6d90eae83fe4862a4498857fa7ba3ff6))
+* add blocklist option ([04223f7](https://github.com/FullHuman/purgecss/commit/04223f7fe27f8d818961a53900a7c5293d2322b6))
+* add safelist option, replace whitelist
+* add safelist keyframes and css variables ([dc59d30](https://github.com/FullHuman/purgecss/commit/dc59d309a4a4be9845c40966a19f9705c42a33a1)), closes [#418](https://github.com/FullHuman/purgecss/issues/418) [#439](https://github.com/FullHuman/purgecss/issues/439)
+
+
# [](https://github.com/FullHuman/purgecss/compare/v2.0.1-alpha.0...v) (2019-11-23)
diff --git a/README.md b/README.md
index d04a94e0..a04a9447 100644
--- a/README.md
+++ b/README.md
@@ -17,6 +17,10 @@ When you are building a website, chances are that you are using a css framework
This is where PurgeCSS comes into play. PurgeCSS analyzes your content and your css files. Then it matches the selectors used in your files with the one in your content files. It removes unused selectors from your css, resulting in smaller css files.
+## Sponsors 🥰
+
+[](tailwindcss.com)
+
## Documentation
You can find the PurgeCSS documentation on [this website](https://purgecss.com).
@@ -28,7 +32,7 @@ You can find the PurgeCSS documentation on [this website](https://purgecss.com).
- [Configuration](https://purgecss.com/configuration.html)
- [Command Line Interface](https://purgecss.com/CLI.html)
- [Programmatic API](https://purgecss.com/api.html)
-- [Whitelisting](https://purgecss.com/whitelisting.html)
+- [Safelisting](https://purgecss.com/safelisting.html)
- [Extractors](https://purgecss.com/extractors.html)
- [Comparison](https://purgecss.com/comparison.html)
@@ -80,5 +84,5 @@ This repository is a monorepo that we manage using [Lerna](https://github.com/le
| [purgecss-from-html](/packages/purgecss-from-html) |  | Html extractor for PurgeCSS |
| [purgecss-from-js](/packages/purgecss-from-js) |  | Js extractor for PurgeCSS |
| [purgecss-from-pug](/packages/purgecss-from-pug) |  | Pug extractor for PurgeCSS |
-| [purgecss-with-wordpress](/packages/purgecss-with-wordpress) |  | Collection of whitelist items for WordPress |
+| [purgecss-with-wordpress](/packages/purgecss-with-wordpress) |  | Collection of safelist items for WordPress |
| [vue-cli-plugin-purgecss](/packages/vue-cli-plugin-purgecss) |  | Vue CLI Plugin for PurgeCSS |
diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js
index 45cde807..d72c1529 100644
--- a/docs/.vuepress/config.js
+++ b/docs/.vuepress/config.js
@@ -99,7 +99,7 @@ module.exports = {
["configuration", "Configuration"],
["CLI", "Command Line Interface"],
["api", "Programmatic API"],
- ["whitelisting", "Whitelisting"],
+ ["safelisting", "Safelisting"],
["extractors", "Extractors"],
],
},
diff --git a/docs/CLI.md b/docs/CLI.md
index 4c9c471e..db510969 100644
--- a/docs/CLI.md
+++ b/docs/CLI.md
@@ -28,14 +28,14 @@ To see the available options for the CLI: `purgecss --help`
Usage: purgecss --css
list of classes that should not be removed (comma separated)
+ -s, --safelist
list of classes that should not be removed
-h, --help display help for command
```
@@ -44,15 +44,15 @@ The options available through the CLI are similar to the ones available with a c
### --css
```text
-purgecss --css css/app.css,css/palette.css --content src/index.html
+purgecss --css css/app.css css/palette.css --content src/index.html
```
### --content
-You can specify content that should be analyzed by PurgeCSS with an array of filenames or [globs](https://github.com/isaacs/node-glob/blob/master/README.md#glob-primer). These files can be HTML, Pug, Blade, etc. The files should be comma separated.
+You can specify content that should be analyzed by PurgeCSS with an array of filenames or [globs](https://github.com/isaacs/node-glob/blob/master/README.md#glob-primer). These files can be HTML, Pug, Blade, etc.
```text
-purgecss --css css/app.css --content src/index.html,src/**/*.js
+purgecss --css css/app.css --content src/index.html src/**/*.js
```
### --config
@@ -68,13 +68,13 @@ purgecss --config ./purgecss.config.js
By default, the CLI outputs the result in the console. If you wish to return the CSS as files, specify the directory to write the purified CSS files to.
```text
-purgecss --css css/app.css --content src/index.html,"src/**/*.js" --output build/css/
+purgecss --css css/app.css --content src/index.html "src/**/*.js" --output build/css/
```
-### --whitelist
+### --safelist
-If you wish to prevent PurgeCSS from removing a specific CSS selector, you can whitelist it.
+If you wish to prevent PurgeCSS from removing a specific CSS selector, you can add it to the safelist.
```text
-purgecss --css css/app.css --content src/index.html --whitelist classnameToWhitelist
+purgecss --css css/app.css --content src/index.html --safelist classnameToSafelist
```
diff --git a/docs/README.md b/docs/README.md
index b9cac411..5174a595 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,11 +1,25 @@
---
-title: Introduction | PurgeCSS
+title: PurgeCSS - Remove unused CSS
lang: en-US
meta:
- name: description
content: PurgeCSS is a tool for removing CSS that you're not actually using in your project. It can be used as part of your development workflow. PurgeCSS comes with a JavaScript API, a CLI, and plugins for popular build tools.
- - name: keywords
- content: PurgeCSS remove unused CSS optimization web
+ - itemprop: description
+ content: PurgeCSS is a tool for removing CSS that you're not actually using in your project. It can be used as part of your development workflow. PurgeCSS comes with a JavaScript API, a CLI, and plugins for popular build tools.
+ - property: og:url
+ content: https://purgecss.com
+ - property: og:site_name
+ content: purgecss.com
+ - property: og:type
+ content: website
+ - property: og:locale
+ content: en_US
+ - property: og:title
+ content: Remove unused CSS - PurgeCSS
+ - property: og:description
+ content: PurgeCSS is a tool for removing CSS that you're not actually using in your project. It can be used as part of your development workflow. PurgeCSS comes with a JavaScript API, a CLI, and plugins for popular build tools.
+
+
---
# About PurgeCSS
@@ -13,7 +27,12 @@ meta:
PurgeCSS is a tool to remove unused CSS. It can be part of your development workflow.
When you are building a website, you might decide to use a CSS framework like TailwindCSS, Bootstrap, MaterializeCSS, Foundation, etc... But you will only use a small set of the framework, and a lot of unused CSS styles will be included.
-This is where PurgeCSS comes into play. PurgeCSS analyzes your content and your css files. Then it matches the selectors used in your files with the one in your content files. It removes unused selectors from your css, resulting in smaller css files.
+This is where PurgeCSS comes into play. PurgeCSS analyzes your content and your CSS files. Then it matches the selectors used in your files with the one in your content files. It removes unused selectors from your CSS, resulting in smaller CSS files.
+
+## Sponsors 🥰
+
+[
](tailwindcss.com)
+
## Table of Contents
@@ -22,7 +41,7 @@ This is where PurgeCSS comes into play. PurgeCSS analyzes your content and your
- [Configuration](configuration.md)
- [Command Line Interface](CLI.md)
- [Programmatic API](api.md)
-- [Whitelisting](whitelisting.md)
+- [Safelisting](safelisting.md)
- [Extractors](extractors.md)
- [Comparison](comparison.md)
@@ -42,3 +61,8 @@ This is where PurgeCSS comes into play. PurgeCSS analyzes your content and your
- [Next.js](guides/next.md)
- [Razzle](guides/razzle.md)
- [WordPress](guides/wordpress.md)
+
+### Common Questions
+
+- [How to use with CSS modules?](css_modules.md)
+- [How to use with Ant Design?](ant_design.md)
\ No newline at end of file
diff --git a/docs/api.md b/docs/api.md
index 56b504b6..df9e8d26 100644
--- a/docs/api.md
+++ b/docs/api.md
@@ -64,8 +64,3 @@ interface ResultPurge {
rejected?: string[];
}
```
-
-::: tip
- Take a look at the type definition file to get the complete information.
- [Definition file](https://github.com/FullHuman/purgecss/tree/master/packages/purgecss/lib/purgecss.d.ts)
-:::
diff --git a/docs/configuration.md b/docs/configuration.md
index 494843e8..b76a0a3e 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -37,20 +37,19 @@ The options are defined by the following types:
```ts
interface UserDefinedOptions {
- content: Array