81 lines
1.2 KiB
Bash
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
|
|
|