Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/h-enk/doks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'content/docs/core-hyas/performance.md')
-rw-r--r--content/docs/core-hyas/performance.md61
1 files changed, 61 insertions, 0 deletions
diff --git a/content/docs/core-hyas/performance.md b/content/docs/core-hyas/performance.md
new file mode 100644
index 0000000..3d88fdc
--- /dev/null
+++ b/content/docs/core-hyas/performance.md
@@ -0,0 +1,61 @@
+---
+title: "Performance"
+description: "Get 100 scores on Google Lighthouse by default. Hyas removes unused css, prefetches links, and lazy loads images."
+lead: "Get 100 scores on <a href=\"https://googlechrome.github.io/lighthouse/viewer/?gist=8b7aec005ae7b9e128ad5c4e2f125fea\">Google Lighthouse</a> by default. Hyas removes unused css, prefetches links, and lazy loads images."
+date: 2020-09-17T15:37:44+02:00
+lastmod: 2020-09-17T15:37:44+02:00
+draft: false
+images: []
+menu:
+ docs:
+ parent: "core-hyas"
+weight: 220
+toc: true
+---
+
+## Unused CSS removal
+
+`./config/postcss.config.js`:
+
+```js
+const autoprefixer = require('autoprefixer');
+const purgecss = require('@fullhuman/postcss-purgecss');
+const whitelister = require('purgecss-whitelister');
+
+module.exports = {
+ plugins: [
+ autoprefixer(),
+ purgecss({
+ content: [
+ './layouts/**/*.html',
+ './content/**/*.md',
+ ],
+ whitelist: [
+ 'lazyloaded',
+ ...whitelister([
+ './assets/scss/components/_syntax.scss',
+ './assets/scss/components/_code.scss',
+ ]),
+ ],
+ }),
+ ],
+}
+```
+
+See also the PurgeCSS docs: [Configuration](https://purgecss.com/configuration.html), and the Purgecss Whitelister [Readme](https://github.com/qodesmith/purgecss-whitelister#readme).
+
+## Asset minification
+
+Hyas uses [Hugo](https://gohugo.io/hugo-pipes/minification/) to minify CSS, JS and HTML.
+
+## Link prefetching
+
+Hyas uses [instant.page](https://instant.page/) with default settings for link prefetching. By default, instant.page preloads 65 ms after hovering a link and when a mobile user starts touching their display.
+
+See also the instant.page website: [Intensity](https://instant.page/intensity).
+
+## Lazy loading images
+
+Hyas uses [lazysizes](https://github.com/aFarkas/lazysizes) with a Low Quality Image Placeholder (LQIP) to lazyload images added with the [image shortcode]({{< ref "layouts" >}}). The LQIP is blurred with a CSS filter.
+
+See also the lazysizes [Readme](https://github.com/aFarkas/lazysizes#readme)