mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
1.1 KiB
1.1 KiB
Front Matter
yq
can process files with yaml
front matter (e.g. jekyll, assemble and others) - this is done via the --front-matter/-f
flag.
Note that yq
only processes the first passed in file for front-matter. If you'd like to process multiple files, you can:
find -name "*.md" -exec yq --front-matter="process" '.updated_at = now' {} \;
Process front matter
Use --front-matter=process
to process the front matter, that is run the expression against the yaml
content, and output back the entire file, included the non-yaml content block. For example:
File:
---
a: apple
b: bannana
---
<h1>I like {{a}} and {{b}} </h1>
The running
yq --front-matter=process '.a="chocolate"' file.jekyll
Will yield:
---
a: chocolate
b: bannana
---
<h1>I like {{a}} and {{b}} </h1>
Extract front matter
Running with --front-matter=extract
will only output the yaml contents and ignore the rest. From the previous example, if you were to instead run:
yq --front-matter=extract '.a="chocolate"' file.jekyll
Then this would yield:
---
a: chocolate
b: bannana