forked from ALHP/ALHP.GO
better dark mode
This commit is contained in:
@@ -35,6 +35,16 @@ blacklist:
|
|||||||
- llvm
|
- llvm
|
||||||
- rust
|
- rust
|
||||||
|
|
||||||
|
status:
|
||||||
|
class:
|
||||||
|
skipped: "secondary"
|
||||||
|
queued: "warning"
|
||||||
|
latest: "primary"
|
||||||
|
failed: "danger"
|
||||||
|
signing: "success"
|
||||||
|
building: "info"
|
||||||
|
unknown: "dark"
|
||||||
|
|
||||||
build:
|
build:
|
||||||
worker: 4
|
worker: 4
|
||||||
makej: 8
|
makej: 8
|
||||||
|
2
main.go
2
main.go
@@ -348,7 +348,7 @@ func (b *BuildManager) htmlWorker() {
|
|||||||
addPkg := Pkg{
|
addPkg := Pkg{
|
||||||
Pkgbase: pkg.Pkgbase,
|
Pkgbase: pkg.Pkgbase,
|
||||||
Status: strings.ToUpper(pkg.Status.String()),
|
Status: strings.ToUpper(pkg.Status.String()),
|
||||||
Class: pkg.Status.String(),
|
Class: statusId2string(pkg.Status),
|
||||||
Skip: pkg.SkipReason,
|
Skip: pkg.SkipReason,
|
||||||
Version: pkg.RepoVersion,
|
Version: pkg.RepoVersion,
|
||||||
Svn2GitVersion: pkg.Version,
|
Svn2GitVersion: pkg.Version,
|
||||||
|
@@ -7,41 +7,22 @@
|
|||||||
<title>ALHP Status</title>
|
<title>ALHP Status</title>
|
||||||
|
|
||||||
<!-- Bootstrap CSS -->
|
<!-- Bootstrap CSS -->
|
||||||
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css"
|
<!-- The page supports both dark and light color schemes,
|
||||||
integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" rel="stylesheet"/>
|
and the page author prefers / default is light. -->
|
||||||
|
<meta content="dark light" name="color-scheme">
|
||||||
|
|
||||||
|
<!-- Replace the Bootstrap CSS with the
|
||||||
|
Bootstrap-Dark Variant CSS -->
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-dark-5@1.1.3/dist/css/bootstrap-dark.min.css" rel="stylesheet">
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet"/>
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet"/>
|
||||||
<style>
|
<style>
|
||||||
.accordion:last-child {
|
.accordion:last-child {
|
||||||
padding-bottom: 8vh;
|
padding-bottom: 8vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table-latest {
|
|
||||||
--bs-table-bg: #172322;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-skipped {
|
|
||||||
--bs-table-bg: #2d2d2d;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-failed {
|
|
||||||
--bs-table-bg: #412323;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-queued {
|
|
||||||
--bs-table-bg: #8f833a;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-building {
|
|
||||||
--bs-table-bg: #375e9d;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-unknown {
|
|
||||||
--bs-table-bg: #969696;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body class="bg-dark">
|
<body>
|
||||||
<nav class="navbar navbar-expand-lg sticky-top navbar-light bg-info mb-5">
|
<nav class="navbar navbar-expand-lg sticky-top navbar-light bg-info mb-5">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="d-flex justify-content-start">
|
<div class="d-flex justify-content-start">
|
||||||
@@ -59,26 +40,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<div class="container text-light">
|
<div class="container">
|
||||||
{{range $march := .March}}
|
{{range $march := .March}}
|
||||||
<h3>{{$march.Name}}</h3>
|
<h3>{{$march.Name}}</h3>
|
||||||
<div class="accordion" id="accordion-{{$march.Name}}">
|
<div class="accordion" id="accordion-{{$march.Name}}">
|
||||||
{{range $repo := $march.Repos}}
|
{{range $repo := $march.Repos}}
|
||||||
<div class="accordion-item bg-dark bg-opacity-25 border-light">
|
<div class="accordion-item bg-opacity-25">
|
||||||
<h2 class="accordion-header" id="heading-{{$march.Name}}-{{$repo.Name}}">
|
<h2 class="accordion-header" id="heading-{{$march.Name}}-{{$repo.Name}}">
|
||||||
<button aria-controls="collapse-{{$march.Name}}-{{$repo.Name}}" aria-expanded="false"
|
<button aria-controls="collapse-{{$march.Name}}-{{$repo.Name}}" aria-expanded="false"
|
||||||
class="accordion-button bg-opacity-50 bg-dark text-light border-light"
|
class="accordion-button"
|
||||||
data-bs-target="#collapse-{{$march.Name}}-{{$repo.Name}}"
|
data-bs-target="#collapse-{{$march.Name}}-{{$repo.Name}}"
|
||||||
data-bs-toggle="collapse"
|
data-bs-toggle="collapse"
|
||||||
type="button">{{$repo.Name}}-{{$march.Name}}
|
type="button">{{$repo.Name}}-{{$march.Name}}
|
||||||
</button>
|
</button>
|
||||||
</h2>
|
</h2>
|
||||||
<div aria-labelledby="heading-{{$march.Name}}-{{$repo.Name}}"
|
<div aria-labelledby="heading-{{$march.Name}}-{{$repo.Name}}"
|
||||||
class="accordion-collapse collapse show border-light"
|
class="accordion-collapse collapse show"
|
||||||
data-bs-parent="#accordion-{{$march.Name}}" id="collapse-{{$march.Name}}-{{$repo.Name}}">
|
data-bs-parent="#accordion-{{$march.Name}}" id="collapse-{{$march.Name}}-{{$repo.Name}}">
|
||||||
<div class="accordion-body overflow-auto">
|
<div class="accordion-body overflow-auto">
|
||||||
<table class="table table-sorted">
|
<table class="table table-sorted">
|
||||||
<thead class="text-light">
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col">Pkgbase</th>
|
<th scope="col">Pkgbase</th>
|
||||||
<th scope="col">Status</th>
|
<th scope="col">Status</th>
|
||||||
@@ -91,19 +72,19 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{{range $pkg := $repo.Packages}}
|
{{range $pkg := $repo.Packages}}
|
||||||
<tr class="table-dark table-{{$pkg.Class}}"
|
<tr class="table-{{$pkg.Class}}"
|
||||||
id="{{$repo.Name}}-{{$march.Name}}-{{$pkg.Pkgbase}}">
|
id="{{$repo.Name}}-{{$march.Name}}-{{$pkg.Pkgbase}}">
|
||||||
<td>{{$pkg.Pkgbase}}</td>
|
<td>{{$pkg.Pkgbase}}</td>
|
||||||
<td>{{$pkg.Status}}</td>
|
<td>{{$pkg.Status}}</td>
|
||||||
<td>{{$pkg.Skip}}</td>
|
<td>{{$pkg.Skip}}</td>
|
||||||
<td class="text-center text-light">
|
<td class="text-center">
|
||||||
{{if $pkg.LTO}}<i class="bi bi-check-lg" title="build with LTO"></i>{{end}}
|
{{if $pkg.LTO}}<i class="bi bi-check-lg" title="build with LTO"></i>{{end}}
|
||||||
{{if $pkg.LTODisabled}}<i class="bi bi-x-lg" title="LTO explicit disabled"></i>{{end}}
|
{{if $pkg.LTODisabled}}<i class="bi bi-x-lg" title="LTO explicit disabled"></i>{{end}}
|
||||||
{{if $pkg.LTOUnknown}}<i class="bi bi-hourglass" title="not build with LTO yet"></i>{{end}}
|
{{if $pkg.LTOUnknown}}<i class="bi bi-hourglass" title="not build with LTO yet"></i>{{end}}
|
||||||
</td>
|
</td>
|
||||||
<td>{{$pkg.Svn2GitVersion}}</td>
|
<td>{{$pkg.Svn2GitVersion}}</td>
|
||||||
<td>{{$pkg.Version}}</td>
|
<td>{{$pkg.Version}}</td>
|
||||||
<td class="text-end text-light">
|
<td class="text-end">
|
||||||
{{with $pkg.Log}}<a href="{{.}}"
|
{{with $pkg.Log}}<a href="{{.}}"
|
||||||
><i class="bi bi-file-text-fill"></i></a
|
><i class="bi bi-file-text-fill"></i></a
|
||||||
>{{end}}
|
>{{end}}
|
||||||
|
24
utils.go
24
utils.go
@@ -90,6 +90,11 @@ type Conf struct {
|
|||||||
Housekeeping struct {
|
Housekeeping struct {
|
||||||
Interval string
|
Interval string
|
||||||
}
|
}
|
||||||
|
Status struct {
|
||||||
|
Class struct {
|
||||||
|
Skipped, Queued, Latest, Failed, Signing, Building, Unknown string
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type Globs []string
|
type Globs []string
|
||||||
@@ -112,6 +117,25 @@ func updateLastUpdated() {
|
|||||||
check(os.WriteFile(filepath.Join(conf.Basedir.Repo, lastUpdate), []byte(strconv.FormatInt(time.Now().Unix(), 10)), 0644))
|
check(os.WriteFile(filepath.Join(conf.Basedir.Repo, lastUpdate), []byte(strconv.FormatInt(time.Now().Unix(), 10)), 0644))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func statusId2string(s dbpackage.Status) string {
|
||||||
|
switch s {
|
||||||
|
case dbpackage.StatusSkipped:
|
||||||
|
return conf.Status.Class.Skipped
|
||||||
|
case dbpackage.StatusQueued:
|
||||||
|
return conf.Status.Class.Queued
|
||||||
|
case dbpackage.StatusLatest:
|
||||||
|
return conf.Status.Class.Latest
|
||||||
|
case dbpackage.StatusFailed:
|
||||||
|
return conf.Status.Class.Failed
|
||||||
|
case dbpackage.StatusSigning:
|
||||||
|
return conf.Status.Class.Signing
|
||||||
|
case dbpackage.StatusBuilding:
|
||||||
|
return conf.Status.Class.Building
|
||||||
|
default:
|
||||||
|
return conf.Status.Class.Unknown
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func b3sum(filePath string) (string, error) {
|
func b3sum(filePath string) (string, error) {
|
||||||
file, err := os.Open(filePath)
|
file, err := os.Open(filePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Reference in New Issue
Block a user