Rukia hadi maudhui makuu

Marejeo ya API

Mauzo ya umma kutoka @clepit/core. Kila ishara hapa chini hutoa sahihi yenye aina na mfano mdogo wa matumizi.

Editor

Darasa kuu la kihariri. Editor ina mbinu mbili za umma za tuli: create (kiwanda kikuu) na destroy. Njia ya create() inarudisha kitu cha EditorAPI ambacho kupitia kwake mbinu zote za nakala zinaweza kupatikana baada ya kihariri kupachikwa.

NjiaSainiMaelezo
Editor.createEditor.create(config: EditorConfig): EditorAPIUnda nakala mpya ya kihariri na uipachike kwenye kipengele cha DOM chenye containerId iliyotolewa.
Editor.destroyEditor.destroy(containerId: string): voidNjia ya destroy() kwenye kitu cha EditorAPI huita Editor.destroy() kwa nakala hii.
NjiaSainiMaelezo
data.extractdata.extract(): EditorDataToa data ya sasa ya vizuizi kutoka nakala ya kihariri kama EditorData salama kwa JSON.
data.setdata.set(data: EditorData): voidBadilisha orodha nzima ya vizuizi na mzigo mpya wa data. Huchochea uonyeshaji upya kamili.
data.cleardata.clear(): voidHusafisha maudhui ya vizuizi na data ya hali iliyohifadhiwa.
data.clearContentdata.clearContent(): voidHuondoa vizuizi tu, ukiacha data ya store bila kubadilishwa.
data.clearStoragedata.clearStorage(): voidHusafisha data ya store tu, ukiacha vizuizi vya sasa bila kubadilishwa.
blocks.insertblocks.insert<T extends BlockToolType>(type: T, data: Block<T>['data'], index: number): HTMLElement | nullIngiza kizuizi kwenye index iliyotolewa. Hukubali umbo la data sawa na aina ya kizuizi lengwa.
blocks.convertblocks.convert(blockId: string, newType: BlockToolType): voidBadilisha kizuizi kuwa aina mpya papo hapo.
blocks.removeblocks.remove(index: number): voidOndoa kizuizi kilicho kwenye index iliyotolewa.
blocks.moveblocks.move(fromIndex: number, toIndex: number): voidHuhamisha kizuizi kutoka index moja hadi nyingine.
blocks.updateblocks.update<T extends BlockToolType>(blockId: string, data: Block<T>['data']): voidHusasisha data ya kizuizi kilichopo papo hapo. Aina haisababishwi.
blocks.getblocks.get(blockId: string): EditorData['blocks'][number] | nullHuleta kizuizi kwa ID yake. Hurejesha null ikiwa haikupatikana.
blocks.getAllblocks.getAll(): EditorData['blocks']Inarudisha data ya vizuizi vyote kama safu.
blocks.countblocks.count(): numberInarudisha idadi ya vizuizi katika kihariri.
focusfocus(): voidHusogeza umakini kwenye kihariri, ukizingatia kizuizi cha kwanza.
blurblur(): voidHuondoa umakini wowote unaofanya kazi ndani ya kihariri.
destroydestroy(): voidNjia ya destroy() kwenye kitu cha EditorAPI huita Editor.destroy() kwa nakala hii.
selection.getselection.get(): Selection | nullHurejesha kitu cha uchaguzi wa dirisha au null.
selection.setselection.set(selection: Selection): voidHuweka uchaguzi wa dirisha kwa kitu cha Selection kilichotolewa.
selection.clearselection.clear(): voidHuondoa safu zote kutoka kwa uchaguzi wa dirisha.
ui.showBlockMenuui.showBlockMenu(block: HTMLElement): voidHuonyesha menyu ya aina ya kizuizi kwa kipengele cha DOM cha kizuizi kilichopewa.
ui.hideBlockMenuui.hideBlockMenu(): voidHuficha menyu ya aina ya kizuizi ikiwa imefunguliwa.
ui.showToolbarui.showToolbar(x: number, y: number): voidHuonyesha upau wa zana wa ndani katika kuratibu x, y za eneo la mwonekano zilizotolewa.
ui.hideToolbarui.hideToolbar(): voidHuficha upau wa zana wa ndani ikiwa unaonekana.
view.getCurrentViewview.getCurrentView(containerId: string): EditorView | nullHurejesha mwonekano wa sasa (edit, preview, au json) kwa containerId iliyotolewa.
view.switchViewview.switchView(containerId: string, view: EditorView): voidHubadilisha kihariri hadi mwonekano maalum: edit, preview, au json.

Mfano wa matumizi ya kawaida

TypeScript
import { Editor } from '@clepit/core';

const editor = Editor.create({
  containerId: 'editor',
  theme: 'auto',
  placeholder: 'Start writing...',
  minHeight: 300,
});

// Insert a block
editor.blocks.insert('paragraph', { html: 'Hello world' }, 0);

// Extract data
const data = editor.data.extract();

// Switch view
editor.view.switchView('editor', 'preview');

// Tear down
editor.destroy();

Renderer

Darasa linaloobadilisha data ya vizuizi vilivyohifadhiwa kuwa HTML ya kusoma tu ndani ya kipengele cha DOM. Darasa hili lina njia moja ya tuli ya umma: render().

NjiaSainiMaelezo
Renderer.renderRenderer.render(config: RendererConfig): HTMLElementOnyesha JSON ya vizuizi iliyohifadhiwa ndani ya kontena kama HTML ya kusoma tu. Tumia hii popote unapotaka kuonyesha maudhui bila uwezo wa kuhariri.

Mfano wa matumizi ya kawaida

TypeScript
import { Renderer } from '@clepit/core';

Renderer.render({
  containerId: 'output',
  data,
  theme: 'auto',
  margins: { bottom: 12, top: 0 },
});

StyleManager

Darasa la kati linaloosimamia mfumo wa mandhari. Linatoa mbinu tatu za tuli za umma zinazofaa kwa watumiaji: subscribe (kwa mabadiliko ya mandhari ya kiwango cha mfumo wa uendeshaji), getResolvedTheme (kusoma mandhari ya sasa ya mfumo wa uendeshaji), na injectStyles (kuingiza CSS maalum).

NjiaSainiMaelezo
StyleManager.subscribeStyleManager.subscribe(cb: (theme: 'light' | 'dark') => void): () => voidJiandikishe kwa mabadiliko ya tokeni za mandhari wakati wa utekelezaji. Msikilizaji huwaka kila theme au themeOverrides inapobadilika.
StyleManager.getResolvedThemeStyleManager.getResolvedTheme(): 'light' | 'dark'Husoma mandhari ya sasa ya mfumo wa uendeshaji ("light" au "dark"). Hurejesha "light" ikiwa matchMedia haipatikani.
StyleManager.injectStylesStyleManager.injectStyles(styleId: string, styles: string): booleanHuingiza mfuatano wa CSS katika document.head (tumia styleId ya kipekee). Hurejesha false ikiwa tayari ipo, true vinginevyo.

Mfano wa matumizi ya kawaida

TypeScript
import { StyleManager } from '@clepit/core';

// React to OS theme changes
const unsubscribe = StyleManager.subscribe(theme => {
  console.log('OS theme:', theme); // 'light' | 'dark'
});

// Read current OS theme
const current = StyleManager.getResolvedTheme();

// Inject custom CSS once
StyleManager.injectStyles('my-overrides', `
  .clepit-editor { font-family: 'Inter', sans-serif; }
`);

// Unsubscribe when done
unsubscribe();