#!/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")'
}