diff --git a/docs/bake-stdlib.md b/docs/bake-stdlib.md
index 119a582392a6..a02981e4b376 100644
--- a/docs/bake-stdlib.md
+++ b/docs/bake-stdlib.md
@@ -113,9 +113,7 @@ title: Bake standard library functions
-## Examples
-
-### `absolute`
+## `absolute`
```hcl
# docker-bake.hcl
@@ -128,7 +126,7 @@ target "webapp-dev" {
}
```
-### `add`
+## `add`
```hcl
# docker-bake.hcl
@@ -141,7 +139,7 @@ target "webapp-dev" {
}
```
-### `and`
+## `and`
```hcl
# docker-bake.hcl
@@ -154,7 +152,7 @@ target "webapp-dev" {
}
```
-### `base64decode`
+## `base64decode`
```hcl
# docker-bake.hcl
@@ -167,7 +165,7 @@ target "webapp-dev" {
}
```
-### `base64encode`
+## `base64encode`
```hcl
# docker-bake.hcl
@@ -180,7 +178,7 @@ target "webapp-dev" {
}
```
-### `basename`
+## `basename`
```hcl
# docker-bake.hcl
@@ -193,7 +191,7 @@ target "webapp-dev" {
}
```
-### `bcrypt`
+## `bcrypt`
```hcl
# docker-bake.hcl
@@ -206,7 +204,7 @@ target "webapp-dev" {
}
```
-### `byteslen`
+## `byteslen`
```hcl
# docker-bake.hcl
@@ -219,7 +217,7 @@ target "webapp-dev" {
}
```
-### `bytesslice`
+## `bytesslice`
```hcl
# docker-bake.hcl
@@ -232,7 +230,7 @@ target "webapp-dev" {
}
```
-### `can`
+## `can`
```hcl
# docker-bake.hcl
@@ -245,7 +243,7 @@ target "webapp-dev" {
}
```
-### `ceil`
+## `ceil`
```hcl
# docker-bake.hcl
@@ -258,7 +256,7 @@ target "webapp-dev" {
}
```
-### `chomp`
+## `chomp`
```hcl
# docker-bake.hcl
@@ -271,7 +269,7 @@ target "webapp-dev" {
}
```
-### `chunklist`
+## `chunklist`
```hcl
# docker-bake.hcl
@@ -284,7 +282,7 @@ target "webapp-dev" {
}
```
-### `cidrhost`
+## `cidrhost`
```hcl
# docker-bake.hcl
@@ -297,7 +295,7 @@ target "webapp-dev" {
}
```
-### `cidrnetmask`
+## `cidrnetmask`
```hcl
# docker-bake.hcl
@@ -310,7 +308,7 @@ target "webapp-dev" {
}
```
-### `cidrsubnet`
+## `cidrsubnet`
```hcl
# docker-bake.hcl
@@ -323,7 +321,7 @@ target "webapp-dev" {
}
```
-### `cidrsubnets`
+## `cidrsubnets`
```hcl
# docker-bake.hcl
@@ -336,7 +334,7 @@ target "webapp-dev" {
}
```
-### `coalesce`
+## `coalesce`
```hcl
# docker-bake.hcl
@@ -349,7 +347,7 @@ target "webapp-dev" {
}
```
-### `coalescelist`
+## `coalescelist`
```hcl
# docker-bake.hcl
@@ -362,7 +360,7 @@ target "webapp-dev" {
}
```
-### `compact`
+## `compact`
```hcl
# docker-bake.hcl
@@ -375,7 +373,7 @@ target "webapp-dev" {
}
```
-### `concat`
+## `concat`
```hcl
# docker-bake.hcl
@@ -388,7 +386,7 @@ target "webapp-dev" {
}
```
-### `contains`
+## `contains`
```hcl
# docker-bake.hcl
@@ -401,7 +399,7 @@ target "webapp-dev" {
}
```
-### `convert`
+## `convert`
```hcl
# docker-bake.hcl
@@ -414,7 +412,7 @@ target "webapp-dev" {
}
```
-### `csvdecode`
+## `csvdecode`
```hcl
# docker-bake.hcl
@@ -427,7 +425,7 @@ target "webapp-dev" {
}
```
-### `dirname`
+## `dirname`
```hcl
# docker-bake.hcl
@@ -440,7 +438,7 @@ target "webapp-dev" {
}
```
-### `distinct`
+## `distinct`
```hcl
# docker-bake.hcl
@@ -453,7 +451,7 @@ target "webapp-dev" {
}
```
-### `divide`
+## `divide`
```hcl
# docker-bake.hcl
@@ -466,7 +464,7 @@ target "webapp-dev" {
}
```
-### `element`
+## `element`
```hcl
# docker-bake.hcl
@@ -479,7 +477,7 @@ target "webapp-dev" {
}
```
-### `equal`
+## `equal`
```hcl
# docker-bake.hcl
@@ -492,7 +490,7 @@ target "webapp-dev" {
}
```
-### `flatten`
+## `flatten`
```hcl
# docker-bake.hcl
@@ -505,7 +503,7 @@ target "webapp-dev" {
}
```
-### `floor`
+## `floor`
```hcl
# docker-bake.hcl
@@ -518,7 +516,7 @@ target "webapp-dev" {
}
```
-### `format`
+## `format`
```hcl
# docker-bake.hcl
@@ -531,7 +529,7 @@ target "webapp-dev" {
}
```
-### `formatdate`
+## `formatdate`
```hcl
# docker-bake.hcl
@@ -544,7 +542,7 @@ target "webapp-dev" {
}
```
-### `formatlist`
+## `formatlist`
```hcl
# docker-bake.hcl
@@ -557,7 +555,7 @@ target "webapp-dev" {
}
```
-### `greaterthan`
+## `greaterthan`
```hcl
# docker-bake.hcl
@@ -570,7 +568,7 @@ target "webapp-dev" {
}
```
-### `greaterthanorequalto`
+## `greaterthanorequalto`
```hcl
# docker-bake.hcl
@@ -583,7 +581,7 @@ target "webapp-dev" {
}
```
-### `hasindex`
+## `hasindex`
```hcl
# docker-bake.hcl
@@ -597,7 +595,7 @@ target "webapp-dev" {
}
```
-### `homedir`
+## `homedir`
```hcl
# docker-bake.hcl
@@ -610,7 +608,7 @@ target "webapp-dev" {
}
```
-### `indent`
+## `indent`
```hcl
# docker-bake.hcl
@@ -624,7 +622,7 @@ target "webapp-dev" {
}
```
-### `index`
+## `index`
```hcl
# docker-bake.hcl
@@ -637,7 +635,7 @@ target "webapp-dev" {
}
```
-### `indexof`
+## `indexof`
```hcl
# docker-bake.hcl
@@ -650,7 +648,7 @@ target "webapp-dev" {
}
```
-### `int`
+## `int`
```hcl
# docker-bake.hcl
@@ -663,7 +661,7 @@ target "webapp-dev" {
}
```
-### `join`
+## `join`
```hcl
# docker-bake.hcl
@@ -676,7 +674,7 @@ target "webapp-dev" {
}
```
-### `jsondecode`
+## `jsondecode`
```hcl
# docker-bake.hcl
@@ -689,7 +687,7 @@ target "webapp-dev" {
}
```
-### `jsonencode`
+## `jsonencode`
```hcl
# docker-bake.hcl
@@ -702,7 +700,7 @@ target "webapp-dev" {
}
```
-### `keys`
+## `keys`
```hcl
# docker-bake.hcl
@@ -716,7 +714,7 @@ target "webapp-dev" {
}
```
-### `length`
+## `length`
```hcl
# docker-bake.hcl
@@ -729,7 +727,7 @@ target "webapp-dev" {
}
```
-### `lessthan`
+## `lessthan`
```hcl
# docker-bake.hcl
@@ -742,7 +740,7 @@ target "webapp-dev" {
}
```
-### `lessthanorequalto`
+## `lessthanorequalto`
```hcl
# docker-bake.hcl
@@ -755,7 +753,7 @@ target "webapp-dev" {
}
```
-### `log`
+## `log`
```hcl
# docker-bake.hcl
@@ -768,7 +766,7 @@ target "webapp-dev" {
}
```
-### `lookup`
+## `lookup`
```hcl
# docker-bake.hcl
@@ -781,7 +779,7 @@ target "webapp-dev" {
}
}
```
-### `lower`
+## `lower`
```hcl
# docker-bake.hcl
@@ -794,7 +792,7 @@ target "webapp-dev" {
}
```
-### `max`
+## `max`
```hcl
# docker-bake.hcl
@@ -807,7 +805,7 @@ target "webapp-dev" {
}
```
-### `md5`
+## `md5`
```hcl
# docker-bake.hcl
@@ -820,7 +818,7 @@ target "webapp-dev" {
}
```
-### `merge`
+## `merge`
```hcl
# docker-bake.hcl
@@ -833,7 +831,7 @@ target "webapp-dev" {
}
```
-### `min`
+## `min`
```hcl
# docker-bake.hcl
@@ -846,7 +844,7 @@ target "webapp-dev" {
}
```
-### `modulo`
+## `modulo`
```hcl
# docker-bake.hcl
@@ -859,7 +857,7 @@ target "webapp-dev" {
}
```
-### `multiply`
+## `multiply`
```hcl
# docker-bake.hcl
@@ -872,7 +870,7 @@ target "webapp-dev" {
}
```
-### `negate`
+## `negate`
```hcl
# docker-bake.hcl
@@ -885,7 +883,7 @@ target "webapp-dev" {
}
```
-### `not`
+## `not`
```hcl
# docker-bake.hcl
@@ -898,7 +896,7 @@ target "webapp-dev" {
}
```
-### `notequal`
+## `notequal`
```hcl
# docker-bake.hcl
@@ -911,7 +909,7 @@ target "webapp-dev" {
}
```
-### `or`
+## `or`
```hcl
# docker-bake.hcl
@@ -924,7 +922,7 @@ target "webapp-dev" {
}
```
-### `parseint`
+## `parseint`
```hcl
# docker-bake.hcl
@@ -937,7 +935,7 @@ target "webapp-dev" {
}
```
-### `pow`
+## `pow`
```hcl
# docker-bake.hcl
@@ -950,7 +948,7 @@ target "webapp-dev" {
}
```
-### `range`
+## `range`
```hcl
# docker-bake.hcl
@@ -963,7 +961,7 @@ target "webapp-dev" {
}
```
-### `regex`
+## `regex`
```hcl
# docker-bake.hcl
@@ -976,7 +974,7 @@ target "webapp-dev" {
}
```
-### `regex_replace`
+## `regex_replace`
```hcl
# docker-bake.hcl
@@ -989,7 +987,7 @@ target "webapp-dev" {
}
```
-### `regexall`
+## `regexall`
```hcl
# docker-bake.hcl
@@ -1002,7 +1000,7 @@ target "webapp-dev" {
}
```
-### `replace`
+## `replace`
```hcl
# docker-bake.hcl
@@ -1015,7 +1013,7 @@ target "webapp-dev" {
}
```
-### `reverse`
+## `reverse`
```hcl
# docker-bake.hcl
@@ -1028,7 +1026,7 @@ target "webapp-dev" {
}
```
-### `reverselist`
+## `reverselist`
```hcl
# docker-bake.hcl
@@ -1041,7 +1039,7 @@ target "webapp-dev" {
}
```
-### `rsadecrypt`
+## `rsadecrypt`
```hcl
# docker-bake.hcl
@@ -1054,7 +1052,7 @@ target "webapp-dev" {
}
```
-### `sanitize`
+## `sanitize`
```hcl
# docker-bake.hcl
@@ -1067,7 +1065,7 @@ target "webapp-dev" {
}
```
-### `sethaselement`
+## `sethaselement`
```hcl
# docker-bake.hcl
@@ -1080,7 +1078,7 @@ target "webapp-dev" {
}
```
-### `setintersection`
+## `setintersection`
```hcl
# docker-bake.hcl
@@ -1093,7 +1091,7 @@ target "webapp-dev" {
}
```
-### `setproduct`
+## `setproduct`
```hcl
# docker-bake.hcl
@@ -1106,7 +1104,7 @@ target "webapp-dev" {
}
```
-### `setsubtract`
+## `setsubtract`
```hcl
# docker-bake.hcl
@@ -1119,7 +1117,7 @@ target "webapp-dev" {
}
```
-### `setsymmetricdifference`
+## `setsymmetricdifference`
```hcl
# docker-bake.hcl
@@ -1132,7 +1130,7 @@ target "webapp-dev" {
}
```
-### `setunion`
+## `setunion`
```hcl
# docker-bake.hcl
@@ -1145,7 +1143,7 @@ target "webapp-dev" {
}
```
-### `sha1`
+## `sha1`
```hcl
# docker-bake.hcl
@@ -1158,7 +1156,7 @@ target "webapp-dev" {
}
```
-### `sha256`
+## `sha256`
```hcl
# docker-bake.hcl
@@ -1171,7 +1169,7 @@ target "webapp-dev" {
}
```
-### `sha512`
+## `sha512`
```hcl
# docker-bake.hcl
@@ -1184,7 +1182,7 @@ target "webapp-dev" {
}
```
-### `signum`
+## `signum`
```hcl
# docker-bake.hcl
@@ -1199,7 +1197,7 @@ target "webapp-dev" {
}
```
-### `slice`
+## `slice`
```hcl
# docker-bake.hcl
@@ -1212,7 +1210,7 @@ target "webapp-dev" {
}
```
-### `sort`
+## `sort`
```hcl
# docker-bake.hcl
@@ -1225,7 +1223,7 @@ target "webapp-dev" {
}
```
-### `split`
+## `split`
```hcl
# docker-bake.hcl
@@ -1238,7 +1236,7 @@ target "webapp-dev" {
}
```
-### `strlen`
+## `strlen`
```hcl
# docker-bake.hcl
@@ -1251,7 +1249,7 @@ target "webapp-dev" {
}
```
-### `substr`
+## `substr`
```hcl
# docker-bake.hcl
@@ -1264,7 +1262,7 @@ target "webapp-dev" {
}
```
-### `subtract`
+## `subtract`
```hcl
# docker-bake.hcl
@@ -1277,7 +1275,7 @@ target "webapp-dev" {
}
```
-### `timeadd`
+## `timeadd`
```hcl
# docker-bake.hcl
@@ -1290,7 +1288,7 @@ target "webapp-dev" {
}
```
-### `timestamp`
+## `timestamp`
```hcl
# docker-bake.hcl
@@ -1303,7 +1301,7 @@ target "webapp-dev" {
}
```
-### `title`
+## `title`
```hcl
# docker-bake.hcl
@@ -1316,7 +1314,7 @@ target "webapp-dev" {
}
```
-### `trim`
+## `trim`
```hcl
# docker-bake.hcl
@@ -1329,7 +1327,7 @@ target "webapp-dev" {
}
```
-### `trimprefix`
+## `trimprefix`
```hcl
# docker-bake.hcl
@@ -1342,7 +1340,7 @@ target "webapp-dev" {
}
```
-### `trimspace`
+## `trimspace`
```hcl
# docker-bake.hcl
@@ -1355,7 +1353,7 @@ target "webapp-dev" {
}
```
-### `trimsuffix`
+## `trimsuffix`
```hcl
# docker-bake.hcl
@@ -1368,7 +1366,7 @@ target "webapp-dev" {
}
```
-### `try`
+## `try`
```hcl
# docker-bake.hcl
@@ -1385,7 +1383,7 @@ target "webapp-dev" {
}
```
-### `upper`
+## `upper`
```hcl
# docker-bake.hcl
@@ -1398,7 +1396,7 @@ target "webapp-dev" {
}
```
-### `urlencode`
+## `urlencode`
```hcl
# docker-bake.hcl
@@ -1411,7 +1409,7 @@ target "webapp-dev" {
}
```
-### `uuidv4`
+## `uuidv4`
```hcl
# docker-bake.hcl
@@ -1424,7 +1422,7 @@ target "webapp-dev" {
}
```
-### `uuidv5`
+## `uuidv5`
```hcl
# docker-bake.hcl
@@ -1440,7 +1438,7 @@ target "webapp-dev" {
}
```
-### `values`
+## `values`
```hcl
# docker-bake.hcl
@@ -1453,7 +1451,7 @@ target "webapp-dev" {
}
```
-### `zipmap`
+## `zipmap`
```hcl
# docker-bake.hcl
@@ -1464,4 +1462,4 @@ target "webapp-dev" {
obj = "${zipmap(["name","stars"], ["Docker", 5])}" # => {name="Docker", stars=5}
}
}
-```
\ No newline at end of file
+```
diff --git a/docs/generate.go b/docs/generate.go
index 314729ce18e7..160ce13a4706 100644
--- a/docs/generate.go
+++ b/docs/generate.go
@@ -152,7 +152,9 @@ func generateBakeStdlibDocs(filename string) error {
sort.Strings(names)
for _, name := range names {
fname := fmt.Sprintf("`%s`", name)
- if strings.Contains(currentContent, "") {
+ // Check if there's a heading for this function in the Examples section
+ // Headings are in the format: ### `functionname`
+ if strings.Contains(currentContent, "## `"+name+"`") {
fname = fmt.Sprintf("[`%s`](#%s)", name, name)
}
fdesc := hclparser.StdlibFuncDescription(name)