embed bootstrap css
Generate check / check-changes (pull_request) Successful in 3s
Generate check / verify-generate (pull_request) Skipped
Quality / check-changes (pull_request) Successful in 3s
Quality / static-checks (pull_request) Successful in 20s
Quality / run-tests (pull_request) Successful in 53s
Generate check / check-changes (pull_request) Successful in 3s
Generate check / verify-generate (pull_request) Skipped
Quality / check-changes (pull_request) Successful in 3s
Quality / static-checks (pull_request) Successful in 20s
Quality / run-tests (pull_request) Successful in 53s
This commit is contained in:
1 parent
4384f28df9
commit
1b5a68d290
6 files changed
+36
-217
No files matched your search
@@ -2,7 +2,9 @@
|
||||
// standalone HTML document: the report table fragment (built from the
|
||||
// shared table definition in internal/writing/internal/tabledef, so it can
|
||||
// never drift from the terminal layout) embedded in a Bootstrap-styled page
|
||||
// with a translated title and generation timestamp.
|
||||
// with a translated title and generation timestamp. The official Bootstrap
|
||||
// 5.3.3 stylesheet is inlined via go:embed, so the document renders fully
|
||||
// offline.
|
||||
package html
|
||||
|
||||
import (
|
||||
@@ -16,11 +18,18 @@ import (
|
||||
"github.com/nmoniz/any2anexoj/internal/writing/internal/tabledef"
|
||||
)
|
||||
|
||||
// bootstrapCSSURL is the jsDelivr CDN URL for Bootstrap 5.3.3.
|
||||
const bootstrapCSSURL = "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
|
||||
|
||||
// bootstrapIntegrity is the official SRI hash for Bootstrap 5.3.3 css.
|
||||
const bootstrapIntegrity = "sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
|
||||
// bootstrapMinCSS is the official Bootstrap 5.3.3 minified CSS distribution
|
||||
// file, embedded so every rendered document renders fully offline. After any
|
||||
// version bump, re-verify provenance with:
|
||||
//
|
||||
// openssl dgst -sha384 -binary bootstrap.min.css | base64
|
||||
//
|
||||
// It must print the official SRI hash published at
|
||||
// https://getbootstrap.com/docs/5.3/getting-started/download/
|
||||
// (sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH).
|
||||
//
|
||||
//go:embed bootstrap.min.css
|
||||
var bootstrapMinCSS string
|
||||
|
||||
// Writer writes a complete HTML document for an AggregatorWriter.
|
||||
type Writer struct {
|
||||
@@ -59,15 +68,13 @@ func (hw *Writer) Render(aw *internal.AggregatorWriter) error {
|
||||
data := struct {
|
||||
Lang string
|
||||
Title string
|
||||
CSSURL string
|
||||
Integrity string
|
||||
CSS template.CSS
|
||||
TableFragment template.HTML
|
||||
GeneratedAt string
|
||||
}{
|
||||
Lang: hw.lang,
|
||||
Title: title,
|
||||
CSSURL: bootstrapCSSURL,
|
||||
Integrity: bootstrapIntegrity,
|
||||
CSS: template.CSS(bootstrapMinCSS),
|
||||
TableFragment: template.HTML(fragment),
|
||||
GeneratedAt: time.Now().UTC().Format(time.RFC3339),
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user