__ ____ _ _ ____ ___ _ _
( ) (_ _)( \/ )( ___) / __)( )_( )
)(__ _)(_ \ / )__) \__ \ ) _ (
(____)(____) \/ (____)()(___/(_) (_)
Live reloading with Bash for any language and any framework
Copy live.sh into your project directory
curl -o live.sh https://raw.githubusercontent.com/roman-koshchei/live-sh/main/live.shChange instructions inside of run function.
Notice long running process should be run in background and saved to previous_pid.
Here is example to run Gleam project, where gleam run is long running process:
run() {
gleam run &
previous_pid=$!
gleam format &
}Run script with ./live.sh. If you are on Windows then use Git Bash or WSL.
If you are building web app you may want to automatically reload browser tab after live reloading project. For it you need to add javascript script to your site, don't forget to disable it in production.
Just embed live.js into your head like this:
<head>
<script>
document.addEventListener("visibilitychange", function () {
"visible" === document.visibilityState &&
setTimeout(function () {
location.assign(location.href)
}, 250)
})
</script>
</head>