---
marp: true
---

# Inizializzazione 
1. Aggiungere il percorso di vlc alla variabile d'ambiente path.
  - Installare vlc se non già fatto.
  - Verificare se l'installazione è come da default in "C:\Program Files\VideoLAN\VLC", altrimenti: 
	- Cercare vlc sulla ricerca di windows (forse è chiamato in modi leggermente diversi, quali ad esempio VLC media player)
  	- Apri percorso file
  	- Tasto destro -> Apri percorso file sul file selezionato da windows
  	- Ci troveremo nella cartella nella quale c'è un file chiamato vlc (questo così com'è scritto, non in modi diversi)

---

  - Cerchiamo "modifica le variabili di ambiente relative al sistema", apriamo
  - clicchiamo su variabile d'ambiente in basso a destra
  - Doppio click su Path per aprire la variabile corrispondente
  - Aggiungiamo il percorso cliccando su nuovo e incollando il percorso, nel mio caso con un'installazione base è "C:\Program Files\VideoLAN\VLC"

---
# Spiegazione sui file
## Formato toml
Toml è un file di configurazione simile a yml che si pone come alternativa più semplice alla lettura del classico file json usato principalmente per il web.

---
### Json
Il formato di json è il seguente:
```json
{
  "key1": "value",
  "key2": {
    "key2.1": "value"
  },
  "key3": ["value", 5140]
}
```

---
### Yaml
Il formato yml o yaml è il seguente:
```yaml
key1: value
key2:
  key2.1: value
key3:
  - value
  - 5140
```

---

### Toml
Il formato toml è il seguente:
```toml
key1 = value

[key2]
key2.1 = value

[[key3]]
value

[[key3]]
5140
```

---
### Perchè toml?
Pur preferendo json perchè mi sembra il più facilmente intuibile anche se molto pieno di caratteri speciali che possono inizialmente creare confusione, useremo toml perchè nativamente supportato da rust, il linguaggio che ho usato per la creazione di questo programma.
Yaml è molto più pulito di json ma ha spazi significativi, il che non lo rende così facile da scrivere su blocco note.

---

## Toml nei file qui presenti
### File Library
I file animelibrary.toml e mangalibrary.toml sono i due file designati alla gestione dei preferiti. Hanno formato:
```toml
[[AnimeSource]] # Scelta tra: Animeworld
name = "Nome dell'opera"
episodeList = ""
```

```toml
[[MangaSource]] # Scelta tra: Mangaworld, Mangago
name = "Nome dell'opera"
mangapage = ""
```

---

#### Formati accettati
Saranno scritti in RegEx (ovvero regular expression), un linguaggio per scrivere pattern. Può essere testato su tool online come [regexr.com](https://regexr.com).
##### Animeworld
```re
https?\:\/\/www\.animeworld\.\w{2,3}\/play\/[a-zA-Z0-9\-]+\.\w+(\/\w+)?
```
Es. 
- ```https://www.animeworld.ac/play/frieren-beyond-journeys-end-2.JvOQx```
- ```https://www.animeworld.ac/play/frieren-beyond-journeys-end-2.JvOQx/Xduvm5```