tables are prettier with alignment

This commit is contained in:
Ted Unangst 2020-01-24 03:22:13 -05:00
parent bd2b03a0b5
commit 6235bab4a0
3 changed files with 23 additions and 7 deletions

6
go.mod
View File

@ -1,5 +1,7 @@
module humungus.tedunangst.com/r/honk module humungus.tedunangst.com/r/honk
go 1.11
require ( require (
github.com/andybalholm/cascadia v1.1.0 github.com/andybalholm/cascadia v1.1.0
github.com/gorilla/mux v1.7.3 github.com/gorilla/mux v1.7.3
@ -7,7 +9,5 @@ require (
golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4 golang.org/x/crypto v0.0.0-20190621222207-cc06ce4a13d4
golang.org/x/net v0.0.0-20190620200207-3b0461eec859 golang.org/x/net v0.0.0-20190620200207-3b0461eec859
humungus.tedunangst.com/r/go-sqlite3 v1.1.3 humungus.tedunangst.com/r/go-sqlite3 v1.1.3
humungus.tedunangst.com/r/webs v0.6.35 humungus.tedunangst.com/r/webs v0.6.36
) )
go 1.11

4
go.sum
View File

@ -22,5 +22,5 @@ golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
humungus.tedunangst.com/r/go-sqlite3 v1.1.3 h1:G2N4wzDS0NbuvrZtQJhh4F+3X+s7BF8b9ga8k38geUI= humungus.tedunangst.com/r/go-sqlite3 v1.1.3 h1:G2N4wzDS0NbuvrZtQJhh4F+3X+s7BF8b9ga8k38geUI=
humungus.tedunangst.com/r/go-sqlite3 v1.1.3/go.mod h1:FtEEmQM7U2Ey1TuEEOyY1BmphTZnmiEjPsNLEAkpf/M= humungus.tedunangst.com/r/go-sqlite3 v1.1.3/go.mod h1:FtEEmQM7U2Ey1TuEEOyY1BmphTZnmiEjPsNLEAkpf/M=
humungus.tedunangst.com/r/webs v0.6.35 h1:+mevZFBQ6KjiGX9Z4A/vmvlsvJe8Lf8LpkQBdN2MbEU= humungus.tedunangst.com/r/webs v0.6.36 h1:Y0V6sYwruiradsyP2Y4EzQ3T+kZxrtUfuC7Bwu0GRsY=
humungus.tedunangst.com/r/webs v0.6.35/go.mod h1:S9sXpVSbgAIa24yYhnMN0C94LKHG+2rioS+NsiDimps= humungus.tedunangst.com/r/webs v0.6.36/go.mod h1:S9sXpVSbgAIa24yYhnMN0C94LKHG+2rioS+NsiDimps=

View File

@ -98,15 +98,31 @@ func markitzero(s string) string {
rows := strings.Split(m, "\n") rows := strings.Split(m, "\n")
var r strings.Builder var r strings.Builder
r.WriteString("<table>") r.WriteString("<table>")
alignments := make(map[int]string)
for _, row := range rows { for _, row := range rows {
r.WriteString("<tr>") hastr := false
cells := strings.Split(row, "|") cells := strings.Split(row, "|")
for i, cell := range cells { for i, cell := range cells {
cell = strings.TrimSpace(cell) cell = strings.TrimSpace(cell)
if cell == "" && (i == 0 || i == len(cells)-1) { if cell == "" && (i == 0 || i == len(cells)-1) {
continue continue
} }
r.WriteString("<td>") switch cell {
case ":---":
alignments[i] = `style="text-align: left"`
continue
case ":---:":
alignments[i] = `style="text-align: center"`
continue
case "---:":
alignments[i] = `style="text-align: right"`
continue
}
if !hastr {
r.WriteString("<tr>")
hastr = true
}
fmt.Fprintf(&r, "<td %s>", alignments[i])
r.WriteString(cell) r.WriteString(cell)
} }
} }