mirror of
https://github.com/NohamR/oled-nnw.git
synced 2026-05-24 20:00:38 +00:00
66 lines
1.4 KiB
TypeScript
66 lines
1.4 KiB
TypeScript
import fs from 'node:fs'
|
|
import { defineConfig, presetAttributify, presetIcons, presetTypography, presetUno } from 'unocss'
|
|
import { ARTICLE_TEXT, DIRECTORY_NAME } from './constant'
|
|
|
|
function getMainCss() {
|
|
const env = process.env.NODE_ENV
|
|
const input = fs.readFileSync('main.css', 'utf8')
|
|
if (env === 'development')
|
|
return input
|
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires
|
|
const CleanCSS = require('clean-css')
|
|
return new CleanCSS().minify(input).styles
|
|
}
|
|
|
|
export default defineConfig({
|
|
cli: {
|
|
entry: {
|
|
patterns: [`${DIRECTORY_NAME}/template.html`],
|
|
outFile: `${DIRECTORY_NAME}/stylesheet.css`,
|
|
},
|
|
},
|
|
|
|
shortcuts: [
|
|
[/^(.*)Text$/, ([,c]) => `text-${ARTICLE_TEXT[c]}`],
|
|
],
|
|
|
|
theme: {
|
|
maxWidth: {
|
|
prose: '80ch',
|
|
},
|
|
fontFamily: {
|
|
sans: ['ui-sans-serif', 'system-ui'],
|
|
serif: ['ui-serif', 'Georgia'],
|
|
mono: ['ui-monospace', 'SFMono-Regular'],
|
|
display: ['ui-sans-serif'],
|
|
body: ['ui-sans-serif'],
|
|
},
|
|
},
|
|
|
|
presets: [
|
|
presetUno({
|
|
dark: 'media',
|
|
}),
|
|
presetAttributify(),
|
|
presetIcons({
|
|
scale: 1.2,
|
|
}),
|
|
presetTypography({
|
|
cssExtend: {
|
|
blockquote: {
|
|
'font-style': 'none',
|
|
},
|
|
},
|
|
}),
|
|
],
|
|
|
|
preflights: [
|
|
{
|
|
layer: 'my-style',
|
|
getCSS: () => getMainCss(),
|
|
},
|
|
],
|
|
|
|
safelist: [...Object.keys(ARTICLE_TEXT).map(i => `${i}Text`)],
|
|
})
|