A tool for managing my collection of notes.
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.
|
|
|
#!/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 "getYamlTitle $*"
|
|
|
|
cd "$dataDir" || return
|
|
|
|
getYamlBlock "$1" | yq -r '.Tags | join("\n")'
|
|
|
|
}
|
|
|
|
|