mirror of
https://github.com/hugo-fixit/FixIt.git
synced 2026-08-24 07:18:57 +00:00
103 lines
2.4 KiB
TypeScript
103 lines
2.4 KiB
TypeScript
import { defineConfig, presetIcons, presetWind3 } from 'unocss'
|
|
|
|
export default defineConfig({
|
|
presets: [
|
|
presetIcons({
|
|
prefix: '',
|
|
collections: {
|
|
lucide: () => import('@iconify/json/json/lucide.json').then(i => i.default),
|
|
octicon: () => import('@iconify/json/json/octicon.json').then(i => i.default),
|
|
},
|
|
extraProperties: {
|
|
'display': 'inline-block',
|
|
'vertical-align': 'text-bottom',
|
|
},
|
|
}),
|
|
presetWind3(),
|
|
],
|
|
theme: {
|
|
// FixIt responsive breakpoints (min-width, mobile-first)
|
|
// xs (< 680px) use max-sm: prefix in UnoCSS
|
|
breakpoints: {
|
|
sm: '680px',
|
|
md: '960px',
|
|
lg: '1200px',
|
|
xl: '1440px',
|
|
},
|
|
colors: {
|
|
primary: 'var(--fi-primary)',
|
|
secondary: 'var(--fi-secondary)',
|
|
success: 'var(--fi-success)',
|
|
info: 'var(--fi-info)',
|
|
warning: 'var(--fi-warning)',
|
|
danger: 'var(--fi-danger)',
|
|
},
|
|
},
|
|
// No preflight/reset — FixIt has its own in core/_reboot.scss
|
|
preflights: [],
|
|
// Semantic z-index shortcuts (mirrors core/mixins/_z-index.scss)
|
|
shortcuts: {
|
|
'z-hide': 'z--1',
|
|
'z-auto': 'z-auto',
|
|
'z-base': 'z-1',
|
|
'z-loading': 'z-10',
|
|
'z-sticky': 'z-100',
|
|
'z-fixed': 'z-200',
|
|
},
|
|
// Block unused or false-positive utilities
|
|
blocklist: [
|
|
'container',
|
|
/^h[1-6]$/,
|
|
// Block legacy Font Awesome icons (FA uses CSS font, not SVG)
|
|
/^fa-/,
|
|
],
|
|
// Always generate order utilities (used dynamically in templates)
|
|
safelist: [
|
|
'text-success',
|
|
'text-error',
|
|
'text-warning',
|
|
'text-info',
|
|
'text-primary',
|
|
'bg-success',
|
|
'bg-error',
|
|
'bg-warning',
|
|
'bg-info',
|
|
'bg-primary',
|
|
// For footer lines order, optional values: ["first", 0-5, "last"]
|
|
'order-first',
|
|
'order-last',
|
|
'order-0',
|
|
'order-1',
|
|
'order-2',
|
|
'order-3',
|
|
'order-4',
|
|
'order-5',
|
|
// Responsive visibility
|
|
'sm:hidden',
|
|
'max-sm:hidden',
|
|
'print:hidden',
|
|
// Print page breaks
|
|
'break-before-page',
|
|
'break-after-page',
|
|
],
|
|
// Scan Hugo templates for class usage
|
|
content: {
|
|
filesystem: [
|
|
'layouts/**/*.html',
|
|
'assets/js/**/*.ts',
|
|
],
|
|
pipeline: {
|
|
exclude: ['node_modules', 'dist'],
|
|
},
|
|
},
|
|
// CLI entry for unocss / unocss:watch
|
|
cli: {
|
|
entry: [
|
|
{
|
|
patterns: ['layouts/**/*.html', 'assets/js/**/*.ts'],
|
|
outFile: 'assets/css/unocss.css',
|
|
},
|
|
],
|
|
},
|
|
})
|