summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-11-27 09:30:05 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-11-27 09:30:05 +0100
commit4f1e4bb3fe8241d7a900f57e156f9679768aff24 (patch)
treed0be819df4b7a1b1f073e4dfb5acfb9472d379bf
parentd162bbd7990b6a523bdadcd10bf60fcb43ecf270 (diff)
parent9f1265fde4b9ef186148337c99f08601633b6056 (diff)
-rw-r--r--docs/config.toml2
-rw-r--r--docs/content/en/content-management/multilingual.md4
-rw-r--r--docs/content/en/content-management/page-bundles.md3
-rw-r--r--docs/content/en/functions/with.md8
-rw-r--r--docs/content/en/getting-started/configuration.md13
-rw-r--r--docs/content/en/getting-started/external-learning-resources/index.md4
-rw-r--r--docs/content/en/hosting-and-deployment/hosting-on-github.md2
-rw-r--r--docs/content/en/hosting-and-deployment/hosting-on-render.md3
-rw-r--r--docs/content/en/hugo-modules/use-modules.md1
-rw-r--r--docs/content/en/hugo-pipes/js.md24
-rwxr-xr-xdocs/content/en/hugo-pipes/resource-from-string.md2
-rw-r--r--docs/content/en/news/0.78.0-relnotes/featured.pngbin0 -> 47074 bytes
-rw-r--r--docs/content/en/news/0.78.0-relnotes/index.md10
-rw-r--r--docs/content/en/news/0.78.1-relnotes/index.md4
-rw-r--r--docs/content/en/templates/404.md2
-rw-r--r--docs/content/en/tools/starter-kits.md2
-rw-r--r--docs/netlify.toml8
-rw-r--r--docs/resources/_gen/images/news/0.78.0-relnotes/featured_hu16cc5f543b4302736ecbd476dcae86cf_47074_480x0_resize_catmullrom_2.pngbin0 -> 25833 bytes
-rw-r--r--docs/resources/_gen/images/news/0.78.0-relnotes/featured_hu16cc5f543b4302736ecbd476dcae86cf_47074_640x0_resize_catmullrom_2.pngbin0 -> 38134 bytes
-rw-r--r--docs/static/images/site-hierarchy.svg635
20 files changed, 66 insertions, 661 deletions
diff --git a/docs/config.toml b/docs/config.toml
index 77e8770bb..efa1b0573 100644
--- a/docs/config.toml
+++ b/docs/config.toml
@@ -7,6 +7,8 @@ footnotereturnlinkcontents = "↩"
languageCode = "en-us"
title = "Hugo"
+ ignoreErrors = ["error-remote-getjson"]
+
googleAnalytics = "UA-7131036-4"
diff --git a/docs/content/en/content-management/multilingual.md b/docs/content/en/content-management/multilingual.md
index 036d74064..e24c573c2 100644
--- a/docs/content/en/content-management/multilingual.md
+++ b/docs/content/en/content-management/multilingual.md
@@ -26,7 +26,7 @@ You should define the available languages in a `languages` section in your site
The following is an example of a site configuration for a multilingual Hugo project:
{{< code-toggle file="config" >}}
-DefaultContentLanguage = "en"
+defaultContentLanguage = "en"
copyright = "Everything is mine"
[params]
@@ -71,7 +71,7 @@ If the default language needs to be rendered below its own language code (`/en`)
Only the obvious non-global options can be overridden per language. Examples of global options are `baseURL`, `buildDrafts`, etc.
-**Please note:** use lowercase language codes, even when using regional languages (ie. use pt-pt instead of pt-PT). Currently Hugo language internals lowercase language codes, which can cause conflicts with settings like `DefaultContentLanguage` which are not lowercased. Please track the evolution of this issue in [Hugo repository issue tracker](https://github.com/gohugoio/hugo/issues/7344)
+**Please note:** use lowercase language codes, even when using regional languages (ie. use pt-pt instead of pt-PT). Currently Hugo language internals lowercase language codes, which can cause conflicts with settings like `defaultContentLanguage` which are not lowercased. Please track the evolution of this issue in [Hugo repository issue tracker](https://github.com/gohugoio/hugo/issues/7344)
### Disable a Language
diff --git a/docs/content/en/content-management/page-bundles.md b/docs/content/en/content-management/page-bundles.md
index 2ccf058e0..9561ea2e9 100644
--- a/docs/content/en/content-management/page-bundles.md
+++ b/docs/content/en/content-management/page-bundles.md
@@ -2,7 +2,6 @@
title : "Page Bundles"
description : "Content organization using Page Bundles"
date : 2018-01-24T13:09:00-05:00
-lastmod : 2018-01-28T22:26:40-05:00
linktitle : "Page Bundles"
keywords : ["page", "bundle", "leaf", "branch"]
categories : ["content management"]
@@ -186,4 +185,4 @@ The hierarchy depth at which a branch bundle is created does not
matter.
{{% /note %}}
-[^fn:1]: The `.md` extension is just an example. The extension can be `.html`, `.json` or any of any valid MIME type.
+[^fn:1]: The `.md` extension is just an example. The extension can be `.html`, `.json` or any valid MIME type.
diff --git a/docs/content/en/functions/with.md b/docs/content/en/functions/with.md
index 3fad8bd9c..a5c27d4f3 100644
--- a/docs/content/en/functions/with.md
+++ b/docs/content/en/functions/with.md
@@ -1,7 +1,7 @@
---
title: with
# linktitle: with
-description: Rebinds the context (`.`) within its scope and skips the block if the variable is absent.
+description: Rebinds the context (`.`) within its scope and skips the block if the variable is absent or empty.
godocref:
date: 2017-02-01
publishdate: 2017-02-01
@@ -18,7 +18,11 @@ relatedfuncs: []
deprecated: false
---
-An alternative way of writing an `if` statement and then referencing the same value is to use `with` instead. `with` rebinds the context (`.`) within its scope and skips the block if the variable is absent or unset.
+An alternative way of writing an `if` statement and then referencing the same value is to use `with` instead. `with` rebinds the context (`.`) within its scope and skips the block if the variable is absent, unset or empty.
+
+The set of *empty* values is defined by [the Go templates package](https://golang.org/pkg/text/template/). Empty values include `false`, the number zero, and the empty string.
+
+If you want to render a block if an index or key is present in a slice, array, channel or map, regardless of whether the value is empty, you should use [`isset`](/functions/isset) instead.
The following example checks for a [user-defined site variable](/variables/site/) called `twitteruser`. If the key-value is not set, the following will render nothing:
diff --git a/docs/content/en/getting-started/configuration.md b/docs/content/en/getting-started/configuration.md
index d12ecdf3b..fbfa676bf 100644
--- a/docs/content/en/getting-started/configuration.md
+++ b/docs/content/en/getting-started/configuration.md
@@ -44,7 +44,18 @@ Multiple site config files can be specified as a comma-separated string to the `
In addition to using a single site config file, one can use the `configDir` directory (default to `config/`) to maintain easier organization and environment specific settings.
-- Each file represents a configuration root object, such as `Params`, `Menus`, `Languages` etc...
+- Each file represents a configuration root object, such as `params.toml` for `[Params]`, `menu(s).toml` for `[Menu]`, `languages.toml` for `[Languages]` etc...
+- Each file's content must be top-level, for example:
+
+ In `config.toml` is:
+ ```toml
+ [Params]
+ foo = "bar"
+ ```
+ In `params.toml` is:
+ ```
+ foo = "bar"
+ ```
- Each directory holds a group of files containing settings unique to an environment.
- Files can be localized to become language specific.
diff --git a/docs/content/en/getting-started/external-learning-resources/index.md b/docs/content/en/getting-started/external-learning-resources/index.md
index 573fdfdbf..349d7e29d 100644
--- a/docs/content/en/getting-started/external-learning-resources/index.md
+++ b/docs/content/en/getting-started/external-learning-resources/index.md
@@ -26,6 +26,10 @@ Hugo in Action is a step-by-step guide to using Hugo to create static websites.
[Hugo In Action Home Page](https://www.manning.com/books/hugo-in-action)
+### Build Websites with Hugo
+
+[Build Websites with Hugo - Fast Web Development with Markdown (2020)](https://pragprog.com/titles/bhhugo/) by Brian P. Hogan.
+
## Video tutorials
### Video Playlist by Mike Dane
diff --git a/docs/content/en/hosting-and-deployment/hosting-on-github.md b/docs/content/en/hosting-and-deployment/hosting-on-github.md
index 70803d360..55cfcccd6 100644
--- a/docs/content/en/hosting-and-deployment/hosting-on-github.md
+++ b/docs/content/en/hosting-and-deployment/hosting-on-github.md
@@ -247,7 +247,7 @@ Refer to the [official documentation for custom domains][domains] for further in
[ghsignup]: https://github.com/join
[GitHub Pages service]: https://help.github.com/articles/what-is-github-pages/
[installgit]: https://git-scm.com/downloads
-[orphan branch]: https://git-scm.com/docs/git-checkout/#git-checkout---orphanltnewbranchgt
+[orphan branch]: https://git-scm.com/docs/git-checkout/#Documentation/git-checkout.txt---orphanltnewbranchgt
[Quick Start]: /getting-started/quick-start/
[submodule]: https://github.com/blog/2104-working-with-submodules
[worktree feature]: https://git-scm.com/docs/git-worktree
diff --git a/docs/content/en/hosting-and-deployment/hosting-on-render.md b/docs/content/en/hosting-and-deployment/hosting-on-render.md
index eb7947161..f23cb42ba 100644
--- a/docs/content/en/hosting-and-deployment/hosting-on-render.md
+++ b/docs/content/en/hosting-and-deployment/hosting-on-render.md
@@ -46,12 +46,11 @@ Static sites are **completely free** on Render and include the following:
You can set up a Hugo site on Render in two quick steps:
-1. Create a new **Web Service** on Render, and give Render permission to access your GitHub/Gitlab repo.
+1. Create a new **Static Site** on Render, and give Render permission to access your GitHub/Gitlab repo.
2. Use the following values during creation:
Field | Value
------------------- | -------------------
- **Environment** | `Static Site`
**Build Command** | `hugo --gc --minify` (or your own build command)
**Publish Directory** | `public` (or your own output directory)
diff --git a/docs/content/en/hugo-modules/use-modules.md b/docs/content/en/hugo-modules/use-modules.md
index aa03489d2..db12964b4 100644
--- a/docs/content/en/hugo-modules/use-modules.md
+++ b/docs/content/en/hugo-modules/use-modules.md
@@ -89,6 +89,7 @@ replace github.com/bep/hugotestmods/mypartials => /Users/bep/hugotestmods/mypart
If you have the `hugo server` running, the configuration will be reloaded and `/Users/bep/hugotestmods/mypartials` put on the watch list.
+Note that since v.0.77.0 you can use modules config [`replacements`](https://gohugo.io/hugo-modules/configuration/#module-config-top-level) option. {{< new-in "0.77.0" >}}
## Print Dependency Graph
diff --git a/docs/content/en/hugo-pipes/js.md b/docs/content/en/hugo-pipes/js.md
index 5e9c027d5..fd8697264 100644
--- a/docs/content/en/hugo-pipes/js.md
+++ b/docs/content/en/hugo-pipes/js.md
@@ -27,7 +27,7 @@ params [map or slice] {{< new-in "0.78.0" >}}
: Params that can be imported as JSON in your JS files, e.g.:
```go-html-template
-{{ $js := resources.Get "js/main.js" | js.Build (dict "params" (dict "api" "https://example.org/api" ) }}
+{{ $js := resources.Get "js/main.js" | js.Build (dict "params" (dict "api" "https://example.org/api")) }}
```
And then in your JS file:
@@ -40,6 +40,9 @@ Note that this is meant for small data sets, e.g. config settings. For larger da
minify [bool]
: Let `js.Build` handle the minification.
+avoidTDZ {{< new-in "0.78.0" >}}
+: There is/was a bug in WebKit with severe performance issue with the tracking of TDZ checks in JavaScriptCore. Enabling this flag removes the TDZ and `const` assignment checks and may improve performance of larger JS codebases until the WebKit fix is in widespread use. See https://bugs.webkit.org/show_bug.cgi?id=199866
+
target [string]
: The language target.
One of: `es5`, `es2015`, `es2016`, `es2017`, `es2018`, `es2019`, `es2020` or `esnext`.
@@ -66,6 +69,8 @@ format [string] {{< new-in "0.74.3" >}}
One of: `iife`, `cjs`, `esm`.
Default is `iife`, a self-executing function, suitable for inclusion as a <script> tag.
+sourceMap
+: Whether to generate source maps. Enum, currently only `inline` (we will improve that).
### Import JS code from /assets
@@ -77,7 +82,7 @@ Since Hugo `v0.78.0` `js.Build` has full support for the virtual union file syst
import { hello } from 'my/module';
```
-And it will respolve to the top-most `index.{js,ts,tsx,jsx}` inside `assets/my/module` in the layered file system.
+And it will resolve to the top-most `index.{js,ts,tsx,jsx}` inside `assets/my/module` in the layered file system.
```js
import { hello3 } from 'my/module/hello3';
@@ -97,10 +102,12 @@ For other files (e.g. `JSON`, `CSS`) you need to use the relative path including
import * as data from 'my/module/data.json';
```
+Any imports in a file outside `/assets` or that does not resolve to a component inside `/assets` will be resolved by [ESBuild](https://esbuild.github.io/) with the **project directory** as the resolve directory (used as the starting point when looking for `node_modules` etc.). Also see [hugo mod npm pack](/commands/hugo_mod_npm_pack/). If you have any imported NPM dependencies in your project, you need to make sure to run `npm install` before you run `hugo`.
+
Also note the new `params` option that can be passed from template to your JS files, e.g.:
```go-html-template
-{{ $js := resources.Get "js/main.js" | js.Build (dict "params" (dict "api" "https://example.org/api" ) }}
+{{ $js := resources.Get "js/main.js" | js.Build (dict "params" (dict "api" "https://example.org/api")) }}
```
And then in your JS file:
@@ -110,6 +117,17 @@ import * as params from '@params';
Hugo will, by default, generate a `assets/jsconfig.js` file that maps the imports. This is useful for navigation/intellisense help inside code editors, but if you don't need/want it, you can [turn it off](/getting-started/configuration/#configure-build).
+
+
+### Include Dependencies In package.json / node_modules
+
+Any imports in a file outside `/assets` or that does not resolve to a component inside `/assets` will be resolved by [ESBuild](https://esbuild.github.io/) with the **project directory** as the resolve directory (used as the starting point when looking for `node_modules` etc.). Also see [hugo mod npm pack](/commands/hugo_mod_npm_pack/). If you have any imported NPM dependencies in your project, you need to make sure to run `npm install` before you run `hugo`.
+
+{{< new-in "0.78.1" >}} From Hugo `0.78.1` the start directory for resolving NPM packages (aka. packages that live inside a `node_modules` folder) is always the main project folder.
+
+**Note:** If you're developing a theme/component that is supposed to be imported and depends on dependencies inside `package.json`, we recommend reading about [hugo mod npm pack](/commands/hugo_mod_npm_pack/), a tool to consolidate all the NPM dependencies in a project.
+
+
### Examples
```go-html-template
diff --git a/docs/content/en/hugo-pipes/resource-from-string.md b/docs/content/en/hugo-pipes/resource-from-string.md
index 862fcd930..8b942d2f3 100755
--- a/docs/content/en/hugo-pipes/resource-from-string.md
+++ b/docs/content/en/hugo-pipes/resource-from-string.md
@@ -21,7 +21,7 @@ It is possible to create a resource directly from the template using `resources.
The following example creates a resource file containing localized variables for every project's languages.
```go-html-template
-{{ $string := (printf "var rootURL: '%s'; var apiURL: '%s';" (absURL "/") (.Param "API_URL")) }}
+{{ $string := (printf "var rootURL = '%s'; var apiURL = '%s';" (absURL "/") (.Param "API_URL")) }}
{{ $targetPath := "js/vars.js" }}
{{ $vars := $string | resources.FromString $targetPath }}
{{ $global := resources.Get "js/global.js" | resources.Minify }}
diff --git a/docs/content/en/news/0.78.0-relnotes/featured.png b/docs/content/en/news/0.78.0-relnotes/featured.png
new file mode 100644
index 000000000..36ae0ac95
--- /dev/null
+++ b/docs/content/en/news/0.78.0-relnotes/featured.png
Binary files differ
diff --git a/docs/content/en/news/0.78.0-relnotes/index.md b/docs/content/en/news/0.78.0-relnotes/index.md
index dd2cd70d5..fcc20c066 100644
--- a/docs/content/en/news/0.78.0-relnotes/index.md
+++ b/docs/content/en/news/0.78.0-relnotes/index.md
@@ -1,16 +1,16 @@
---
date: 2020-11-03
-title: "0.78.0"
-description: "0.78.0"
+title: "Hugo 0.78.0: Full Hugo Modules Support in js.Build"
+description: "Resolve JavaScript imports top-down in the layered filesystem, pass parameters from template to JS, new JS intellisense helper, improved JS build errors."
categories: ["Releases"]
---
- This release finally brings full [Hugo Modules](https://gohugo.io/hugo-modules/) support to [js.Build](https://gohugo.io/hugo-pipes/js/), curtsy of he new plugin API in the really, really fast [ESBuild](https://github.com/evanw/esbuild) by [@evanw](https://github.com/evanw).
+This release finally brings full [Hugo Modules](https://gohugo.io/hugo-modules/) support to [js.Build](https://gohugo.io/hugo-pipes/js/), curtsy of he new plugin API in the really, really fast [ESBuild](https://github.com/evanw/esbuild) by [@evanw](https://github.com/evanw).
Some notes on the improvements in this release:
-* Now `js.Build` fully supports the virtual union file system in [Hugo Modules](https://gohugo.io/hugo-modules/). Any import inside your JavaScript components will resolve starting from the top component mount inside `/assets` with a fallback to the traditional "JS way" (`node_modules` etc.)
+* Now `js.Build` fully supports the virtual union filesystem in [Hugo Modules](https://gohugo.io/hugo-modules/). Any import inside your JavaScript components will resolve starting from the top component mount inside `/assets` with a fallback to the traditional "JS way" (`node_modules` etc.)
* You can now pass configuration data from the templates to your scripts via a new `params` option.
* Hugo now writes a `jsconfig.js` file inside `/assets` (you can turn it off) with import mappings to help editors such as VS Code with intellisense/navigation, which is especially useful when there is no common root and the source lives inside some temporary directory.
* We have also improved the build errors you get from `js.Build`. In server mode you will get a preview of the failing lines and in the console you will get a link to the location.
@@ -28,7 +28,7 @@ And then in a JavaScript component:
```js
import * as params from '@params';
-// Wil resolve to one of `hello.{js,ts,tsx,jsx}` inside `assets/my/module`.
+// Will resolve to one of `hello.{js,ts,tsx,jsx}` inside `assets/my/module`.
import { hello } from 'my/module/hello';
var api = params.api;
diff --git a/docs/content/en/news/0.78.1-relnotes/index.md b/docs/content/en/news/0.78.1-relnotes/index.md
index b67e5de6c..168c1bbcd 100644
--- a/docs/content/en/news/0.78.1-relnotes/index.md
+++ b/docs/content/en/news/0.78.1-relnotes/index.md
@@ -9,9 +9,7 @@ images:
---
-
-
-This is a bug-fix release with a couple of important fixes.
+The main fix in this release is that of dependency resolution for package.json/node_modules in theme components. See [the documentation](https://gohugo.io/hugo-pipes/js/#include-dependencies-in-packagejson--node_modules) for more information.
* Disable NPM test on Travis on Windows [3437174c](https://github.com/gohugoio/hugo/commit/3437174c3a7b96925b82b351ac87530b4fa796a5) [@bep](https://github.com/bep)
* travis: Install nodejs on Windows [f66302ca](https://github.com/gohugoio/hugo/commit/f66302ca0579171ffd1730eb8f33dd05af3d9a00) [@bep](https://github.com/bep)
diff --git a/docs/content/en/templates/404.md b/docs/content/en/templates/404.md
index 18fabc655..0916e2299 100644
--- a/docs/content/en/templates/404.md
+++ b/docs/content/en/templates/404.md
@@ -46,7 +46,7 @@ This is a basic example of a 404.html template:
Your 404.html file can be set to load automatically when a visitor enters a mistaken URL path, dependent upon the web serving environment you are using. For example:
-* [GitHub Pages](/hosting-and-deployment/hosting-on-github/). The 404 page is automatic.
+* [GitHub Pages](/hosting-and-deployment/hosting-on-github/) and [GitLab Pages](/hosting-and-deployment/hosting-on-gitlab/). The 404 page is automatic.
* Apache. You can specify `ErrorDocument 404 /404.html` in an `.htaccess` file in the root of your site.
* Nginx. You might specify `error_page 404 /404.html;` in your `nginx.conf` file.
* Amazon AWS S3. When setting a bucket up for static web serving, you can specify the error file from within the S3 GUI.
diff --git a/docs/content/en/tools/starter-kits.md b/docs/content/en/tools/starter-kits.md
index 60b16cccb..e4255f98e 100644
--- a/docs/content/en/tools/starter-kits.md
+++ b/docs/content/en/tools/starter-kits.md
@@ -29,6 +29,7 @@ The following starter kits are developed by active members of the Hugo community
* [Blaupause][]. Blaupause is a developer-friendly Hugo starter kit based on Gulp tasks. It comes ES6-ready with several helpers for SVG and fonts and basic structure for HTML, SCSS, and JavaScript.
* [hugulp][]. hugulp is a tool to optimize the assets of a Hugo website. The main idea is to recreate the famous Ruby on Rails Asset Pipeline, which minifies, concatenates and fingerprints the assets used in your website.
* [Atlas][]. Atlas is a Hugo boilerplate designed to speed up development with support for Netlify, Hugo Pipes, SCSS & more. It's actively maintained and contributions are always welcome.
+* [Hyas][]. Hyas is a Hugo starter helping you build modern websites that are secure, fast, and SEO-ready — by default. It is Netlify-ready (functions, redirects, headers) and comes with [documentation](https://gethyas.com/) to easily make it your own.
[addkit]: https://github.com/gohugoio/hugo/edit/master/docs/content/en/tools/starter-kits.md
@@ -41,3 +42,4 @@ The following starter kits are developed by active members of the Hugo community
[hugulp]: https://github.com/jbrodriguez/hugulp
[Victor Hugo]: https://github.com/netlify/victor-hugo
[Atlas]: https://github.com/indigotree/atlas
+[Hyas]: https://github.com/h-enk/hyas
diff --git a/docs/netlify.toml b/docs/netlify.toml
index d0dc9ded3..913d7965b 100644
--- a/docs/netlify.toml
+++ b/docs/netlify.toml
@@ -3,7 +3,7 @@ publish = "public"
command = "hugo --gc --minify"
[context.production.environment]
-HUGO_VERSION = "0.77.0"
+HUGO_VERSION = "0.78.2"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
@@ -11,20 +11,20 @@ HUGO_ENABLEGITINFO = "true"
command = "hugo --gc --minify --enableGitInfo"
[context.split1.environment]
-HUGO_VERSION = "0.77.0"
+HUGO_VERSION = "0.78.2"
HUGO_ENV = "production"
[context.deploy-preview]
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
[context.deploy-preview.environment]
-HUGO_VERSION = "0.77.0"
+HUGO_VERSION = "0.78.2"
[context.branch-deploy]
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"
[context.branch-deploy.environment]
-HUGO_VERSION = "0.77.0"
+HUGO_VERSION = "0.78.2"
[context.next.environment]
HUGO_ENABLEGITINFO = "true"
diff --git a/docs/resources/_gen/images/news/0.78.0-relnotes/featured_hu16cc5f543b4302736ecbd476dcae86cf_47074_480x0_resize_catmullrom_2.png b/docs/resources/_gen/images/news/0.78.0-relnotes/featured_hu16cc5f543b4302736ecbd476dcae86cf_47074_480x0_resize_catmullrom_2.png
new file mode 100644
index 000000000..86f7f01de
--- /dev/null
+++ b/docs/resources/_gen/images/news/0.78.0-relnotes/featured_hu16cc5f543b4302736ecbd476dcae86cf_47074_480x0_resize_catmullrom_2.png
Binary files differ
diff --git a/docs/resources/_gen/images/news/0.78.0-relnotes/featured_hu16cc5f543b4302736ecbd476dcae86cf_47074_640x0_resize_catmullrom_2.png b/docs/resources/_gen/images/news/0.78.0-relnotes/featured_hu16cc5f543b4302736ecbd476dcae86cf_47074_640x0_resize_catmullrom_2.png
new file mode 100644
index 000000000..b666dbafc
--- /dev/null
+++ b/docs/resources/_gen/images/news/0.78.0-relnotes/featured_hu16cc5f543b4302736ecbd476dcae86cf_47074_640x0_resize_catmullrom_2.png
Binary files differ
diff --git a/docs/static/images/site-hierarchy.svg b/docs/static/images/site-hierarchy.svg
index 7d1a043e8..3c744871b 100644
--- a/docs/static/images/site-hierarchy.svg
+++ b/docs/static/images/site-hierarchy.svg
@@ -1,634 +1 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg width="1800px" height="100%" viewBox="0 0 3900 1080" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
- <g transform="matrix(1.00649,0,0,1.00649,25.8182,35.9777)">
- <g transform="matrix(1.50472,0,0,1.50472,15.1711,-25.8885)">
- <path d="M119.631,36.154L203.822,85.066L203.822,181.395L119.631,229.184L35.578,181.395L35.578,85.066L119.631,36.154Z" style="fill:rgb(255,64,136);"/>
- <path d="M208.665,80.243L210.425,83.301L210.425,183.178L208.632,186.258L121.373,235.788L117.884,235.786L30.766,186.255L28.975,183.176L28.975,83.302L30.733,80.245L117.848,29.552L121.409,29.551L208.665,80.243ZM42.181,88.863L42.181,177.554L119.634,221.59L197.22,177.551L197.22,88.866L119.634,43.792L42.181,88.863Z" style="fill:rgb(201,23,126);"/>
- </g>
- <g transform="matrix(1.41079,0,0,1.59861,3.82297,88.2168)">
- <path d="M179.238,106.552L154.758,106.552L154.758,62.2L112.134,62.2L112.134,106.552L87.654,106.552L87.654,1.648L112.134,1.648L112.134,45.496L154.758,45.496L154.758,1.648L179.238,1.648L179.238,106.552Z" style="fill:white;fill-rule:nonzero;"/>
- </g>
- </g>
- <g transform="matrix(1.17016,0,0,1.00319,-96.1682,5.61636)">
- <rect x="759.403" y="100.455" width="487.587" height="249.829" style="fill:rgb(0,131,192);"/>
- <path d="M1246.99,350.284L759.403,350.284L759.403,100.455L1246.99,100.455L1246.99,350.284ZM764.103,105.938L764.103,344.801L1242.29,344.801L1242.29,105.938L764.103,105.938Z"/>
- </g>
- <g transform="matrix(0.565324,0,0,0.565324,625.187,85.961)">
- <path d="M468.111,106.218L482.028,106.218L482.028,227.059L468.111,227.059L468.111,171.561L395.64,171.561L395.64,227.059L381.893,227.059L381.893,106.218L395.64,106.218L395.64,159.85L468.111,159.85L468.111,106.218Z" style="fill:rgb(242,242,242);fill-rule:nonzero;"/>
- <path d="M524.288,222.816C518.179,219.196 513.455,214.047 510.117,207.372C506.779,200.696 505.11,192.889 505.11,183.95C505.11,175.012 506.779,167.204 510.117,160.529C513.455,153.853 518.179,148.705 524.288,145.084C530.398,141.463 537.47,139.653 545.504,139.653C553.537,139.653 560.609,141.463 566.719,145.084C572.829,148.705 577.552,153.853 580.89,160.529C584.228,167.204 585.897,175.012 585.897,183.95C585.897,192.889 584.228,200.696 580.89,207.372C577.552,214.047 572.829,219.196 566.719,222.816C560.609,226.437 553.537,228.247 545.504,228.247C537.47,228.247 530.398,226.437 524.288,222.816ZM565.021,208.475C569.547,202.874 571.81,194.699 571.81,183.95C571.81,173.541 569.491,165.479 564.852,159.765C560.213,154.051 553.763,151.194 545.504,151.194C537.131,151.194 530.625,154.051 525.986,159.765C521.347,165.479 519.027,173.541 519.027,183.95C519.027,194.699 521.318,202.874 525.901,208.475C530.483,214.076 537.018,216.876 545.504,216.876C553.99,216.876 560.496,214.076 565.021,208.475Z" style="fill:rgb(242,242,242);fill-rule:nonzero;"/>
- <path d="M730.329,173.427L730.329,227.059L716.582,227.059L716.582,174.106C716.582,166.073 715.196,160.246 712.424,156.625C709.652,153.004 705.154,151.194 698.931,151.194C691.69,151.194 686.032,153.627 681.959,158.492C677.886,163.357 675.849,169.977 675.849,178.349L675.849,227.059L662.102,227.059L662.102,174.106C662.102,166.186 660.687,160.387 657.859,156.71C655.03,153.033 650.504,151.194 644.281,151.194C637.04,151.194 631.354,153.627 627.224,158.492C623.094,163.357 621.029,169.977 621.029,178.349L621.029,227.059L607.282,227.059L607.282,165.62C607.282,156.795 606.829,148.818 605.924,141.69L618.993,141.69L620.35,156.625C622.726,151.194 626.262,147.008 630.958,144.066C635.654,141.124 641.113,139.653 647.336,139.653C654.125,139.653 659.669,141.011 663.969,143.726C668.268,146.442 671.436,150.628 673.473,156.286C676.075,151.194 679.894,147.149 684.929,144.151C689.964,141.152 695.65,139.653 701.986,139.653C720.882,139.653 730.329,150.911 730.329,173.427Z" style="fill:rgb(242,242,242);fill-rule:nonzero;"/>
- <path d="M827.919,183.95L765.292,183.95C765.405,194.812 767.923,203.015 772.844,208.56C777.766,214.104 784.923,216.876 794.314,216.876C804.271,216.876 813.436,213.538 821.809,206.862L826.391,216.876C822.657,220.384 817.877,223.156 812.05,225.192C806.223,227.229 800.254,228.247 794.144,228.247C780.793,228.247 770.327,224.315 762.746,216.452C755.165,208.588 751.375,197.811 751.375,184.12C751.375,175.408 753.072,167.685 756.466,160.953C759.861,154.221 764.613,148.988 770.723,145.254C776.833,141.52 783.791,139.653 791.599,139.653C802.913,139.653 811.795,143.359 818.245,150.77C824.694,158.181 827.919,168.392 827.919,181.404L827.919,183.95ZM774.372,156.795C769.903,161.094 767.046,167.148 765.801,174.955L815.529,174.955C814.85,166.922 812.502,160.812 808.486,156.625C804.469,152.439 798.897,150.345 791.768,150.345C784.64,150.345 778.841,152.495 774.372,156.795Z" style="fill:rgb(242,242,242);fill-rule:nonzero;"/>
- <path d="M911.252,145.254C917.022,148.988 921.491,154.221 924.66,160.953C927.828,167.685 929.412,175.464 929.412,184.29C929.412,193.115 927.828,200.837 924.66,207.456C921.491,214.076 917.05,219.196 911.337,222.816C905.623,226.437 898.975,228.247 891.394,228.247C884.719,228.247 878.892,226.776 873.913,223.835C868.935,220.893 865.144,216.706 862.542,211.275L862.542,263.719L848.794,263.719L848.794,165.62C848.794,156.795 848.342,148.818 847.437,141.69L860.505,141.69L861.863,158.153C864.239,152.269 868.001,147.715 873.149,144.49C878.298,141.265 884.379,139.653 891.394,139.653C898.862,139.653 905.481,141.52 911.252,145.254ZM908.282,208.39C912.864,202.733 915.155,194.699 915.155,184.29C915.155,173.88 912.836,165.762 908.197,159.935C903.558,154.108 897.108,151.194 888.849,151.194C880.362,151.194 873.857,154.023 869.331,159.68C864