PostCSS Markdown Syntax
![Build Status](https://github.com/ota-meshi/postcss-markdown/workflows/CI/badge.svg?branch=master)
![Philosopher’s stone, logo of PostCSS](http://postcss.github.io/postcss/logo.svg)
PostCSS syntax for parsing Markdown
Getting Started
First thing's first, install the module:
npm install postcss-markdown@next --save-dev
If you want support SCSS/SASS/LESS/SugarSS syntax, you need to install the corresponding module.
Use Cases
const postcss = require("postcss");
const syntax = require("postcss-markdown")({
htmlInMd: true,
scss: require("postcss-scss"),
less: require("postcss-less"),
css: require("postcss-safe-parser"),
});
const autoprefixer = require("autoprefixer");
postcss([autoprefixer])
.process(source, { syntax: syntax })
.then(function (result) {
result.content;
});
input:
# title
```css
::placeholder {
color: gray;
}
```
output:
# title
```css
::-webkit-input-placeholder {
color: gray;
}
:-ms-input-placeholder {
color: gray;
}
::-ms-input-placeholder {
color: gray;
}
::placeholder {
color: gray;
}
```
If you want support SCSS/SASS/LESS/SugarSS syntax, you need to install these module:
Advanced Use Cases
Options
const options = {
rules: [
{
test: /^postcss$/i,
lang: "scss",
},
{
test: /^customcss$/i,
lang: "custom",
},
],
css: "postcss-safe-parser",
sass: require("postcss-sass"),
scss: "postcss-scss",
less: require.resolve("./node_modules/postcss-less"),
sugarss: require("sugarss"),
custom: require("postcss-custom-syntax"),
};
const syntax = require("postcss-markdown")(options);
Linting with Stylelint
The main use case of this plugin is to apply linting with Stylelint to CSS (and CSS-like) code blocks in markdown file.