No description
Find a file
tavo-wasd e8a4a806cf typo
2023-11-19 12:49:45 -06:00
public this is exclusive from my instance 2023-11-18 11:13:20 -06:00
.gitignore ready 2023-11-13 17:20:47 -06:00
COPYING license 2023-11-13 19:36:12 -06:00
nginx.conf iunit 2023-11-13 17:00:11 -06:00
README.md typo 2023-11-19 12:49:45 -06:00
sample.gif gif 2023-11-19 12:48:07 -06:00

groff-web

Description

Minimal groff web frontend

sample

Try it out

Dependencies: groff-base grap php-fpm. Run the following and visit http://0.0.0.0:8000 in your browser. (It will create a ./gen directory!)

wget "https://gitlab.com/tavo-wasd/groff-web/-/raw/main/public/index.php"
php -S 0.0.0.0:8000

Installation

Dependencies:

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

Download index.php to webroot and set up permissions to www-data user.

mkdir -p /var/www/groff-web
wget -O /var/www/groff-web/index.php "https://gitlab.com/tavo-wasd/groff-web/-/raw/main/public/index.php"
chown -R www-data:www-data /var/www/groff-web

nginx setup.

wget -O /etc/nginx/sites-available/groff-web.conf "https://gitlab.com/tavo-wasd/groff-web/-/raw/main/nginx.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

Remove

rm -r /var/www/groff-web
rm /etc/nginx/sites-available/groff-web.conf
rm /etc/nginx/sites-enabled/groff-web.conf
systemctl reload nginx

Configuration

Go to /var/www/groff-web/index.php, here you can:

  • Change groff's PATH, for example if you installed groff in /usr/local/bin/groff
  • Modify the groff compiler command.
  • Or use an external script for compilation.
<?php
    ...
    # groff settings
    $groff = "/usr/bin/groff";
    $comp = "$groff -ketpG -mspdf -Tpdf tmp/$uid.ms > tmp/$uid.pdf";
    # In case you want to use an external script to compile with groff:
    #$comp = "sh groff-compiler.sh";
    ...
?>

License

GPL v3.0