mirror of
https://github.com/prometheus/alertmanager
synced 2024-12-12 09:26:17 +00:00
c0a7b75c9c
* Automate CSS-inlining for default HTML email template The original HTML email template was added in `template/email.html`. It looks like the CSS was manually inlined. Most likely using the premailer.dialect.ca web form, which is mentioned in the README for the Mailgun transactional-email-templates project. The resulting HTML with inlined CSS was then copied into `template/default.tmpl`. This has resulted in `email.html` and `default.tmpl` diverging at times. This commit adds build automation to inline the CSS automatically using [juice][1]. The Go template containing the resulting HTML has been moved into its own file to avoid the script that performs the CSS inlining having to parse the `default.tmpl` file to insert it there. Fixes #1939. [1]: https://www.npmjs.com/package/juice Signed-off-by: Brad Ison <bison@xvdf.io> * Update asset/assets_vfsdata.go Signed-off-by: Brad Ison <bison@xvdf.io>
51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
// Copyright 2018 The Prometheus Authors
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
//go:build dev
|
|
// +build dev
|
|
|
|
package asset
|
|
|
|
import (
|
|
"net/http"
|
|
"os"
|
|
"strings"
|
|
|
|
"github.com/shurcooL/httpfs/filter"
|
|
"github.com/shurcooL/httpfs/union"
|
|
)
|
|
|
|
var static http.FileSystem = filter.Keep(
|
|
http.Dir("../ui/app"),
|
|
func(path string, fi os.FileInfo) bool {
|
|
return path == "/" ||
|
|
path == "/script.js" ||
|
|
path == "/index.html" ||
|
|
path == "/favicon.ico" ||
|
|
strings.HasPrefix(path, "/lib")
|
|
},
|
|
)
|
|
|
|
var templates http.FileSystem = filter.Keep(
|
|
http.Dir("../template"),
|
|
func(path string, fi os.FileInfo) bool {
|
|
return path == "/" || path == "/default.tmpl" || path == "/email.tmpl"
|
|
},
|
|
)
|
|
|
|
// Assets contains the project's assets.
|
|
var Assets http.FileSystem = union.New(map[string]http.FileSystem{
|
|
"/templates": templates,
|
|
"/static": static,
|
|
})
|