-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: Remove liquid templates #353
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -3,6 +3,8 @@ const common = require("./webpack.common.js"); | |||||||||||||||||||||||||||||||||||||||||||
const HtmlWebpackPlugin = require("html-webpack-plugin"); | ||||||||||||||||||||||||||||||||||||||||||||
const fs = require("fs"); | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
const htmlLayout = fs.readFileSync("./site/layout.html"); | ||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. loader-update: Set the
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
module.exports = (env, argv) => { | ||||||||||||||||||||||||||||||||||||||||||||
// add --mode=production to flip this into a pseudo-production server | ||||||||||||||||||||||||||||||||||||||||||||
const emulateProdServer = argv.mode === "production"; | ||||||||||||||||||||||||||||||||||||||||||||
|
@@ -17,22 +19,6 @@ module.exports = (env, argv) => { | |||||||||||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||||||||||||
mode: emulateProdServer ? "production" : "development", | ||||||||||||||||||||||||||||||||||||||||||||
devtool: emulateProdServer ? false : "inline-source-map", | ||||||||||||||||||||||||||||||||||||||||||||
module: { | ||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. loader-update: Partially revert this change, modifying module: {
rules: [
{
test: /\.html$/,
use: [
{
loader: "html-loader",
options: {
// wrap the content of the html file in the layout.html file
preprocessor: (content) =>
htmlLayout.replace(
"<%=content%>",
content
),
},
},
],
},
],
}, |
||||||||||||||||||||||||||||||||||||||||||||
rules: [ | ||||||||||||||||||||||||||||||||||||||||||||
{ | ||||||||||||||||||||||||||||||||||||||||||||
test: /\.html$/, | ||||||||||||||||||||||||||||||||||||||||||||
use: [ | ||||||||||||||||||||||||||||||||||||||||||||
"html-loader", | ||||||||||||||||||||||||||||||||||||||||||||
{ | ||||||||||||||||||||||||||||||||||||||||||||
loader: "liquidjs-loader", | ||||||||||||||||||||||||||||||||||||||||||||
options: { | ||||||||||||||||||||||||||||||||||||||||||||
root: "./site/", | ||||||||||||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||||||||||||
], | ||||||||||||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||||||||||||
], | ||||||||||||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||||||||||||
devServer: { | ||||||||||||||||||||||||||||||||||||||||||||
open: false, | ||||||||||||||||||||||||||||||||||||||||||||
host: | ||||||||||||||||||||||||||||||||||||||||||||
|
@@ -51,13 +37,20 @@ module.exports = (env, argv) => { | |||||||||||||||||||||||||||||||||||||||||||
}, | ||||||||||||||||||||||||||||||||||||||||||||
plugins: [ | ||||||||||||||||||||||||||||||||||||||||||||
// create an html page for every item in ./site/views | ||||||||||||||||||||||||||||||||||||||||||||
...fs.readdirSync("./site/views").map( | ||||||||||||||||||||||||||||||||||||||||||||
(f) => | ||||||||||||||||||||||||||||||||||||||||||||
new HtmlWebpackPlugin({ | ||||||||||||||||||||||||||||||||||||||||||||
template: "./site/views/" + f, | ||||||||||||||||||||||||||||||||||||||||||||
filename: f, | ||||||||||||||||||||||||||||||||||||||||||||
}) | ||||||||||||||||||||||||||||||||||||||||||||
), | ||||||||||||||||||||||||||||||||||||||||||||
...fs.readdirSync("./site/views").map((f) => { | ||||||||||||||||||||||||||||||||||||||||||||
const htmlView = fs.readFileSync( | ||||||||||||||||||||||||||||||||||||||||||||
`./site/views/${f}`, | ||||||||||||||||||||||||||||||||||||||||||||
"utf8" | ||||||||||||||||||||||||||||||||||||||||||||
); | ||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||
return new HtmlWebpackPlugin({ | ||||||||||||||||||||||||||||||||||||||||||||
templateContent: new Function( | ||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The use of |
||||||||||||||||||||||||||||||||||||||||||||
["content"], | ||||||||||||||||||||||||||||||||||||||||||||
`return \`${htmlLayout}\`;` | ||||||||||||||||||||||||||||||||||||||||||||
)(htmlView), | ||||||||||||||||||||||||||||||||||||||||||||
filename: f, | ||||||||||||||||||||||||||||||||||||||||||||
}); | ||||||||||||||||||||||||||||||||||||||||||||
}), | ||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+40
to
+53
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. loader-update: Revert this change
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||
], | ||||||||||||||||||||||||||||||||||||||||||||
optimization: { | ||||||||||||||||||||||||||||||||||||||||||||
splitChunks: { | ||||||||||||||||||||||||||||||||||||||||||||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -67,7 +67,6 @@ | |
"husky": "^9.0.11", | ||
"jest": "^29.7.0", | ||
"jest-environment-jsdom": "^29.7.0", | ||
"liquidjs-loader": "^1.0.1", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎉 |
||
"mini-css-extract-plugin": "^2.8.1", | ||
"mini-svg-data-uri": "^1.4.4", | ||
"postcss": "^8.4.38", | ||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -127,11 +127,7 @@ | |||||
<label id="a11y-editor-label" class="v-visible-sr"> | ||||||
Stacks-Editor demo implementation | ||||||
</label> | ||||||
{% block content %} | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'll miss having this default example for reference, but... not so much that I'd block this change from going in. lgtm |
||||||
<h1 class="mt32">Minimum viable example</h1> | ||||||
<textarea id="content" name="content" class="d-none"></textarea> | ||||||
<div id="example-1"></div> | ||||||
{% endblock %} | ||||||
${content} | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. loader-update: I changed this to use lodash templating syntax, which is what html-webpack-template uses by default. The syntax doesn't actually matter, but it'll at least be internally consistent if we decide to use any of the other supported templating features later.
Suggested change
|
||||||
</main> | ||||||
</body> | ||||||
</html> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,3 @@ | ||
{% layout "layout.html" %} {% block content %} | ||
<textarea id="content" name="content" class="d-none"></textarea> | ||
<h1 class="mt32">Empty starter page</h1> | ||
<div id="example-1" class="js-tables-enabled"></div> | ||
{% endblock %} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,3 @@ | ||
{% layout "layout.html" %} {% block content %} | ||
<textarea id="content" name="content" class="d-none"></textarea> | ||
<h1 class="mt32">this text area should populate without an image button</h1> | ||
<div id="example-1" class="js-images-disabled"></div> | ||
{% endblock %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
optional: Move this into the exported function (after line 8) so it only runs when invoked.
In this circumstance it changes basically nothing, but its generally good form to avoid side effects on import when possible.