PostCSS syntax for parsing HTML (and HTML-like)
npm install @silverwind/postcss-html





title="Philosopher’s stone, logo of PostCSS"
src="http://postcss.github.io/postcss/logo.svg">
PostCSS syntax for parsing HTML (and HTML-like)
- Vue Single-File Components
- Svelte Components
- Astro Components
- PHP
- Quick App
- XSLT
First thing's first, install the module:
``bash`
npm install postcss-html --save-dev
If you want support SCSS/SASS/LESS/SugarSS syntax, you need to install the corresponding module.
- SCSS: postcss-scss
- SASS: postcss-sass
- LESS: postcss-less
- SugarSS: sugarss
- Stylus: postcss-styl
`js`
const postcss = require('postcss');
const syntax = require('postcss-html')({
// syntax for parse scss (non-required options)
scss: require('postcss-scss'),
// syntax for parse less (non-required options)
less: require('postcss-less'),
// syntax for parse css blocks (non-required options)
css: require('postcss-safe-parser'),
});
postcss(plugins).process(source, { syntax: syntax }).then(function (result) {
// An alias for the result.css property. Use it with syntaxes that generate non-CSS output.
result.content
});
If you want support SCSS/SASS/LESS/SugarSS syntax, you need to install these module:
- SCSS: postcss-scss
- SASS: postcss-sass
- LESS: postcss-less
- SugarSS: sugarss
- Stylus: postcss-styl
`js
const options = {
rules: [
{
// custom language
test: /^postcss$/i,
lang: 'scss'
},
{
// custom language
test: /^customcss$/i,
lang: 'custom'
},
],
// custom parser for CSS (using postcss-safe-parser)`
css: 'postcss-safe-parser',
// custom parser for SASS (PostCSS-compatible syntax.)
sass: require('postcss-sass'),
// custom parser for SCSS (by module name)
scss: 'postcss-scss',
// custom parser for LESS (by module path)
less: require.resolve('./node_modules/postcss-less'),
// custom parser for SugarSS
sugarss: require('sugarss'),
// custom parser for custom language
custom: require('postcss-custom-syntax'),
}
const syntax = require('postcss-html')(options);
PostCSS can be temporarily turned off by using special comments in your HTML. For example:
The main use case of this plugin is to apply linting with [Stylelint] to