Compare commits

..

No commits in common. "2098da3417695370598d21ae386be9af1fb90ea5" and "0c0811a5fced096497a1627f8a4d66da6344dca5" have entirely different histories.

3 changed files with 23 additions and 45 deletions

27
main.go
View file

@ -7,7 +7,6 @@ import (
"embed"
"encoding/json"
"flag"
"fmt"
"html/template"
"io"
"log"
@ -17,12 +16,10 @@ import (
"strings"
)
const VERSION = "v2"
var (
flagVerbose bool
flagVersion bool
flagDebuggingPort int
flagWsURL string
flagWatch string
//go:embed static
fs embed.FS
@ -30,15 +27,10 @@ var (
func main() {
flag.BoolVar(&flagVerbose, "v", false, "verbose")
flag.BoolVar(&flagVersion, "version", false, "Print version and exit")
flag.IntVar(&flagDebuggingPort, "port", 9222, "Chrome debugging port")
flag.StringVar(&flagWsURL, "ws", "ws://127.0.0.1:9222", "devtools url")
flag.StringVar(&flagWatch, "watch", "", "Files to watch")
flag.Parse()
if flagVersion {
fmt.Println(VERSION)
return
}
http.HandleFunc("/", pageIndex)
http.HandleFunc("/css/main.css", pageCSS)
@ -78,11 +70,7 @@ func pageIndex(w http.ResponseWriter, r *http.Request) { // {{{
return
}
data := map[string]any{
"Sites": sites,
"VERSION": VERSION,
}
tmpl.Execute(w, data)
tmpl.Execute(w, sites)
} // }}}
func pageCSS(w http.ResponseWriter, r *http.Request) { // {{{
w.Header().Add("Content-Type", "text/css")
@ -109,7 +97,7 @@ func actionSites(w http.ResponseWriter, r *http.Request) { // {{{
func actionBrowserStart(w http.ResponseWriter, r *http.Request) {// {{{
body, _ := io.ReadAll(r.Body)
userDataDir := replaceTilde(string(body))
browser := exec.Command("google-chrome", "--user-data-dir="+string(userDataDir), fmt.Sprintf("--remote-debugging-port=%d", flagDebuggingPort))
browser := exec.Command("google-chrome", "--user-data-dir="+string(userDataDir), "--remote-debugging-port=9222")
err := browser.Start()
if err != nil {
log.Println(err)
@ -139,8 +127,7 @@ func actionStart(w http.ResponseWriter, r *http.Request) { // {{{
var site Site
expandedWatch := replaceTilde(req.Watch)
wsURL := fmt.Sprintf("ws://127.0.0.1:%d", flagDebuggingPort)
site, err = NewSite(wsURL, req.URL, expandedWatch)
site, err = NewSite(flagWsURL, req.URL, expandedWatch)
if err != nil {
log.Println(err)
}

View file

@ -3,12 +3,6 @@ body {
margin: 32px;
}
#version {
position: absolute;
right: 16px;
top: 16px;
}
input {
font-size: 1em;
}

View file

@ -44,9 +44,8 @@
for (const uuid of Object.keys(json.Sites)) {
const site = json.Sites[uuid]
if (site.StopLoop) {
const els = document.querySelectorAll(`[data-uuid="${uuid}"]`)
for (const el of els)
el.remove()
document.querySelector(`.url[data-uuid="${uuid}"]`)?.classList.add('dead')
document.querySelector(`.watch[data-uuid="${uuid}"]`)?.classList.add('dead')
}
}
})
@ -65,7 +64,6 @@
</script>
<body>
<div id="version">{{ .VERSION }}</div>
<div class="browser">
<h1>Browser</h1>
<input type="text" class="user-data-dir" placeholder="~/.local/share/chrome-dev">
@ -83,15 +81,14 @@
<input type="text" class="new watch" placeholder="~/example.com/css/">
<button onclick="newSite()">Start</button>
{{ range .Sites }}
{{ range . }}
{{ if .StopLoop }}
{{ continue }}
{{ end }}
<div class="line" data-uuid="{{ .UUID }}"></div>
<div class="url" data-uuid="{{ .UUID }}">{{ .URL }}</div>
<div class="watch" data-uuid="{{ .UUID }}">{{ .Watch }}</div>
<div class="stop" onclick="stopSite('{{ .UUID }}')" data-uuid="{{ .UUID }}">{{ if not .StopLoop }}❌{{
end }}</div>
<div class="line"></div>
<div class="url {{ if .StopLoop }}dead{{ end }}" data-uuid="{{ .UUID }}">{{ .URL }}</div>
<div class="watch {{ if .StopLoop }}dead{{ end }}" data-uuid="{{ .UUID }}">{{ .Watch }}</div>
<div class="stop" onclick="stopSite('{{ .UUID }}')">{{ if not .StopLoop }}❌{{ end }}</div>
{{ end }}
</div>
<script>init()</script>