@maizzle/framework 4.0.0-alpha.9 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/.editorconfig +9 -9
  2. package/.github/media/logo-dark.svg +1 -0
  3. package/.github/media/logo-light.svg +1 -0
  4. package/.github/workflows/nodejs.yml +28 -28
  5. package/LICENSE +21 -21
  6. package/README.md +42 -35
  7. package/bin/maizzle +3 -3
  8. package/package.json +91 -91
  9. package/src/generators/config.js +32 -32
  10. package/src/generators/output/index.js +4 -4
  11. package/src/generators/output/to-disk.js +208 -208
  12. package/src/generators/output/to-string.js +1 -5
  13. package/src/generators/postcss.js +29 -29
  14. package/src/generators/posthtml.js +66 -66
  15. package/src/index.js +17 -17
  16. package/src/transformers/attributeToStyle.js +90 -90
  17. package/src/transformers/baseUrl.js +69 -69
  18. package/src/transformers/extraAttributes.js +26 -26
  19. package/src/transformers/filters/defaultFilters.js +126 -126
  20. package/src/transformers/filters/index.js +55 -55
  21. package/src/transformers/index.js +63 -60
  22. package/src/transformers/inlineCss.js +37 -50
  23. package/src/transformers/markdown.js +19 -19
  24. package/src/transformers/minify.js +21 -21
  25. package/src/transformers/plaintext.js +23 -23
  26. package/src/transformers/posthtmlMso.js +10 -10
  27. package/src/transformers/prettify.js +9 -11
  28. package/src/transformers/preventWidows.js +13 -13
  29. package/src/transformers/removeAttributes.js +17 -17
  30. package/src/transformers/removeInlineBackgroundColor.js +52 -52
  31. package/src/transformers/removeInlineSizes.js +41 -41
  32. package/src/transformers/replaceStrings.js +14 -14
  33. package/src/transformers/safeClassNames.js +24 -24
  34. package/src/transformers/shorthandInlineCSS.js +19 -0
  35. package/src/transformers/sixHex.js +33 -33
  36. package/src/transformers/urlParameters.js +17 -17
  37. package/src/utils/helpers.js +17 -17
  38. package/test/expected/posthtml/component.html +1 -1
  39. package/test/expected/posthtml/extend-template.html +2 -2
  40. package/test/expected/posthtml/fetch.html +5 -5
  41. package/test/expected/posthtml/layout.html +3 -3
  42. package/test/expected/transformers/atimport-in-style.html +12 -13
  43. package/test/expected/transformers/base-url.html +99 -99
  44. package/test/expected/transformers/preserve-transform-css.html +33 -45
  45. package/test/expected/useConfig.html +6 -6
  46. package/test/fixtures/posthtml/component.html +2 -2
  47. package/test/fixtures/posthtml/extend-template.html +7 -7
  48. package/test/fixtures/posthtml/fetch.html +9 -9
  49. package/test/fixtures/posthtml/layout.html +11 -11
  50. package/test/fixtures/transformers/base-url.html +101 -101
  51. package/test/stubs/assets/foo.bar +1 -1
  52. package/test/stubs/breaking/bad.html +5 -5
  53. package/test/stubs/config/config.js +10 -10
  54. package/test/stubs/config/config.maizzle-ci.js +10 -10
  55. package/test/stubs/data.json +14 -14
  56. package/test/stubs/events/before-create.html +1 -1
  57. package/test/stubs/layouts/basic.html +1 -1
  58. package/test/stubs/layouts/full.html +12 -12
  59. package/test/stubs/layouts/template.html +5 -5
  60. package/test/stubs/main.css +5 -5
  61. package/test/stubs/tailwind/content-source.html +1 -1
  62. package/test/stubs/tailwind/tailwind.css +3 -3
  63. package/test/stubs/template.html +10 -10
  64. package/test/test-config.js +19 -19
  65. package/test/test-postcss.js +8 -8
  66. package/test/test-posthtml.js +17 -11
  67. package/test/test-tailwindcss.js +117 -117
  68. package/test/test-todisk.js +1 -1
  69. package/test/test-transformers.js +511 -490
  70. package/xo.config.js +22 -22
@@ -1,99 +1,99 @@
1
- <html>
2
- <head>
3
- <style>.test {
4
- background-image: url('https://example.com/image.jpg');
5
- background: url('https://example.com/image.jpg');
6
- background-image: url('https://preserve.me/image.jpg');
7
- background: url('https://preserve.me/image.jpg');
8
- }
9
-
10
- .test-2 {
11
- background-image: url("https://example.com/image.jpg");
12
- background: url("https://example.com/image.jpg");
13
- background-image: url("https://preserve.me/image.jpg");
14
- background: url("https://preserve.me/image.jpg");
15
- }
16
-
17
- .test-3 {
18
- background-image: url(https://example.com/image.jpg);
19
- background: url(https://example.com/image.jpg);
20
- background-image: url(https://preserve.me/image.jpg);
21
- background: url(https://preserve.me/image.jpg);
22
- }</style>
23
- </head>
24
-
25
- <body>
26
- <img src="https://example.com/test.jpg">
27
- <img src="https://example.com/test.jpg">
28
-
29
- <img src="https://example.com/image1.jpg" srcset="https://example.com/image1-HD.jpg 2x, https://example.com/image1-phone.jpg 100w">
30
-
31
- <img src="https://example.com/image2.jpg" srcset="https://example.com/image2-HD.jpg 2x, https://example.com/image2-phone.jpg 100w">
32
-
33
- <picture>
34
- <source media="(max-width: 799px)" srcset="https://example.com/elva-480w-close-portrait.jpg">
35
- <source media="(min-width: 800px)" srcset="https://example.com/elva-800w.jpg">
36
- <img src="https://example.com/elva-800w.jpg" alt="...">
37
- </picture>
38
-
39
- <video width="250" poster="https://example.com/flower.jpg">
40
- <source src="https://example.com/media/flower.webm" type="video/webm">
41
- <source src="https://example.tv/media/flower.mp4" type="video/mp4">
42
- <track default="" kind="captions" srclang="en" src="https://example.com/media/tracks/friday.vtt">
43
- </video>
44
-
45
- <audio src="https://example.com/media/sample.mp3">
46
- Fallback content
47
- </audio>
48
-
49
- <embed type="video/webm" src="https://example.com/media/flower.mp4" width="250" height="200">
50
-
51
- <iframe width="300" height="200" src="https://example.com/embed.html"></iframe>
52
-
53
- <input type="image" src="https://example.com/image.jpg" alt="">
54
-
55
- <script src="https://example.com/javascript.js"></script>
56
-
57
- <div>
58
- <!--[if mso]>
59
- <v:image xmlns:v="urn:schemas-microsoft-com:vml" src="https://example.com/image.jpg" style="width:600px;height:400px;" />
60
- <v:rect fill="false" stroke="false" style="position:absolute;width:600px;height:400px;">
61
- <v:textbox inset="0,0,0,0"><div><![endif]-->
62
- <div>test</div>
63
- <!--[if mso]></div></v:textbox></v:rect><![endif]-->
64
- </div>
65
-
66
- <!--[if mso]>
67
- <v:image src="https://example.com/image-2.jpg" xmlns:v="urn:schemas-microsoft-com:vml" style="width:600px;height:400px;" />
68
- <![endif]-->
69
-
70
- <!--[if mso]>
71
- <v:image xmlns:v="urn:schemas-microsoft-com:vml" src="https://example.com/image-3.jpg" style="width:600px;height:400px;" />
72
- <![endif]-->
73
-
74
- <table>
75
- <tr>
76
- <td background="https://example.com/image.png" bgcolor="#7bceeb" width="120" height="92" valign="top">
77
- <!--[if gte mso 9]>
78
- <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:120px;height:92px;">
79
- <v:fill type="tile" src="https://example.com/image.png" color="#7bceeb" />
80
- <v:textbox inset="0,0,0,0">
81
- <![endif]-->
82
- <div>test</div>
83
- <!--[if gte mso 9]>
84
- </v:textbox>
85
- </v:rect>
86
- <![endif]-->
87
- </td>
88
- </tr>
89
- </table>
90
-
91
- <!--[if mso]>
92
- <v:fill type="tile" src="https://example.com/image.png" color="#7bceeb" />
93
- <![endif]-->
94
-
95
- <!--[if mso]>
96
- <v:fill type="tile" src="https://example.com/image.png" color="#7bceeb" />
97
- <![endif]-->
98
- </body>
99
- </html>
1
+ <html>
2
+ <head>
3
+ <style>.test {
4
+ background-image: url('https://example.com/image.jpg');
5
+ background: url('https://example.com/image.jpg');
6
+ background-image: url('https://preserve.me/image.jpg');
7
+ background: url('https://preserve.me/image.jpg');
8
+ }
9
+
10
+ .test-2 {
11
+ background-image: url("https://example.com/image.jpg");
12
+ background: url("https://example.com/image.jpg");
13
+ background-image: url("https://preserve.me/image.jpg");
14
+ background: url("https://preserve.me/image.jpg");
15
+ }
16
+
17
+ .test-3 {
18
+ background-image: url(https://example.com/image.jpg);
19
+ background: url(https://example.com/image.jpg);
20
+ background-image: url(https://preserve.me/image.jpg);
21
+ background: url(https://preserve.me/image.jpg);
22
+ }</style>
23
+ </head>
24
+
25
+ <body>
26
+ <img src="https://example.com/test.jpg">
27
+ <img src="https://example.com/test.jpg">
28
+
29
+ <img src="https://example.com/image1.jpg" srcset="https://example.com/image1-HD.jpg 2x, https://example.com/image1-phone.jpg 100w">
30
+
31
+ <img src="https://example.com/image2.jpg" srcset="https://example.com/image2-HD.jpg 2x, https://example.com/image2-phone.jpg 100w">
32
+
33
+ <picture>
34
+ <source media="(max-width: 799px)" srcset="https://example.com/elva-480w-close-portrait.jpg">
35
+ <source media="(min-width: 800px)" srcset="https://example.com/elva-800w.jpg">
36
+ <img src="https://example.com/elva-800w.jpg" alt="...">
37
+ </picture>
38
+
39
+ <video width="250" poster="https://example.com/flower.jpg">
40
+ <source src="https://example.com/media/flower.webm" type="video/webm">
41
+ <source src="https://example.tv/media/flower.mp4" type="video/mp4">
42
+ <track default="" kind="captions" srclang="en" src="https://example.com/media/tracks/friday.vtt">
43
+ </video>
44
+
45
+ <audio src="https://example.com/media/sample.mp3">
46
+ Fallback content
47
+ </audio>
48
+
49
+ <embed type="video/webm" src="https://example.com/media/flower.mp4" width="250" height="200">
50
+
51
+ <iframe width="300" height="200" src="https://example.com/embed.html"></iframe>
52
+
53
+ <input type="image" src="https://example.com/image.jpg" alt="">
54
+
55
+ <script src="https://example.com/javascript.js"></script>
56
+
57
+ <div>
58
+ <!--[if mso]>
59
+ <v:image xmlns:v="urn:schemas-microsoft-com:vml" src="https://example.com/image.jpg" style="width:600px;height:400px;" />
60
+ <v:rect fill="false" stroke="false" style="position:absolute;width:600px;height:400px;">
61
+ <v:textbox inset="0,0,0,0"><div><![endif]-->
62
+ <div>test</div>
63
+ <!--[if mso]></div></v:textbox></v:rect><![endif]-->
64
+ </div>
65
+
66
+ <!--[if mso]>
67
+ <v:image src="https://example.com/image-2.jpg" xmlns:v="urn:schemas-microsoft-com:vml" style="width:600px;height:400px;" />
68
+ <![endif]-->
69
+
70
+ <!--[if mso]>
71
+ <v:image xmlns:v="urn:schemas-microsoft-com:vml" src="https://example.com/image-3.jpg" style="width:600px;height:400px;" />
72
+ <![endif]-->
73
+
74
+ <table>
75
+ <tr>
76
+ <td background="https://example.com/image.png" bgcolor="#7bceeb" width="120" height="92" valign="top">
77
+ <!--[if gte mso 9]>
78
+ <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:120px;height:92px;">
79
+ <v:fill type="tile" src="https://example.com/image.png" color="#7bceeb" />
80
+ <v:textbox inset="0,0,0,0">
81
+ <![endif]-->
82
+ <div>test</div>
83
+ <!--[if gte mso 9]>
84
+ </v:textbox>
85
+ </v:rect>
86
+ <![endif]-->
87
+ </td>
88
+ </tr>
89
+ </table>
90
+
91
+ <!--[if mso]>
92
+ <v:fill type="tile" src="https://example.com/image.png" color="#7bceeb" />
93
+ <![endif]-->
94
+
95
+ <!--[if mso]>
96
+ <v:fill type="tile" src="https://example.com/image.png" color="#7bceeb" />
97
+ <![endif]-->
98
+ </body>
99
+ </html>
@@ -1,48 +1,36 @@
1
1
  <!doctype html>
2
2
  <html>
3
- <head>
4
- <style data-embed="">
5
- .block {
6
- display: block !important;
7
- }
8
- .inline {
9
- display: inline !important;
10
- }
11
- .table {
12
- display: table !important;
13
- }
14
- .contents {
15
- display: contents !important;
16
- }
17
- .truncate {
18
- overflow: hidden !important;
19
- text-overflow: ellipsis !important;
20
- white-space: nowrap !important;
21
- }
22
- .uppercase {
23
- text-transform: uppercase !important;
24
- }
25
- .lowercase {
26
- text-transform: lowercase !important;
27
- }
28
- .capitalize {
29
- text-transform: capitalize !important;
30
- }
31
- div {
32
- text-transform: uppercase;
33
- }
34
- [data-ogsc] .inexistent {
35
- color: #ef4444;
36
- }
37
- div > u + .body .gmail-android-block {
38
- display: block !important;
39
- }
40
- u + #body a {
41
- color: inherit;
42
- }
43
- </style>
44
- </head>
45
- <body>
46
- <div>test</div>
47
- </body>
3
+ <head>
4
+ <style data-embed="">.block {
5
+ display: block !important;
6
+ } .inline {
7
+ display: inline !important;
8
+ } .table {
9
+ display: table !important;
10
+ } .contents {
11
+ display: contents !important;
12
+ } .truncate {
13
+ overflow: hidden !important;
14
+ text-overflow: ellipsis !important;
15
+ white-space: nowrap !important;
16
+ } .uppercase {
17
+ text-transform: uppercase !important;
18
+ } .lowercase {
19
+ text-transform: lowercase !important;
20
+ } .capitalize {
21
+ text-transform: capitalize !important;
22
+ } div {
23
+ text-transform: uppercase;
24
+ } [data-ogsc] .inexistent {
25
+ color: #ef4444;
26
+ } div > u + .body .gmail-android-block {
27
+ display: block !important;
28
+ } u + #body a {
29
+ color: inherit;
30
+ }
31
+ </style>
32
+ </head>
33
+ <body>
34
+ <div>test</div>
35
+ </body>
48
36
  </html>
@@ -1,9 +1,9 @@
1
1
  <!doctype html>
2
2
  <html>
3
- <head>
4
- <title>test></title>
5
- </head>
6
- <body>
7
- <div>build_production</div>
8
- </body>
3
+ <head>
4
+ <title>test></title>
5
+ </head>
6
+ <body>
7
+ <div>build_production</div>
8
+ </body>
9
9
  </html>
@@ -5,7 +5,7 @@
5
5
  "foo": "bar"
6
6
  }'
7
7
  >
8
- Variable from page: [[ page.env ]]
8
+ Variable from page: [[ page.env ]]
9
9
 
10
10
  <component
11
11
  src="test/stubs/components/component.html"
@@ -14,6 +14,6 @@
14
14
  "foo": "bar (nested)"
15
15
  }'
16
16
  >
17
- Variable from page (nested): [[ page.env ]]
17
+ Variable from page (nested): [[ page.env ]]
18
18
  </component>
19
19
  </component>
@@ -1,7 +1,7 @@
1
- ---
2
- template: second
3
- ---
4
-
5
- <extends src="test/stubs/template.html">
6
- <block name="button">Child in second.html</block>
7
- </extends>
1
+ ---
2
+ template: second
3
+ ---
4
+
5
+ <extends src="test/stubs/template.html">
6
+ <block name="button">Child in second.html</block>
7
+ </extends>
@@ -1,9 +1,9 @@
1
- <extends src="test/stubs/layouts/basic.html">
2
- <block name="template">
3
- <fetch url="test/stubs/data.json">
4
- <each loop="user in response">
5
- [[ user.name ]]
6
- </each>
7
- </fetch>
8
- </block>
9
- </extends>
1
+ <extends src="test/stubs/layouts/basic.html">
2
+ <block name="template">
3
+ <fetch url="test/stubs/data.json">
4
+ <each loop="user in response">
5
+ [[ user.name ]]
6
+ </each>
7
+ </fetch>
8
+ </block>
9
+ </extends>
@@ -1,11 +1,11 @@
1
- ---
2
- greeting: Hello
3
- ---
4
-
5
- <extends src="test/stubs/layouts/basic.html">
6
- <block name="template">
7
- Environment: {{ page.env }}
8
-
9
- Front matter variable: {{ page.greeting }}
10
- </block>
11
- </extends>
1
+ ---
2
+ greeting: Hello
3
+ ---
4
+
5
+ <extends src="test/stubs/layouts/basic.html">
6
+ <block name="template">
7
+ Environment: {{ page.env }}
8
+
9
+ Front matter variable: {{ page.greeting }}
10
+ </block>
11
+ </extends>
@@ -1,101 +1,101 @@
1
- <html>
2
- <head>
3
- <style>
4
- .test {
5
- background-image: url('image.jpg');
6
- background: url('image.jpg');
7
- background-image: url('https://preserve.me/image.jpg');
8
- background: url('https://preserve.me/image.jpg');
9
- }
10
-
11
- .test-2 {
12
- background-image: url("image.jpg");
13
- background: url("image.jpg");
14
- background-image: url("https://preserve.me/image.jpg");
15
- background: url("https://preserve.me/image.jpg");
16
- }
17
-
18
- .test-3 {
19
- background-image: url(image.jpg);
20
- background: url(image.jpg);
21
- background-image: url(https://preserve.me/image.jpg);
22
- background: url(https://preserve.me/image.jpg);
23
- }
24
- </style>
25
- </head>
26
-
27
- <body>
28
- <img src="test.jpg">
29
- <img src="https://example.com/test.jpg">
30
-
31
- <img src="image1.jpg" srcset="image1-HD.jpg 2x,image1-phone.jpg 100w">
32
-
33
- <img src="https://example.com/image2.jpg" srcset="https://example.com/image2-HD.jpg 2x, https://example.com/image2-phone.jpg 100w">
34
-
35
- <picture>
36
- <source media="(max-width: 799px)" srcset="elva-480w-close-portrait.jpg">
37
- <source media="(min-width: 800px)" srcset="elva-800w.jpg">
38
- <img src="elva-800w.jpg" alt="...">
39
- </picture>
40
-
41
- <video width="250" poster="flower.jpg">
42
- <source src="media/flower.webm" type="video/webm">
43
- <source src="https://example.tv/media/flower.mp4" type="video/mp4">
44
- <track default kind="captions" srclang="en" src="media/tracks/friday.vtt">
45
- </video>
46
-
47
- <audio src="media/sample.mp3">
48
- Fallback content
49
- </audio>
50
-
51
- <embed type="video/webm" src="media/flower.mp4" width="250" height="200">
52
-
53
- <iframe width="300" height="200" src="embed.html"></iframe>
54
-
55
- <input type="image" src="image.jpg" alt="">
56
-
57
- <script src="javascript.js"></script>
58
-
59
- <div>
60
- <!--[if mso]>
61
- <v:image xmlns:v="urn:schemas-microsoft-com:vml" src="image.jpg" style="width:600px;height:400px;" />
62
- <v:rect fill="false" stroke="false" style="position:absolute;width:600px;height:400px;">
63
- <v:textbox inset="0,0,0,0"><div><![endif]-->
64
- <div>test</div>
65
- <!--[if mso]></div></v:textbox></v:rect><![endif]-->
66
- </div>
67
-
68
- <!--[if mso]>
69
- <v:image src="image-2.jpg" xmlns:v="urn:schemas-microsoft-com:vml" style="width:600px;height:400px;" />
70
- <![endif]-->
71
-
72
- <!--[if mso]>
73
- <v:image xmlns:v="urn:schemas-microsoft-com:vml" src="https://example.com/image-3.jpg" style="width:600px;height:400px;" />
74
- <![endif]-->
75
-
76
- <table>
77
- <tr>
78
- <td background="image.png" bgcolor="#7bceeb" width="120" height="92" valign="top">
79
- <!--[if gte mso 9]>
80
- <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:120px;height:92px;">
81
- <v:fill type="tile" src="image.png" color="#7bceeb" />
82
- <v:textbox inset="0,0,0,0">
83
- <![endif]-->
84
- <div>test</div>
85
- <!--[if gte mso 9]>
86
- </v:textbox>
87
- </v:rect>
88
- <![endif]-->
89
- </td>
90
- </tr>
91
- </table>
92
-
93
- <!--[if mso]>
94
- <v:fill type="tile" src="image.png" color="#7bceeb" />
95
- <![endif]-->
96
-
97
- <!--[if mso]>
98
- <v:fill type="tile" src="https://example.com/image.png" color="#7bceeb" />
99
- <![endif]-->
100
- </body>
101
- </html>
1
+ <html>
2
+ <head>
3
+ <style>
4
+ .test {
5
+ background-image: url('image.jpg');
6
+ background: url('image.jpg');
7
+ background-image: url('https://preserve.me/image.jpg');
8
+ background: url('https://preserve.me/image.jpg');
9
+ }
10
+
11
+ .test-2 {
12
+ background-image: url("image.jpg");
13
+ background: url("image.jpg");
14
+ background-image: url("https://preserve.me/image.jpg");
15
+ background: url("https://preserve.me/image.jpg");
16
+ }
17
+
18
+ .test-3 {
19
+ background-image: url(image.jpg);
20
+ background: url(image.jpg);
21
+ background-image: url(https://preserve.me/image.jpg);
22
+ background: url(https://preserve.me/image.jpg);
23
+ }
24
+ </style>
25
+ </head>
26
+
27
+ <body>
28
+ <img src="test.jpg">
29
+ <img src="https://example.com/test.jpg">
30
+
31
+ <img src="image1.jpg" srcset="image1-HD.jpg 2x,image1-phone.jpg 100w">
32
+
33
+ <img src="https://example.com/image2.jpg" srcset="https://example.com/image2-HD.jpg 2x, https://example.com/image2-phone.jpg 100w">
34
+
35
+ <picture>
36
+ <source media="(max-width: 799px)" srcset="elva-480w-close-portrait.jpg">
37
+ <source media="(min-width: 800px)" srcset="elva-800w.jpg">
38
+ <img src="elva-800w.jpg" alt="...">
39
+ </picture>
40
+
41
+ <video width="250" poster="flower.jpg">
42
+ <source src="media/flower.webm" type="video/webm">
43
+ <source src="https://example.tv/media/flower.mp4" type="video/mp4">
44
+ <track default kind="captions" srclang="en" src="media/tracks/friday.vtt">
45
+ </video>
46
+
47
+ <audio src="media/sample.mp3">
48
+ Fallback content
49
+ </audio>
50
+
51
+ <embed type="video/webm" src="media/flower.mp4" width="250" height="200">
52
+
53
+ <iframe width="300" height="200" src="embed.html"></iframe>
54
+
55
+ <input type="image" src="image.jpg" alt="">
56
+
57
+ <script src="javascript.js"></script>
58
+
59
+ <div>
60
+ <!--[if mso]>
61
+ <v:image xmlns:v="urn:schemas-microsoft-com:vml" src="image.jpg" style="width:600px;height:400px;" />
62
+ <v:rect fill="false" stroke="false" style="position:absolute;width:600px;height:400px;">
63
+ <v:textbox inset="0,0,0,0"><div><![endif]-->
64
+ <div>test</div>
65
+ <!--[if mso]></div></v:textbox></v:rect><![endif]-->
66
+ </div>
67
+
68
+ <!--[if mso]>
69
+ <v:image src="image-2.jpg" xmlns:v="urn:schemas-microsoft-com:vml" style="width:600px;height:400px;" />
70
+ <![endif]-->
71
+
72
+ <!--[if mso]>
73
+ <v:image xmlns:v="urn:schemas-microsoft-com:vml" src="https://example.com/image-3.jpg" style="width:600px;height:400px;" />
74
+ <![endif]-->
75
+
76
+ <table>
77
+ <tr>
78
+ <td background="image.png" bgcolor="#7bceeb" width="120" height="92" valign="top">
79
+ <!--[if gte mso 9]>
80
+ <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:120px;height:92px;">
81
+ <v:fill type="tile" src="image.png" color="#7bceeb" />
82
+ <v:textbox inset="0,0,0,0">
83
+ <![endif]-->
84
+ <div>test</div>
85
+ <!--[if gte mso 9]>
86
+ </v:textbox>
87
+ </v:rect>
88
+ <![endif]-->
89
+ </td>
90
+ </tr>
91
+ </table>
92
+
93
+ <!--[if mso]>
94
+ <v:fill type="tile" src="image.png" color="#7bceeb" />
95
+ <![endif]-->
96
+
97
+ <!--[if mso]>
98
+ <v:fill type="tile" src="https://example.com/image.png" color="#7bceeb" />
99
+ <![endif]-->
100
+ </body>
101
+ </html>
@@ -1 +1 @@
1
- Some asset file...
1
+ Some asset file...
@@ -1,5 +1,5 @@
1
- ---
2
- title: [THIS] should break
3
- ---
4
-
5
- <div>{{ page.title }}</div>
1
+ ---
2
+ title: [THIS] should break
3
+ ---
4
+
5
+ <div>{{ page.title }}</div>
@@ -1,10 +1,10 @@
1
- module.exports = {
2
- build: {
3
- templates: {
4
- source: '../templates',
5
- destination: {
6
- path: 'build_local'
7
- }
8
- }
9
- }
10
- }
1
+ module.exports = {
2
+ build: {
3
+ templates: {
4
+ source: '../templates',
5
+ destination: {
6
+ path: 'build_local'
7
+ }
8
+ }
9
+ }
10
+ }
@@ -1,10 +1,10 @@
1
- module.exports = {
2
- build: {
3
- templates: {
4
- source: '../templates',
5
- destination: {
6
- path: 'build_production'
7
- }
8
- }
9
- }
10
- }
1
+ module.exports = {
2
+ build: {
3
+ templates: {
4
+ source: '../templates',
5
+ destination: {
6
+ path: 'build_production'
7
+ }
8
+ }
9
+ }
10
+ }