//import { fontFamily } from "tailwindcss/defaultTheme"; import type { Config } from "tailwindcss"; import typography from '@tailwindcss/typography'; const config: Config = { darkMode: ["class"], content: ["./src/**/*.{html,js,svelte,ts}"], safelist: ["dark"], theme: { container: { center: true, padding: "2rem", screens: { "2xl": "1400px" } }, extend: { colors: { border: "hsl(var(--border) / )", input: "hsl(var(--input) / )", ring: "hsl(var(--ring) / )", background: "hsl(var(--background) / )", foreground: "hsl(var(--foreground) / )", primary: { DEFAULT: "hsl(var(--primary) / )", foreground: "hsl(var(--primary-foreground) / )" }, secondary: { DEFAULT: "hsl(var(--secondary) / )", foreground: "hsl(var(--secondary-foreground) / )" }, destructive: { DEFAULT: "hsl(var(--destructive) / )", foreground: "hsl(var(--destructive-foreground) / )" }, muted: { DEFAULT: "hsl(var(--muted) / )", foreground: "hsl(var(--muted-foreground) / )" }, accent: { DEFAULT: "hsl(var(--accent) / )", foreground: "hsl(var(--accent-foreground) / )" }, popover: { DEFAULT: "hsl(var(--popover) / )", foreground: "hsl(var(--popover-foreground) / )" }, card: { DEFAULT: "hsl(var(--card) / )", foreground: "hsl(var(--card-foreground) / )" }, eucalyptus: { 100: '#E6F3EF', 200: '#C0E1D7', 300: '#9ACFBF', 400: '#4EAB90', 500: '#028760', 600: '#027A56', 700: '#01513A', 800: '#013D2B', 900: '#01291D', }, java: { 100: '#EDF9F8', 200: '#D2EFED', 300: '#B6E5E2', 400: '#80D2CD', 500: '#49BEB7', 600: '#42ABA5', 700: '#2C726E', 800: '#215652', 900: '#163937', }, sunglow: { 100: '#FFFAEF', 200: '#FEF3D6', 300: '#FDECBD', 400: '#FCDD8C', 500: '#FACF5A', 600: '#E1BA51', 700: '#967C36', 800: '#715D29', 900: '#4B3E1B', }, magenta: { 100: '#F9ECF4', 200: '#F1D0E4', 300: '#E8B3D3', 400: '#D77AB2', 500: '#C64191', 600: '#B23B83', 700: '#772757', 800: '#591D41', 900: '#3B142C', }, }, borderRadius: { lg: "var(--radius)", md: "calc(var(--radius) - 2px)", sm: "calc(var(--radius) - 4px)" }, fontFamily: { //sans: [...fontFamily.sans], sans: '"Source Han Sans SC", "Source Han Sans CN","Noto Sans CJK SC", "Noto Sans", -apple-system, "Helvetica Neue", Helvetica, "Nimbus Sans L", Arial, "Liberation Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Wenquanyi Micro Hei", "WenQuanYi Zen Hei", "ST Heiti", SimHei, "WenQuanYi Zen Hei Sharp", sans-serif', //For varible font usage sometimes // 'serif': '"Source Han Serif CN Variable", "Source Han Serif SC", "Source Han Serif CN","Noto Serif CJK SC", "Songti SC", STSong, "AR PL New Sung", "AR PL SungtiL GB", NSimSun, SimSun, "TW\-Sung", "WenQuanYi Bitmap Song", "AR PL UMing CN", "AR PL UMing HK", "AR PL UMing TW", "AR PL UMing TW MBE", PMingLiU, MingLiU, serif', serif: '"Source Han Serif SC", "Source Han Serif CN","Noto Serif CJK SC", "Songti SC", STSong, "AR PL New Sung", "AR PL SungtiL GB", NSimSun, SimSun, "TW-Sung", "WenQuanYi Bitmap Song", "AR PL UMing CN", "AR PL UMing HK", "AR PL UMing TW", "AR PL UMing TW MBE", PMingLiU, MingLiU, serif', cursive: 'FancyTitleFont,"Source Han Serif SC", "Source Han Serif CN", "Noto Serif CJK SC", "Songti SC", STSong, "AR PL New Sung", "AR PL SungtiL GB", NSimSun, SimSun, "TW-Sung", "WenQuanYi Bitmap Song", "AR PL UMing CN", "AR PL UMing HK", "AR PL UMing TW", "AR PL UMing TW MBE", PMingLiU, MingLiU, serif', mono: "'Fira Code','Cascadia Code',Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New','Sarasa Mono SC','Noto Sans CJK SC','monospace', monospace" }, typography: ((theme) => { const common = { ul: { listStyleType: "square", listStylePosition: "outside", }, ol: { listStyleType: "decimal", listStylePosition: "outside", }, maxWidth: "100%", }; const themeTokiwa = { '--tw-prose-body': theme('colors.gray.900'), '--tw-prose-headings': theme('colors.eucalyptus.700'), '--tw-prose-lead': theme('colors.eucalyptus.400'), '--tw-prose-links': theme('colors.eucalyptus.400'), '--tw-prose-bold': theme('colors.eucalyptus.800'), '--tw-prose-counters': theme('colors.gray.900'), '--tw-prose-bullets': theme('colors.java.900'), '--tw-prose-hr': theme('colors.gray.600'), '--tw-prose-quotes': theme('colors.gray.900'), '--tw-prose-quote-borders': theme('colors.eucalyptus.700'), '--tw-prose-captions': theme('colors.gray.800'), '--tw-prose-code': theme('colors.sunglow.900'), '--tw-prose-pre-code': theme('colors.gray.500'), '--tw-prose-pre-bg': theme('colors.gray.500'), '--tw-prose-th-borders': theme('colors.gray.500'), '--tw-prose-td-borders': theme('colors.gray.500'), a: { color: theme('colors.eucalyptus.400'), "&:hover, &:focus": { color: theme('colors.java.500'), }, }, }; const themeStar = { '--tw-prose-body': theme('colors.gray.400'), '--tw-prose-headings': theme('colors.eucalyptus.500'), '--tw-prose-lead': theme('colors.eucalyptus.400'), '--tw-prose-links': theme('colors.eucalyptus.500'), '--tw-prose-bold': theme('colors.eucalyptus.100'), '--tw-prose-counters': theme('colors.gray.100'), '--tw-prose-bullets': theme('colors.java.100'), '--tw-prose-hr': theme('colors.gray.400'), '--tw-prose-quotes': theme('colors.gray.100'), '--tw-prose-quote-borders': theme('colors.eucalyptus.300'), '--tw-prose-captions': theme('colors.gray.200'), '--tw-prose-code': theme('colors.sunglow.300'), '--tw-prose-pre-code': theme('colors.gray.500'), '--tw-prose-pre-bg': theme('colors.gray.500'), '--tw-prose-th-borders': theme('colors.gray.500'), '--tw-prose-td-borders': theme('colors.gray.500'), a: { color: theme('colors.eucalyptus.300'), "&:hover, &:focus": { color: theme('colors.java.400'), }, }, }; return { DEFAULT: { css: { ...themeTokiwa, ...common, }, }, dark: { css: { ...themeStar, ...common, }, }, }; }), } }, variants: { extend: { typography: ["dark"] } }, plugins: [ typography, ], }; export default config;