From 2898e3260827961ffe4ecb18d2fbe94084f4fbdd Mon Sep 17 00:00:00 2001 From: Tam Date: Tue, 16 Dec 2025 10:39:28 +0900 Subject: [PATCH 1/5] Merged the livereload port to the http server port. --- main.go | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/main.go b/main.go index fe8d027..396cd51 100644 --- a/main.go +++ b/main.go @@ -38,8 +38,8 @@ const ( @@ -70,22 +70,6 @@ func main() { lrs := livereload.New("mkup") defer lrs.Close() - go func() { - mux := http.NewServeMux() - mux.HandleFunc("/livereload.js", func(w http.ResponseWriter, r *http.Request) { - b, err := local.ReadFile("_assets/livereload.js") - if err != nil { - http.Error(w, "404 page not found", 404) - return - } - w.Header().Set("Content-Type", "application/javascript") - w.Write(b) - return - }) - mux.Handle("/", lrs) - log.Fatal(http.ListenAndServe(":35729", mux)) - }() - fsw, err := fsnotify.NewWatcher() if err != nil { panic(err) @@ -157,6 +141,7 @@ func main() { ) w.Write([]byte(fmt.Sprintf(template, name, string(b)))) }) + http.Handle("/livereload", lrs) server := &http.Server{ Addr: *addr, From b0ea28ef981c13cde3218c97165c19b5298c55ba Mon Sep 17 00:00:00 2001 From: Tam Date: Wed, 17 Dec 2025 16:52:25 +0900 Subject: [PATCH 2/5] Fixed the bugs for merging http server TCP ports. --- main.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index 396cd51..f923abd 100644 --- a/main.go +++ b/main.go @@ -141,7 +141,11 @@ func main() { ) w.Write([]byte(fmt.Sprintf(template, name, string(b)))) }) - http.Handle("/livereload", lrs) + http.Handle("/livereload", + http.HandlerFunc( + func(w http.ResponseWriter, r *http.Request) { + lrs.ServeHTTP(w, r) + })) server := &http.Server{ Addr: *addr, From 18c84479168ab0f148566537b1d13e87911048a2 Mon Sep 17 00:00:00 2001 From: Tam Date: Sat, 20 Dec 2025 16:41:29 +0900 Subject: [PATCH 3/5] made the option to merge the livereload port with the http port. --- main.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/main.go b/main.go index f923abd..72a3e73 100644 --- a/main.go +++ b/main.go @@ -56,7 +56,8 @@ const ( ) var ( - addr = flag.String("http", ":8000", "HTTP service address (e.g., ':8000')") + addr = flag.String("http", ":8000", "HTTP service address (e.g., ':8000')") + usehttpport = flag.Bool("usehttpport", false, "use livereload port with the same http port") ) //go:embed _assets @@ -155,6 +156,21 @@ func main() { }), } + if *usehttpport == false { + go func() { + addr := ":35729" + server := &http.Server{ + Addr: addr, + Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + log.Printf("%s %s %s", r.RemoteAddr, r.Method, r.URL.RequestURI()) + http.DefaultServeMux.ServeHTTP(w, r) + }), + } + fmt.Fprintln(os.Stderr, "Listening at "+addr) + server.ListenAndServe() + }() + } + fmt.Fprintln(os.Stderr, "Listening at "+*addr) log.Fatal(server.ListenAndServe()) } From d702d63dc99b01123730ef4d0cec7f45890c44a2 Mon Sep 17 00:00:00 2001 From: Tam Date: Sat, 27 Dec 2025 14:39:57 +0900 Subject: [PATCH 4/5] Changed the deprecated packages. --- go.mod | 8 +++++--- go.sum | 4 ++++ main.go | 3 +-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 31c37b0..c3e7e65 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module github.com/mattn/mkup -go 1.17 +go 1.24.0 + +toolchain go1.24.9 require ( github.com/omeid/livereload v0.0.0-20180903043807-18d58b752b26 @@ -11,6 +13,6 @@ require ( require ( github.com/fsnotify/fsnotify v1.4.9 // indirect - github.com/gorilla/websocket v1.4.2 // indirect - golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect + github.com/gorilla/websocket v1.5.3 // indirect + golang.org/x/sys v0.39.0 // indirect ) diff --git a/go.sum b/go.sum index 588b555..83321ad 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= +github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/omeid/livereload v0.0.0-20180903043807-18d58b752b26 h1:UgrpxortNaAijXWp2dVezOb/2lVNtGlaI/y6SAosQds= github.com/omeid/livereload v0.0.0-20180903043807-18d58b752b26/go.mod h1:zwZKGxj+J+XPXOcKyE1ByX0oRLb+iWZwy4wO7W9LHTM= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= @@ -11,5 +13,7 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= diff --git a/main.go b/main.go index 72a3e73..1c0061b 100644 --- a/main.go +++ b/main.go @@ -4,7 +4,6 @@ import ( "embed" "flag" "fmt" - "io/ioutil" "log" "mime" "net/http" @@ -124,7 +123,7 @@ func main() { fs.ServeHTTP(w, r) return } - b, err := ioutil.ReadFile(filepath.Join(cwd, name)) + b, err := os.ReadFile(filepath.Join(cwd, name)) if err != nil { if os.IsNotExist(err) { http.Error(w, "404 page not found", 404) From c54e8882c10c8f4cf29d7f1ed4162cb95a442bc3 Mon Sep 17 00:00:00 2001 From: Tam Date: Thu, 22 Jan 2026 14:50:05 +0900 Subject: [PATCH 5/5] Implemented the livereload default port as 35729. --- main.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 1c0061b..a50a99d 100644 --- a/main.go +++ b/main.go @@ -36,9 +36,10 @@ const ( - @@ -66,6 +67,10 @@ func main() { runtime.GOMAXPROCS(runtime.NumCPU()) flag.Parse() cwd, _ := os.Getwd() + livereloadPortAddr := ":35729" + if *usehttpport == true { + livereloadPortAddr = "" + } lrs := livereload.New("mkup") defer lrs.Close() @@ -139,7 +144,7 @@ func main() { blackfriday.WithRenderer(renderer), blackfriday.WithExtensions(extensions), ) - w.Write([]byte(fmt.Sprintf(template, name, string(b)))) + w.Write([]byte(fmt.Sprintf(template, name, livereloadPortAddr, string(b)))) }) http.Handle("/livereload", http.HandlerFunc( @@ -155,17 +160,16 @@ func main() { }), } - if *usehttpport == false { + if livereloadPortAddr != "" { go func() { - addr := ":35729" server := &http.Server{ - Addr: addr, + Addr: livereloadPortAddr, Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { log.Printf("%s %s %s", r.RemoteAddr, r.Method, r.URL.RequestURI()) http.DefaultServeMux.ServeHTTP(w, r) }), } - fmt.Fprintln(os.Stderr, "Listening at "+addr) + fmt.Fprintln(os.Stderr, "Listening at "+livereloadPortAddr) server.ListenAndServe() }() }