From 1a1c32ec25049e457063af890a508778e2872410 Mon Sep 17 00:00:00 2001 From: nikk gitanes Date: Fri, 10 Sep 2021 02:07:32 +0300 Subject: [PATCH] to reduce git diff overhead sort route keys and don't include .dot files --- gen_web.go | 18 +++- server/web/pages/template/html.go | 26 ----- server/web/pages/template/route.go | 147 ++++++++++++----------------- 3 files changed, 73 insertions(+), 118 deletions(-) diff --git a/gen_web.go b/gen_web.go index 3484764..e98f0cd 100644 --- a/gen_web.go +++ b/gen_web.go @@ -8,6 +8,7 @@ import ( "os/exec" "path/filepath" "regexp" + "sort" "strings" ) @@ -33,7 +34,9 @@ func main() { filepath.WalkDir(srcGo+"template/pages/", func(path string, d fs.DirEntry, err error) error { if !d.IsDir() { name := strings.TrimPrefix(path, srcGo+"template/") - files = append(files, name) + if !strings.HasPrefix(name, ".") { + files = append(files, name) + } } return nil }) @@ -58,7 +61,7 @@ import ( for _, f := range files { fname := cleanName(strings.TrimPrefix(f, "pages")) - embedStr += "\n\n//go:embed " + f + "\nvar " + fname + " []byte\n" + embedStr += "\n//go:embed " + f + "\nvar " + fname + " []byte\n" ret[strings.TrimPrefix(f, "pages")] = fname } @@ -86,13 +89,18 @@ func RouteWebPages(route *gin.RouterGroup) { ` mime.AddExtensionType(".map", "application/json") mime.AddExtensionType(".webmanifest", "application/manifest+json") - for link, v := range fmap { + // sort fmap + keys := make([]string, 0, len(fmap)) + for key := range fmap { + keys = append(keys, key) + } + sort.Strings(keys) + for _, link := range keys { fmime := mime.TypeByExtension(filepath.Ext(link)) embedStr += ` route.GET("` + link + `", func(c *gin.Context) { - c.Data(200, "` + fmime + `", ` + v + `) + c.Data(200, "` + fmime + `", ` + fmap[link] + `) }) - ` } embedStr += "}" diff --git a/server/web/pages/template/html.go b/server/web/pages/template/html.go index 57d25dc..9d0120d 100644 --- a/server/web/pages/template/html.go +++ b/server/web/pages/template/html.go @@ -4,94 +4,68 @@ import ( _ "embed" ) - -//go:embed pages/.DS_Store -var DSStore []byte - - //go:embed pages/android-chrome-192x192.png var Androidchrome192x192png []byte - //go:embed pages/android-chrome-512x512.png var Androidchrome512x512png []byte - //go:embed pages/apple-touch-icon.png var Appletouchiconpng []byte - //go:embed pages/asset-manifest.json var Assetmanifestjson []byte - //go:embed pages/browserconfig.xml var Browserconfigxml []byte - //go:embed pages/dlnaicon-120.jpg var Dlnaicon120jpg []byte - //go:embed pages/dlnaicon-120.png var Dlnaicon120png []byte - //go:embed pages/dlnaicon-48.jpg var Dlnaicon48jpg []byte - //go:embed pages/dlnaicon-48.png var Dlnaicon48png []byte - //go:embed pages/favicon-16x16.png var Favicon16x16png []byte - //go:embed pages/favicon-32x32.png var Favicon32x32png []byte - //go:embed pages/favicon.ico var Faviconico []byte - //go:embed pages/index.html var Indexhtml []byte - //go:embed pages/mstile-150x150.png var Mstile150x150png []byte - //go:embed pages/site.webmanifest var Sitewebmanifest []byte - //go:embed pages/static/js/2.937400ae.chunk.js var Staticjs2937400aechunkjs []byte - //go:embed pages/static/js/2.937400ae.chunk.js.LICENSE.txt var Staticjs2937400aechunkjsLICENSEtxt []byte - //go:embed pages/static/js/2.937400ae.chunk.js.map var Staticjs2937400aechunkjsmap []byte - //go:embed pages/static/js/main.f2cdf583.chunk.js var Staticjsmainf2cdf583chunkjs []byte - //go:embed pages/static/js/main.f2cdf583.chunk.js.map var Staticjsmainf2cdf583chunkjsmap []byte - //go:embed pages/static/js/runtime-main.33603a80.js var Staticjsruntimemain33603a80js []byte - //go:embed pages/static/js/runtime-main.33603a80.js.map var Staticjsruntimemain33603a80jsmap []byte diff --git a/server/web/pages/template/route.go b/server/web/pages/template/route.go index 18723c7..2cf3da7 100644 --- a/server/web/pages/template/route.go +++ b/server/web/pages/template/route.go @@ -9,118 +9,91 @@ func RouteWebPages(route *gin.RouterGroup) { c.Data(200, "text/html; charset=utf-8", Indexhtml) }) - route.GET("/android-chrome-512x512.png", func(c *gin.Context) { - c.Data(200, "image/png", Androidchrome512x512png) - }) - - - route.GET("/dlnaicon-48.jpg", func(c *gin.Context) { - c.Data(200, "image/jpeg", Dlnaicon48jpg) - }) - - - route.GET("/static/js/2.937400ae.chunk.js.LICENSE.txt", func(c *gin.Context) { - c.Data(200, "text/plain; charset=utf-8", Staticjs2937400aechunkjsLICENSEtxt) - }) - - - route.GET("/static/js/main.f2cdf583.chunk.js.map", func(c *gin.Context) { - c.Data(200, "application/json", Staticjsmainf2cdf583chunkjsmap) - }) - - - route.GET("/static/js/runtime-main.33603a80.js", func(c *gin.Context) { - c.Data(200, "application/javascript", Staticjsruntimemain33603a80js) - }) - - - route.GET("/static/js/runtime-main.33603a80.js.map", func(c *gin.Context) { - c.Data(200, "application/json", Staticjsruntimemain33603a80jsmap) - }) - - route.GET("/android-chrome-192x192.png", func(c *gin.Context) { c.Data(200, "image/png", Androidchrome192x192png) }) + route.GET("/android-chrome-512x512.png", func(c *gin.Context) { + c.Data(200, "image/png", Androidchrome512x512png) + }) route.GET("/apple-touch-icon.png", func(c *gin.Context) { c.Data(200, "image/png", Appletouchiconpng) }) - - route.GET("/dlnaicon-120.jpg", func(c *gin.Context) { - c.Data(200, "image/jpeg", Dlnaicon120jpg) - }) - - - route.GET("/dlnaicon-120.png", func(c *gin.Context) { - c.Data(200, "image/png", Dlnaicon120png) - }) - - - route.GET("/favicon-32x32.png", func(c *gin.Context) { - c.Data(200, "image/png", Favicon32x32png) - }) - - - route.GET("/favicon.ico", func(c *gin.Context) { - c.Data(200, "image/x-icon", Faviconico) - }) - - - route.GET("/site.webmanifest", func(c *gin.Context) { - c.Data(200, "application/manifest+json", Sitewebmanifest) - }) - - - route.GET("/.DS_Store", func(c *gin.Context) { - c.Data(200, "", DSStore) - }) - - route.GET("/asset-manifest.json", func(c *gin.Context) { c.Data(200, "application/json", Assetmanifestjson) }) - - route.GET("/dlnaicon-48.png", func(c *gin.Context) { - c.Data(200, "image/png", Dlnaicon48png) - }) - - - route.GET("/favicon-16x16.png", func(c *gin.Context) { - c.Data(200, "image/png", Favicon16x16png) - }) - - - route.GET("/index.html", func(c *gin.Context) { - c.Data(200, "text/html; charset=utf-8", Indexhtml) - }) - - - route.GET("/mstile-150x150.png", func(c *gin.Context) { - c.Data(200, "image/png", Mstile150x150png) - }) - - - route.GET("/static/js/main.f2cdf583.chunk.js", func(c *gin.Context) { - c.Data(200, "application/javascript", Staticjsmainf2cdf583chunkjs) - }) - - route.GET("/browserconfig.xml", func(c *gin.Context) { c.Data(200, "application/xml", Browserconfigxml) }) + route.GET("/dlnaicon-120.jpg", func(c *gin.Context) { + c.Data(200, "image/jpeg", Dlnaicon120jpg) + }) + + route.GET("/dlnaicon-120.png", func(c *gin.Context) { + c.Data(200, "image/png", Dlnaicon120png) + }) + + route.GET("/dlnaicon-48.jpg", func(c *gin.Context) { + c.Data(200, "image/jpeg", Dlnaicon48jpg) + }) + + route.GET("/dlnaicon-48.png", func(c *gin.Context) { + c.Data(200, "image/png", Dlnaicon48png) + }) + + route.GET("/favicon-16x16.png", func(c *gin.Context) { + c.Data(200, "image/png", Favicon16x16png) + }) + + route.GET("/favicon-32x32.png", func(c *gin.Context) { + c.Data(200, "image/png", Favicon32x32png) + }) + + route.GET("/favicon.ico", func(c *gin.Context) { + c.Data(200, "image/x-icon", Faviconico) + }) + + route.GET("/index.html", func(c *gin.Context) { + c.Data(200, "text/html; charset=utf-8", Indexhtml) + }) + + route.GET("/mstile-150x150.png", func(c *gin.Context) { + c.Data(200, "image/png", Mstile150x150png) + }) + + route.GET("/site.webmanifest", func(c *gin.Context) { + c.Data(200, "application/manifest+json", Sitewebmanifest) + }) route.GET("/static/js/2.937400ae.chunk.js", func(c *gin.Context) { c.Data(200, "application/javascript", Staticjs2937400aechunkjs) }) + route.GET("/static/js/2.937400ae.chunk.js.LICENSE.txt", func(c *gin.Context) { + c.Data(200, "text/plain; charset=utf-8", Staticjs2937400aechunkjsLICENSEtxt) + }) route.GET("/static/js/2.937400ae.chunk.js.map", func(c *gin.Context) { c.Data(200, "application/json", Staticjs2937400aechunkjsmap) }) + route.GET("/static/js/main.f2cdf583.chunk.js", func(c *gin.Context) { + c.Data(200, "application/javascript", Staticjsmainf2cdf583chunkjs) + }) + + route.GET("/static/js/main.f2cdf583.chunk.js.map", func(c *gin.Context) { + c.Data(200, "application/json", Staticjsmainf2cdf583chunkjsmap) + }) + + route.GET("/static/js/runtime-main.33603a80.js", func(c *gin.Context) { + c.Data(200, "application/javascript", Staticjsruntimemain33603a80js) + }) + + route.GET("/static/js/runtime-main.33603a80.js.map", func(c *gin.Context) { + c.Data(200, "application/json", Staticjsruntimemain33603a80jsmap) + }) } \ No newline at end of file