From f31741b47bd22e82395e4a8e20dbf61fb5ee660c Mon Sep 17 00:00:00 2001 From: Joe Mooring Date: Sun, 12 May 2024 05:36:56 -0700 Subject: [PATCH] Remove references to symlinks --- content/en/about/security.md | 1 - content/en/getting-started/directory-structure.md | 2 +- content/en/hugo-modules/configuration.md | 2 +- content/en/templates/data-templates.md | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/content/en/about/security.md b/content/en/about/security.md index 008cd68148..fe345aafb3 100644 --- a/content/en/about/security.md +++ b/content/en/about/security.md @@ -22,7 +22,6 @@ But when developing and building your site, the runtime is the `hugo` executable **Hugo's main approach is that of sandboxing and a security policy with strict defaults:** * Hugo has a virtual file system and only the main project (not third-party components) is allowed to mount directories or files outside the project root. -* Only the main project can walk symbolic links. * User-defined components have read-only access to the filesystem. * We shell out to some external binaries to support [Asciidoctor](/content-management/formats/#formats) and similar, but those binaries and their flags are predefined and disabled by default (see [Security Policy](#security-policy)). General functions to run arbitrary external OS commands have been [discussed](https://github.com/gohugoio/hugo/issues/796), but not implemented because of security concerns. diff --git a/content/en/getting-started/directory-structure.md b/content/en/getting-started/directory-structure.md index a26e6f8ad4..ca37d328ac 100644 --- a/content/en/getting-started/directory-structure.md +++ b/content/en/getting-started/directory-structure.md @@ -150,7 +150,7 @@ target = 'content' {{% note %}} When you overlay one directory on top of another, you must mount both directories. -If you think you need a symbolic link in your project directory, use Hugo's union file system instead. +Hugo does not follow symbolic links. If you need the functionality provided by symbolic links, use Hugo's union file system instead. {{% /note %}} After mounting, the union file system has this structure: diff --git a/content/en/hugo-modules/configuration.md b/content/en/hugo-modules/configuration.md index ce9e97d81f..3aec4699bf 100644 --- a/content/en/hugo-modules/configuration.md +++ b/content/en/hugo-modules/configuration.md @@ -147,7 +147,7 @@ When you add a mount, the default mount for the concerned target root is ignored {{< /code-toggle >}} source -: The source directory of the mount. For the main project, this can be either project-relative or absolute and even a symbolic link. For other modules it must be project-relative. +: The source directory of the mount. For the main project, this can be either project-relative or absolute. For other modules it must be project-relative. target : Where it should be mounted into Hugo's virtual filesystem. It must start with one of Hugo's component folders: `static`, `content`, `layouts`, `data`, `assets`, `i18n`, or `archetypes`. E.g. `content/blog`. diff --git a/content/en/templates/data-templates.md b/content/en/templates/data-templates.md index 4e26859c62..45e7c7bd7c 100644 --- a/content/en/templates/data-templates.md +++ b/content/en/templates/data-templates.md @@ -142,7 +142,7 @@ Retrieve remote data using these template functions: ## LiveReload with data files -There is no chance to trigger a [LiveReload] when the content of a URL changes. However, when a *local* file changes (i.e., `data/*` and `themes//data/*`), a LiveReload will be triggered. Symlinks are not supported. Note too that because downloading data takes a while, Hugo stops processing your Markdown files until the data download has been completed. +There is no chance to trigger a [LiveReload] when the content of a URL changes. However, when a *local* file changes (i.e., `data/*` and `themes//data/*`), a LiveReload will be triggered. Note too that because downloading data takes a while, Hugo stops processing your Markdown files until the data download has been completed. {{% note %}} If you change any local file and the LiveReload is triggered, Hugo will read the data-driven (URL) content from the cache. If you have disabled the cache (i.e., by running the server with `hugo server --ignoreCache`), Hugo will re-download the content every time LiveReload triggers. This can create *huge* traffic. You may reach API limits quickly.