Git hook triggered via local commit or Gitea's one. It runs Hugo against its dedicated repository with Markdown files and related assets.
Go to file
2023-12-13 12:35:31 +01:00
giq compile with patched hugo for footnotes... 2023-07-29 01:10:04 +02:00
public compile with patched hugo for footnotes... 2023-07-29 01:10:04 +02:00
go.mod compile hook against patched hugo @marcellmars 2023-12-13 12:35:31 +01:00
go.sum compile hook against patched hugo @marcellmars 2023-12-13 12:35:31 +01:00
install_sphook.sh self-destructing install script for gitea 2020-12-02 23:43:28 +01:00
lastcommitlog.go fixing stuff... 2021-03-25 02:01:04 +01:00
LICENSE 21.06.01 fixed regression with detectGitPath 2023-07-29 01:10:02 +02:00
main.go compile hook against patched hugo @marcellmars 2023-12-13 12:35:31 +01:00
metahook.go fixing stuff... 2021-03-25 02:01:04 +01:00
metahugo.go compile hook against patched hugo @marcellmars 2023-12-13 12:35:31 +01:00
README.mkd get rid of vendor as it gives gitea a lot of hiccups 2023-07-29 01:16:48 +02:00

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.

Problems with printing aggregated footnotes/subheading

Sandpoints aggregates Markdown files into a good old linear, well paginated, publication. Hugo by default doesn't allow for unique separation of subheaders and footnotes. If print is important check what's the change Hugo needs to handle it well.

With a patch in a forked Hugo's repository one needs to do something like this in SandpointsGitHook repo's go.mod:

replace github.com/gohugoio/hugo v0.xxx => /path/to/patched/hugo/repo

change v0.xxx to respected Hugo's version and path to local Hugo's repo with a patch.

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

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.