ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ â ð shadcn/directory/udecode/plate/(plugins)/(styles)/font.cn â ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â
title: åäœ description: äžºææ¡£å 容æäŸæ©å±çæ ŒåŒåé项ã docs:
FontBackgroundColorPlugin: äœ¿çš background-color æ ·åŒæ§å¶èæ¯è²FontColorPlugin: äœ¿çš color æ ·åŒæ§å¶åäœé¢è²FontFamilyPlugin: 䜿çšå
èå
çŽ å font-family æ ·åŒæŽæ¹åäœFontSizePlugin: äœ¿çš CSS ç±»æ font-size æ ·åŒæ§å¶åäœå€§å°FontWeightPlugin: äœ¿çš font-weight æ ·åŒæ§å¶åäœç²ç»æ·»å åäœæ ·åŒåèœæå¿«çæ¹åŒæ¯äœ¿çš FontKitïŒå®å
å«äºé¢é
眮çåäœæä»¶åå
¶ Plate UI ç»ä»¶ã
FontColorPluginãFontBackgroundColorPluginãFontSizePluginãFontFamilyPluginïŒïŒå¹¶å
·æåççé»è®€åŒãå° kit æ·»å å°äœ çæä»¶äžïŒ
import { createPlateEditor } from 'platejs/react';
import { FontKit } from '@/components/editor/plugins/font-kit';
const editor = createPlateEditor({
plugins: [
// ...otherPlugins,
...FontKit,
],
});
</Steps>
npm install @platejs/basic-styles
åšå建çŒèŸåšæ¶ïŒå°åäœæä»¶å å«åšäœ ç Plate æä»¶æ°ç»äžã
import {
FontBackgroundColorPlugin,
FontColorPlugin,
FontFamilyPlugin,
FontSizePlugin,
} from '@platejs/basic-styles/react';
import { createPlateEditor } from 'platejs/react';
const editor = createPlateEditor({
plugins: [
// ...otherPlugins,
FontColorPlugin,
FontBackgroundColorPlugin,
FontFamilyPlugin,
FontSizePlugin,
],
});
äœ å¯ä»¥äœ¿çšèªå®ä¹é项åç®æ å çŽ æ¥é 眮å䞪åäœæä»¶ã
import {
FontColorPlugin,
FontBackgroundColorPlugin,
FontSizePlugin,
FontFamilyPlugin,
} from '@platejs/basic-styles/react';
import { KEYS } from 'platejs';
import { createPlateEditor } from 'platejs/react';
const editor = createPlateEditor({
plugins: [
// ...otherPlugins,
FontColorPlugin.configure({
inject: {
nodeProps: {
defaultNodeValue: 'black',
},
targetPlugins: [KEYS.p],
},
}),
FontSizePlugin.configure({
inject: {
targetPlugins: [KEYS.p],
},
}),
FontBackgroundColorPlugin.configure({
inject: {
targetPlugins: [KEYS.p],
},
}),
FontFamilyPlugin.configure({
inject: {
targetPlugins: [KEYS.p],
},
}),
],
});
inject.nodeProps.defaultNodeValue: 讟眮é»è®€åäœé¢è²åŒãinject.targetPlugins: æå®åªäºå
çŽ ç±»åå¯ä»¥æ¥æ¶åäœæ ·åŒïŒåœ±å HTML è§£æïŒãäœ å¯ä»¥å° FontColorToolbarButton å FontSizeToolbarButton æ·»å å°äœ ç Toolbar äžïŒä»¥æ§å¶åäœé¢è²å倧å°ã
FontBackgroundColorPluginçšäºåäœèæ¯è²æ ŒåŒåçæä»¶ãå° background-color æ ·åŒåºçšäºéäžçææ¬ã
FontColorPluginçšäºåäœé¢è²æ ŒåŒåçæä»¶ãå° color æ ·åŒåºçšäºéäžçææ¬ã
FontFamilyPluginçšäºåäœæ ŒåŒåçæä»¶ãå° font-family æ ·åŒåºçšäºéäžçææ¬ã
FontSizePluginçšäºåäœå€§å°æ ŒåŒåçæä»¶ãå° font-size æ ·åŒåºçšäºéäžçææ¬ã
FontWeightPluginçšäºåäœç²ç»æ ŒåŒåçæä»¶ãå° font-weight æ ·åŒåºçšäºéäžçææ¬ã
tf.backgroundColor.addMarkåšéäžçææ¬äžè®Ÿçœ®åäœèæ¯è²æ è®°ã
<API name="tf.backgroundColor.addMark"> <APIParameters> <APIItem name="value" type="string"> èŠè®Ÿçœ®çèæ¯è²åŒïŒäŸåŠïŒ`'#ff0000'`ã`'red'`ïŒã </APIItem> </APIParameters> </API>tf.color.addMarkåšéäžçææ¬äžè®Ÿçœ®åäœé¢è²æ è®°ã
<API name="tf.color.addMark"> <APIParameters> <APIItem name="value" type="string"> èŠè®Ÿçœ®çé¢è²åŒïŒäŸåŠïŒ`'#0000ff'`ã`'blue'`ïŒã </APIItem> </APIParameters> </API>tf.fontFamily.addMarkåšéäžçææ¬äžè®Ÿçœ®åäœæ è®°ã
<API name="tf.fontFamily.addMark"> <APIParameters> <APIItem name="value" type="string"> èŠè®Ÿçœ®çåäœåŒïŒäŸåŠïŒ`'Arial'`ã`'Times New Roman'`ïŒã </APIItem> </APIParameters> </API>tf.fontSize.addMarkåšéäžçææ¬äžè®Ÿçœ®åäœå€§å°æ è®°ã
<API name="tf.fontSize.addMark"> <APIParameters> <APIItem name="value" type="string"> èŠè®Ÿçœ®çåäœå€§å°åŒïŒäŸåŠïŒ`'16px'`ã`'1.2em'`ïŒã </APIItem> </APIParameters> </API>tf.fontWeight.addMarkåšéäžçææ¬äžè®Ÿçœ®åäœç²ç»æ è®°ã
<API name="tf.fontWeight.addMark"> <APIParameters> <APIItem name="value" type="string"> èŠè®Ÿçœ®çåäœç²ç»åŒïŒäŸåŠïŒ`'bold'`ã`'400'`ã`'600'`ïŒã </APIItem> </APIParameters> </API>toUnitLesså°åäœå€§å°åŒèœ¬æ¢äžºæ åäœåŒã
<API name="toUnitLess"> <APIParameters> <APIItem name="fontSize" type="string"> èŠèœ¬æ¢çåäœå€§å°åŒã </APIItem> </APIParameters> <APIReturns type="string"> æ åäœçåäœå€§å°åŒã </APIReturns> </API>â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ