itRead HTML template from a file - scoreboard - Interactive scoreboard for CTF-like games Err z3bra.org 70 hgit clone git://git.z3bra.org/scoreboard.git URL:git://git.z3bra.org/scoreboard.git z3bra.org 70 1Log /scm/scoreboard/log.gph z3bra.org 70 1Files /scm/scoreboard/files.gph z3bra.org 70 1Refs /scm/scoreboard/refs.gph z3bra.org 70 i--- Err z3bra.org 70 1commit 9ae93c35af4c5f5f17da95e9405c72788d3f0707 /scm/scoreboard/commit/9ae93c35af4c5f5f17da95e9405c72788d3f0707.gph z3bra.org 70 1parent 05db44d4935f2aaf86977e40dca6b5855d592c7e /scm/scoreboard/commit/05db44d4935f2aaf86977e40dca6b5855d592c7e.gph z3bra.org 70 hAuthor: Willy Goiffon URL:mailto:contact@z3bra.org z3bra.org 70 iDate: Sat, 28 Sep 2024 10:00:49 +0200 Err z3bra.org 70 i Err z3bra.org 70 iRead HTML template from a file Err z3bra.org 70 i Err z3bra.org 70 iDiffstat: Err z3bra.org 70 i M html.go | 51 +------------------------------ Err z3bra.org 70 i M main.go | 4 ++++ Err z3bra.org 70 i A template.html | 64 +++++++++++++++++++++++++++++++ Err z3bra.org 70 i Err z3bra.org 70 i3 files changed, 69 insertions(+), 50 deletions(-) Err z3bra.org 70 i--- Err z3bra.org 70 1diff --git a/html.go b/html.go /scm/scoreboard/file/html.go.gph z3bra.org 70 it@@ -21,55 +21,6 @@ type Template struct { Err z3bra.org 70 i Placeholders []Boardline Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i-var html string = ` Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- High scores Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i-

HIGH SCORES

Err z3bra.org 70 i-
Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i-{{range .Players}} Err z3bra.org 70 i-{{end}} Err z3bra.org 70 i-{{range .Placeholders}} Err z3bra.org 70 i-{{end}} Err z3bra.org 70 i- Err z3bra.org 70 i-
RANKNAMEFLAGSSCORE
{{.Rank}}{{.Name}}{{.Flag}}{{.Score}}
{{.Rank}}{{.Name}}{{.Flag}}{{.Score}}
Err z3bra.org 70 i-
Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i- Err z3bra.org 70 i-` Err z3bra.org 70 i- Err z3bra.org 70 i func (p *Player) BadgeHTML() string { Err z3bra.org 70 i var badges strings.Builder Err z3bra.org 70 i Err z3bra.org 70 it@@ -132,7 +83,7 @@ func (a *Application) GenerateHTML() { Err z3bra.org 70 i } Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i- tmpl, err := template.New("board").Parse(html) Err z3bra.org 70 i+ tmpl, err := template.ParseFiles(a.tmpl) Err z3bra.org 70 i if err != nil { Err z3bra.org 70 i panic(err) Err z3bra.org 70 i } Err z3bra.org 70 1diff --git a/main.go b/main.go /scm/scoreboard/file/main.go.gph z3bra.org 70 it@@ -31,6 +31,7 @@ const ( Err z3bra.org 70 i BOARD_WIDTH int = 28 Err z3bra.org 70 i BOARD_HEIGHT int = 15 Err z3bra.org 70 i HTML string = "score.html" Err z3bra.org 70 i+ TMPL string = "template.html" Err z3bra.org 70 i DB string = "score.db" Err z3bra.org 70 i TOKEN_REMINDER string = `%s, use the token below to submit your flags. Err z3bra.org 70 i Save it carefully, do not share it. Err z3bra.org 70 it@@ -52,6 +53,7 @@ type Application struct { Err z3bra.org 70 i db *sql.DB Err z3bra.org 70 i app *tview.Application Err z3bra.org 70 i html string Err z3bra.org 70 i+ tmpl string Err z3bra.org 70 i pages *tview.Pages Err z3bra.org 70 i frame *tview.Frame Err z3bra.org 70 i board *tview.Flex Err z3bra.org 70 it@@ -88,6 +90,7 @@ func main() { Err z3bra.org 70 i var reminder bool = false Err z3bra.org 70 i Err z3bra.org 70 i html := flag.String("o", HTML, "Output HTML file") Err z3bra.org 70 i+ tmpl := flag.String("t", HTML, "Template HTML file") Err z3bra.org 70 i db := flag.String("d", DB, "Database file") Err z3bra.org 70 i Err z3bra.org 70 i flag.Parse() Err z3bra.org 70 it@@ -117,6 +120,7 @@ func main() { Err z3bra.org 70 i Err z3bra.org 70 i scoreboard.flag = Flag{} Err z3bra.org 70 i scoreboard.html = *html Err z3bra.org 70 i+ scoreboard.tmpl = *tmpl Err z3bra.org 70 i scoreboard.app = tview.NewApplication() Err z3bra.org 70 i scoreboard.pages = tview.NewPages() Err z3bra.org 70 i scoreboard.board = tview.NewFlex() Err z3bra.org 70 1diff --git a/template.html b/template.html /scm/scoreboard/file/template.html.gph z3bra.org 70 it@@ -0,0 +1,64 @@ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Scores Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+
Err z3bra.org 70 i+

Scores

Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 i+{{range .Players}} Err z3bra.org 70 i+{{end}} Err z3bra.org 70 i+{{range .Placeholders}} Err z3bra.org 70 i+{{end}} Err z3bra.org 70 i+ Err z3bra.org 70 i+
RANKNAMEFLAGSSCORE
{{.Rank}}{{.Name}}{{.Flag}}{{.Score}}
{{.Rank}}{{.Name}}{{.Flag}}{{.Score}}
Err z3bra.org 70 i+
Err z3bra.org 70 i+ Err z3bra.org 70 i+
Err z3bra.org 70 i+ Err z3bra.org 70 i+ Err z3bra.org 70 .