Go-Back-Skeleton/vendor/github.com/vanng822/go-premailer/cmd/main.go
2017-09-25 20:20:52 +02:00

48 lines
1.1 KiB
Go

package main
import (
"flag"
"fmt"
"github.com/vanng822/go-premailer/premailer"
"log"
"os"
"time"
)
func main() {
var (
inputFile string
outputFile string
removeClasses bool
skipCssToAttributes bool
)
flag.StringVar(&inputFile, "i", "", "Input file")
flag.StringVar(&outputFile, "o", "", "Output file")
flag.BoolVar(&removeClasses, "remove-classes", false, "Remove class attribute")
flag.BoolVar(&skipCssToAttributes, "skip-css-to-attributes", false, "No copy of css property to html attribute")
flag.Parse()
if inputFile == "" {
flag.Usage()
return
}
start := time.Now()
options := premailer.NewOptions()
options.RemoveClasses = removeClasses
options.CssToAttributes = !skipCssToAttributes
prem := premailer.NewPremailerFromFile(inputFile, options)
html, err := prem.Transform()
log.Printf("took: %v", time.Now().Sub(start))
if err != nil {
log.Fatal(err)
}
if outputFile != "" {
fd, err := os.Create(outputFile)
if err != nil {
log.Fatal(err)
}
defer fd.Close()
fd.WriteString(html)
} else {
fmt.Println(html)
}
}