en cs

Standard skriptů v Nochetu

Tento dokument popisuje formát skritpů pro Nocheto ver. 3.1.0 a novější.

1. Účel skritpů

Skripty mohou vytvářet nové příkazy založené na těch již existujících, definovat aliasy nebo obé.

Doporučuje se vytvářet pro každý příkaz samostatný skript.

2. Umístění skriptů

Nocheto považuje za skript každý adresář v adresáři ~/.nocheto/scripts, který obsahuje config.ini soubor.

3. Adrešář skriptu

Jméno adresáře skriptu se smí skládat pouze z malých písmen anglické abecedy, čísel a podtržítka ([a-z0-9_]+).
Jméno tohoto adresáře se stane jménem skriptu v Nochetu.

4. Obsah adresáře skriptu

~/.nocheto/scripts/
                <scriptname>/
                    config.ini
                    main.sh
                    lang/
                        en/
                            help/
                                short.txt
                                long.txt
                    LICENSE.txt
                    INSTALL.txt
                    README.txt
                    setup.ini

config.ini je jedinný soubor, který je povinný.

main.sh je defaultní bash skript spouštěný Nochetem ve chvíli kdy uživatel spustí script <jméno skriptu>.
Může existovat více spustitelných souborů spouštěných příkazem script <jméno skriptu>/<spustitelnysoubor.sh>.

Není doporučeno vytvářet jiné spustitelné soubory než main.sh, pokud nemají být spouštěny souborem main.sh.

short.txt soubor obsahuje nápovědu zobrazovanou příkazem help script.
Poud tento soubor neexistuje, skript bude "skritý" (uživatel jej neuvidí v nápovědě), ale skript bude stále funkční. Toto je naprosto v pořádku pro skripty, které pouze definují aliasy nebo mají být spouštěny pouze jinými skripty.

long.txt soubor obsahuje nápovědu zobrazovanou příkazem help script <jméno skriptu> (nebo help! <jméno skriptu>).

LICENSE.txt by měl obsahovat licenci skriptu.

INSTALL.txt by měl obsahovat instrukce k instalaci skriptu. Popiště instalaci všecho na čem je skript závislí.

README.txt popisuje jak nastavit skript (pokud nějaké nastavení skriptu existuje).

setup.ini or setup.xml atp. je doporučený název configuračního souboru skriptu (pokud skript nějaký potřebuje). V README.txt by mělo být popsáno jak a co má/může uživatel změnit.

4.1 Obsah souboru cofig.ini

Tento konfigurační soubor se může skládat z těchto sekcí: [manifest], [setup], a [aliases]. Žádná z těchto sekcí není povinná.

Příklad:
[manifest]
require="3.1.0"
version="1.0.0"

[setup]
stdin=none

[aliases]
@SCRIPT@="script @SCRIPT@"

Podívejte se také na O konfiguračních souborech.

require3.1.0

require="3.1.0"

Minimálni požadovaná verze Nocheta. Nocheto bude ignorovat skripty které požadují vyšší verzi než je jeho.
Pokud není definováno, nocheto předpokládá 3.1.0.

version3.1.0

version="1.1.0"

Verze skriptu (jakýkoliv text). Nocheto tento text ignoruje.

stdin3.1.0

stdin="pgn"

What should nocheto send to the script standard input. Co má nocheto poslat skriptu na standardní vstup.

Možné hodnoty jsou:

none3.1.0
nebude posláno nic
pgn3.1.0
bude poslán PGN v JSON formátu

Pokud není definováno, Nocheto předpokládá none.

Funguje stejně jako aliases ve standardních configuračních souborech Nocheta. Jediný rozdíl je, že v konfiguračním souboru skriptu se nahrazuje @SCRIPT@ jménem skriptu (= jméno adresáře skriptu).

Není doporučeno definovat jiné aliasy než @SCRIPT@="script @SCRIPT@". Zvláště nedefinovat aliasy se samým názvem jako stanardní příkazy nocheta. Nechť si uživatel takové aliasy vytvoří sám, pokud chce (to můžete doporučit v README.txt).

Můžete vytvořit skript, který pouze definuje aliasy v config.ini (například překlady názvů stadardních příkazů do jiného jazyka) a nemá žádné spustitelné soubory.

4.2 Obsah souboru short.txt

Tento soubor obsahuje nápovědu zobrazovanou příkazem help script.

Každá lichá řádka je zobrazena na levé straně nápovědy, každá sudá řádka na pravé straně.

Maximální doporučená délka lichých řádků je 25 znaků.
Maximální doporučená délka sudých řádků je 50 znaků.

Nocheto nahrazuje @SCRIPT@ řetězec v tomto souboru jménem skriptu.

Poznámka: Ikdyž jsou skripty spouštěny příkazem script <jméno skriptu>, pokud přidáte alias @SCRIPT@="script @SCRIPT@" v sekci [aliases] v souboru config.ini, je doporučeno použít pouze @SCRIPT@ v nápovědě jako příkaz.

Příklad:
@SCRIPT@ [max] [username]
download [max] last games from lichess

played by [username]
    

4.3 Obsah souboru long.txt

Tento soubor obsahuje nápovědu zobrazovanou příkazem help script <jméno skriptu>.

Maximální doporučená deélka řádku v tomto souboru je 70 znaků.

Nocheto nahrazuje řetězec @SCRIPT@ v tomto souboru za jméno skriptu.

5. Spustitelné soubory

Spustitelné soubory musí mít nastaveno právo ke spuštění.

Defaultní spustitelný soubor má jméno main.sh. Je použit když je zavolán příkaz script <jméno souboru> beze jména spustitelného souboru.

Skript může být zavolán s jakýmkoliv jménem spustitelného souboru, tento skript ale musí být uložen v adresáři skriptu
script <jméno souboru>/<spustitelný soubor>

Standardní výstup z spustitelného souboru je interpetován Nochetem stejným způsobem, jako by jej zadal uživatel do vstupu Nocheta.

Příklad obsahu spustitelného souboru:

#!/bin/bash
echo 'echo Zdravim svete!'

Nocheto může poslat data spustitelnému souboru skrz jeho standardní vstup (viz pgn hodnota vlastnosti stdin v sekci [setup] v souboru config.ini).

Každý vstup poslaný Nochetem je text. Tento text se může skládat z několika řádek. Vstup je ukončen řádkem "*MESSAGE_END\n".

Pokud Nocheto uzavře standardní vstup nebo výstup, spustitelný soubor by se měl ukončit tak rychle, jak je to možné.

6. Užitečné příkazy pro skripty

Toto je seznam užitečných příkazů pro psaní skriptů.
Můžete používat všechny příkazy z nocheta, zde jsou příkazy napsané především pro použití ve skriptech.