mirror of
https://github.com/LukeHagar/skeleton.git
synced 2025-12-10 12:47:45 +00:00
our main plugin now returns a single function that allows options
This commit is contained in:
@@ -11,7 +11,7 @@ async function transpileCssToJs() {
|
||||
const twConfig = {
|
||||
darkMode: 'class',
|
||||
content: ['./src/**/*.{html,js,svelte,ts}'],
|
||||
plugins: [require('../src/lib/tailwind/skeleton.cjs')]
|
||||
plugins: [require('../src/lib/tailwind/core.cjs')]
|
||||
};
|
||||
|
||||
const css = fs.readFileSync(cssEntryPath, 'utf8');
|
||||
|
||||
37
src/lib/tailwind/core.cjs
Normal file
37
src/lib/tailwind/core.cjs
Normal file
@@ -0,0 +1,37 @@
|
||||
// The Skeleton Tailwind Plugin
|
||||
// Tailwind Docs: https://tailwindcss.com/docs/plugins
|
||||
// Skeleton Docs: https://www.skeleton.dev/guides/tailwind
|
||||
|
||||
const plugin = require('tailwindcss/plugin');
|
||||
|
||||
// Skeleton Theme Modules
|
||||
const themeColors = require('./theme/colors.cjs');
|
||||
// Skeleton Design Token Modules
|
||||
const tokensBackgrounds = require('./tokens/backgrounds.cjs');
|
||||
const tokensBorders = require('./tokens/borders.cjs');
|
||||
const tokensBorderRadius = require('./tokens/border-radius.cjs');
|
||||
const tokensFills = require('./tokens/fills.cjs');
|
||||
const tokensText = require('./tokens/text.cjs');
|
||||
const tokensRings = require('./tokens/rings.cjs');
|
||||
|
||||
module.exports = plugin(
|
||||
({ addUtilities }) => {
|
||||
addUtilities({
|
||||
// Implement Skeleton design token classes
|
||||
...tokensBackgrounds(),
|
||||
...tokensBorders(),
|
||||
...tokensBorderRadius(),
|
||||
...tokensFills(),
|
||||
...tokensText(),
|
||||
...tokensRings()
|
||||
});
|
||||
},
|
||||
{
|
||||
theme: {
|
||||
extend: {
|
||||
// Implement Skeleton theme colors
|
||||
colors: themeColors()
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -2,36 +2,18 @@
|
||||
// Tailwind Docs: https://tailwindcss.com/docs/plugins
|
||||
// Skeleton Docs: https://www.skeleton.dev/guides/tailwind
|
||||
|
||||
const plugin = require('tailwindcss/plugin');
|
||||
const intellisensePlugin = require('./intellisense.cjs');
|
||||
const corePlugin = require('./core.cjs');
|
||||
|
||||
// Skeleton Theme Modules
|
||||
const themeColors = require('./theme/colors.cjs');
|
||||
// Skeleton Design Token Modules
|
||||
const tokensBackgrounds = require('./tokens/backgrounds.cjs');
|
||||
const tokensBorders = require('./tokens/borders.cjs');
|
||||
const tokensBorderRadius = require('./tokens/border-radius.cjs');
|
||||
const tokensFills = require('./tokens/fills.cjs');
|
||||
const tokensText = require('./tokens/text.cjs');
|
||||
const tokensRings = require('./tokens/rings.cjs');
|
||||
// The default export is a function that returns an array of plugins
|
||||
// and accepts an optional config that determines which plugins are included.
|
||||
// By default, all plugins are included.
|
||||
module.exports = function (config = { intellisense: true }) {
|
||||
const { intellisense } = config;
|
||||
const plugins = [corePlugin];
|
||||
|
||||
module.exports = plugin(
|
||||
({ addUtilities }) => {
|
||||
addUtilities({
|
||||
// Implement Skeleton design token classes
|
||||
...tokensBackgrounds(),
|
||||
...tokensBorders(),
|
||||
...tokensBorderRadius(),
|
||||
...tokensFills(),
|
||||
...tokensText(),
|
||||
...tokensRings()
|
||||
});
|
||||
},
|
||||
{
|
||||
theme: {
|
||||
extend: {
|
||||
// Implement Skeleton theme colors
|
||||
colors: themeColors()
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
// Add the plugin if the option is not explicitly set to false
|
||||
if (intellisense !== false) plugins.push(intellisensePlugin);
|
||||
|
||||
return plugins;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user