generated from VLADIMIR/template
add embed ui
This commit is contained in:
parent
88de56c140
commit
6707967fb5
4
Makefile
4
Makefile
@ -13,7 +13,9 @@ run:
|
|||||||
go run ./cmd/evening_detective/main.go
|
go run ./cmd/evening_detective/main.go
|
||||||
|
|
||||||
build:
|
build:
|
||||||
go build -o bin/evening_detective cmd/evening_detective/main.go
|
rm -rf bin
|
||||||
|
CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -o bin/evening_detective_macos_arm64 cmd/evening_detective/main.go
|
||||||
|
CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 go build -o bin/evening_detective_macos_amd64 cmd/evening_detective/main.go
|
||||||
|
|
||||||
text_to_story:
|
text_to_story:
|
||||||
rm -f ./cmd/text_to_story/story.json
|
rm -f ./cmd/text_to_story/story.json
|
||||||
|
@ -2,11 +2,13 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"embed"
|
||||||
"evening_detective/internal/app"
|
"evening_detective/internal/app"
|
||||||
"evening_detective/internal/config"
|
"evening_detective/internal/config"
|
||||||
"evening_detective/internal/services"
|
"evening_detective/internal/services"
|
||||||
"evening_detective/internal/services/story_service"
|
"evening_detective/internal/services/story_service"
|
||||||
proto "evening_detective/proto"
|
proto "evening_detective/proto"
|
||||||
|
"io/fs"
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -17,6 +19,12 @@ import (
|
|||||||
"google.golang.org/grpc/metadata"
|
"google.golang.org/grpc/metadata"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//go:embed static/user/*
|
||||||
|
var userFS embed.FS
|
||||||
|
|
||||||
|
//go:embed static/admin/*
|
||||||
|
var adminFS embed.FS
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Create a listener on TCP port
|
// Create a listener on TCP port
|
||||||
lis, err := net.Listen("tcp", ":8080")
|
lis, err := net.Listen("tcp", ":8080")
|
||||||
@ -91,7 +99,11 @@ func main() {
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
muxUser := http.NewServeMux()
|
muxUser := http.NewServeMux()
|
||||||
fileServerUser := http.FileServer(http.Dir("./static/user"))
|
subUserFS, err := fs.Sub(userFS, "static/user")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln(err)
|
||||||
|
}
|
||||||
|
fileServerUser := http.FileServer(http.FS(subUserFS))
|
||||||
muxUser.Handle("/", fileServerUser)
|
muxUser.Handle("/", fileServerUser)
|
||||||
|
|
||||||
// Serve user web server
|
// Serve user web server
|
||||||
@ -101,7 +113,11 @@ func main() {
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
muxAdmin := http.NewServeMux()
|
muxAdmin := http.NewServeMux()
|
||||||
fileServerAdmin := http.FileServer(http.Dir("./static/admin"))
|
subAdminFS, err := fs.Sub(adminFS, "static/admin")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln(err)
|
||||||
|
}
|
||||||
|
fileServerAdmin := http.FileServer(http.FS(subAdminFS))
|
||||||
muxAdmin.Handle("/", fileServerAdmin)
|
muxAdmin.Handle("/", fileServerAdmin)
|
||||||
|
|
||||||
// Serve admin web server
|
// Serve admin web server
|
||||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
@ -5,14 +5,23 @@ import (
|
|||||||
"evening_detective/internal/models"
|
"evening_detective/internal/models"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"embed"
|
||||||
|
|
||||||
"github.com/signintech/gopdf"
|
"github.com/signintech/gopdf"
|
||||||
"github.com/skip2/go-qrcode"
|
"github.com/skip2/go-qrcode"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//go:embed JetBrainsMono-Medium.ttf
|
||||||
|
var f embed.FS
|
||||||
|
|
||||||
func CreateTeamsPdf(teams []*models.Team) ([]byte, error) {
|
func CreateTeamsPdf(teams []*models.Team) ([]byte, error) {
|
||||||
pdf := &gopdf.GoPdf{}
|
pdf := &gopdf.GoPdf{}
|
||||||
pdf.Start(gopdf.Config{PageSize: *gopdf.PageSizeA4}) // W: 595, H: 842
|
pdf.Start(gopdf.Config{PageSize: *gopdf.PageSizeA4}) // W: 595, H: 842
|
||||||
if err := pdf.AddTTFFont("main", "data/JetBrainsMono-Medium.ttf"); err != nil {
|
file, err := f.Open("JetBrainsMono-Medium.ttf")
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if err := pdf.AddTTFFontByReader("main", file); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := pdf.SetFont("main", "", 10); err != nil {
|
if err := pdf.SetFont("main", "", 10); err != nil {
|
||||||
@ -42,7 +51,7 @@ func CreateTeamsPdf(teams []*models.Team) ([]byte, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
buffer := &bytes.Buffer{}
|
buffer := &bytes.Buffer{}
|
||||||
_, err := pdf.WriteTo(buffer)
|
_, err = pdf.WriteTo(buffer)
|
||||||
return buffer.Bytes(), err
|
return buffer.Bytes(), err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BIN
static/.DS_Store
vendored
BIN
static/.DS_Store
vendored
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user