@newlogic-digital/core 0.9.14 → 1.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +15 -45
  2. package/index.js +262 -43
  3. package/package.json +13 -57
  4. package/LICENSE +0 -674
  5. package/modules/Core.js +0 -626
  6. package/modules/Emails.js +0 -110
  7. package/modules/Icons.js +0 -140
  8. package/modules/Scripts.js +0 -321
  9. package/modules/Serve.js +0 -124
  10. package/modules/Styles.js +0 -298
  11. package/modules/Templates.js +0 -477
  12. package/modules/Utils.js +0 -299
  13. package/modules/Watch.js +0 -75
  14. package/modules/tailwind/index.cjs +0 -84
  15. package/modules/tailwind/index.js +0 -75
  16. package/packages/gulp-clean-css/LICENSE +0 -20
  17. package/packages/gulp-clean-css/README.md +0 -79
  18. package/packages/gulp-clean-css/index.js +0 -66
  19. package/packages/gulp-clean-css/package.json +0 -68
  20. package/packages/gulp-twig2html/CHANGELOG.md +0 -77
  21. package/packages/gulp-twig2html/LICENSE +0 -22
  22. package/packages/gulp-twig2html/README.md +0 -112
  23. package/packages/gulp-twig2html/index.js +0 -30
  24. package/packages/gulp-twig2html/package.json +0 -47
  25. package/packages/postcss-inset/CHANGELOG.md +0 -5
  26. package/packages/postcss-inset/LICENSE.md +0 -106
  27. package/packages/postcss-inset/README.md +0 -121
  28. package/packages/postcss-inset/index.cjs.js +0 -49
  29. package/packages/postcss-inset/index.es.mjs +0 -47
  30. package/packages/postcss-inset/index.js +0 -47
  31. package/packages/postcss-inset/package.json +0 -58
  32. package/packages/twig-renderer/CHANGELOG.md +0 -66
  33. package/packages/twig-renderer/LICENSE +0 -22
  34. package/packages/twig-renderer/README.md +0 -93
  35. package/packages/twig-renderer/package.json +0 -49
  36. package/packages/twig-renderer/twig-renderer.js +0 -90
@@ -1,66 +0,0 @@
1
- const applySourceMap = require('vinyl-sourcemaps-apply');
2
- const CleanCSS = require('clean-css');
3
- const path = require('path');
4
- const PluginError = require('plugin-error');
5
- const through = require('through2');
6
-
7
- module.exports = (options, callback) => {
8
-
9
- let _callback = callback || (o => undefined);
10
-
11
- return through.obj(function (file, enc, cb) {
12
-
13
- let _options = Object.assign({}, options || {});
14
-
15
- if (file.isNull()) {
16
- return cb(null, file);
17
- }
18
- if (file.isStream()) {
19
- this.emit('error', new PluginError('gulp-clean-css', 'Streaming not supported!'));
20
- return cb(null, file);
21
- }
22
-
23
- if (file.sourceMap) {
24
- _options.sourceMap = JSON.parse(JSON.stringify(file.sourceMap));
25
- }
26
-
27
- const content = {
28
- [file.path]: {styles: file.contents ? file.contents.toString() : ''}
29
- };
30
- if (!_options.rebaseTo && _options.rebase !== false) {
31
- _options.rebaseTo = path.dirname(file.path);
32
- }
33
-
34
- new CleanCSS(_options).minify(content, (errors, css) => {
35
-
36
- if (errors) {
37
- return cb(errors.join(' '));
38
- }
39
-
40
- let details = {
41
- 'stats': css.stats,
42
- 'errors': css.errors,
43
- 'warnings': css.warnings,
44
- 'path': file.path,
45
- 'name': file.path.split(file.base)[1]
46
- };
47
-
48
- if (css.sourceMap) {
49
- details['sourceMap'] = css.sourceMap;
50
- }
51
- _callback(details);
52
-
53
- file.contents = new Buffer.from(css.styles);
54
-
55
- if (css.sourceMap) {
56
- const iMap = JSON.parse(css.sourceMap);
57
- const oMap = Object.assign({}, iMap, {
58
- file: path.relative(file.base, file.path),
59
- sources: iMap.sources.map(mapSrc => path.relative(file.base, mapSrc))
60
- });
61
- applySourceMap(file, oMap);
62
- }
63
- cb(null, file);
64
- });
65
- });
66
- };
@@ -1,68 +0,0 @@
1
- {
2
- "name": "gulp-clean-css",
3
- "description": "Minify css with clean-css.",
4
- "homepage": "https://github.com/scniro/gulp-clean-css#readme",
5
- "version": "4.2.0",
6
- "author": "scniro",
7
- "license": "MIT",
8
- "bugs": {
9
- "url": "https://github.com/scniro/gulp-clean-css/issues",
10
- "email": "scniro@outlook.com"
11
- },
12
- "repository": {
13
- "type": "git",
14
- "url": "https://github.com/scniro/gulp-clean-css.git"
15
- },
16
- "files": [
17
- "index.js"
18
- ],
19
- "keywords": [
20
- "css",
21
- "clean",
22
- "minify",
23
- "uglify",
24
- "clean-css",
25
- "minify-css",
26
- "gulp-minify-css",
27
- "gulp-clean-css",
28
- "gulpplugin",
29
- "gulpfriendly"
30
- ],
31
- "nyc": {
32
- "report-dir": "./.coverage",
33
- "reporter": [
34
- "lcov",
35
- "text"
36
- ],
37
- "include": [
38
- "index.js"
39
- ],
40
- "sourceMap": false,
41
- "temp-dir": "./.coverage/.nyc_output"
42
- },
43
- "dependencies": {
44
- "clean-css": "5.0.1",
45
- "plugin-error": "1.0.1",
46
- "through2": "3.0.1",
47
- "vinyl-sourcemaps-apply": "0.2.1"
48
- },
49
- "devDependencies": {
50
- "chai": "4.2.0",
51
- "chai-string": "1.5.0",
52
- "coveralls": "3.0.9",
53
- "express": "4.17.1",
54
- "fancy-log": "1.3.3",
55
- "gulp": "4.0.2",
56
- "gulp-concat": "2.6.1",
57
- "gulp-rename": "2.0.0",
58
- "gulp-sass": "4.0.2",
59
- "gulp-sourcemaps": "2.6.5",
60
- "mocha": "7.0.0",
61
- "nyc": "15.0.0",
62
- "vinyl": "2.2.0"
63
- },
64
- "scripts": {
65
- "cover": "./node_modules/.bin/nyc npm test",
66
- "test": "./node_modules/.bin/mocha ./index.spec.js"
67
- }
68
- }
@@ -1,77 +0,0 @@
1
- # Release History
2
-
3
- ## v2.2.0, 2021-03-12
4
- * update `twig-renderer`
5
- * update `devDependencies`
6
-
7
- ---
8
-
9
- ## v2.1.0, 2020-08-04
10
- * drop node 8 support in tests
11
- * update `dependencies`
12
- * update `devDependencies`
13
-
14
- ---
15
-
16
- ## v2.0.2, 2019-07-17
17
- * remove node 6 from travis tests
18
-
19
- ---
20
-
21
- ## v2.0.1, 2019-07-16
22
- * update `dependencies`
23
- * update `devDependencies`
24
-
25
- ---
26
-
27
- ## v2.0.0, 2019-06-07
28
- * change context hierarchy
29
- * move renderer to separate package
30
-
31
- ---
32
-
33
- ## v1.2.1, 2019-05-06
34
- * update `twig` to 1.13.2
35
- * update `devDependencies`
36
-
37
- ---
38
-
39
- ## v1.2.0, 2019-03-26
40
- * add namespaces support
41
- * fix npm vulnerabilities
42
- * update `README`
43
- * update `dependencies`
44
-
45
- ---
46
-
47
- ## v1.1.2, 2019-02-07
48
- * update `twig` to 1.13.2
49
- * update `devDependencies`
50
- * update `README`
51
-
52
- ---
53
-
54
- ## v1.1.1, 2019-01-11
55
- * update `package-lock.json` to fix travis-ci
56
-
57
- ---
58
-
59
- ## v1.1.0, 2019-01-11
60
- * update `twig` to 1.13.0
61
- * update `devDependencies`
62
-
63
- ---
64
-
65
- ## v1.0.0, 2018-11-27
66
- * move to Gulp 4
67
- * update dependencies
68
-
69
- ---
70
-
71
- ## v0.1.1, 2018-09-11
72
- * add `eslint` to `package.json`
73
-
74
- ---
75
-
76
- ## v0.1.0, 2018-09-11
77
- * defined `twig2html` task
@@ -1,22 +0,0 @@
1
- Copyright (c) 2017-2018, Viktor Dmitrievtsev and the gulp-twig2html Contributors
2
-
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
11
-
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
@@ -1,112 +0,0 @@
1
- # gulp-twig2html [![pipeline status](https://gitlab.com/toptalo/gulp-twig2html/badges/master/pipeline.svg)](https://gitlab.com/toptalo/gulp-twig2html/commits/master)
2
-
3
- Gulp plugin that compile twig templates to html pages.
4
-
5
- Build upon [Twig.js](https://github.com/twigjs/twig.js), the JS port of the Twig templating language by John Roepke.
6
-
7
- ## Install
8
-
9
- ```shell
10
- npm install gulp-twig2html --save
11
- ```
12
-
13
- ## The "twig2html" task
14
-
15
- ### Usage
16
-
17
- ```js
18
- const gulp = require('gulp');
19
- const rename = require('gulp-rename');
20
- const twig2html = require('gulp-twig2html');
21
-
22
- gulp.task('twig2html', () => {
23
- return gulp.src('src/*.twig')
24
- .pipe(twig2html({
25
- // Task-specific options go here.
26
- }))
27
- .pipe(rename({ extname: '.html' }))
28
- .pipe(gulp.dest('dist'));
29
- });
30
- ```
31
-
32
- ### Options
33
-
34
- #### options.globals
35
- Type: `String`
36
- Default value: `''`
37
-
38
- Path to JSON file with global context variables.
39
-
40
- #### options.extensions
41
- Type: `Array`
42
- Default value: `[]`
43
-
44
- Can be an array of functions that extend TwigJS with [custom tags](https://github.com/twigjs/twig.js/wiki/Extending-twig.js-With-Custom-Tags).
45
-
46
- #### options.functions
47
- Type: `Object`
48
- Default value: `{}`
49
-
50
- Object hash defining [functions in TwigJS](https://github.com/twigjs/twig.js/wiki/Extending-twig.js#functions).
51
-
52
- #### options.filters
53
- Type: `Object`
54
- Default value: `{}`
55
-
56
- Object hash defining [filters in TwigJS](https://github.com/twigjs/twig.js/wiki/Extending-twig.js#filters).
57
-
58
- #### options.context
59
- Type: `Object`
60
- Default value: `{}`
61
-
62
- Object hash defining templates context variables.
63
-
64
- #### options.separator
65
- Type: `String`
66
- Default value: `'\n'`
67
-
68
- A string that is inserted between each compiled template when concatenating templates.
69
-
70
- #### options.namespaces
71
- Type: `Object`
72
- Default value: `{}`
73
-
74
- Object hash defining namespaces.
75
-
76
- ### Usage Examples
77
-
78
- ```js
79
- const gulp = require('gulp');
80
- const rename = require('gulp-rename');
81
- const twig2html = require('gulp-twig2html');
82
-
83
- gulp.task('twig2html', () => {
84
- return gulp.src('src/*.html')
85
- .pipe(twig2html({
86
- context: {}, // task specific context object hash
87
- globals: 'path/to/globals.json'
88
- }))
89
- .pipe(rename({ extname: '.html' }))
90
- .pipe(gulp.dest('dist'));
91
- });
92
- ```
93
-
94
- #### Context hierarchy
95
-
96
- Template context extends in this order:
97
- * `options.context` if provided
98
- * `options.globals` if provided
99
- * template JSON context files (stored in template path, with same name,
100
- example: `/templates/index.json` for `/templates/index.twig`) if provided
101
-
102
- ## Contributing
103
- In lieu of a formal style guide, take care to maintain the existing coding style.
104
- Add unit tests for any new or changed functionality.
105
- Lint and test your code using [ESLint](https://eslint.org/) and [Jest](https://jestjs.io/).
106
-
107
- ## Sponsored by
108
-
109
- [![DesignDepot](https://designdepot.ru/static/core/img/logo.png)](https://designdepot.ru/?utm_source=web&utm_medium=npm&utm_campaign=gulp-twig2html)
110
-
111
- ## Release History
112
- See the [CHANGELOG](CHANGELOG.md).
@@ -1,30 +0,0 @@
1
- 'use strict';
2
-
3
- const TwigRenderer = require('../twig-renderer/twig-renderer.js');
4
- const through = require('through2');
5
- const PluginError = require('plugin-error');
6
-
7
- const PLUGIN_NAME = 'gulp-twig2html';
8
-
9
- module.exports = params => {
10
- const twigRenderer = new TwigRenderer(params);
11
-
12
- return through.obj(function (file, enc, callback) {
13
- if (file.isNull()) {
14
- callback(null, file);
15
- return;
16
- }
17
-
18
- if (file.isStream()) {
19
- throw new PluginError(PLUGIN_NAME, 'Streaming not supported');
20
- } else {
21
- twigRenderer.render(file.path).then(html => {
22
- file.contents = Buffer.from(html);
23
- this.push(file);
24
- callback();
25
- }).catch(error => {
26
- throw new PluginError(PLUGIN_NAME, error.message);
27
- });
28
- }
29
- });
30
- };
@@ -1,47 +0,0 @@
1
- {
2
- "name": "gulp-twig2html",
3
- "version": "2.2.0",
4
- "description": "Gulp plugin that compile twig templates to html pages",
5
- "keywords": [
6
- "gulpplugin",
7
- "templating",
8
- "twig",
9
- "html",
10
- "django"
11
- ],
12
- "bugs": {
13
- "url": "https://gitlab.com/toptalo/gulp-twig2html/-/issues"
14
- },
15
- "license": "MIT",
16
- "author": {
17
- "name": "Виктор Виктор",
18
- "email": "spam.vitek@gmail.com"
19
- },
20
- "files": [
21
- "index.js"
22
- ],
23
- "main": "index.js",
24
- "repository": {
25
- "type": "git",
26
- "url": "https://gitlab.com/toptalo/gulp-twig2html.git"
27
- },
28
- "scripts": {
29
- "lint": "eslint index.js",
30
- "test": "rimraf tmp && gulp && jest"
31
- },
32
- "dependencies": {
33
- "@toptalo/twig-renderer": "^0.5.0",
34
- "gulp": "^4.0.2",
35
- "plugin-error": "^1.0.1",
36
- "through2": "^4.0.2"
37
- },
38
- "devDependencies": {
39
- "eslint": "^7.21.0",
40
- "gulp-rename": "^2.0.0",
41
- "jest": "^26.6.3",
42
- "rimraf": "^3.0.2"
43
- },
44
- "engines": {
45
- "node": "^10.12.0 || >=12.0.0"
46
- }
47
- }
@@ -1,5 +0,0 @@
1
- # Changes to PostCSS Inset
2
-
3
- ### 1.0.0 (August 5, 2017)
4
-
5
- - Initial version
@@ -1,106 +0,0 @@
1
- # CC0 1.0 Universal
2
-
3
- ## Statement of Purpose
4
-
5
- The laws of most jurisdictions throughout the world automatically confer
6
- exclusive Copyright and Related Rights (defined below) upon the creator and
7
- subsequent owner(s) (each and all, an “owner”) of an original work of
8
- authorship and/or a database (each, a “Work”).
9
-
10
- Certain owners wish to permanently relinquish those rights to a Work for the
11
- purpose of contributing to a commons of creative, cultural and scientific works
12
- (“Commons”) that the public can reliably and without fear of later claims of
13
- infringement build upon, modify, incorporate in other works, reuse and
14
- redistribute as freely as possible in any form whatsoever and for any purposes,
15
- including without limitation commercial purposes. These owners may contribute
16
- to the Commons to promote the ideal of a free culture and the further
17
- production of creative, cultural and scientific works, or to gain reputation or
18
- greater distribution for their Work in part through the use and efforts of
19
- others.
20
-
21
- For these and/or other purposes and motivations, and without any expectation of
22
- additional consideration or compensation, the person associating CC0 with a
23
- Work (the “Affirmer”), to the extent that he or she is an owner of Copyright
24
- and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and
25
- publicly distribute the Work under its terms, with knowledge of his or her
26
- Copyright and Related Rights in the Work and the meaning and intended legal
27
- effect of CC0 on those rights.
28
-
29
- 1. Copyright and Related Rights. A Work made available under CC0 may be
30
- protected by copyright and related or neighboring rights (“Copyright and
31
- Related Rights”). Copyright and Related Rights include, but are not limited
32
- to, the following:
33
- 1. the right to reproduce, adapt, distribute, perform, display,
34
- communicate, and translate a Work;
35
- 2. moral rights retained by the original author(s) and/or performer(s);
36
- 3. publicity and privacy rights pertaining to a person’s image or likeness
37
- depicted in a Work;
38
- 4. rights protecting against unfair competition in regards to a Work,
39
- subject to the limitations in paragraph 4(i), below;
40
- 5. rights protecting the extraction, dissemination, use and reuse of data
41
- in a Work;
42
- 6. database rights (such as those arising under Directive 96/9/EC of the
43
- European Parliament and of the Council of 11 March 1996 on the legal
44
- protection of databases, and under any national implementation thereof,
45
- including any amended or successor version of such directive); and
46
- 7. other similar, equivalent or corresponding rights throughout the world
47
- based on applicable law or treaty, and any national implementations
48
- thereof.
49
-
50
- 2. Waiver. To the greatest extent permitted by, but not in contravention of,
51
- applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and
52
- unconditionally waives, abandons, and surrenders all of Affirmer’s Copyright
53
- and Related Rights and associated claims and causes of action, whether now
54
- known or unknown (including existing as well as future claims and causes of
55
- action), in the Work (i) in all territories worldwide, (ii) for the maximum
56
- duration provided by applicable law or treaty (including future time
57
- extensions), (iii) in any current or future medium and for any number of
58
- copies, and (iv) for any purpose whatsoever, including without limitation
59
- commercial, advertising or promotional purposes (the “Waiver”). Affirmer makes
60
- the Waiver for the benefit of each member of the public at large and to the
61
- detriment of Affirmer’s heirs and successors, fully intending that such Waiver
62
- shall not be subject to revocation, rescission, cancellation, termination, or
63
- any other legal or equitable action to disrupt the quiet enjoyment of the Work
64
- by the public as contemplated by Affirmer’s express Statement of Purpose.
65
-
66
- 3. Public License Fallback. Should any part of the Waiver for any reason be
67
- judged legally invalid or ineffective under applicable law, then the Waiver
68
- shall be preserved to the maximum extent permitted taking into account
69
- Affirmer’s express Statement of Purpose. In addition, to the extent the Waiver
70
- is so judged Affirmer hereby grants to each affected person a royalty-free, non
71
- transferable, non sublicensable, non exclusive, irrevocable and unconditional
72
- license to exercise Affirmer’s Copyright and Related Rights in the Work (i) in
73
- all territories worldwide, (ii) for the maximum duration provided by applicable
74
- law or treaty (including future time extensions), (iii) in any current or
75
- future medium and for any number of copies, and (iv) for any purpose
76
- whatsoever, including without limitation commercial, advertising or promotional
77
- purposes (the “License”). The License shall be deemed effective as of the date
78
- CC0 was applied by Affirmer to the Work. Should any part of the License for any
79
- reason be judged legally invalid or ineffective under applicable law, such
80
- partial invalidity or ineffectiveness shall not invalidate the remainder of the
81
- License, and in such case Affirmer hereby affirms that he or she will not (i)
82
- exercise any of his or her remaining Copyright and Related Rights in the Work
83
- or (ii) assert any associated claims and causes of action with respect to the
84
- Work, in either case contrary to Affirmer’s express Statement of Purpose.
85
-
86
- 4. Limitations and Disclaimers.
87
- 1. No trademark or patent rights held by Affirmer are waived, abandoned,
88
- surrendered, licensed or otherwise affected by this document.
89
- 2. Affirmer offers the Work as-is and makes no representations or
90
- warranties of any kind concerning the Work, express, implied, statutory
91
- or otherwise, including without limitation warranties of title,
92
- merchantability, fitness for a particular purpose, non infringement, or
93
- the absence of latent or other defects, accuracy, or the present or
94
- absence of errors, whether or not discoverable, all to the greatest
95
- extent permissible under applicable law.
96
- 3. Affirmer disclaims responsibility for clearing rights of other persons
97
- that may apply to the Work or any use thereof, including without
98
- limitation any person’s Copyright and Related Rights in the Work.
99
- Further, Affirmer disclaims responsibility for obtaining any necessary
100
- consents, permissions or other rights required for any use of the Work.
101
- 4. Affirmer understands and acknowledges that Creative Commons is not a
102
- party to this document and has no duty or obligation with respect to
103
- this CC0 or use of the Work.
104
-
105
- For more information, please see
106
- https://creativecommons.org/publicdomain/zero/1.0/.
@@ -1,121 +0,0 @@
1
- # PostCSS Inset [<img src="https://postcss.github.io/postcss/logo.svg" alt="PostCSS Logo" width="90" height="90" align="right">][postcss]
2
-
3
- [![NPM Version][npm-img]][npm-url]
4
- [![Linux Build Status][cli-img]][cli-url]
5
- [![Windows Build Status][win-img]][win-url]
6
- [![Gitter Chat][git-img]][git-url]
7
-
8
- [PostCSS Inset] lets you do use the [`inset`] shorthand property in CSS.
9
-
10
- ```css
11
- .example {
12
- inset: 10px 20px 80px;
13
- }
14
-
15
- /* becomes */
16
-
17
- .example {
18
- top: 10px;
19
- right: 20px;
20
- bottom: 80px;
21
- left: 20px;
22
- }
23
- ```
24
-
25
- ## Usage
26
-
27
- Add [PostCSS Inset] to your build tool:
28
-
29
- ```bash
30
- npm install postcss-inset --save-dev
31
- ```
32
-
33
- #### Node
34
-
35
- Use [PostCSS Inset] to process your CSS:
36
-
37
- ```js
38
- require('postcss-inset').process(YOUR_CSS);
39
- ```
40
-
41
- #### PostCSS
42
-
43
- Add [PostCSS] to your build tool:
44
-
45
- ```bash
46
- npm install postcss --save-dev
47
- ```
48
-
49
- Use [PostCSS Inset] as a plugin:
50
-
51
- ```js
52
- postcss([
53
- require('postcss-inset')()
54
- ]).process(YOUR_CSS);
55
- ```
56
-
57
- #### Gulp
58
-
59
- Add [Gulp PostCSS] to your build tool:
60
-
61
- ```bash
62
- npm install gulp-postcss --save-dev
63
- ```
64
-
65
- Use [PostCSS Inset] in your Gulpfile:
66
-
67
- ```js
68
- var postcss = require('gulp-postcss');
69
-
70
- gulp.task('css', function () {
71
- return gulp.src('./src/*.css').pipe(
72
- postcss([
73
- require('postcss-inset')()
74
- ])
75
- ).pipe(
76
- gulp.dest('.')
77
- );
78
- });
79
- ```
80
-
81
- #### Grunt
82
-
83
- Add [Grunt PostCSS] to your build tool:
84
-
85
- ```bash
86
- npm install grunt-postcss --save-dev
87
- ```
88
-
89
- Use [PostCSS Inset] in your Gruntfile:
90
-
91
- ```js
92
- grunt.loadNpmTasks('grunt-postcss');
93
-
94
- grunt.initConfig({
95
- postcss: {
96
- options: {
97
- use: [
98
- require('postcss-inset')()
99
- ]
100
- },
101
- dist: {
102
- src: '*.css'
103
- }
104
- }
105
- });
106
- ```
107
-
108
- [npm-url]: https://www.npmjs.com/package/postcss-inset
109
- [npm-img]: https://img.shields.io/npm/v/postcss-inset.svg
110
- [cli-url]: https://travis-ci.org/jonathantneal/postcss-inset
111
- [cli-img]: https://img.shields.io/travis/jonathantneal/postcss-inset.svg
112
- [win-url]: https://ci.appveyor.com/project/jonathantneal/postcss-inset
113
- [win-img]: https://img.shields.io/appveyor/ci/jonathantneal/postcss-inset.svg
114
- [git-url]: https://gitter.im/postcss/postcss
115
- [git-img]: https://img.shields.io/badge/chat-gitter-blue.svg
116
-
117
- [PostCSS Inset]: https://github.com/jonathantneal/postcss-inset
118
- [PostCSS]: https://github.com/postcss/postcss
119
- [Gulp PostCSS]: https://github.com/postcss/gulp-postcss
120
- [Grunt PostCSS]: https://github.com/nDmitry/grunt-postcss
121
- [`inset`]: https://www.w3.org/TR/css-logical-1/#propdef-inset