# Sandpoints git hook

## Initialization & build

`sphook` binary was built like this:

```
go mod init main
go mod vendor
go build -o sphook .
```

The `sphook` executable in root directory of this repo is built on Linux 64bits computer. It should work on common Linux x86_64 virtual server or common Linux x86_64 bare metal computer.

The `sphook` binary is only tested on Linux virtual server and developer's laptop. If you need it for some other arch or operating system, build it, test it and report back or even better do PR here.

## Hugo's final output directory

`sphook' has hardcoded filepath for Hugo's final output directory:

```
/var/www/html/sandpoints
```

If you want to build it against another directory where Hugo will render its content you should manually find the line:

```
hook.PublicHTMLPath = filepath.Join("/var", "www", "html", "sandpoints")
```

change it there and rebuild it.

## Install `sphook` in Gitea via its web ui

`install_sphook.sh` bash script can be used to install `sphook` to Gitea via its web user interface. If `install_sphook.sh` is made into `post-received` Gitea's hook it will first check if `sphook` is already in `hooks/post-received.d/` directory and if it is not it would install it there. If `sphook` is already there it would delete itself because it is not needed anymore.
