parser: disable template variables in `<style>` (#9777)
parent
ded3ce5863
commit
3c72c6abc2
|
@ -218,6 +218,10 @@ mut sb := strings.new_builder($lstartlength)\n
|
||||||
// replace `$` to `\$` at first to escape JavaScript template literal syntax
|
// replace `$` to `\$` at first to escape JavaScript template literal syntax
|
||||||
source.writeln(line.replace(r'$', r'\$').replace(r'$$', r'@').replace(r'.$',
|
source.writeln(line.replace(r'$', r'\$').replace(r'$$', r'@').replace(r'.$',
|
||||||
r'.@').replace(r"'", r"\'"))
|
r'.@').replace(r"'", r"\'"))
|
||||||
|
} else if state == .css {
|
||||||
|
// disable template variable declaration in inline stylesheet
|
||||||
|
// because of some CSS rules prefixed with `@`.
|
||||||
|
source.writeln(line.replace(r'.$', r'.@').replace(r"'", r"\'"))
|
||||||
} else {
|
} else {
|
||||||
// HTML, may include `@var`
|
// HTML, may include `@var`
|
||||||
// escaped by cgen, unless it's a `vweb.RawHtml` string
|
// escaped by cgen, unless it's a `vweb.RawHtml` string
|
||||||
|
|
|
@ -6,6 +6,11 @@
|
||||||
h1 {
|
h1 {
|
||||||
color: green;
|
color: green;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@keyframes mymove {
|
||||||
|
from {top: 0px;}
|
||||||
|
to {top: 200px;}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<style media="print">
|
<style media="print">
|
||||||
h1 {
|
h1 {
|
||||||
|
|
|
@ -6,6 +6,11 @@
|
||||||
h1 {
|
h1 {
|
||||||
color: green;
|
color: green;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@keyframes mymove {
|
||||||
|
from {top: 0px;}
|
||||||
|
to {top: 200px;}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<style media="print">
|
<style media="print">
|
||||||
h1 {
|
h1 {
|
||||||
|
|
Loading…
Reference in New Issue