💾 Archived View for code.pfad.fr › devf captured on 2023-11-14 at 07:48:07. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-11-04)
-=-=-=-=-=-=-
go install code.pfad.fr/devf
package devf provides livereload webserver for developers (inspired by [devd]). It attempts to do one thing and do it well: serve as a reverse proxy while injecting some JS to support livereloading.
The livereload is triggered by a std-input newline or some OS-signals (usually provided by another tool).
Usage:
devf [options] http-url-or-local-folders # or using go run: go run code.pfad.fr/devf@main [options] http-url-or-local-folders # or using nix flakes: nix run git+https://code.pfad.fr/devf [options] http-url-or-local-folders
If `http-url-or-local-folders` contains `://`, it will be interpreted as a URL, otherwise as a local folder (multiple folders are supported: they will be looked up in order).
The flags are:
-addr string address to listen to (default ":8080") -sig value comma-separated list of signals which will trigger a reload (instead of stdin newline): abrt,hup,int,kill,pipe,quit,term,usr1,usr2
Local generation of the doc of this package (make doc):
(echo "initial generation" && \ inotifywait -m -e close_write --include "\.go$" -r .) | \ xargs -I -n1 -d "\n" vanitydoc -html=dist/devf gitea://codeberg.org/pfad.fr/devf | \ devf dist
Explanation:
[modd] will send a sighup to devf (which will trigger a reload) whenever a .gohtml file changes or the `server.is_running` file is written to (I usually do that in my main.go, when the server is ready to accept connections).
To ensure that the livereload is injected on pages (especially error pages), make sure that the `Content-Type` header starts with `text/html`.
If you need more control regarding the triggering of the reload, the reverse-proxying or of the local server, take a look at the [livereload] subpackage.
GPL-3.0-or-later. Using only the exported API of this library (or the CLI) is not considered "covered work" (so you don't need to release your work under a compatible license in such a case).
package livereload handles Server-sent events and injection of the livereload script into upstream HTML pages.
https://codeberg.org/pfad.fr/devf
git clone
https://codeberg.org/pfad.fr/devf.git git@codeberg.org:pfad.fr/devf.git