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 }));
|
||||
|
||||
|
||||
return mem;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue