giq | ||
public | ||
go.mod | ||
go.sum | ||
install_sphook.sh | ||
lastcommitlog.go | ||
LICENSE | ||
main.go | ||
metahook.go | ||
metahugo.go | ||
README.mkd |
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.