You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
1.8 KiB
Markdown
94 lines
1.8 KiB
Markdown
# Nuovo Sito PHC
|
|
|
|
Repo del server del nuovo sito per il PHC.
|
|
|
|
## Dipendenze
|
|
|
|
- **Golang**
|
|
|
|
- `github.com/alecthomas/chroma`
|
|
|
|
- `github.com/alecthomas/repr`
|
|
|
|
- `github.com/go-chi/chi/v5`
|
|
|
|
- `github.com/joho/godotenv`
|
|
|
|
- `github.com/litao91/goldmark-mathjax`
|
|
|
|
- `github.com/yuin/goldmark`
|
|
|
|
- `github.com/yuin/goldmark-highlighting`
|
|
|
|
- `gopkg.in/yaml.v3`
|
|
|
|
- **NodeJS**
|
|
|
|
- AlpineJS
|
|
|
|
- FuseJS
|
|
|
|
## Setup
|
|
|
|
Per ottenere il progetto basta fare
|
|
|
|
```bash
|
|
$ git clone https://git.phc.dm.unipi.it/phc/website
|
|
$ cd frontend/
|
|
frontend/ $ npm install
|
|
frontend/ $ cd ..
|
|
$ make js
|
|
```
|
|
|
|
## Development
|
|
|
|
### Setup
|
|
|
|
Copiare il file `.env.dev` in `.env` per dire al server di lavorare in modalità di development e su quale indirizzo servire il sito, poi avviare il server.
|
|
|
|
```bash shell
|
|
$ cp .env.dev .env
|
|
$ go run .
|
|
```
|
|
|
|
### Server
|
|
|
|
Un comando comodo in fase di development che usa [`entr`](https://github.com/eradman/entr) è
|
|
|
|
```bash shell
|
|
$ find . -type f -name '*.go' | entr -r go run .
|
|
# O anche con fd...
|
|
$ fd -e go | entr -r go run .
|
|
```
|
|
|
|
### Frontend
|
|
|
|
Se si sta anche modificando codice dentro `frontend/`, in contemporanea serve anche fare
|
|
|
|
```bash shell
|
|
$ make js
|
|
# O anche con un watcher...
|
|
$ fd -e js | entr make js
|
|
```
|
|
|
|
### Environment Variables
|
|
|
|
- `MODE`
|
|
|
|
Può essere `production` (default) o `development`.
|
|
|
|
- `HOST`
|
|
|
|
Indirizzo (locale) sul quale servire il sito, di default è `localhost:8000`.
|
|
|
|
- `MAIL`
|
|
|
|
Indirizzo di posta elettronica per contattare gli ammistratori del sito,
|
|
che compare nel footer di ogni pagina.
|
|
|
|
- `<SERVIZIO>_URL`
|
|
|
|
Rappresentano link ad altri servizi forniti, è comodo impostarli per testare tutto in locale su varie porte (e poi in produzione i vari url diventano link a sotto-domini del sito principale).
|
|
|
|
Per ora ci sono `GIT_URL`, `CHAT_URL` e `USER_PAGES_BASE_URL`.
|