Skip to content

إعداد Typography المسبق ​

يوفر مجموعة من فئات prose التي يمكنك استخدامها لإضافة افتراضيات طباعية إلى HTML العادي.

الكود المصدري

التثبيت ​

bash
pnpm add -D @unocss/preset-typography
bash
yarn add -D @unocss/preset-typography
bash
npm install -D @unocss/preset-typography
bash
bun add -D @unocss/preset-typography

TIP

يتم تضمين هذا الإعداد المسبق في حزمة unocss، يمكنك أيضاً استيراده من هناك:

ts
import { presetTypography } from 'unocss'

الاستخدام ​

js
import {
  defineConfig,
  presetAttributify,
  presetTypography,
  presetWind3
} from 'unocss'

export default defineConfig({
  presets: [
    presetAttributify(), // required when using attributify mode
    presetWind3(), // required
    presetTypography(),
  ],
})
html
<article class="text-base prose prose-truegray xl:text-xl">
  {{ markdown }}
  <p class="not-prose">Some text</p>
</article>
html
<article text-base prose prose-truegray xl="text-xl">
  {{ markdown }}
  <p class="not-prose">Some text</p>
</article>

WARNING

ملاحظة: not-prose يمكن استخدامها فقط كفئة، وليس كسمة.

المميزات ​

أي حجم خط ​

طبق أي حجم خط للجسم تريده وسيقوم prose بتوسيع الأنماط لعناصر HTML المقابلة. على سبيل المثال، prose text-lg له حجم خط الجسم 1.125rem وسيتم توسيع h1 مع هذا الحجم 2.25 مرة. راجع جميع عناصر HTML المدعومة.

أي لون ​

طبق أي لون مع prose-${colorName} بواسطة UnoCSS (على سبيل المثال prose-coolgray، prose-sky) نظراً لأن prose لا يحتوي على أي لون افتراضياً. راجع جميع الألوان المتاحة. على سبيل المثال، prose prose-truegray سيستخدم الألوان المقابلة لعناصر HTML المقابلة.

الوضع الداكن بأداة واحدة ​

طبق الوضع الداكن الطباعي مع prose-invert (يجب على المستخدمين التعامل مع لون الخلفية). على سبيل المثال، prose dark:prose-invert سيستخدم الألوان المعكوسة في الوضع الداكن.

نمطك الخاص ​

ستبقى أنماط العناصر غير الموجودة داخل prose كما هي. لا إعادة تعيين الأنماط تماماً مثل UnoCSS.

التراجع مع أداة not ​

طبق not-prose على العناصر للتراجع عن الأنماط الطباعية. على سبيل المثال، <table class="not-prose"> سيتخطى الأنماط من هذا الإعداد المسبق لعنصر table (ملاحظة: أداة not قابلة للاستخدام فقط في الفئة نظراً لأنها مستخدمة فقط في محدد CSS وليست ممسوحة بواسطة UnoCSS).

خيارات التوافق ​

يستخدم هذا الإعداد المسبق بعض الفئات الزائفة التي لا يتم دعمها على نطاق واسع، لكن يمكنك تعطيلها. (#2064)

  • إذا قمت بتمكين noColonNot أو noColonWhere، سيكون not-prose غير متاح.
  • إذا قمت بتمكين noColonIs، سيكون لوضع attributify سلوك خاطئ.

الأدوات ​

القاعدةالأنماط بواسطة هذه القاعدة
proseراجع على GitHub.

الألوان ​

القواعد (اللون)
prose-rose
prose-pink
prose-fuchsia
prose-purple
prose-violet
prose-indigo
prose-blue
prose-sky
prose-cyan
prose-teal
prose-emerald
prose-green
prose-lime
prose-yellow
prose-amber
prose-orange
prose-red
prose-gray
prose-slate
prose-zinc
prose-neutral
prose-stone

الخيارات ​

يحتوي هذا الإعداد المسبق على تكوينات selectorName و cssExtend للمستخدمين الذين يحبون التجاوز أو التوسيع.

TIP

إعلانات CSS الممررة إلى cssExtend سوف

  • تتجاوز الأنماط المدمجة إذا كانت القيم متعارضة، وإلا
  • تدمج بعمق مع الأنماط المدمجة.

selectorName ​

  • النوع: string
  • افتراضي: prose

اسم الفئة لاستخدام الأدوات الطباعية. للتراجع عن الأنماط للعناصر، استخدمها مثل not-${selectorName} والتي هي افتراضياً not-prose.

TIP

أداة not متاحة فقط في الفئة.

cssExtend ​

  • النوع: Record<string, CSSObject>
  • افتراضي: undefined

توسيع أو تجاوز محددات CSS مع كتلة إعلان CSS.

compatibility ​

  • النوع: TypographyCompatibilityOptions
  • افتراضي: undefined

راجع خيارات التوافق.

WARNING

لاحظ أنه سيؤثر على بعض الميزات.

ts
interface TypographyCompatibilityOptions {
  noColonWhere?: boolean
  noColonIs?: boolean
  noColonNot?: boolean
}

مثال ​

ts
import { presetTypography } from '@unocss/preset-typography'
import { defineConfig, presetAttributify, presetWind3 } from 'unocss'

export default defineConfig({
  presets: [
    presetAttributify(), // required if using attributify mode
    presetWind3(), // required
    presetTypography({
      selectorName: 'markdown', // now use like `markdown markdown-gray`, `not-markdown`
      // cssExtend is an object with CSS selector as key and
      // CSS declaration block as value like writing normal CSS.
      cssExtend: {
        'code': {
          color: '#8b5cf6',
        },
        'a:hover': {
          color: '#f43f5e',
        },
        'a:visited': {
          color: '#14b8a6',
        },
      },
    }),
  ],
})

الاعتراف ​

Released under the MIT License.