You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
922 B
47 lines
922 B
#!/usr/bin/env bash |
|
|
|
getYamlBlock(){ |
|
vecho "getYamlBlock $*" |
|
cd "$dataDir" || return |
|
local filename |
|
filename="$(findFile "$1")" |
|
|
|
# If there is a yaml file, use it |
|
# if not, try and get the yaml header |
|
getYamlFile "$filename" || getYamlHeader "$filename" |
|
} |
|
|
|
getYamlFile(){ |
|
vecho "getYamlFile $*" |
|
cd "$dataDir" || return |
|
local filename |
|
filename="$(findFile "$1")" |
|
if [ -f "$filename.yaml" ]; then |
|
cat "$filename.yaml" |
|
return 0 |
|
else |
|
return 1 |
|
fi |
|
} |
|
|
|
getYamlHeader(){ |
|
vecho "getYamlHeader $*" |
|
cd "$dataDir" || return |
|
local filename |
|
filename="$(findFile "$1")" |
|
sed -n '1 { /^---/ { :a N; /\n---/! ba; p} }' "$filename" | |
|
sed '1d;$d;s/\t/ /g' |
|
} |
|
|
|
getYamlTitle(){ |
|
vecho "getYamlTitle $*" |
|
cd "$dataDir" || return |
|
getYamlBlock "$1" | yq -r '.Title' |
|
} |
|
|
|
getYamlTags(){ |
|
vecho "getYamlTags $*" |
|
cd "$dataDir" || return |
|
getYamlBlock "$1" | yq -r '.Tags | if . == null then [] else . end | join("\n")' |
|
} |
|
|
|
|