gatsby-plugin-stylus-resources
Advanced tools
Weekly downloads
Changelog
Readme
This is an extended version of gatsby-plugin-stylus.
The only difference is the use of sass-resources-loader so you can use your shared variables & mixins across all .styl
files without manually importing them in each file.
Feel free to check out and run the example folder for detailed configuration.
ā ļø BREAKING CHANGE : v2 uses stylus-loader@5.x.x
which requires Webpack 5 minimun (included in Gatsby v3)
npm i gatsby-plugin-stylus-resources -d
or
yarn add gatsby-plugin-stylus-resources -D
npm i gatsby-plugin-stylus-resources@1.0.36 -d
or
yarn add gatsby-plugin-stylus-resources@1.0.36 -D
Create your file (or files) with resources :
/* styles/config/mixins.styl */
flexbox($value = row)
display: flex
flex-direction: $value
truncate($fontsize = 14px)
flexbox()
height: $fontsize + 4px
white-space: nowrap
overflow: hidden
text-overflow: ellipsis
Include the plugin in your gatsby-config.js
file :
/* gatsby-config.js */
module.exports = {
plugins: [
{
resolve: "gatsby-plugin-stylus-resources",
options: {
resources: ['./src/styles/config/mixins.styl', 'path/to/another/file.styl'],
},
},
],
}
ā ļø Do not include anything that will be actually rendered in CSS, because it will be added to every imported .styl
file.
// in gatsby-config.js
plugins: [`gatsby-plugin-stylus-resources`]
Using CSS modules requires no additional configuration. Simply prepend .module
to the extension. For example: App.styl
-> App.module.styl
.
Any file with the module
extension will use CSS modules.
This plugin has the same API as
stylus-loader, which
means you can add stylus plugins with use
:
// in gatsby-config.js
const rupture = require("rupture")
module.exports = {
plugins: [
{
resolve: "gatsby-plugin-stylus-resources",
options: {
use: [rupture()],
},
},
],
}
PostCSS is also included to handle some default optimizations like autoprefixing a and common cross-browser flexbox bugs. Normally you don't need to think about it, but if you'd prefer to add additional postprocessing to your Stylus output you can sepecify plugins in the plugin options
// in gatsby-config.js
plugins: [
{
resolve: `gatsby-plugin-stylus-resources`,
options: {
postCssPlugins: [somePostCssPlugin()],
},
},
]
Contributions are welcome ! See contributing guidelines
MIT
Copyright (c) 2019 Jimmy Beldone
FAQs
Gatsby support for Stylus with resources (e.g. variables, mixins etc.)
The npm package gatsby-plugin-stylus-resources receives a total of 529 weekly downloads. As such, gatsby-plugin-stylus-resources popularity was classified as not popular.
We found that gatsby-plugin-stylus-resources demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Ā It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.