Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40d5297042 | ||
|
|
8bde331200 | ||
|
|
9dafb5383d | ||
|
|
2098da3417 |
1 changed files with 28 additions and 21 deletions
33
main.go
33
main.go
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"embed"
|
"embed"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"flag"
|
"flag"
|
||||||
|
"fmt"
|
||||||
"html/template"
|
"html/template"
|
||||||
"io"
|
"io"
|
||||||
"log"
|
"log"
|
||||||
|
|
@ -16,12 +17,12 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
const VERSION = "v1"
|
const VERSION = "v5"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
flagVerbose bool
|
flagVerbose bool
|
||||||
flagWsURL string
|
flagVersion bool
|
||||||
flagWatch string
|
flagDebuggingPort int
|
||||||
|
|
||||||
//go:embed static
|
//go:embed static
|
||||||
fs embed.FS
|
fs embed.FS
|
||||||
|
|
@ -29,10 +30,15 @@ var (
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.BoolVar(&flagVerbose, "v", false, "verbose")
|
flag.BoolVar(&flagVerbose, "v", false, "verbose")
|
||||||
flag.StringVar(&flagWsURL, "ws", "ws://127.0.0.1:9222", "devtools url")
|
flag.BoolVar(&flagVersion, "version", false, "Print version and exit")
|
||||||
flag.StringVar(&flagWatch, "watch", "", "Files to watch")
|
flag.IntVar(&flagDebuggingPort, "port", 9222, "Chrome debugging port")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
if flagVersion {
|
||||||
|
fmt.Println(VERSION)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
http.HandleFunc("/", pageIndex)
|
http.HandleFunc("/", pageIndex)
|
||||||
http.HandleFunc("/css/main.css", pageCSS)
|
http.HandleFunc("/css/main.css", pageCSS)
|
||||||
|
|
||||||
|
|
@ -43,7 +49,11 @@ func main() {
|
||||||
http.HandleFunc("/sites", actionSites)
|
http.HandleFunc("/sites", actionSites)
|
||||||
|
|
||||||
log.Println("Listen on [::]:5123")
|
log.Println("Listen on [::]:5123")
|
||||||
http.ListenAndServe("[::]:5123", nil)
|
err := http.ListenAndServe("[::]:5123", nil)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func replaceTilde(str string) string { // {{{
|
func replaceTilde(str string) string { // {{{
|
||||||
|
|
@ -63,10 +73,7 @@ func replaceTilde(str string) string {// {{{
|
||||||
func pageIndex(w http.ResponseWriter, r *http.Request) { // {{{
|
func pageIndex(w http.ResponseWriter, r *http.Request) { // {{{
|
||||||
var tmpl *template.Template
|
var tmpl *template.Template
|
||||||
var err error
|
var err error
|
||||||
if false {
|
|
||||||
tmpl, err = template.ParseFS(fs, "static/html/index.html")
|
tmpl, err = template.ParseFS(fs, "static/html/index.html")
|
||||||
}
|
|
||||||
tmpl, err = template.ParseFiles("static/html/index.html")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
w.Write([]byte(err.Error()))
|
w.Write([]byte(err.Error()))
|
||||||
return
|
return
|
||||||
|
|
@ -81,8 +88,7 @@ func pageIndex(w http.ResponseWriter, r *http.Request) { // {{{
|
||||||
func pageCSS(w http.ResponseWriter, r *http.Request) { // {{{
|
func pageCSS(w http.ResponseWriter, r *http.Request) { // {{{
|
||||||
w.Header().Add("Content-Type", "text/css")
|
w.Header().Add("Content-Type", "text/css")
|
||||||
|
|
||||||
//data, err := fs.ReadFile("static/css/main.css")
|
data, err := fs.ReadFile("static/css/main.css")
|
||||||
data, err := os.ReadFile("static/css/main.css")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
w.Write([]byte(err.Error()))
|
w.Write([]byte(err.Error()))
|
||||||
return
|
return
|
||||||
|
|
@ -103,7 +109,7 @@ func actionSites(w http.ResponseWriter, r *http.Request) { // {{{
|
||||||
func actionBrowserStart(w http.ResponseWriter, r *http.Request) { // {{{
|
func actionBrowserStart(w http.ResponseWriter, r *http.Request) { // {{{
|
||||||
body, _ := io.ReadAll(r.Body)
|
body, _ := io.ReadAll(r.Body)
|
||||||
userDataDir := replaceTilde(string(body))
|
userDataDir := replaceTilde(string(body))
|
||||||
browser := exec.Command("google-chrome", "--user-data-dir="+string(userDataDir), "--remote-debugging-port=9222")
|
browser := exec.Command("google-chrome", "--user-data-dir="+string(userDataDir), fmt.Sprintf("--remote-debugging-port=%d", flagDebuggingPort))
|
||||||
err := browser.Start()
|
err := browser.Start()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
|
@ -133,7 +139,8 @@ func actionStart(w http.ResponseWriter, r *http.Request) { // {{{
|
||||||
|
|
||||||
var site Site
|
var site Site
|
||||||
expandedWatch := replaceTilde(req.Watch)
|
expandedWatch := replaceTilde(req.Watch)
|
||||||
site, err = NewSite(flagWsURL, req.URL, expandedWatch)
|
wsURL := fmt.Sprintf("ws://127.0.0.1:%d", flagDebuggingPort)
|
||||||
|
site, err = NewSite(wsURL, req.URL, expandedWatch)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue