Merge commit '8d9511a08f14260cbfb73119e4afae50e5a9966d'

This commit is contained in:
Bjørn Erik Pedersen
2021-12-08 08:54:25 +01:00
48 changed files with 463 additions and 465 deletions

View File

@@ -1,32 +1,41 @@
---
title: readFile
description: Reads a file from disk relative to the current project working directory and returns a string.
description: Returns the contents of a file.
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-04-30
lastmod: 2021-11-26
categories: [functions]
menu:
docs:
parent: "functions"
keywords: [files]
signature: ["readFile PATH"]
signature: ["os.ReadFile PATH", "readFile PATH"]
workson: []
hugoversion:
relatedfuncs: [readDir]
relatedfuncs: ['os.FileExists','os.ReadDir','os.Stat']
deprecated: false
aliases: []
---
The `os.ReadFile` function attempts to resolve the path relative to the root of your project directory. If a matching file is not found, it will attempt to resolve the path relative to the [`contentDir`]({{< relref "getting-started/configuration#contentdir">}}). A leading path separator (`/`) is optional.
Note that the filename must be relative to the current project working directory, or the project's `/content` folder.
With a file named README.md in the root of your project directory:
So, if you have a file with the name `README.txt` in the root of your project with the content `Hugo Rocks!`:
```
{{readFile "README.txt"}} → "Hugo Rocks!"
```text
This is **bold** text.
```
If you receive a "file doesn't exist" error with a path listed, do take note that the path is the last one checked by the function, and may not accurately reflect your target. You should generally double-check your path for mistakes.
This template code:
For more information on using `readDir` and `readFile` in your templates, see [Local File Templates][local].
```go-html-template
{{ os.ReadFile "README.md" }}
```
[local]: /templates/files/
Produces:
```html
This is **bold** text.
```
Note that `os.ReadFile` returns raw (uninterpreted) content.
For more information on using `readDir` and `readFile` in your templates, see [Local File Templates]({{< relref "/templates/files" >}}).