# groff-web

## Description
Minimal groff web frontend

## Installation

Dependencies:

```shell
apt install -y groff-base grap nginx php-fpm
```

Download and extract files. Then,
Copy web root and set up permissions to `www-data` user
so PDFs can be generated.

```shell
wget "https://gitlab.com/tavo-wasd/groff-web/-/archive/main/groff-web-main.tar.gz"
tar -xvf groff-web-main.tar.gz
cp -r groff-web-main/public /var/www/groff-web
chown -R www-data:www-data /var/www/groff-web
```

nginx setup.

```shell
cp groff-web-main/nginx.conf /etc/nginx/sites-available/groff-web.conf
sed -i 's/groff.example.org/MY.DOMAIN.COM/' /etc/nginx/sites-available/groff-web.conf
ln -s /etc/nginx/sites-available/groff-web.conf /etc/nginx/sites-enabled
systemctl reload nginx
```

## Configuration

These are included in the `public/compiler.sh` file, the binaries' PATH can
be modified in case you want to compile groff from source, for example.
As for the preprocessors, `grap` isn't installed by default in most systems,
so you might want to remove the `G`, also `chem` gives me a bit of trouble
when used with `eqn`.

```shell
SOELIM="/usr/bin/soelim" # soelim PATH
REFER="/usr/bin/refer"   # refer PATH
GROFF="/usr/bin/groff"   # groff PATH
PRE="-ketpG"             # Preprocessors
```

These are not set, but you can set them if you want a directory with macros,
or a custom bibliography file.

```shell
BIB="bibliography" # Bibliography file
MAC="macros"       # Macros dir
```

## License
GPL v3.0