added documentation
This commit is contained in:
parent
94669c9443
commit
db1794d82e
18 changed files with 18365 additions and 1 deletions
20
docs/.gitignore
vendored
Normal file
20
docs/.gitignore
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Dependencies
|
||||||
|
/node_modules
|
||||||
|
|
||||||
|
# Production
|
||||||
|
/build
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
.docusaurus
|
||||||
|
.cache-loader
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
.DS_Store
|
||||||
|
.env.local
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
137
docs/docs/enviroment.md
Normal file
137
docs/docs/enviroment.md
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 4
|
||||||
|
description: Az Astro Lang környezete
|
||||||
|
---
|
||||||
|
|
||||||
|
# Környezet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Alapfunkciók
|
||||||
|
|Név|Leírás|Használat|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|ugass|Kíírja a megadott értékeket.|`ugass(...)`|`ugass(6,7,szaft"test"szaft)`|
|
||||||
|
|bimba|Várakozik adott ideig (miliszekundum-ban).|`ugass(ms: number)`|`bimba(1000)`|
|
||||||
|
|csömör|Hibával befejezi a programot.|`csömör(error: string)`|`csömör(szaft"Sikertelen: Sikeresen befejezve!"szaft)`|
|
||||||
|
|tarh|Kíírja, hogy a megadott érték milyen típusú.|`tarh(object: any): string`|`tarh(82)`|
|
||||||
|
|bimbabemb|Átalakítja a megadott érétk típusát, ha lehetséges.|`bimbabemb(object: any, target: string): any`|`bimbabemb(7,szaft"string"szaft)`|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Nerd (Math)
|
||||||
|
Matematikai funkciók
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
A példák elé kell írni a kulcsszót: `nerd`
|
||||||
|
|
||||||
|
Példa: `nerd.abs`
|
||||||
|
|
||||||
|
:::
|
||||||
|
|Név|Leírás|Használat|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|abs|Visszaadja a megadott érték abszolút értékét.|`abs(n: number): number`|`abs(-2)`|
|
||||||
|
|kerek|Visszaadja a megadott érték kerekített értékét. Irányok: `fel, le, közel`|`kerek(n: number, direction: string): number`|`kerek(1.2, szaft"fel"szaft)`|
|
||||||
|
|sin|Visszaadja a megadott érték szinusz értékét.|`sin(n: number): number`|`sin(0)`|
|
||||||
|
|cos|Visszaadja a megadott érték koszinusz értékét.|`cos(n: number): number`|`cos(90)`|
|
||||||
|
|tan|Visszaadja a megadott érték tangens értékét.|`tan(n: number): number`|`tan(0)`|
|
||||||
|
|sqrt|Visszaadja a megadott érték gyökét.|`sqrt(n: number): number`|`sqrt(-2)`|
|
||||||
|
|legnagyobb|Visszaadja a megadott értékek közül a legnagyobbat.|`legnagyobb(...: number): number`|`legnagyobb(1,2,3)`|
|
||||||
|
|legkisebb|Visszaadja a megadott értékek közül a legkisebbet.|`legkisebb(...: number): number`|`legkisebb(1,2,3)`|
|
||||||
|
|pi|A pi értékét tárolja.|`pi: number`|`pi`|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Szaft (String)
|
||||||
|
Szöveggel lévő funkciók
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
A példák elé kell írni a kulcsszót: `szaft`
|
||||||
|
|
||||||
|
Példa: `szaft.csemerd fel`
|
||||||
|
|
||||||
|
:::
|
||||||
|
|Név|Leírás|Használat|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|csemerd fel|Visszaadja a megadott szöveget végig nagy betűkkel.|`csemerd fel(s: string): string`|`csemerd fel(szaft"TeSt"szaft)`|
|
||||||
|
|csemerd le|Visszaadja a megadott szöveget végig kis betűkkel.|`csemerd le(s: string): string`|`csemerd le(szaft"TeSt"szaft)`|
|
||||||
|
|hossz|Visszaadja a megadott szöveg hosszát.|`hossz(s: string): number`|`hossz(szaft"test"szaft)`|
|
||||||
|
|ismételd|A megadott szöveget `n` szer ismételve adja vissza.|`ismételd(s: string, n: number): string`|`ismételd(szaft"test"szaft, 3)`|
|
||||||
|
|uno reverse|A megadott szöveget fordítva adja vissza.|`uno reverse(s: string): string`|`uno reverse(szaft"test"szaft)`|
|
||||||
|
|darabos|Visszaadja a megadott szöveg egy darabját.|`darabos(s: string, start: number, end: number): string`|`darabos(szaft"test"szaft, 0, 1)`|
|
||||||
|
|keres|Megnézi, hogy a megadott szövegben megtalálható-e a másik szöveg.|`keres(s: string, find: string): boolean`|`keres(szaft"test"szaft,szaft"st"szaft)`|
|
||||||
|
|átrak|A megadott szövegben kicseréli a másik szöveget egy harmadikkal.|`átrak(s: string, from: string, to: string): string`|`átrak(szaft"test"szaft,szaft"st"szaft,szaft"bemb"szaft)`|
|
||||||
|
|számmá|A megadott szövegben az `n`-edik karakter szám megfelelőjét adja vissza.|`számmá(s: string, n: number): number`|`számmá(szaft"test"szaft,0)`|
|
||||||
|
|betűvé|A megadott szám betű megfelelőjét adja vissza.|`átrak(n: number): string`|`átrak(65)`|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tábla (Tábla)
|
||||||
|
Táblákkal lévő funkciók
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
A példák elé kell írni a kulcsszót: `tábla`
|
||||||
|
|
||||||
|
Példa: `tábla.hozzáad`
|
||||||
|
|
||||||
|
:::
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
A funkciók végeredményét ajánlott beleírni a táblába, mert ez nem történik meg alapból.
|
||||||
|
|
||||||
|
Példa: `a = tábla.hozzáad(a, 7)`
|
||||||
|
|
||||||
|
:::
|
||||||
|
|Név|Leírás|Használat|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|hozzáad|Hozzáad egy értéket egy táblához.|`hozzáad(t: table, value: any): table`|`hozzáad({1,2,3}, 7)`|
|
||||||
|
|töröl|Töröl egy értéket a táblából.|`töröl(t: table, n: number): table`|`töröl({1,2,3}, 0)`|
|
||||||
|
|kulcsok|Visszaadja a tábla kulcsait egy másik táblában.|`kulcsok(t: table): table`|`kulcsok({1,2,3})`|
|
||||||
|
|hossz|Visszaadja a tábla hosszát.|`hossz(t: table): number`|`hozzáad({1,2,3})`|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Szenvedés (Process)
|
||||||
|
A feladattal kapcsolatos funkciók
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
A példák elé kell írni a kulcsszót: `szenvedés`
|
||||||
|
|
||||||
|
Példa: `szenvedés.vége`
|
||||||
|
|
||||||
|
:::
|
||||||
|
|Név|Leírás|Használat|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|vége|Befejezi a programot egy kilépő kóddal.|`vége(n: number)`|`vége(0)`|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Kábel (Net)
|
||||||
|
A nettel kapcsolatos funkciót
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
A példák elé kell írni a kulcsszót: `kábel`
|
||||||
|
|
||||||
|
Példa: `kábel.halgass`
|
||||||
|
|
||||||
|
:::
|
||||||
|
|Név|Leírás|Használat|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|halgass|Hallgat egy porton.|`halgass(host: string, port: number): halgató`|`halgass(szaft"0.0.0.0"szaft,1010)`|
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
Ezek a funkciók kérik, hogy az első értékük a szülő táblájuk legyen
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Halgató:
|
||||||
|
|Név|Leírás|Használat|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|kérés|Várakozik egy kérésre, majd visszaadja azt.|`kérés(listener: halgató): kapcsolat`|`kérés(listener)`|
|
||||||
|
|
||||||
|
### Kapcsolat:
|
||||||
|
|Név|Leírás|Használat|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|olvass|Beleolvas a kapcsolatba.|`olvass(stream: kapcsolat, len: number): string`|`olvass(stream, 1024)`|
|
||||||
|
|írj|Beleír a kapcsolatba.|`írj(stream: kapcsolat, data: string)`|`írj(stream, szaft"Hello from ASL!"szaft)`|
|
||||||
|
|zár|Bezárja a kapcsolatot.|`zár(stream: kapcsolat)`|`zár(stream)`|
|
23
docs/docs/intro.md
Normal file
23
docs/docs/intro.md
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 1
|
||||||
|
description: Az Astro Lang bemutatása
|
||||||
|
---
|
||||||
|
|
||||||
|
# Astro Lang
|
||||||
|
Egy magyar + GenZ programozási nyelv
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Miben jobb:
|
||||||
|
- többszavas változók
|
||||||
|
- magyar kulcsszavak
|
||||||
|
- teljes értékű dokumentáció
|
||||||
|
- Rustban írt
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
gethelj a = 10
|
||||||
|
ugass(a)
|
||||||
|
```
|
278
docs/docs/langfunctions.md
Normal file
278
docs/docs/langfunctions.md
Normal file
|
@ -0,0 +1,278 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 3
|
||||||
|
description: Az Astro Lang fukciói
|
||||||
|
---
|
||||||
|
|
||||||
|
# Nyelvi funkciók
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Assignment (Változó beállítás)
|
||||||
|
Kucsszó: `gethelj`
|
||||||
|
|
||||||
|
Használat: `gethelj változó = érték`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
gethelj test = 17
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Var read (Változó olvasás)
|
||||||
|
Kucsszó: `-`
|
||||||
|
|
||||||
|
Használat: `változó`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
gethelj test = 17
|
||||||
|
ugass(test)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Var update (Változó frissítés)
|
||||||
|
Kucsszó: `-`
|
||||||
|
|
||||||
|
Használat: `változó = érték`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
gethelj test = 17
|
||||||
|
ugass(test)
|
||||||
|
test = 18
|
||||||
|
ugass(test)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Function (Funkció)
|
||||||
|
Kucsszó: `lőcsve`
|
||||||
|
|
||||||
|
Használat: `lőcsve változó(változók) {lefutatott kód}`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
lőcsve test(a) {
|
||||||
|
//Ez akkor fut le mikor meghívod a funkciót
|
||||||
|
}
|
||||||
|
test(8) //így tudsz meghívni egy funkciót, ebben az esetben az "a" 8 lesz
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## If (Ha)
|
||||||
|
Kulcsszó: `ha geny`
|
||||||
|
|
||||||
|
Használat: `ha geny(feltétel) {ha igaz}`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
ha geny(piszv) {
|
||||||
|
//Ez akkor fut le, ha a feltétel igaz
|
||||||
|
//Ebben az esetben mindig
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Else (Különben)
|
||||||
|
Kulcsszó: `ha nem geny`
|
||||||
|
|
||||||
|
Használat: `ha nem geny {ha hamis}`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
ha geny(nem piszv) {
|
||||||
|
//Ez akkor fut le, ha a feltétel igaz
|
||||||
|
//Ebben az esetben soha
|
||||||
|
} ha nem geny {
|
||||||
|
//Ez akkor fut le, ha a feltétel hamis
|
||||||
|
//Ebben az esetben mindig
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
Nem kötelező egyből a ha után rakni, a kódban bárhol elfogadható és az előzőleg lefutott if-t veszi figyelembe.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Else if (Különben-Ha)
|
||||||
|
Kulcsszó: `ha nem geny akkor geny`
|
||||||
|
|
||||||
|
Használat: `ha nem geny akkor geny(feltétel) {ha igaz}`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
ha geny(nem piszv) {
|
||||||
|
//Ez akkor fut le, ha a feltétel igaz
|
||||||
|
//Ebben az esetben soha
|
||||||
|
} ha nem geny akkor geny(piszv) {
|
||||||
|
//Ez akkor fut le, ha az előző if feltétele hamis és a feltétel igaz
|
||||||
|
//Ebben az esetben mindig
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
Nem kötelező egyből a ha után rakni, a kódban bárhol elfogadható és az előzőleg lefutott if-t veszi figyelembe.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## While (Amíg)
|
||||||
|
Kulcsszó: `amíg geny`
|
||||||
|
|
||||||
|
Használat: `amíg geny(feltétel) {amíg igaz}`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
amíg geny(piszv) {
|
||||||
|
//Ez addig fut le, amíg a feltétel igaz
|
||||||
|
//Ebben az esetben örökké fog futni
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## For (Változós amíg)
|
||||||
|
Kulcsszó: `kopva`
|
||||||
|
|
||||||
|
Használat: `kopva(beállítás;feltétel;frissítés) {amíg igaz}`
|
||||||
|
|
||||||
|
:::info
|
||||||
|
|
||||||
|
A beállítás első futás előtt fut le, csak 1 utasítást tartalmazhat.
|
||||||
|
|
||||||
|
A frissítés minden futás után fut le, csak 1 utasítást tartalmazhat.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
kopva(gethelj i = 0; i < 10; i = i + 1) {
|
||||||
|
//Ez addig fut le, amíg a feltétel igaz
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Break (Törés)
|
||||||
|
Kulcsszó: `kraf`
|
||||||
|
|
||||||
|
Használat: `kraf`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
kopva(gethelj i = 0; i < 10; i = i + 1) {
|
||||||
|
kraf //Ez az első futásnál be fogja fejezni az amíg-ot
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Continue (Folytasd)
|
||||||
|
Kulcsszó: `szard le`
|
||||||
|
|
||||||
|
Használat: `szard le`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
kopva(gethelj i = 0; i < 10; i = i + 1) {
|
||||||
|
ugass(i)
|
||||||
|
szard le
|
||||||
|
ugass(78) //Ez soha nem fog lefutni, mert át lesz ugorva
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Return (Funkció visszadása)
|
||||||
|
Kulcsszó: `reti`
|
||||||
|
|
||||||
|
Használat: `reti [változó]`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
lőcsve test(a) {
|
||||||
|
reti a
|
||||||
|
}
|
||||||
|
gethelj a = test(8) //Az "a" értéke "8" lesz, mert azt adja vissza.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Import (Betöltés)
|
||||||
|
Kulcsszó: `hámozd, be/ba`
|
||||||
|
|
||||||
|
Használat: `hámozd változó be/ba`
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
Ez egyből létrehoz egy változót.
|
||||||
|
Pontos fájlnevet tudsz megadni!
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
hámozd test be szaft"test.asl"szaft
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Table (Tábla)
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
A kulcs bármilyen érték típus lehet, kivéve: funkció, tábla.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### Létrehozás
|
||||||
|
Használat: `{érték,érték}, {[kulcs]=érték}`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
gethelj a = {1,2,3}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Lekérés
|
||||||
|
Használat: `tábla[kulcs]`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
gethelj a = {1,2,3}
|
||||||
|
ugass(a[0]) // 1
|
||||||
|
```
|
||||||
|
|
||||||
|
### Gyors lekérés
|
||||||
|
Használat: `tábla[kulcs]`
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
|
||||||
|
Csak a szöveges kulcsokkal működik, viszont több szót is támogat!
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
gethelj a = {1,2,3,[szaft"test"szaft]=73}
|
||||||
|
ugass(a.test) // 73
|
||||||
|
```
|
||||||
|
|
||||||
|
### Beállítás
|
||||||
|
Használat: `tábla[kulcs] = érték`
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl title="example.asl"
|
||||||
|
gethelj a = {1,2,3}
|
||||||
|
ugass(a[0]) // 1
|
||||||
|
a[0] = 12
|
||||||
|
ugass(a[0]) // 12
|
||||||
|
```
|
49
docs/docs/syntax.md
Normal file
49
docs/docs/syntax.md
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
---
|
||||||
|
sidebar_position: 2
|
||||||
|
description: Az Astro Lang synatx bemutatása
|
||||||
|
---
|
||||||
|
|
||||||
|
# Syntax
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Típusok:
|
||||||
|
|Típus neve|Magyar neve|Leírása|Példa|
|
||||||
|
|---|---|---|---|
|
||||||
|
|String|Szöveg|Minden ami szöveg.|`szaft"test"szaft`|
|
||||||
|
|Number|Szám|Minden ami szám.|`2, 3.14, -5`|
|
||||||
|
|Identifier|Azonosító|A változók, dolgok neve/azonosítója, több szót is támogat. Fontos: szám nem lehet a szavak elején, mert az már számnak számít!|`teszt, több szót is támogat, ez is jo72`|
|
||||||
|
|Operator|Művelet|Minden ami művelet.|`+, -, *`|
|
||||||
|
|Keyword|Kulcsszó|Azok az azonosítók amelyek valamilyen funkciót látnak el a programnyelben.|`gethelj, lőcsve, ha geny`|
|
||||||
|
|Separator|Elválasztó|Olyan karakterek, melyek elválaszják a többi típust egymástól.|`=, (, {`|
|
||||||
|
|
||||||
|
Példa:
|
||||||
|
```asl
|
||||||
|
gethelj a = 15 + 2
|
||||||
|
^ ^ ^ ^ ^ ^ Number
|
||||||
|
| | | | | Operator
|
||||||
|
| | | | Number
|
||||||
|
| | | Separator
|
||||||
|
| | Identifier
|
||||||
|
| Keyword
|
||||||
|
```
|
||||||
|
|
||||||
|
## Egyéb:
|
||||||
|
### Komment:
|
||||||
|
Ezek nem befolyásolják a kód futását, csak leírást adnak arról, hogy mi mit csinál.
|
||||||
|
- Egysoros kommentet így tudsz létrehozni: `//komment`
|
||||||
|
- Többsoros kommentet pedig így: `/*komment*/`
|
||||||
|
### Logikai érték:
|
||||||
|
:::info
|
||||||
|
|
||||||
|
A nyelv ezeket kulcsszóként kezeli!
|
||||||
|
|
||||||
|
:::
|
||||||
|
Igaz (piszv) vagy hamis (nem piszv)
|
||||||
|
### Semmi:
|
||||||
|
:::info
|
||||||
|
|
||||||
|
A nyelv ezt is kulcsszóként kezeli!
|
||||||
|
|
||||||
|
:::
|
||||||
|
Null (nincs hám)
|
86
docs/docusaurus.config.ts
Normal file
86
docs/docusaurus.config.ts
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
import {themes as prismThemes} from 'prism-react-renderer';
|
||||||
|
import type {Config} from '@docusaurus/types';
|
||||||
|
import type * as Preset from '@docusaurus/preset-classic';
|
||||||
|
|
||||||
|
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
|
||||||
|
|
||||||
|
const config: Config = {
|
||||||
|
title: 'Astro Lang',
|
||||||
|
tagline: 'Egy magyar + GenZ programozási nyelv',
|
||||||
|
favicon: 'img/asl.svg',
|
||||||
|
|
||||||
|
// Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future
|
||||||
|
future: {
|
||||||
|
v4: true, // Improve compatibility with the upcoming Docusaurus v4
|
||||||
|
},
|
||||||
|
|
||||||
|
// Set the production url of your site here
|
||||||
|
url: 'https://astrolang.afonyanet.hu',
|
||||||
|
// Set the /<baseUrl>/ pathname under which your site is served
|
||||||
|
// For GitHub pages deployment, it is often '/<projectName>/'
|
||||||
|
baseUrl: '/',
|
||||||
|
|
||||||
|
onBrokenLinks: 'throw',
|
||||||
|
onBrokenMarkdownLinks: 'warn',
|
||||||
|
|
||||||
|
// Even if you don't use internationalization, you can use this field to set
|
||||||
|
// useful metadata like html lang. For example, if your site is Chinese, you
|
||||||
|
// may want to replace "en" with "zh-Hans".
|
||||||
|
i18n: {
|
||||||
|
defaultLocale: 'hu',
|
||||||
|
locales: ['hu'],
|
||||||
|
},
|
||||||
|
|
||||||
|
presets: [
|
||||||
|
[
|
||||||
|
'classic',
|
||||||
|
{
|
||||||
|
docs: {
|
||||||
|
sidebarPath: './sidebars.ts',
|
||||||
|
},
|
||||||
|
theme: {
|
||||||
|
customCss: './src/css/custom.css',
|
||||||
|
},
|
||||||
|
} satisfies Preset.Options,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
themeConfig: {
|
||||||
|
// Replace with your project's social card
|
||||||
|
image: 'img/docusaurus-social-card.jpg',
|
||||||
|
navbar: {
|
||||||
|
title: 'Astro Lang',
|
||||||
|
logo: {
|
||||||
|
alt: 'ASL',
|
||||||
|
src: 'img/asl.svg',
|
||||||
|
},
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
type: 'docSidebar',
|
||||||
|
sidebarId: 'sidebar',
|
||||||
|
position: 'left',
|
||||||
|
label: 'Dokumentáció',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'docsVersionDropdown',
|
||||||
|
position: 'right',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: 'https://git.afonyanet.hu/afonya/AstroLang',
|
||||||
|
label: 'Source',
|
||||||
|
position: 'right',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
style: 'dark',
|
||||||
|
copyright: `Copyright © ${new Date().getFullYear()} Afonya, Built with Docusaurus.`,
|
||||||
|
},
|
||||||
|
prism: {
|
||||||
|
theme: prismThemes.github,
|
||||||
|
darkTheme: prismThemes.dracula,
|
||||||
|
},
|
||||||
|
} satisfies Preset.ThemeConfig,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default config;
|
17455
docs/package-lock.json
generated
Normal file
17455
docs/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
47
docs/package.json
Normal file
47
docs/package.json
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
"name": "asl-docs",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"docusaurus": "docusaurus",
|
||||||
|
"start": "docusaurus start",
|
||||||
|
"build": "docusaurus build",
|
||||||
|
"swizzle": "docusaurus swizzle",
|
||||||
|
"deploy": "docusaurus deploy",
|
||||||
|
"clear": "docusaurus clear",
|
||||||
|
"serve": "docusaurus serve",
|
||||||
|
"write-translations": "docusaurus write-translations",
|
||||||
|
"write-heading-ids": "docusaurus write-heading-ids",
|
||||||
|
"typecheck": "tsc"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@docusaurus/core": "3.8.1",
|
||||||
|
"@docusaurus/preset-classic": "3.8.1",
|
||||||
|
"@mdx-js/react": "^3.0.0",
|
||||||
|
"clsx": "^2.0.0",
|
||||||
|
"prism-react-renderer": "^2.3.0",
|
||||||
|
"react": "^19.0.0",
|
||||||
|
"react-dom": "^19.0.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@docusaurus/module-type-aliases": "3.8.1",
|
||||||
|
"@docusaurus/tsconfig": "3.8.1",
|
||||||
|
"@docusaurus/types": "3.8.1",
|
||||||
|
"typescript": "~5.6.2"
|
||||||
|
},
|
||||||
|
"browserslist": {
|
||||||
|
"production": [
|
||||||
|
">0.5%",
|
||||||
|
"not dead",
|
||||||
|
"not op_mini all"
|
||||||
|
],
|
||||||
|
"development": [
|
||||||
|
"last 3 chrome version",
|
||||||
|
"last 3 firefox version",
|
||||||
|
"last 5 safari version"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18.0"
|
||||||
|
}
|
||||||
|
}
|
20
docs/sidebars.ts
Normal file
20
docs/sidebars.ts
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
||||||
|
|
||||||
|
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creating a sidebar enables you to:
|
||||||
|
- create an ordered group of docs
|
||||||
|
- render a sidebar for each doc of that group
|
||||||
|
- provide next/previous navigation
|
||||||
|
|
||||||
|
The sidebars can be generated from the filesystem, or explicitly defined here.
|
||||||
|
|
||||||
|
Create as many sidebars as you want.
|
||||||
|
*/
|
||||||
|
const sidebars: SidebarsConfig = {
|
||||||
|
// By default, Docusaurus generates a sidebar from the docs folder structure
|
||||||
|
sidebar: [{type: 'autogenerated', dirName: '.'}],
|
||||||
|
};
|
||||||
|
|
||||||
|
export default sidebars;
|
61
docs/src/components/HomepageFeatures/index.tsx
Normal file
61
docs/src/components/HomepageFeatures/index.tsx
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
import type {ReactNode} from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
import Heading from '@theme/Heading';
|
||||||
|
import styles from './styles.module.css';
|
||||||
|
|
||||||
|
type FeatureItem = {
|
||||||
|
title: string;
|
||||||
|
description: ReactNode;
|
||||||
|
};
|
||||||
|
|
||||||
|
const FeatureList: FeatureItem[] = [
|
||||||
|
{
|
||||||
|
title: 'Nagyon magyar',
|
||||||
|
description: (
|
||||||
|
<>
|
||||||
|
Az Astro Lang egy magyaroktól magyaroknak készült programozási nyelv.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Miért jó?',
|
||||||
|
description: (
|
||||||
|
<>
|
||||||
|
Az Astro Lang-el, megcsináltuk, hogy a programozás ne csak fárasztó, de fájdalmas is legyen.
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Mittom én',
|
||||||
|
description: (
|
||||||
|
<>
|
||||||
|
Nem tudom ide már mit yappeljek, inkább próbáld ki, és nézd meg magad!
|
||||||
|
</>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
function Feature({title, description}: FeatureItem) {
|
||||||
|
return (
|
||||||
|
<div className={clsx('col col--4')}>
|
||||||
|
<div className="text--center padding-horiz--md">
|
||||||
|
<Heading as="h3">{title}</Heading>
|
||||||
|
<p>{description}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function HomepageFeatures(): ReactNode {
|
||||||
|
return (
|
||||||
|
<section className={styles.features}>
|
||||||
|
<div className="container">
|
||||||
|
<div className="row">
|
||||||
|
{FeatureList.map((props, idx) => (
|
||||||
|
<Feature key={idx} {...props} />
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
}
|
11
docs/src/components/HomepageFeatures/styles.module.css
Normal file
11
docs/src/components/HomepageFeatures/styles.module.css
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
.features {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 2rem 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.featureSvg {
|
||||||
|
height: 200px;
|
||||||
|
width: 200px;
|
||||||
|
}
|
30
docs/src/css/custom.css
Normal file
30
docs/src/css/custom.css
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
/**
|
||||||
|
* Any CSS included here will be global. The classic template
|
||||||
|
* bundles Infima by default. Infima is a CSS framework designed to
|
||||||
|
* work well for content-centric websites.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* You can override the default Infima variables here. */
|
||||||
|
:root {
|
||||||
|
--ifm-color-primary: #c86432;
|
||||||
|
--ifm-color-primary-dark: #a05028;
|
||||||
|
--ifm-color-primary-darker: #643219;
|
||||||
|
--ifm-color-primary-darkest: #3c1e0f;
|
||||||
|
--ifm-color-primary-light: #ce7447;
|
||||||
|
--ifm-color-primary-lighter: #d3835b;
|
||||||
|
--ifm-color-primary-lightest: #d99370;
|
||||||
|
--ifm-code-font-size: 95%;
|
||||||
|
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
||||||
|
[data-theme='dark'] {
|
||||||
|
--ifm-color-primary: #c86432;
|
||||||
|
--ifm-color-primary-dark: #a05028;
|
||||||
|
--ifm-color-primary-darker: #643219;
|
||||||
|
--ifm-color-primary-darkest: #3c1e0f;
|
||||||
|
--ifm-color-primary-light: #ce7447;
|
||||||
|
--ifm-color-primary-lighter: #d3835b;
|
||||||
|
--ifm-color-primary-lightest: #d99370;
|
||||||
|
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
23
docs/src/pages/index.module.css
Normal file
23
docs/src/pages/index.module.css
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
/**
|
||||||
|
* CSS files with the .module.css suffix will be treated as CSS modules
|
||||||
|
* and scoped locally.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.heroBanner {
|
||||||
|
padding: 4rem 0;
|
||||||
|
text-align: center;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 996px) {
|
||||||
|
.heroBanner {
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.buttons {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
44
docs/src/pages/index.tsx
Normal file
44
docs/src/pages/index.tsx
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
import type {ReactNode} from 'react';
|
||||||
|
import clsx from 'clsx';
|
||||||
|
import Link from '@docusaurus/Link';
|
||||||
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
||||||
|
import Layout from '@theme/Layout';
|
||||||
|
import HomepageFeatures from '@site/src/components/HomepageFeatures';
|
||||||
|
import Heading from '@theme/Heading';
|
||||||
|
|
||||||
|
import styles from './index.module.css';
|
||||||
|
|
||||||
|
function HomepageHeader() {
|
||||||
|
const {siteConfig} = useDocusaurusContext();
|
||||||
|
return (
|
||||||
|
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
||||||
|
<div className="container">
|
||||||
|
<Heading as="h1" className="hero__title">
|
||||||
|
{siteConfig.title}
|
||||||
|
</Heading>
|
||||||
|
<p className="hero__subtitle">{siteConfig.tagline}</p>
|
||||||
|
<div className={styles.buttons}>
|
||||||
|
<Link
|
||||||
|
className="button button--secondary button--lg"
|
||||||
|
to="/docs/intro">
|
||||||
|
Nézd meg a dokumentációt!
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function Home(): ReactNode {
|
||||||
|
const {siteConfig} = useDocusaurusContext();
|
||||||
|
return (
|
||||||
|
<Layout
|
||||||
|
title={`${siteConfig.title}`}
|
||||||
|
description="A hungarian + GenZ programming language">
|
||||||
|
<HomepageHeader />
|
||||||
|
<main>
|
||||||
|
<HomepageFeatures />
|
||||||
|
</main>
|
||||||
|
</Layout>
|
||||||
|
);
|
||||||
|
}
|
7
docs/src/pages/markdown-page.md
Normal file
7
docs/src/pages/markdown-page.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
title: Markdown page example
|
||||||
|
---
|
||||||
|
|
||||||
|
# Markdown page example
|
||||||
|
|
||||||
|
You don't need React to write simple standalone pages.
|
66
docs/static/img/asl.svg
vendored
Normal file
66
docs/static/img/asl.svg
vendored
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="512"
|
||||||
|
height="512"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
|
||||||
|
sodipodi:docname="asl.svg"
|
||||||
|
inkscape:export-filename="asl.png"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:zoom="1.1865234"
|
||||||
|
inkscape:cx="289.50124"
|
||||||
|
inkscape:cy="13.063375"
|
||||||
|
inkscape:window-width="3440"
|
||||||
|
inkscape:window-height="1417"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
showguides="true">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="1"
|
||||||
|
spacingy="1"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Réteg 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
id="rect1"
|
||||||
|
style="fill:#c86432;fill-opacity:1;stroke-width:0.780972;stroke-dasharray:none"
|
||||||
|
d="M 256 0 L 0 256 L 256 512 L 512 256 L 256 0 z M 389.76758 218.19141 L 456.25586 284.68164 L 493.93164 247.00586 L 502.84375 255.91797 L 455.14258 303.62109 L 379.74023 228.21875 L 389.76758 218.19141 z M 364.49805 251.25977 L 376.34766 263.10938 L 375.63867 263.81836 C 370.33843 264.25723 364.5488 266.02889 358.26953 269.13477 C 351.99026 272.17312 346.40294 276.14003 341.50781 281.03516 C 336.14005 286.40292 332.93326 291.839 331.88672 297.3418 C 330.87393 302.81084 332.12182 307.29956 335.63281 310.81055 C 338.77245 313.95018 342.04732 315.60464 345.45703 315.77344 C 348.86674 315.94224 353.08702 314.45799 358.11719 311.31836 C 360.75043 309.63038 364.39783 307.1307 369.05664 303.82227 C 373.71545 300.51383 377.78254 297.83081 381.25977 295.77148 C 388.34926 291.65282 394.8139 289.67691 400.6543 289.8457 C 406.49469 290.0145 412.11606 292.79965 417.51758 298.20117 C 420.45466 301.13825 422.66497 304.73458 424.15039 308.98828 C 425.66957 313.20822 426.19334 317.5457 425.7207 322.00195 C 425.18055 326.86332 423.71333 331.70755 421.31641 336.53516 C 418.95324 341.32901 415.23776 346.25834 410.17383 351.32227 C 404.73855 356.75755 399.33847 361.14609 393.9707 364.48828 C 388.6367 367.79671 382.72792 370.70101 376.24609 373.19922 L 363.6875 360.64062 L 364.39648 359.93164 C 371.3847 359.29021 378.23889 357.33131 384.95703 354.05664 C 391.67518 350.78197 397.22845 346.95124 401.61719 342.5625 C 407.82894 336.35075 411.4914 330.35881 412.60547 324.58594 C 413.75329 318.7793 412.38625 313.93313 408.50391 310.05078 C 405.16171 306.70859 401.86982 305.07115 398.62891 305.13867 C 395.42175 305.17243 391.70822 306.42227 387.48828 308.88672 C 384.28113 310.74349 380.97221 312.93874 377.5625 315.4707 C 374.18655 317.96891 370.50706 320.53473 366.52344 323.16797 C 358.42115 328.43445 351.04516 330.98325 344.39453 330.81445 C 337.74391 330.57814 331.66686 327.70788 326.16406 322.20508 C 319.85103 315.89205 317.3533 308.06037 318.66992 298.70898 C 319.95278 289.32384 324.69487 280.52973 332.89844 272.32617 C 338.19868 267.02593 343.56667 262.66948 349.00195 259.25977 C 354.43724 255.85005 359.60292 253.18406 364.49805 251.25977 z M 270.46094 337.49805 L 373.30859 385.45312 L 362.625 396.13867 L 334.2168 382.51562 L 301.60352 415.12891 L 315.22656 443.53711 L 305.04688 453.71484 L 257.0918 350.86719 L 270.46094 337.49805 z M 272.2832 353.19531 L 296.0332 403.48047 L 322.51758 376.99609 L 272.2832 353.19531 z " />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.1 KiB |
8
docs/tsconfig.json
Normal file
8
docs/tsconfig.json
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
// This file is not used in compilation. It is here just for a nice editor experience.
|
||||||
|
"extends": "@docusaurus/tsconfig",
|
||||||
|
"compilerOptions": {
|
||||||
|
"baseUrl": "."
|
||||||
|
},
|
||||||
|
"exclude": [".docusaurus", "build"]
|
||||||
|
}
|
|
@ -877,6 +877,5 @@ pub fn generate() -> HashMap<String, VMMemory> {
|
||||||
];
|
];
|
||||||
mem.insert(String::from("szenvedés"), VMMemory::Table(VMMemoryTable { values: szenvedes, variable_id: 0 }));
|
mem.insert(String::from("szenvedés"), VMMemory::Table(VMMemoryTable { values: szenvedes, variable_id: 0 }));
|
||||||
|
|
||||||
|
|
||||||
return mem;
|
return mem;
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue