خانوادهٔ قلم
یک خانوادهٔ قلم را به متن انتخابشده اعمال کنید. اگر بازهای انتخاب شده باشد، فقط همان بازه تغییر میکند؛ اگر فقط caret وجود داشته باشد، بر متن پاراگراف کنونی اعمال میشود. فایلهای واقعی قلم و مقدارهای font-family را CSS سرویس تعیین میکند.
خانوادههای پیشفرض sans، serif، mono و cursive هستند. بهویژه در سرویسهایی با محتوای فارسی یا چندزبانه، بهتر است صریحاً مشخص کنید هر خانواده از کدام قلمها استفاده کند.
npm install nabi-noteimport {
createNabiWith, mountSurface, mountToolbar, mountContextToolbar,
mountHints, watchSettle, typefaceWing, fontSizeWing, dropCapWing,
mountViewTools,
} from 'nabi-note'
const selected = [
typefaceWing,
fontSizeWing,
dropCapWing,
]
const { nabi, registry } = createNabiWith(selected)
const root = document.querySelector('.nabi')!
const content = document.querySelector('.nabi-content')!
// The locale also sets the direction — Arabic and Urdu run right to left
mountSurface({ nabi, registry, root: content, locale: 'fa' })
const settle = watchSettle(document, { surface: content })
const shared = { nabi, registry, surface: content, settle, locale: 'fa' }
const toolbar = mountToolbar({ ...shared, root: document.querySelector('#toolbar')! })
const context = mountContextToolbar({ ...shared, root: document.querySelector('#context')! })
mountHints({ toolbar, context, root, surface: content })
// The preview and fullscreen buttons — they stand their own box at the end of the row
mountViewTools({ ...shared, root, container: document.querySelector('#toolbar')! })
// on every change — hook up your own code here
// nabi.onChange(() => user_callback(nabi.getHtml()))const selected = wings().use('tf', {
values: ['sans', 'serif', 'mono'],
}).build()اگر values حذف شود، همهٔ خانوادههای پیشفرض استفاده میشوند. تنها مقدارهای موجود در values در سندها مجازند.
سبکهای CSS
سند فقط نام خانواده را ذخیره میکند و CSS فایلهای قلم را برمیگزیند. متغیرها را روی یک container یکسان برای ویرایشگر و نمای منتشرشده تغییر دهید.
.nabi-content {
--nabi-font-serif: "Noto Serif", "Noto Serif KR", serif;
--nabi-font-mono: "JetBrains Mono", monospace;
}اگر از قلمهای وب استفاده میکنید، ابتدا فایلهای آن قلمها را بارگیری کنید. cursive اغلب پوشش خوبی برای بسیاری از زبانها ندارد؛ پس بهتر است فقط پس از انتخاب قلم واقعیِ مورد استفادهٔ سرویس آن را ارائه کنید.