Liigu põhisisu juurde

Seadistamine

EditorConfig ja RendererConfig on kõigi kohanduste sisenemispunktid. Edasta need vastavalt Editor.create() või Renderer.render() meetodile. Ainult containerId (ja andmete jaoks data) on nõutavad, kõigil muudel valikutel on turvalised vaikeväärtused.

EditorConfig

Edasta EditorConfig ainus argument Editor.create() meetodile. Nõutav containerId peab vastama olemasolevale DOM-elemendi id-le.

ValikTüüpNõutavKirjeldus
containerIdstringJahDOM-elemendi ID, mis majutab redaktorit. Peab eksisteerima DOM-is enne Editor.create() kutsumist.
maxHeightnumberEiRedaktori maksimaalne kõrgus pikslites. Määra 0 (vaikimisi) kõrguspiirangu puudumiseks.
minHeightnumberEiRedaktori minimaalne kõrgus pikslites. Vaikimisi 300.
onChange(data: EditorData) => voidEiTagasihelistamine, mis käivitatakse iga kord, kui dokument muutub. Saab täieliku EditorData hetktõmmise.
onReady() => voidEiTagasihelistamine, mis käivitatakse, kui redaktor on täielikult lähtestatud ja valmis API-kutseid vastu võtma.
placeholderstringEiKohatäite tekst, mis kuvatakse, kui redaktor on tühi. Vaikimisi 'Start writing...'.
initialDataEditorDataEiEelnevalt täidetud EditorData, mida laaditakse redaktori monteerimisel.
initialView'edit' | 'preview' | 'json'EiAlgusvaatem. Üks järgmistest: edit, preview, json. Vaikimisi 'edit'.
allowJsonViewEditingbooleanEiKui true, on JSON-vaade redigeeritav ja muudatused kanduvad tagasi dokumenti. Vaikimisi false.
hasViewSwitcherbooleanEiKui false, jäetakse toiminguribalt välja muutmise, eelvaate ja JSON-i nupud. Vaikimisi true.
hasDocumentActionsbooleanEiKui false, jäetakse toiminguribalt välja kopeerimise, allalaadimise ja tühjendamise nupud. Kui ka hasViewSwitcher on false, toiminguriba ei joonistata. Vaikimisi true.
onClearRequest() => Promise<boolean>EiKutsutakse, kui vajutatakse tühjendamise nuppu. Leht tühjendatakse ainult siis, kui see lahendub väärtuseks true; tagasilükkamine jätab lehe alles. Kui puudub, tühjendatakse kohe.
marginsBlockMarginsEiGlobaalne ülemine ja alumine veerised (pikslites), mida rakendatakse igale plokile. Plokitaseme seaded on ülimuslikud.
stylesEditorStylesEiEditorStyles objekt redaktori kroomi (tööriistaribad, dialoogid, juhtelemendid) peene CSS-kohanduse jaoks.
classNamesEditorClassNamesEiEditorClassNames objekt CSS-klassinimede lisamiseks redaktori kroomi elementidele.
imageUploaderUploadFunctionEiAsünkroonne funktsioon, mis laadib üles pildifaili ja tagastab avaliku URL-stringi.
audioUploaderUploadFunctionEiAsünkroonne funktsioon, mis laadib üles helifaili ja tagastab avaliku URL-stringi.
videoUploaderUploadFunctionEiAsünkroonne funktsioon, mis laadib üles videofaili ja tagastab avaliku URL-stringi.
fileUploaderUploadFunctionEiÜleslaadimisfunktsioon, mis viib failiploki manused sinu salvestusse.
localestringEiAinus lokaat, mida redaktor muudab. Mitmekeelsed plokid lamendatakse sellesse lokaati.
defaultLocalestringEiVarulokaat, mida kasutatakse, kui plokil pole soovitud lokaadi sisu.
onLocaleFallback(info: { blockId: string; locale: string }) => voidEiKutsutakse, kui plokk langeb tagasi teise lokaati, et host saaks näidata indikaatorit.
onInlineRewrite(selection: string, action: InlineRewriteAction) => Promise<string | null>EiFunktsioon, mis kirjutab valitud teksti AI-ga ümber; kui määratud, näitab tööriistariba ümberkirjutamise nuppu.
inlineRewriteLabelsPartial<Record<InlineRewriteAction, string>>EiKirjutab ümber ümberkirjutamismenüü tegevuste sildid, lokaliseerimiseks.
inlineRewriteTooltipstringEiKirjutab ümber tekstisisese tööriistariba ümberkirjutamisvõlukepi kohtspikri, lokaliseerimiseks.
blockToolLabelsPartial<Record<BlockToolType, string>>EiKirjutab ümber plokitööriistade sildid tööriistakastis ja kaldkriipsumenüüs, lokaliseerimiseks.
blockToolbarLabelsPartial<Record<BlockToolbarLabel, string>>EiKirjutab ümber plokitööriistariba tekstid (lisa, liiguta, kustuta jm) ja tühjades plokiväljades näidatavad vihjed, lokaliseerimiseks.
controlLabelsPartial<Record<ControlLabel, string>>EiKirjutab ümber toiminguriba nuppude nimed (muuda, eelvaade, JSON, kopeeri, laadi alla, tühjenda), mida kasutatakse nende ligipääsetava nime ja kohtspikrina, lokaliseerimiseks.
dialogLabelsPartial<Record<DialogLabel, string>>EiLingi, kohtspikri ja oleku dialoogide sõnad nime järgi: pealkirjad, väljade sildid, kohatäited, oleku stiilid, Tühista ja Rakenda. Kui puuduvad, inglise keeles.
resolveLink(url: string) => Promise<Partial<EmbedData>>EiTäidab kleebitud manuse hetktõmmise sinu serverist: pealkiri, Drive’i fail, gisti failid või põhjus, miks otsevaade pole võimalik. Vea viskav otsing joonistab kaardi kui tööriist ei vastanud, kõrval Proovi uuesti.
onEmbedAction(action: EmbedAction, blockId: string) => voidEiKaardi põhjuse kõrval olev parandus, mida saab teha ainult host: connectGoogle saadab liikme oma Google’i kontot ühendama; retry käsitleb redaktor ise.
disabledEmbedProvidersreadonly string[]EiTööruumi välja lülitatud manustamistööriistad võtme järgi (figma, miro, loom, google_drive, github_gist); nende lingid joonistuvad kaartidena, mis ütlevad miks.
pasteEmbeds'live' | 'offer' | 'card'EiMida toetatud lingi kleepimine teeb: näitab otse (vaikimisi), pakub seda või näitab kaarti.
embedLabelsPartial<Record<EmbedLabel, string>>EiTõlgitud sõnad manustamisploki põhjuseridade, toimingute ja gisti siltide jaoks, võtmega EmbedLabel; muidu ingliskeelsed varuväärtused.
resolveIssues(urls: string[]) => Promise<Record<string, IssueSnapshot>>EiVastab lehe teemalinkidele nende hetktõmmistega, võtmega URL. Puudumisel jäävad kiibid ja kaardid dokumendi salvestatu juurde ja midagi ei värskendata.
onIssueAction(action: IssueAction, tool: string) => voidEiTeema põhjuse kõrval olev parandus, mida saab teha ainult host: tööriista ühendamine, mis viib hosti integratsioonide lehele.
issueCards'off' | 'on'EiKas omaette reale kleebitud teemalink muutub kaardiks; puudumisel off. Kiip lauses on alati kiip.
issueChip{ assignee: boolean; status: boolean }EiLiikme kaks kiibilülitit: oleku pill ja vastutaja. Puudumisel on mõlemad sees.
issueLabelsPartial<Record<IssueLabel, string>>EiTõlgitud sõnad teemakiibi, kaardi ja seotud teemade tabeli jaoks, võtmega IssueLabel; muidu ingliskeelsed varuväärtused.
jiraSitesreadonly string[]EiJira saitide URL-id, kuhu tööruumi ühendused ulatuvad, et saidi oma domeenil olev link tuntaks ära teemana.
allowedBlockToolsreadonly BlockToolType[]EiPlokitüübid, mida redaktor pakub plokimenüüs, selle otsingus, teisendusmenüüs ja kleepimisel. Puudumisel iga registreeritud plokk; loendist väljas salvestatud plokk renderdatakse endiselt.
allowedInlineToolsreadonly InlineToolType[]EiMärgistused, mida reasisene tööriistariba pakub. Puudumisel iga registreeritud märgistus.
theme'auto' | 'light' | 'dark'EiVärviskeem. Üks järgmistest: auto (järgib süsteemi), light, dark. Vaikimisi auto.
themeOverrides{ light?: ThemeTokens; dark?: ThemeTokens }EiRežiimipõhised tokeni alistamised. Esita light ja/või dark tokenkaardid värvide kohandamiseks ilma täielikku teemat asendamata.
TypeScript
import { Editor } from '@clepit/core';

const editor = Editor.create({
  containerId: 'editor',
  minHeight: 400,
  placeholder: 'Start writing...',
  theme: 'auto',
  onChange: data => console.log(data),
  onReady: () => console.log('Editor ready'),
  imageUploader: async file => {
    const form = new FormData();
    form.append('file', file);
    const res = await fetch('/api/upload', { body: form, method: 'POST' });
    const { url } = await res.json();
    return url;
  },
});

RendererConfig

Edasta RendererConfig ainus argument Renderer.render() meetodile. Nii containerId kui ka data on nõutavad.

ValikTüüpNõutavKirjeldus
containerIdstringJahDOM-elemendi ID, kuhu renderdatud väljund süstitakse.
dataEditorDataJahRenderdatav EditorData dokument. Nõutav.
marginsBlockMarginsEiGlobaalne ülemine ja alumine veerised (pikslites), mida rakendatakse igale renderdatud plokile.
stylesBlockStylesEiBlockStyles kaart renderdatud väljundi plokitüübipõhiseks CSS-kohanduseks.
classNamesBlockClassNamesEiBlockClassNames kaart renderdatud väljundi plokitüübipõhiste CSS-klassinimede jaoks.
editorClassNamesEditorClassNamesEiEditorClassNames, mis edastatakse plokkidele, mis renderdavad interaktiivseid komponente (nt lõigu tooltip-klassinimed).
configsPartial<BlockTypeOutputConfigs>EiOsaline kaart plokipõhistest OutputConfig objektidest. Iga kirje saab seada plokitaseme veerised ja tooltip-klassinimed.
theme'auto' | 'light' | 'dark'EiVärviskeem. Üks järgmistest: auto, light, dark.
themeOverrides{ light?: ThemeTokens; dark?: ThemeTokens }EiRenderdatud väljundi režiimipõhised tokeni alistamised.
TypeScript
import { Renderer } from '@clepit/core';
import type { EditorData } from '@clepit/core';

const data: EditorData = await fetch('/api/content/123').then(r => r.json());

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

Plokitaseme stiilimine

Nii EditorConfig kui ka RendererConfig aktsepteerivad styles, classNames ja configs plokitüübi järgi võtmestatud. Kasuta neid sihitud alistamisteks; täieliku tokenite viite leiad Themes lehelt.

TypeScript
import { Editor, Renderer } from '@clepit/core';
import type { BlockStyles, BlockClassNames, EditorStyles } from '@clepit/core';

const editorStyles: EditorStyles = {
  blockToolbar: { container: { borderRadius: '8px' } },
};

const blockStyles: BlockStyles = {
  header: { h1: { fontFamily: 'Georgia, serif' } },
  paragraph: { lineHeight: '1.75' },
  table: { cell: { padding: '8px 12px' } },
};

const blockClassNames: BlockClassNames = {
  paragraph: 'prose-paragraph',
  header: { h1: 'prose-h1', h2: 'prose-h2' },
  alert: { info: 'alert-info', error: 'alert-error' },
};

Editor.create({
  containerId: 'editor',
  styles: editorStyles,
});

Renderer.render({
  containerId: 'output',
  data,
  styles: blockStyles,
  classNames: blockClassNames,
});