Gå til hovedinnhold

Script tool

Script-verktøyet kjører et brukerlevert ES5 JavaScript-program for hver del i strømmen. Skriptet mottar den gjeldende delen som et part-objekt og kan lese og endre kildetekst og måltekst i blokker. Det er en nødutgang for skreddersydde transformasjoner som ingen innebygd verktøy dekker.

Inne i skriptet identifiserer part.type delen, og part.block eksponerer blokken (med id, translatable, source og targets). Hjelpefunksjoner er tilgjengelige: emit(part) videresender en del, skip() forkaster den gjeldende delen, og log(msg) skriver en melding til standard feil. Når skriptet verken emitter eller skipper, passerer delen gjennom med eventuelle tekstredigeringer på plass. Skriptet oppgis inline eller leses fra en .js-fil.

Dette verktøyet kjører kode som oppskriften velger, og er derfor portvokt. Det er exec-klasse: skriptet leveres av oppskriften, file leser en sti som oppskriften angir, og en oppskrift bindes ved å gå inn i en katalog. kapi spør derfor én gang per prosjekt, før noe annet skjer med det, og husker svaret; en uovervåket kjøring uten noen å spørre nekter heller enn å anta. KAPI_TRUST_EXEC=1 gir tilgang der pipeline-forfatteren bestemmer det, i stedet for at det avgjøres av repositoriet som behandles. Den samme klassifiseringen holder dette verktøyet borte fra agentflaten, fra motor-API-et og fra alle oppskrifter som ankommer inne i en .kpz. Se E-06.

IDscript
SourceBuilt-in
CategoryText processing
Cardinalitymonolingual
Tagsconfigurable

Parameters

ParameterTypeDefaultDescription
allowSourceMutationbooleanfalseTillat at skriptet endrer kildeteksten (av som standard; kilden er skrivebeskyttet)
codestringInnebygd ES5 JavaScript-kode
scriptFilestringBane til en .js-fil
sourcestringinlineSkriptkilde-modus

Configure it live

Configuration
Loading form…

Examples

Fjern etterfølgende blanktegn fra kildetekst

Endre kildetekst på stedet med et inline-skript.

source: inline
code: |
if (part.type === 'block') {
var s = part.block.source[0].content.text;
part.block.source[0].content.text = s.replace(/\s+$/, '');
}

Last inn et skript fra en fil

Kjør et skript lagret ved siden av prosjektet.

source: file
scriptFile: ./scripts/transform.js

Processing notes

  • Hver verktøyinstans eier sin egen kjøretid og kjører entrådet over inndata.

  • En del passerer uendret når skriptet verken sender ut en del eller kaller skip.

Limitations

  • Motoren støtter bare ES5 JavaScript.

  • Bare endringer i blokk-kildetekst og -måltekst tas tilbake; andre endringer i delen lagres ikke.

← Back to the Tool Reference