From 2d38f00d49701bbff4d5e5fa8a14e823a29d213d Mon Sep 17 00:00:00 2001 From: "Rico Sta. Cruz" Date: Fri, 13 Oct 2017 17:55:19 +0800 Subject: [PATCH] More optimizations --- _includes/meta.html | 1 + _js/helpers/noop.js | 1 + _js/initializers/onmount.js | 6 +++- _layouts/2017/sheet.html | 2 +- _sass/2017/base/base.scss | 15 ++++++++++ _sass/2017/components/code-sponsor.scss | 1 + _support/webpack.config.js | 6 ++++ assets/packed/app.js | 37 +++++-------------------- 8 files changed, 37 insertions(+), 32 deletions(-) create mode 100644 _js/helpers/noop.js diff --git a/_includes/meta.html b/_includes/meta.html index 6079b5762..f9e3e2c29 100644 --- a/_includes/meta.html +++ b/_includes/meta.html @@ -82,3 +82,4 @@ gtag('config','{{ site.data.google_analytics.id }}'); {% endif %} + diff --git a/_js/helpers/noop.js b/_js/helpers/noop.js new file mode 100644 index 000000000..f52fd393b --- /dev/null +++ b/_js/helpers/noop.js @@ -0,0 +1 @@ +/* blank */ diff --git a/_js/initializers/onmount.js b/_js/initializers/onmount.js index 3a0e056b2..c15ab6e68 100644 --- a/_js/initializers/onmount.js +++ b/_js/initializers/onmount.js @@ -1,6 +1,7 @@ import wrapify from '../wrapify' import ready from 'dom101/ready' import onmount from 'onmount' +import addClass from 'dom101/add-class' /** * Behavior: Wrapping @@ -8,6 +9,9 @@ import onmount from 'onmount' ready(() => { const body = document.querySelector('[data-js-main-body]') - if (body) { wrapify(body) } + if (body) { + wrapify(body) + addClass(body, '-wrapified') + } setTimeout(() => { onmount() }) }) diff --git a/_layouts/2017/sheet.html b/_layouts/2017/sheet.html index 1d7585c60..86003b313 100644 --- a/_layouts/2017/sheet.html +++ b/_layouts/2017/sheet.html @@ -1,5 +1,5 @@ - + {% include 2017/head.html %} {% include 2017/article-schema.html page=page %} diff --git a/_sass/2017/base/base.scss b/_sass/2017/base/base.scss index 60f80b5d4..9cf3a9237 100644 --- a/_sass/2017/base/base.scss +++ b/_sass/2017/base/base.scss @@ -69,3 +69,18 @@ a:hover { } } } + +/* + * Hide markdown before it's wrapped. + */ + +html.WithJs .MarkdownBody { + & { + opacity: 0; + } + + &.-wrapified { + opacity: 1; + transition: opacity 250ms linear; + } +} diff --git a/_sass/2017/components/code-sponsor.scss b/_sass/2017/components/code-sponsor.scss index 921d574c8..de1a84d1a 100644 --- a/_sass/2017/components/code-sponsor.scss +++ b/_sass/2017/components/code-sponsor.scss @@ -3,6 +3,7 @@ text-align: center; position: relative; height: 130px; + overflow: hidden; } /* Prelude */ diff --git a/_support/webpack.config.js b/_support/webpack.config.js index 79471968c..051ebff89 100644 --- a/_support/webpack.config.js +++ b/_support/webpack.config.js @@ -47,6 +47,12 @@ module.exports = { } ] }, + resolve: { + alias: { + // Never bundle jQuery + 'jquery': join(__dirname, '..', '_js/helpers/noop.js') + } + }, stats: 'minimal', plugins: [ // Optimize module ID's for vendor chunks diff --git a/assets/packed/app.js b/assets/packed/app.js index a07c57da7..294cd786f 100644 --- a/assets/packed/app.js +++ b/assets/packed/app.js @@ -1,4 +1,4 @@ -webpackJsonp([0],{"/k7tj9kxRFhFtZjlt346":function(t,e,n){"use strict";function i(t,e){if(window.localStorage){var n=JSON.parse(window.localStorage[t]||"{}");n=e(n),window.localStorage[t]=JSON.stringify(n)}}function r(t){if(window.localStorage)return JSON.parse(window.localStorage[t]||"{}")}Object.defineProperty(e,"__esModule",{value:!0}),e.update=i,e.fetch=r},"/n6t+V4ehwYkVVtDRmGr":function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e