douceur
Douceur 0.2.0
ตัวแยกวิเคราะห์ CSS ง่าย ๆ และ inliner ใน Golang
Parser ได้รับแรงบันดาลใจจากโมดูลไวยากรณ์ CSS ระดับ 3 และ JS Parser ที่สอดคล้องกัน
Inliner แยกวิเคราะห์ CSS เท่านั้นที่กำหนดไว้ในเอกสาร HTML เท่านั้นมัน ไม่ได้ ดึงรูปแบบภายนอก (ตอนนี้)
Inliner แทรกแอตทริบิวต์เพิ่มเติมเมื่อเป็นไปได้เช่น:
< html >
< head >
< style type =" text/css " >
body {
background-color: #f2f2f2;
}
</ style >
</ head >
< body >
< p > Inline me ! </ p >
</ body >
</ html > `
กลายเป็น:
< html >
< head >
</ head >
< body style =" background-color: #f2f2f2; " bgcolor =" #f2f2f2 " >
< p > Inline me ! </ p >
</ body >
</ html > `
แอตทริบิวต์ bgcolor
นั้นถูกแทรกนอกเหนือจากสไตล์ background-color
พื้นหลัง
เครื่องมือติดตั้ง:
$ go install github.com/aymerick/douceur
แยกวิเคราะห์ไฟล์ CSS และแสดงผล:
$ douceur parse inputfile.css
Inline CSS ในเอกสาร HTML และผลการแสดงผล:
$ douceur inline inputfile.html
ดึงแพ็คเกจ:
$ go get github.com/aymerick/douceur
package main
import (
"fmt"
"github.com/aymerick/douceur/parser"
)
func main () {
input := `body {
/* D4rK s1T3 */
background-color: black;
}
p {
/* Try to read that ! HAHA! */
color: red; /* L O L */
}
`
stylesheet , err := parser . Parse ( input )
if err != nil {
panic ( "Please fill a bug :)" )
}
fmt . Print ( stylesheet . String ())
}
แสดง:
body {
background-color : black;
}
p {
color : red;
}
package main
import (
"fmt"
"github.com/aymerick/douceur/inliner"
)
func main () {
input := `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style type="text/css">
p {
font-family: 'Helvetica Neue', Verdana, sans-serif;
color: #eee;
}
</style>
</head>
<body>
<p>
Inline me please!
</p>
</body>
</html>`
html , err := inliner . Inline ( input )
if err != nil {
panic ( "Please fill a bug :)" )
}
fmt . Print ( html )
}
แสดง:
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > < html xmlns = "http://www.w3.org/1999/xhtml" > < head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
< / head >
< body >
< p style = "color: #eee; font-family: 'Helvetica Neue', Verdana, sans-serif;" >
Inline me please !
< / p >
< / body > < / html >
go test ./... -v