Skip to content

Commit ad90643

Browse files
committed
Optimize pretty page resource packing and load orders
1 parent 197292b commit ad90643

2 files changed

Lines changed: 63 additions & 29 deletions

File tree

public/views/pretty.ejs

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,16 @@
1818
<link rel="icon" type="image/png" href="<%- url %>/favicon.png">
1919
<link rel="apple-touch-icon" href="<%- url %>/apple-touch-icon.png">
2020
<% if(useCDN) { %>
21+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" />
22+
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" integrity="sha256-eZrrJcwDc/3uDhsdt61sL2oOBY362qM3lon1gyExkL0=" crossorigin="anonymous" />
2123
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css" integrity="sha256-3iu9jgsy9TpTwXKb7bNQzqWekRX7pPK+2OLj3R922fo=" crossorigin="anonymous" />
2224
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/octicons/3.5.0/octicons.min.css" integrity="sha256-QiWfLIsCT02Sdwkogf6YMiQlj4NE84MKkzEMkZnMGdg=" crossorigin="anonymous" />
23-
<link rel="stylesheet" href="<%- url %>/css/google-font.css">
25+
<link rel="stylesheet" href='<%- url %>/build/emojify.js/dist/css/basic/emojify.min.css'>
26+
<%- include build/pretty-header %>
2427
<% } else { %>
25-
<link rel="stylesheet" href="<%- url %>/vendor/Ionicons/css/ionicons.min.css">
26-
<link rel="stylesheet" href="<%- url %>/vendor/octicons/octicons/octicons.css">
27-
<link rel="stylesheet" href="<%- url %>/css/font.css">
28+
<link rel="stylesheet" href='<%- url %>/build/emojify.js/dist/css/basic/emojify.min.css'>
29+
<%- include build/pretty-pack-header %>
2830
<% } %>
29-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha256-916EbMg70RQy9LHiGkXzG8hSg9EdNy97GazNG/aiY1w=" crossorigin="anonymous" />
30-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" integrity="sha256-AIodEDkC8V/bHBkfyxzolUMw57jeQ9CauwhVW6YJ9CA=" crossorigin="anonymous" />
31-
<link rel="stylesheet" href='<%- url %>/css/github-extract.css'>
32-
<link rel="stylesheet" href='<%- url %>/css/gist.css'>
33-
<link rel="stylesheet" href="<%- url %>/css/mermaid.css">
34-
<link rel="stylesheet" href='<%- url %>/css/markdown.css'>
35-
<link rel="stylesheet" href='<%- url %>/vendor/emojify.js/dist/css/basic/emojify.min.css'>
36-
<%- include build/pretty-header %>
3731
<%- include polyfill %>
3832
</head>
3933

@@ -82,28 +76,24 @@
8276
MathJax.Hub.Config({ messageStyle: "none", skipStartupTypeset: true ,tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']], processEscapes: true }});
8377
</script>
8478
<% if(useCDN) { %>
79+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
80+
<script src="https://cdnjs.cloudflare.com/ajax/libs/velocity/1.3.1/velocity.min.js" integrity="sha256-zt0EvRuKYSkXKgIFLrJIYeZsBjIZLel9UThCm5GI6io=" crossorigin="anonymous" defer></script>
81+
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous" defer></script>
82+
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js" integrity="sha256-jnOjDTXIPqall8M0MyTSt98JetJuZ7Yu+1Jm7hLTF7U=" crossorigin="anonymous" defer></script>
8583
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/3.6.1/js-yaml.min.js" integrity="sha256-tvANaUGcQTLkCS9wHnLZhBFVfIWQJpm98WOpykjD+eo=" crossorigin="anonymous" defer></script>
8684
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js" integrity="sha256-yYfngbEKv4RENfGDvNUqJTqGFcKf31NJEe9OTnnMH3Y=" crossorigin="anonymous" defer></script>
8785
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-immzXfCGLhnx3Zfi9F/dUcqxEM8K3o3oTFy9Bh6HCwg=" crossorigin="anonymous" defer></script>
8886
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment-with-locales.min.js" integrity="sha256-J5wam9fTysK5BqYlUUBjbomFslRxkLgwB9AhnVWsj1Q=" crossorigin="anonymous" defer></script>
8987
<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/6.0.0/mermaid.min.js" integrity="sha256-Yabf6Mj1TPKd6h4F6z5xRR1/2son0Wg8NhvjYnhcQcY=" crossorigin="anonymous" defer></script>
9088
<script src="https://cdnjs.cloudflare.com/ajax/libs/emojify.js/1.1.0/js/emojify.min.js" integrity="sha256-VAB5tAlKBvgaxw8oJ1crWMVbdmBVl4mP/2M8MNRl+4E=" crossorigin="anonymous" defer></script>
91-
<% } else { %>
92-
<script src="<%- url %>/vendor/js-yaml/dist/js-yaml.min.js" defer></script>
93-
<script src="<%- url %>/vendor/MathJax/MathJax.js" defer></script>
94-
<script src="<%- url %>/vendor/MathJax/config/TeX-AMS-MML_HTMLorMML.js" defer></script>
95-
<script src="<%- url %>/vendor/moment/min/moment-with-locales.js" defer></script>
96-
<script src="<%- url %>/vendor/mermaid/dist/mermaid.min.js" defer></script>
97-
<script src="<%- url %>/vendor/emojify.js/dist/js/emojify.min.js" defer></script>
98-
<% } %>
99-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js" integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=" crossorigin="anonymous"></script>
100-
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" integrity="sha256-KM512VNnjElC30ehFwehXjx1YCHPiQkOPmqnrWtpccM=" crossorigin="anonymous"></script>
101-
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha256-U5ZEeKfGNOja007MMD3YBI0A3OSZOQbeG6z2f2Y0hu8=" crossorigin="anonymous" defer></script>
10289
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.min.js" integrity="sha256-rMOSOM5HDzVEMoVZTv2189+RKSTSgY5ZKfTfap7q2zE=" crossorigin="anonymous" defer></script>
103-
<script src="https://cdnjs.cloudflare.com/ajax/libs/gist-embed/2.5/gist-embed.min.js" integrity="sha256-hmjTba0C6gzDF3N0+Opwd/Jxk4e8ypWrcBw/57rY0Dk=" crossorigin="anonymous" defer></script>
10490
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.7.0/highlight.min.js" integrity="sha256-s63qpgPYoQk+wv3U6WZqioVJrwFNBTgD4dkeegLuwvo=" crossorigin="anonymous" defer></script>
105-
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.16.4/lodash.min.js" integrity="sha256-KteOoEtQ75FeAFFOTJZlvNt0iJ8NMusVDESd5jlwKEQ=" crossorigin="anonymous" defer></script>
91+
<script src="https://cdnjs.cloudflare.com/ajax/libs/gist-embed/2.6.0/gist-embed.min.js" integrity="sha256-KyF2D6xPIJUW5sUDSs93vWyZm+1RzIpKCexxElmxl8g=" crossorigin="anonymous" defer></script>
10692
<script src="https://cdnjs.cloudflare.com/ajax/libs/viz.js/1.3.0/viz.js" integrity="sha256-FGmk+pMdOeRk4xTJ168rnGms1KjYi6jYMYaNEmSsvuQ=" crossorigin="anonymous" defer></script>
10793
<%- include build/pretty-scripts %>
108-
<script src="<%- url %>/js/reveal-markdown.js" defer></script>
94+
<% } else { %>
95+
<script src="<%- url %>/build/MathJax/MathJax.js" defer></script>
96+
<script src="<%- url %>/build/MathJax/config/TeX-AMS-MML_HTMLorMML.js" defer></script>
97+
<%- include build/pretty-pack-scripts %>
98+
<% } %>
10999
<%- include ga %>

webpackBaseConfig.js

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,30 @@ module.exports = {
7171
filename: path.join(__dirname, 'public/views/build/cover-pack-scripts.ejs'),
7272
inject: false
7373
}),
74+
new HtmlWebpackPlugin({
7475
template: 'public/views/includes/header.ejs',
75-
chunks: ['vendor', 'pretty'],
76+
chunks: ['font', 'pretty-styles', 'pretty'],
7677
filename: path.join(__dirname, 'public/views/build/pretty-header.ejs'),
7778
inject: false
7879
}),
80+
new HtmlWebpackPlugin({
81+
template: 'public/views/includes/header.ejs',
82+
chunks: ['font-pack', 'pretty-styles-pack', 'pretty-styles', 'pretty'],
83+
filename: path.join(__dirname, 'public/views/build/pretty-pack-header.ejs'),
84+
inject: false
85+
}),
7986
new HtmlWebpackPlugin({
8087
template: 'public/views/includes/scripts.ejs',
81-
chunks: ['vendor', 'pretty'],
88+
chunks: ['pretty'],
8289
filename: path.join(__dirname, 'public/views/build/pretty-scripts.ejs'),
8390
inject: false
8491
}),
8592
new HtmlWebpackPlugin({
93+
template: 'public/views/includes/scripts.ejs',
94+
chunks: ['common', 'pretty-pack'],
95+
filename: path.join(__dirname, 'public/views/build/pretty-pack-scripts.ejs'),
96+
inject: false
97+
}),
8698
template: 'public/views/includes/header.ejs',
8799
chunks: ['vendor', 'slide'],
88100
filename: path.join(__dirname, 'public/views/build/slide-header.ejs'),
@@ -121,7 +133,6 @@ module.exports = {
121133
],
122134

123135
entry: {
124-
pretty: path.join(__dirname, 'public/js/pretty.js'),
125136
slide: path.join(__dirname, 'public/js/slide.js'),
126137
font: path.join(__dirname, 'public/css/google-font.css'),
127138
"font-pack": path.join(__dirname, 'public/css/font.css'),
@@ -222,6 +233,39 @@ module.exports = {
222233
path.join(__dirname, 'public/js/reveal-markdown.js'),
223234
path.join(__dirname, 'public/js/index.js')
224235
],
236+
pretty: [
237+
"expose?filterXSS!xss",
238+
"flowchart.js",
239+
"js-sequence-diagrams",
240+
path.join(__dirname, 'public/js/reveal-markdown.js'),
241+
path.join(__dirname, 'public/js/pretty.js')
242+
],
243+
"pretty-styles": [
244+
path.join(__dirname, 'public/css/github-extract.css'),
245+
path.join(__dirname, 'public/css/mermaid.css'),
246+
path.join(__dirname, 'public/css/markdown.css')
247+
],
248+
"pretty-styles-pack": [
249+
path.join(__dirname, 'node_modules/bootstrap/dist/css/bootstrap.min.css'),
250+
path.join(__dirname, 'node_modules/font-awesome/css/font-awesome.min.css'),
251+
path.join(__dirname, 'node_modules/ionicons/css/ionicons.min.css'),
252+
path.join(__dirname, 'node_modules/octicons/octicons/octicons.css')
253+
],
254+
"pretty-pack": [
255+
"expose?jsyaml!js-yaml",
256+
"script!mermaid",
257+
"expose?moment!moment",
258+
"script!handlebars",
259+
"expose?hljs!highlight.js",
260+
"expose?emojify!emojify.js",
261+
"expose?filterXSS!xss",
262+
"script!gist-embed",
263+
"flowchart.js",
264+
"js-sequence-diagrams",
265+
"expose?Viz!viz.js",
266+
path.join(__dirname, 'public/js/reveal-markdown.js'),
267+
path.join(__dirname, 'public/js/pretty.js')
268+
],
225269
]
226270
},
227271

0 commit comments

Comments
 (0)