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)