docs: update content
This commit is contained in:
parent
888a78a269
commit
c8c403dbf9
|
@ -4,24 +4,6 @@
|
|||
identifier = "prologue"
|
||||
url = "/docs/prologue/"
|
||||
|
||||
[[docs]]
|
||||
name = "Basic Hyas"
|
||||
weight = 20
|
||||
identifier = "basic-hyas"
|
||||
url = "/docs/basic-hyas/"
|
||||
|
||||
[[docs]]
|
||||
name = "Core Hyas"
|
||||
weight = 30
|
||||
identifier = "core-hyas"
|
||||
url = "/docs/core-hyas/"
|
||||
|
||||
[[docs]]
|
||||
name = "Guides"
|
||||
weight = 40
|
||||
identifier = "guides"
|
||||
url = "/docs/guides/"
|
||||
|
||||
[[docs]]
|
||||
name = "Help"
|
||||
weight = 50
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
title: "Basic Hyas"
|
||||
description: "Basic Hyas."
|
||||
lead: ""
|
||||
date: 2020-04-20T11:52:49+02:00
|
||||
lastmod: 2020-04-20T11:52:49+02:00
|
||||
draft: false
|
||||
images: []
|
||||
---
|
|
@ -1,53 +0,0 @@
|
|||
---
|
||||
title: "Archetypes"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2020-09-21T13:58:42+02:00
|
||||
lastmod: 2020-09-21T13:58:42+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "basic-hyas"
|
||||
weight: 130
|
||||
toc: true
|
||||
---
|
||||
|
||||
```bash
|
||||
..
|
||||
├── blog.md
|
||||
└── default.md
|
||||
```
|
||||
|
||||
See also the Hugo docs: [Archetypes](https://gohugo.io/content-management/archetypes/).
|
||||
|
||||
## blog.md
|
||||
|
||||
```md
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
description: ""
|
||||
excerpt: ""
|
||||
date: {{ .Date }}
|
||||
lastmod: {{ .Date }}
|
||||
draft: true
|
||||
weight: 50
|
||||
images: ["{{ .Name | urlize }}.jpg"]
|
||||
categories: [""]
|
||||
---
|
||||
|
||||
{{</* img src="{{ .Name | urlize }}.jpg" alt="{{ replace .Name "-" " " | title }}" caption="{{ replace .Name "-" " " | title }}" class="wide" */>}}
|
||||
```
|
||||
|
||||
## default.md
|
||||
|
||||
```md
|
||||
---
|
||||
title: "{{ replace .Name "-" " " | title }}"
|
||||
description: ""
|
||||
date: {{ .Date }}
|
||||
lastmod: {{ .Date }}
|
||||
draft: true
|
||||
images: []
|
||||
---
|
||||
```
|
|
@ -1,32 +0,0 @@
|
|||
---
|
||||
title: "Assets"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2020-09-21T14:41:53+02:00
|
||||
lastmod: 2020-09-21T14:41:53+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "basic-hyas"
|
||||
weight: 140
|
||||
toc: true
|
||||
---
|
||||
|
||||
```bash
|
||||
..
|
||||
├── fonts/
|
||||
├── images/
|
||||
├── js/
|
||||
│ ├── vendor/
|
||||
│ └── app.js
|
||||
├── lambda/
|
||||
└── scss/
|
||||
├── common/
|
||||
├── components/
|
||||
├── layouts/
|
||||
├── vendor/
|
||||
└── app.scss
|
||||
```
|
||||
|
||||
See also the Hugo docs: [Hugo Pipes](https://gohugo.io/hugo-pipes/).
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
title: "Deployment"
|
||||
description: "Deployment Hyas."
|
||||
lead: "Hyas is optimized for deployment to Netlify, but you can use any other static web host if you prefer."
|
||||
date: 2020-04-20T12:46:25+02:00
|
||||
lastmod: 2020-04-20T12:46:25+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "basic-hyas"
|
||||
weight: 160
|
||||
toc: true
|
||||
---
|
||||
|
||||
```bash
|
||||
yarn build
|
||||
```
|
||||
|
||||
## Netlify
|
||||
|
||||
See also: [Netlify]({{< ref "netlify" >}}).
|
||||
|
||||
### Netlify Drop
|
||||
|
||||
Netlify Drop lets you deploy a website with simply drag & drop.
|
||||
|
||||
- Run `yarn build` in your project folder.
|
||||
- This will generate a `public` folder where your generated site is located.
|
||||
- Visit [Netlify Drop](https://app.netlify.com/drop) and drop the `public` folder there.
|
||||
|
||||
## Other hosting options
|
||||
|
||||
See the Hugo Docs: [Hosting & Deployment](https://gohugo.io/hosting-and-deployment/).
|
|
@ -1,185 +0,0 @@
|
|||
---
|
||||
title: "Directory Structure"
|
||||
description: "The Hyas project directory structure extends Hugo's."
|
||||
lead: "The Hyas project directory structure extends Hugo's."
|
||||
date: 2020-04-20T14:14:16+02:00
|
||||
lastmod: 2020-04-20T14:14:16+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "basic-hyas"
|
||||
weight: 110
|
||||
toc: true
|
||||
---
|
||||
|
||||
```bash
|
||||
.
|
||||
├── archetypes/
|
||||
├── assets/
|
||||
├── config/
|
||||
├── content/
|
||||
├── data/
|
||||
├── layouts/
|
||||
├── static/
|
||||
├── .eslintignore
|
||||
├── .eslintrc.json
|
||||
├── .markdownlint.json
|
||||
├── .markdownlintignore
|
||||
├── .stylelintignore
|
||||
├── .stylelintrc.json
|
||||
├── babel.config.js
|
||||
├── netlify.toml
|
||||
└── package.json
|
||||
```
|
||||
|
||||
See also the Hugo docs: [Directory Structure](https://gohugo.io/getting-started/directory-structure/).
|
||||
|
||||
## Root directories
|
||||
|
||||
### archetypes
|
||||
|
||||
```bash
|
||||
..
|
||||
├── blog.md
|
||||
└── default.md
|
||||
```
|
||||
|
||||
See also: [Archetypes]({{< ref "archetypes" >}}).
|
||||
|
||||
### assets
|
||||
|
||||
```bash
|
||||
..
|
||||
├── fonts/
|
||||
├── images/
|
||||
├── js/
|
||||
│ ├── vendor/
|
||||
│ └── app.js
|
||||
├── lambda/
|
||||
└── scss/
|
||||
├── common/
|
||||
├── components/
|
||||
├── layouts/
|
||||
├── vendor/
|
||||
└── app.scss
|
||||
```
|
||||
|
||||
See also: [Assets]({{< ref "assets" >}})
|
||||
|
||||
### config
|
||||
|
||||
```bash
|
||||
..
|
||||
├── _default/
|
||||
│ ├── config.toml
|
||||
│ ├── menus.toml
|
||||
│ └── params.toml
|
||||
├── production/
|
||||
├── staging/
|
||||
└── postcss.config.js
|
||||
```
|
||||
|
||||
See also: [Project Configuration]({{< ref "project-configuration" >}}).
|
||||
|
||||
### content
|
||||
|
||||
```bash
|
||||
..
|
||||
├── blog/
|
||||
├── quick-start/
|
||||
└── _index.md
|
||||
```
|
||||
|
||||
See also the Hugo docs: [Content Organization](https://gohugo.io/content-management/organization/).
|
||||
|
||||
### data
|
||||
|
||||
See the Hugo docs: [Data Templates](https://gohugo.io/templates/data-templates/).
|
||||
|
||||
### layouts
|
||||
|
||||
```bash
|
||||
..
|
||||
├── _default/
|
||||
│ ├── baseof.html
|
||||
│ ├── list.html
|
||||
│ └── single.html
|
||||
├── blog/
|
||||
│ └── single.html
|
||||
├── categories/
|
||||
│ ├── list.html
|
||||
│ └── terms.html
|
||||
├── partials/
|
||||
│ ├── content/
|
||||
│ ├── footer/
|
||||
│ │ ├── footer.html
|
||||
│ │ └── script-footer.html
|
||||
│ ├── head/
|
||||
│ │ ├── favicons.html
|
||||
│ │ ├── head.html
|
||||
│ │ ├── opengraph.html
|
||||
│ │ ├── resource-hints.html
|
||||
│ │ ├── script-header.html
|
||||
│ │ ├── seo.html
|
||||
│ │ ├── structured-data.html
|
||||
│ │ ├── stylesheet.html
|
||||
│ │ └── twitter_cards.html
|
||||
│ ├── header/
|
||||
│ │ ├── alert.html
|
||||
│ │ └── header.html
|
||||
│ └── sidebar/
|
||||
├── shortcodes/
|
||||
│ └── img.html
|
||||
├── 404.html
|
||||
├── index.headers
|
||||
├── index.html
|
||||
├── index.redirects
|
||||
├── robots.txt
|
||||
├── rss.xml
|
||||
└── sitemap.xml
|
||||
```
|
||||
|
||||
See also: [Layouts]({{< ref "layouts" >}}).
|
||||
|
||||
### static
|
||||
|
||||
See the Hugo docs: [Static Files](https://gohugo.io/content-management/static-files/)
|
||||
|
||||
## Root files
|
||||
|
||||
### .eslintignore
|
||||
|
||||
See the ESLint docs: [Ignoring Files and Directories](https://eslint.org/docs/user-guide/configuring#ignoring-files-and-directories).
|
||||
|
||||
### .eslintrc.json
|
||||
|
||||
See the ESLint docs: [Configuring ESLint](https://eslint.org/docs/user-guide/configuring).
|
||||
|
||||
### .markdownlint.json
|
||||
|
||||
See the markdownlint Readme: [Rules / Aliases](https://github.com/DavidAnson/markdownlint#rules--aliases).
|
||||
|
||||
### .markdownlintignore
|
||||
|
||||
See the markdownlint-cli Readme: [Ignoring Files](https://github.com/igorshubovych/markdownlint-cli#ignoring-files).
|
||||
|
||||
### .stylelintignore
|
||||
|
||||
See the stylelint docs: [Ignoring code](https://stylelint.io/user-guide/ignore-code).
|
||||
|
||||
### .stylelintrc.json
|
||||
|
||||
See the stylelint docs: [Configuration](https://stylelint.io/user-guide/configure).
|
||||
|
||||
### babel.config.js
|
||||
|
||||
See the Babel docs: [Configure Babel](https://babeljs.io/docs/en/configuration).
|
||||
|
||||
### netlify.toml
|
||||
|
||||
See the Netlify docs: [File-based configuration](https://docs.netlify.com/configure-builds/file-based-configuration/).
|
||||
|
||||
### package.json
|
||||
|
||||
See the Yarn Documentation: [package.json](https://classic.yarnpkg.com/en/docs/package-json/).
|
|
@ -1,57 +0,0 @@
|
|||
---
|
||||
title: "Layouts"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2020-09-21T14:13:01+02:00
|
||||
lastmod: 2020-09-21T14:13:01+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "basic-hyas"
|
||||
weight: 150
|
||||
toc: true
|
||||
---
|
||||
|
||||
```bash
|
||||
..
|
||||
├── _default/
|
||||
│ ├── baseof.html
|
||||
│ ├── list.html
|
||||
│ └── single.html
|
||||
├── blog/
|
||||
│ └── single.html
|
||||
├── categories/
|
||||
│ ├── list.html
|
||||
│ └── terms.html
|
||||
├── partials/
|
||||
│ ├── content/
|
||||
│ ├── footer/
|
||||
│ │ ├── footer.html
|
||||
│ │ └── script-footer.html
|
||||
│ ├── head/
|
||||
│ │ ├── favicons.html
|
||||
│ │ ├── head.html
|
||||
│ │ ├── opengraph.html
|
||||
│ │ ├── resource-hints.html
|
||||
│ │ ├── script-header.html
|
||||
│ │ ├── seo.html
|
||||
│ │ ├── structured-data.html
|
||||
│ │ ├── stylesheet.html
|
||||
│ │ └── twitter_cards.html
|
||||
│ ├── header/
|
||||
│ │ ├── alert.html
|
||||
│ │ └── header.html
|
||||
│ └── sidebar/
|
||||
├── shortcodes/
|
||||
│ └── img.html
|
||||
├── 404.html
|
||||
├── index.headers
|
||||
├── index.html
|
||||
├── index.redirects
|
||||
├── robots.txt
|
||||
├── rss.xml
|
||||
└── sitemap.xml
|
||||
```
|
||||
|
||||
See also the Hugo docs: [Templates](https://gohugo.io/templates/).
|
|
@ -1,142 +0,0 @@
|
|||
---
|
||||
title: "Project Configuration"
|
||||
description: "The Hyas project configuration extends Hugo's."
|
||||
lead: "The Hyas project configuration extends Hugo's."
|
||||
date: 2020-09-21T12:19:02+02:00
|
||||
lastmod: 2020-09-21T12:19:02+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "basic-hyas"
|
||||
weight: 120
|
||||
toc: true
|
||||
---
|
||||
|
||||
```bash
|
||||
..
|
||||
├── _default/
|
||||
│ ├── config.toml
|
||||
│ ├── menus.toml
|
||||
│ └── params.toml
|
||||
├── production/
|
||||
├── staging/
|
||||
└── postcss.config.js
|
||||
```
|
||||
|
||||
See also the Hugo docs: [Configure Hugo](https://gohugo.io/getting-started/configuration/).
|
||||
|
||||
## config.toml
|
||||
|
||||
### Netlify specifics
|
||||
|
||||
```toml
|
||||
# add redirects/headers
|
||||
[outputs]
|
||||
home = ["HTML", "RSS", "REDIRECTS", "HEADERS"]
|
||||
|
||||
# remove .{ext} from text/netlify
|
||||
[mediaTypes."text/netlify"]
|
||||
suffixes = [""]
|
||||
delimiter = ""
|
||||
|
||||
# add output format for netlify _redirects
|
||||
[outputFormats.REDIRECTS]
|
||||
mediatype = "text/netlify"
|
||||
baseName = "_redirects"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
|
||||
# add output format for netlify _headers
|
||||
[outputFormats.HEADERS]
|
||||
mediatype = "text/netlify"
|
||||
baseName = "_headers"
|
||||
isPlainText = true
|
||||
notAlternative = true
|
||||
```
|
||||
|
||||
## menus.toml
|
||||
|
||||
No specifics.
|
||||
|
||||
## params.toml
|
||||
|
||||
### SEO specifics
|
||||
|
||||
```toml
|
||||
title = "Hyas"
|
||||
titleSeparator = "-"
|
||||
titleAddition = "Modern Hugo Starter"
|
||||
description = "Hugo starter helping you build modern websites."
|
||||
|
||||
images = ["hyas.png"]
|
||||
|
||||
twitterSite = "@henkverlinde"
|
||||
twitterCreator = "@henkverlinde"
|
||||
facebookAuthor = "verlinde.henk"
|
||||
facebookPublisher = "verlinde.henk"
|
||||
ogLocale = "en_US"
|
||||
|
||||
schemaType = "Organization"
|
||||
schemaLogo = "logo-hyas.png"
|
||||
schemaTwitter = "https://twitter.com/henkverlinde"
|
||||
schemaLinkedIn = "https://www.linkedin.com/in/henkverlinde/"
|
||||
schemaGitHub = "https://github.com/h-enk"
|
||||
schemaSection = "blog"
|
||||
|
||||
siteLinksSearchBox = false
|
||||
|
||||
themeColor = "#fff"
|
||||
```
|
||||
|
||||
### Image shortcode
|
||||
|
||||
```toml
|
||||
quality = 85
|
||||
bgColor = "#fff"
|
||||
landscapePhotoWidths = [1000, 800, 700, 600, 500]
|
||||
portraitPhotoWidths = [800, 700, 600, 500]
|
||||
lqipWidth = "20x"
|
||||
```
|
||||
|
||||
### Footer
|
||||
|
||||
```toml
|
||||
footer = "© 2020 Henk Verlinde - MIT License"
|
||||
```
|
||||
|
||||
### Alert
|
||||
|
||||
```toml
|
||||
alert = false
|
||||
alertText = "Deliver web projects 10x faster. <a class=\"alert-link\" href=\"https://www.netlify.com/whitepaper/\">Get the free enterprise paper →</a>"
|
||||
```
|
||||
|
||||
## 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: [Unused CSS removal]({{< ref "performance#unused-css-removal" >}}).
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
title: "Assets"
|
||||
description: "Assets Hyas."
|
||||
lead: ""
|
||||
date: 2020-04-20T11:52:58+02:00
|
||||
lastmod: 2020-04-20T11:52:58+02:00
|
||||
draft: false
|
||||
images: []
|
||||
---
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
title: "Bootstrap"
|
||||
description: "Build robust, flexible, and intuitive websites with Bootstrap. Or use any other front-end framework if you prefer."
|
||||
lead: "Build robust, flexible, and intuitive websites with Bootstrap. Or use any other front-end framework if you prefer."
|
||||
date: 2020-09-21T16:00:43+02:00
|
||||
lastmod: 2020-09-21T16:00:43+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "core-hyas"
|
||||
weight: 250
|
||||
toc: true
|
||||
---
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
title: "Development Tools"
|
||||
description: "Code with confidence. Check styles, scripts, and markdown for errors and fix automatically or manually."
|
||||
lead: "Code with confidence. Check styles, scripts, and markdown for errors and fix automatically or manually."
|
||||
date: 2020-09-21T14:26:38+02:00
|
||||
lastmod: 2020-09-21T14:26:38+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "core-hyas"
|
||||
weight: 240
|
||||
toc: true
|
||||
---
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
---
|
||||
title: "Netlify"
|
||||
description: "Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers."
|
||||
lead: "Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers."
|
||||
date: 2020-09-21T15:58:12+02:00
|
||||
lastmod: 2020-09-21T15:58:12+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "core-hyas"
|
||||
weight: 260
|
||||
toc: true
|
||||
---
|
||||
|
||||
```bash
|
||||
.
|
||||
├── assets/
|
||||
│ └── lambda/
|
||||
├── layouts/
|
||||
│ ├── index.headers
|
||||
│ └── index.redirects
|
||||
└── netlify.toml
|
||||
```
|
||||
|
||||
See also the Hugo Docs: [Host on Netlify](https://gohugo.io/hosting-and-deployment/hosting-on-netlify/).
|
||||
|
||||
## Functions
|
||||
|
||||
Functions in `./assets/lambda/` are compiled on build to `./functions/`.
|
||||
|
||||
See also the Netlify docs: [Functions overview](https://docs.netlify.com/functions/overview/)
|
||||
|
||||
## Redirects
|
||||
|
||||
`./layouts/index.redirects` is converted on build to `./public/_redirects`.
|
||||
|
||||
```bash
|
||||
{{ range $pages := .Site.Pages -}}
|
||||
{{ range .Aliases -}}
|
||||
{{ . }} {{ $pages.RelPermalink -}}
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
```
|
||||
|
||||
See also the Netlify docs: [Redirects and rewrites](https://docs.netlify.com/routing/redirects/)
|
||||
|
||||
## Headers
|
||||
|
||||
`./layouts/index.headers` is converted on build to `./public/_headers`.
|
||||
|
||||
```bash
|
||||
/*
|
||||
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
|
||||
X-Content-Type-Options: nosniff
|
||||
X-XSS-Protection: 1; mode=block
|
||||
Content-Security-Policy: default-src 'none'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'
|
||||
X-Frame-Options: SAMEORIGIN
|
||||
Referrer-Policy: strict-origin
|
||||
Feature-Policy: geolocation 'self'
|
||||
Cache-Control: public, max-age=31536000
|
||||
```
|
||||
|
||||
See also the Netlify docs: [Custom headers](https://docs.netlify.com/routing/headers/)
|
||||
|
||||
## Build and deploy
|
||||
|
||||
`./netlify.toml`:
|
||||
|
||||
```toml
|
||||
[build]
|
||||
publish = "public"
|
||||
functions = "functions"
|
||||
|
||||
[build.environment]
|
||||
HUGO_VERSION = "0.74.3"
|
||||
NODE_VERSION = "13.11.0"
|
||||
NPM_VERSION = "6.13.7"
|
||||
YARN_VERSION = "1.22.4"
|
||||
|
||||
[context.production]
|
||||
command = "hugo -b $URL --gc --minify && npm run build:functions"
|
||||
|
||||
[context.deploy-preview]
|
||||
command = "hugo -b $DEPLOY_PRIME_URL --gc --minify"
|
||||
|
||||
[context.branch-deploy]
|
||||
command = "hugo -b $DEPLOY_PRIME_URL --gc --minify"
|
||||
```
|
||||
|
||||
See also the Netlify docs: [File-based configuration](https://docs.netlify.com/configure-builds/file-based-configuration/)
|
|
@ -1,61 +0,0 @@
|
|||
---
|
||||
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)
|
|
@ -1,37 +0,0 @@
|
|||
---
|
||||
title: "Security"
|
||||
description: "Get A+ scores on Mozilla Observatory out of the box. Easily change the default Security Headers to suit your needs."
|
||||
lead: "Get A+ scores on <a href=\"https://observatory.mozilla.org/analyze/hyas.netlify.app\">Mozilla Observatory</a> out of the box. Easily change the default Security Headers to suit your needs."
|
||||
date: 2020-09-17T13:48:09+02:00
|
||||
lastmod: 2020-09-17T13:48:09+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "core-hyas"
|
||||
weight: 210
|
||||
toc: true
|
||||
---
|
||||
|
||||
## Security Headers
|
||||
|
||||
`./layouts/index.headers` excerpt:
|
||||
|
||||
```bash
|
||||
/*
|
||||
X-Content-Type-Options: nosniff
|
||||
X-XSS-Protection: 1; mode=block
|
||||
Content-Security-Policy: default-src 'none'; manifest-src 'self'; connect-src 'self'; font-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'
|
||||
X-Frame-Options: SAMEORIGIN
|
||||
Referrer-Policy: strict-origin
|
||||
```
|
||||
|
||||
See also: [Headers]({{< ref "netlify#headers" >}}).
|
||||
|
||||
### Content Security Policy
|
||||
|
||||
💡 [Laboratory](https://addons.mozilla.org/nl/firefox/addon/laboratory-by-mozilla/) is an experimental Firefox extension that helps you generate a Content Security Policy (CSP) header for your website.
|
||||
|
||||
## Subresource Integrity
|
||||
|
||||
[Subresource Integrity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) is implemented with [Hugo](https://gohugo.io/hugo-pipes/fingerprint/) on styles and scripts.
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
title: "SEO"
|
||||
description: "Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking."
|
||||
lead: "Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking."
|
||||
date: 2020-09-18T14:25:19+02:00
|
||||
lastmod: 2020-09-18T14:25:19+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "core-hyas"
|
||||
weight: 230
|
||||
toc: true
|
||||
---
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
---
|
||||
title: "Guides"
|
||||
description: "Guides Hyas"
|
||||
lead: ""
|
||||
date: 2020-04-20T11:53:07+02:00
|
||||
lastmod: 2020-04-20T11:53:07+02:00
|
||||
draft: false
|
||||
images: []
|
||||
---
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
title: "Add Custom Fonts"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2020-09-21T14:28:38+02:00
|
||||
lastmod: 2020-09-21T14:28:38+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "guides"
|
||||
weight: 310
|
||||
toc: true
|
||||
---
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
title: "Add External Scripts"
|
||||
description: ""
|
||||
lead: ""
|
||||
date: 2020-09-21T14:28:51+02:00
|
||||
lastmod: 2020-09-21T14:28:51+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "guides"
|
||||
weight: 320
|
||||
toc: true
|
||||
---
|
||||
|
|
@ -1,103 +0,0 @@
|
|||
---
|
||||
title: "Hyas CLI"
|
||||
description: "Hyas command line tool."
|
||||
lead: "Hyas command line tool."
|
||||
date: 2020-09-22T08:38:48+02:00
|
||||
lastmod: 2020-09-22T08:38:48+02:00
|
||||
draft: false
|
||||
images: []
|
||||
menu:
|
||||
docs:
|
||||
parent: "prologue"
|
||||
weight: 020
|
||||
toc: true
|
||||
---
|
||||
|
||||
```bash
|
||||
Usage: hyas <command> [options]
|
||||
|
||||
Commands:
|
||||
build Build production website
|
||||
clean Delete temporary directories
|
||||
create [dir] Create a new Hyas project
|
||||
start Start local development server
|
||||
|
||||
Options:
|
||||
-h, --help Show help [boolean]
|
||||
-v, --version Show version number [boolean]
|
||||
|
||||
Run hyas <command> --help for detailed usage of given command.
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
Install the [Hyas CLI](https://www.npmjs.com/package/@hyas/cli) globally:
|
||||
|
||||
```bash
|
||||
yarn add global @hyas/cli
|
||||
```
|
||||
|
||||
```bash
|
||||
npm install -g @hyas/cli
|
||||
```
|
||||
|
||||
## npx
|
||||
|
||||
Or use [npx](https://nodejs.dev/learn/the-npx-nodejs-package-runner):
|
||||
|
||||
```bash
|
||||
npx @hyas/cli <command> [options]
|
||||
```
|
||||
|
||||
## Commands
|
||||
|
||||
### Create
|
||||
|
||||
Create a new Hyas project:
|
||||
|
||||
```bash
|
||||
hyas create [dir]
|
||||
```
|
||||
|
||||
### Start
|
||||
|
||||
Start local development server:
|
||||
|
||||
```bash
|
||||
hyas start
|
||||
```
|
||||
|
||||
### Build
|
||||
|
||||
Build production website:
|
||||
|
||||
```bash
|
||||
hyas build
|
||||
```
|
||||
|
||||
### Clean
|
||||
|
||||
Delete temporary directories:
|
||||
|
||||
```bash
|
||||
hyas clean
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
### -h, --help
|
||||
|
||||
Show help.
|
||||
|
||||
### -v, --version
|
||||
|
||||
Show version number.
|
||||
|
||||
## Update
|
||||
|
||||
You'll get notified when an update is available:
|
||||
|
||||
```bash
|
||||
Update available: 0.3.2
|
||||
Run npm install -g @hyas/cli to update
|
||||
```
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: "Introduction"
|
||||
description: "Introduction Hyas."
|
||||
lead: "Hyas is a Hugo starter helping you build modern websites that are secure, fast, and SEO-ready — by default."
|
||||
description: "Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default."
|
||||
lead: "Doks is a Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default."
|
||||
date: 2020-10-06T08:48:57+00:00
|
||||
lastmod: 2020-10-06T08:48:57+00:00
|
||||
draft: false
|
||||
|
@ -13,13 +13,13 @@ weight: 010
|
|||
toc: true
|
||||
---
|
||||
|
||||
## Why Hyas?
|
||||
## Why Doks?
|
||||
|
||||
Six reasons why you should use Hyas:
|
||||
Six reasons why you should use Doks:
|
||||
|
||||
1. __Security aware__. Get A+ scores on [Mozilla Observatory](https://observatory.mozilla.org/analyze/hyas.netlify.app) out of the box. Easily change the default Security Headers to suit your needs.
|
||||
1. __Security aware__. Get A+ scores on [Mozilla Observatory](https://observatory.mozilla.org/analyze/doks.netlify.app) out of the box. Easily change the default Security Headers to suit your needs.
|
||||
|
||||
2. __Fast by default__. Get 100 scores on [Google Lighthouse](https://googlechrome.github.io/lighthouse/viewer/?gist=8b7aec005ae7b9e128ad5c4e2f125fea) by default. Hyas removes unused css, prefetches links, and lazy loads images.
|
||||
2. __Fast by default__. Get 100 scores on [Google Lighthouse](https://googlechrome.github.io/lighthouse/viewer/?gist=8b7aec005ae7b9e128ad5c4e2f125fea) by default. Doks removes unused css, prefetches links, and lazy loads images.
|
||||
|
||||
3. __SEO-ready__. Use sensible defaults for structured data, open graph, and Twitter cards. Or easily change the SEO settings to your liking.
|
||||
|
||||
|
@ -29,76 +29,59 @@ Six reasons why you should use Hyas:
|
|||
|
||||
6. __Netlify-ready__. Deploy to Netlify with sensible defaults. Easily use Netlify Functions, Netlify Redirects, and Netlify Headers.
|
||||
|
||||
## Prerequisites
|
||||
## Requirements
|
||||
|
||||
Make sure all dependencies have been installed:
|
||||
|
||||
- [Hugo](https://gohugo.io/) >= 0.75.1/extended
|
||||
- [Node.js](https://nodejs.org/) >= 14.12.0
|
||||
- [Yarn](https://yarnpkg.com/) >= 1.22.5 (recommended)
|
||||
|
||||
{{< alert icon="💡" text="npm (comes with Node.js) and Yarn are both Node.js package managers. <a href=\"https://classic.yarnpkg.com/en/\">Yarn</a> is faster, more reliable, and more secure than npm." >}}
|
||||
- [Hugo](https://gohugo.io/) >= 0.75.0/extended
|
||||
- [Node.js](https://nodejs.org/) >= 14.15.0 (needed to install npm packages and run commands)
|
||||
|
||||
## Get started
|
||||
|
||||
Three ways to get started.
|
||||
|
||||
### Hyas CLI
|
||||
|
||||
Install the Hyas CLI globally:
|
||||
Create a new Doks project:
|
||||
|
||||
```bash
|
||||
yarn add global @hyas/cli
|
||||
git clone https://github.com/h-enk/doks.git my-doks-site
|
||||
```
|
||||
|
||||
Create a new Hyas project:
|
||||
Install npm packages:
|
||||
|
||||
```bash
|
||||
hyas create [dir]
|
||||
```
|
||||
|
||||
#### npx
|
||||
|
||||
Or use [npx](https://nodejs.dev/learn/the-npx-nodejs-package-runner):
|
||||
|
||||
```bash
|
||||
npx @hyas/cli create my-hyas-site
|
||||
```
|
||||
|
||||
See also: [Hyas CLI]({{< ref "hyas-cli" >}}).
|
||||
|
||||
### Repository clone
|
||||
|
||||
Create a new Hyas project:
|
||||
|
||||
```bash
|
||||
git clone git@github.com:h-enk/hyas.git my-hyas-site
|
||||
```
|
||||
|
||||
Install dependencies:
|
||||
|
||||
```bash
|
||||
yarn install
|
||||
# @ my-doks-site/
|
||||
$ npm install
|
||||
```
|
||||
|
||||
Start local development server:
|
||||
|
||||
```bash
|
||||
yarn start
|
||||
# @ my-doks-site/
|
||||
$ npm run start
|
||||
```
|
||||
|
||||
See also: [commands]({{< ref "commands" >}}).
|
||||
### Other commands
|
||||
|
||||
### Netlify deploy
|
||||
- `npm run lint:styles` - Check Sass for errors
|
||||
- `npm run lint:scripts` - Check JavaScript for errors
|
||||
- `npm run clean` - Delete temporary directories
|
||||
- `npm run build` - Build production website
|
||||
|
||||
Get your Hyas site in 1 min.
|
||||
## Quick start
|
||||
|
||||
<a class="btn btn-primary btn-sm px-3" href="https://app.netlify.com/start/deploy?repository=https://github.com/h-enk/hyas" role="button">Deploy to Netlify</a>
|
||||
Get your Doks site in 1 min.
|
||||
|
||||
<!--
|
||||
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/h-enk/hyas "Deploy to Netlify")
|
||||
-->
|
||||
<a class="btn btn-primary btn-sm px-3" href="https://app.netlify.com/start/deploy?repository=https://github.com/h-enk/doks" role="button">Deploy to Netlify</a>
|
||||
|
||||
## Example site
|
||||
|
||||
👉 [hyas.netlify.app](https://hyas.netlify.app/)
|
||||
👉 [doks.netlify.app](https://doks.netlify.app/)
|
||||
|
||||
## Documentation
|
||||
|
||||
- [Netlify](https://docs.netlify.com/)
|
||||
- [Hugo](https://gohugo.io/documentation/)
|
||||
- [Doks](https://getdoks.org/)
|
||||
|
||||
## Communities
|
||||
|
||||
- [Netlify Community](https://community.netlify.com/)
|
||||
- [Hugo Forums](https://discourse.gohugo.io/)
|
||||
|
|
Loading…
Reference in New Issue