docs: update content

This commit is contained in:
Henk Verlinde 2020-11-05 16:53:02 +01:00
parent 888a78a269
commit c8c403dbf9
20 changed files with 36 additions and 968 deletions

View File

@ -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

View File

@ -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: []
---

View File

@ -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: []
---
```

View File

@ -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/).

View File

@ -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/).

View File

@ -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/).

View File

@ -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/).

View File

@ -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" >}}).

View File

@ -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: []
---

View File

@ -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
---

View File

@ -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
---

View File

@ -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/)

View File

@ -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)

View File

@ -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.

View File

@ -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
---

View File

@ -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: []
---

View File

@ -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
---

View File

@ -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
---

View File

@ -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
```

View File

@ -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/)