meals/bin/pdf.sh

81 lines
1.2 KiB
Bash

#!/usr/bin/env sh
if [ $# -eq 0 ]
then
mydate=$(gdate)
else
mydate=$1
shift
fi
firstday=`gdate -d "$mydate -$(gdate --date="$mydate" +%u) days" +%F`
lastday=`gdate -d "$firstday +6 days" +%F`
firstdayout=`gdate -d"$firstday +1 days" +%F`
lastdayout=`gdate -d"$firstday +5 days" +%d`
firstdaygroff=`gdate -d"$firstday +1 days" +"%B %_d, %Y"`
lastdaygroff=`gdate -d"$firstday +5 days" +"%B %_d, %Y"`
tmpl=$(
cat<<EOF
.ce
.I
chez brun
.sp 2
.LP
.ps 14
${firstdaygroff} - ${lastdaygroff}
.ps
.sp 3
.LP
.TS
center expand tab(;);
l | lp+2 lp+2 lp+2 lp+2 lp+2
- | - - - - -
l | l l l l l.
;Monday;Tuesday;Wednesday;Thursday;Friday
Breakfast;T{
$(
recsel db/menu.rec -e "date >> '$firstday'" \
| recsel -e "date << '$lastday'" \
| recsel -p breakfast \
| recfmt '.ad l
{{breakfast}}
T};T{
'
)
T}
.sp
Lunch;T{
$(
recsel db/menu.rec -e "date >> '$firstday'" \
| recsel -e "date << '$lastday'" \
| recsel -p lunch \
| recfmt '.ad l
{{lunch}}
T};T{
'
)
T}
.sp
Dinner;T{
$(
recsel db/menu.rec -e "date >> '$firstday'" \
| recsel -e "date << '$lastday'" \
| recsel -p dinner \
| recfmt '.ad l
{{dinner}}
T};T{
'
)
T}
.TE
EOF
)
echo "$tmpl" \
| groff -t -ms -Tpdf -d paper=letterl -P-pletterl \
> dist/"$firstdayout"-"$lastdayout".pdf