Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 /*! | 1 /*! |
2 * This file is part of eyeomail.com. | 2 * This file is part of eyeomail.com. |
3 * Copyright (C) 2017-present eyeo GmbH | 3 * Copyright (C) 2017-present eyeo GmbH |
4 * | 4 * |
5 * eyeomail.com is free software: you can redistribute it and/or modify | 5 * eyeomail.com is free software: you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License as published by | 6 * it under the terms of the GNU General Public License as published by |
7 * the Free Software Foundation, either version 3 of the License, or | 7 * the Free Software Foundation, either version 3 of the License, or |
8 * (at your option) any later version. | 8 * (at your option) any later version. |
9 * | 9 * |
10 * eyeomail.com is distributed in the hope that it will be useful, | 10 * eyeomail.com is distributed in the hope that it will be useful, |
(...skipping 20 matching lines...) Expand all Loading... | |
31 * CSS | 31 * CSS |
32 ******************************************************************************/ | 32 ******************************************************************************/ |
33 | 33 |
34 gulp.task("compileCss", function() { | 34 gulp.task("compileCss", function() { |
35 return gulp.src("./src/scss/main.scss") | 35 return gulp.src("./src/scss/main.scss") |
36 .pipe(postcss([autoprefixer()], {syntax: scss}).on("error", gutil.log)) | 36 .pipe(postcss([autoprefixer()], {syntax: scss}).on("error", gutil.log)) |
37 .pipe(sass({outputStyle: "compact"}).on("error", gutil.log)) | 37 .pipe(sass({outputStyle: "compact"}).on("error", gutil.log)) |
38 .pipe(gulp.dest("./dist")); | 38 .pipe(gulp.dest("./dist")); |
39 }); | 39 }); |
40 | 40 |
41 gulp.task("inlineCss", ["compileCss", "templates"], function() { | 41 gulp.task("inlineCss", ["compileCss", "moveTemplates"], function() { |
42 return fs.readFile("./dist/main.css", "utf8", function (err, styles) { | 42 return fs.readFile("./dist/main.css", "utf8", function (err, styles) { |
43 if (err) throw err; | 43 if (err) throw err; |
44 | 44 |
45 const replacement = `<!-- styles:start --> | 45 const replacement = `<!-- styles:start --> |
juliandoucette
2018/01/22 19:47:52
NIT: (Bringing up an old point, I know)
I underst
ire
2018/01/23 08:48:08
The reason I replaced the comments as well was bec
juliandoucette
2018/01/23 17:00:45
I wasn't able to find a simple regex solution. My
| |
46 <style> | 46 <style> |
47 ${styles} | 47 ${styles} |
48 </style> | 48 </style> |
49 <!-- styles:end -->`; | 49 <!-- styles:end -->`; |
50 | 50 |
51 replace({ | 51 replace({ |
52 regex: /<!-- styles:start -->([\s\S]*?)<!-- styles:end -->/, | 52 regex: /<!-- styles:start -->([\s\S]*?)<!-- styles:end -->/, |
53 replacement: replacement, | 53 replacement: replacement, |
54 paths: ["dist/signup.html"], | 54 paths: ["dist/signup.html"], |
55 recursive: true, | 55 recursive: true, |
56 silent: true, | 56 silent: true, |
57 }); | 57 }); |
58 }); | 58 }); |
59 }); | 59 }); |
60 | 60 |
61 gulp.task("css", ["inlineCss"]); | 61 gulp.task("css", ["inlineCss"]); |
62 | 62 |
63 /****************************************************************************** | 63 /****************************************************************************** |
64 * Template | 64 * Template |
65 ******************************************************************************/ | 65 ******************************************************************************/ |
66 | 66 |
67 gulp.task("templates", function() { | 67 gulp.task("moveTemplates", function() { |
juliandoucette
2018/01/22 19:47:52
NIT: This task name is inconsistent with the ones
ire
2018/01/23 08:48:09
Done.
| |
68 const templateFiles = ["./src/templates/signup.html", | 68 const templateFiles = ["./src/templates/signup.html", |
69 "./src/templates/confirm-email.html", | 69 "./src/templates/confirm-email.html", |
70 "./src/templates/subscription-confirmed-email.html"]; | 70 "./src/templates/subscription-confirmed-email.html"]; |
71 | 71 |
72 return gulp.src(templateFiles).pipe(gulp.dest("./dist")); | 72 return gulp.src(templateFiles).pipe(gulp.dest("./dist")); |
73 }); | 73 }); |
74 | 74 |
75 gulp.task("backclick", function() { | 75 gulp.task("backclick", function() { |
76 const templateFiles = ["./dist/signup.html", | 76 const templateFiles = ["./dist/signup.html", |
77 "./dist/confirm-email.html", | 77 "./dist/confirm-email.html", |
78 "./dist/subscription-confirmed-email.html"]; | 78 "./dist/subscription-confirmed-email.html"]; |
79 | 79 |
80 return Promise.all(templateFiles.map((file) => readFilePromise(file))) | 80 return Promise.all(templateFiles.map((file) => readFilePromise(file))) |
81 .then((buffers) => Promise.all(buffers.map((buffer) => buffer.toString()))) | 81 .then((buffers) => Promise.all(buffers.map((buffer) => buffer.toString()))) |
82 .then((contents) => { | 82 .then((contents) => { |
83 fs.mkdir("./dist", () => { | 83 fs.writeFile("./dist/backclick.html", contents.join("")); |
juliandoucette
2018/01/22 19:47:51
NIT: mkdir implies that a dir doesn't exist alread
ire
2018/01/23 08:48:08
The `mkdir` is actually not needed as the backclic
| |
84 fs.writeFile("./dist/backclick.html", contents.join("")); | |
juliandoucette
2018/01/22 19:47:51
NIT: A similar issue to the one above applies here
ire
2018/01/23 08:48:08
From my understanding fs.writeFile can be used to
juliandoucette
2018/01/23 17:00:45
Acknowledged.
| |
85 }) | |
86 }); | 84 }); |
87 }); | 85 }); |
88 | 86 |
89 gulp.task("template", ["css"]); | 87 gulp.task("template", ["css"]); |
90 | 88 |
91 /****************************************************************************** | 89 /****************************************************************************** |
92 * Watch | 90 * Watch |
93 ******************************************************************************/ | 91 ******************************************************************************/ |
94 | 92 |
95 gulp.task("watch", function() { | 93 gulp.task("watch", function() { |
96 gulp.watch("./src/scss/**/*.scss", ["css"]); | 94 gulp.watch("./src/scss/**/*.scss", ["css"]); |
97 gulp.watch("./src/templates/*.html", ["template", "backclick"]); | 95 gulp.watch("./src/templates/*.html", ["template", "backclick"]); |
98 }); | 96 }); |
99 | 97 |
100 /****************************************************************************** | 98 /****************************************************************************** |
101 * Default | 99 * Default |
102 ******************************************************************************/ | 100 ******************************************************************************/ |
103 | 101 |
104 gulp.task("default", ["template", "css", "watch"]); | 102 gulp.task("default", ["template", "css", "watch"]); |
LEFT | RIGHT |