\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[pdfauthor={Luke Hsiao},
            pdftitle={PAII Ward 2019 Year-at-a-Glace},
            hidelinks]{hyperref}
\usepackage[letterpaper,margin=0.1in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{enumitem}
\usepackage{fontawesome}
\usepackage{tikz}
\usepackage{verbatim}
\usetikzlibrary{calendar}
\usetikzlibrary{shapes}
\usetikzlibrary{shapes.geometric}
% \usepackage{xcolor}
% \selectcolormodel{gray}
\usepackage{draftwatermark}
\SetWatermarkText{\textbf{Draft: \today}}
\SetWatermarkHorCenter{1cm}
\SetWatermarkVerCenter{7cm}
\SetWatermarkAngle{90}
\SetWatermarkFontSize{20pt}

\renewcommand{\familydefault}{\sfdefault}
\definecolor{y}{RGB}{227,238,167}
\definecolor{g}{RGB}{127,205,187}
\definecolor{b}{RGB}{54,137,194}

% Define the date highlights
\newcommand{\ward}{\node[xshift=-2ex,fill=y,circle] {};}
\newcommand{\church}{\node[xshift=-2ex,fill=b,circle] {};}
\newcommand{\stake}{\node[xshift=-2ex,fill=g,circle] {};}
\newcommand{\wardbullet}{\begin{tikzpicture}\node[fill=y,circle,scale=0.8] {};\end{tikzpicture}}
\newcommand{\churchbullet}{\begin{tikzpicture}\node[fill=b,circle,scale=0.8] {};\end{tikzpicture}}
\newcommand{\stakebullet}{\begin{tikzpicture}\node[fill=g,circle,scale=0.8] {};\end{tikzpicture}}


\begin{document}
  \title{\vspace{-1cm}Palo Alto 2nd Ward 2019 Year-at-a-Glance\vspace{-1cm}}
  \date{}
  \author{}

  \maketitle
  \thispagestyle{empty} % Remove page numbers and headers
  \makeatletter

  % Define our own style
  \tikzstyle{week list sunday}=[
      % Note that we cannot extend from week list,
      % the execute before day scope is cumulative
      execute before day scope={%
             \ifdate{day of month=1}{\ifdate{equals=\pgfcalendarbeginiso}{}{
             % On first of month, except when first date in calendar.
                 \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@month@yshift}%
                 \pgftransformyshift{-\pgf@y}
             }}{}%
      },
      execute at begin day scope={%
          % Because for TikZ Monday is 0 and Sunday is 6,
          % we can't directly use \pgfcalendercurrentweekday,
          % but instead we define \c@pgf@counta (basically) as:
          % (\pgfcalendercurrentweekday + 1) % 7
          \pgfmathsetlength\pgf@x{\tikz@lib@cal@xshift}%
          \ifnum\pgfcalendarcurrentweekday=6
              \c@pgf@counta=0
          \else
              \c@pgf@counta=\pgfcalendarcurrentweekday
              \advance\c@pgf@counta by 1
          \fi
          \pgf@x=\c@pgf@counta\pgf@x
          % Shift to the right position for the day.
          \pgftransformxshift{\pgf@x}
      },
      execute after day scope={
          % Week is done, shift to the next line.
          \ifdate{Saturday}{
              \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}%
              \pgftransformyshift{-\pgf@y}
          }{}%
      },
      % This should be defined, glancing from the source code.
      tikz@lib@cal@width=7
  ]

  \makeatother

\begin{minipage}[h]{0.28\linewidth}
  % The actual calendar is now rather easy:
  \begin{tikzpicture}[every calendar/.style={
      month label left,
      month text={\%mt},
      month yshift=0pt,
      if={(Sunday) [blue!100]},
      week list sunday,
    },
    % every day/.style={anchor=base},
    day text={\%d=},rounded corners=0,anchor=base,text height=1ex,text depth=-0.5ex
    ]\small
    \matrix[column sep=0em, row sep=0em] {
      \calendar[dates=2019-01-01 to 2019-12-last]
      if (equals=2019-03-30) {\ward}% Easter Breakfast
      if (equals=2019-05-03) {\ward}% Fathers & Kids Campout
      if (equals=2019-05-04) {\ward}%
      if (equals=2019-07-04) {\ward}% 4th of July Breakfast
      if (equals=2019-10-11) {\ward}% Annual Ward Campout
      if (equals=2019-10-12) {\ward}%
      if (equals=2019-11-30) {\stake}% Christmas Creche
      if (equals=2019-12-01) {\stake}% Christmas Creche
      if (equals=2019-12-02) {\stake}% Christmas Creche
      if (equals=2019-12-03) {\stake}% Christmas Creche
      if (equals=2019-12-04) {\stake}% Christmas Creche
      if (equals=2019-04-06) {\church}% General Conf
      if (equals=2019-04-07) {\church}%
      if (equals=2019-10-05) {\church}% General Conf
      if (equals=2019-10-06) {\church}%
      ; \\
    };
  \end{tikzpicture}

\end{minipage}
\begin{minipage}[h]{0.65\linewidth}
\subsection*{Important Dates}
\begin{itemize}[leftmargin=0.5cm,itemsep=1pt]
  \item[\wardbullet] Mar 30: Easter Breakfast at Foothills Park
  \item[\churchbullet] Apr 6--7: General Conference
  \item[\wardbullet] May 3--4: Fathers \& Kids Campout at Foothills Park
  \item[\wardbullet] Jul 4: 4th of July Breakfast
  \item[\churchbullet] Oct 5--6: General Conference
  \item[\wardbullet] Oct 11--12: Annual Ward Campout at Huddart Park
  \item[\stakebullet] Nov 30--Dec 4: Christmas Crèche Exhibit
  \end{itemize}
  \vspace{6cm}
\end{minipage}
\begin{center}
  \begin{tabular}{llll}
    \wardbullet~Palo Alto 2nd Ward Events &
    \stakebullet~Menlo Park Stake Events &
    \churchbullet~Church-wide Events \\
  \end{tabular}
  \vfill
  Find the full, up-to-date calendar at
  \href{https://www.lds.org/church-calendar/}{\faCalendar~www.lds.org/church-calendar/}

  \footnotesize{This printout was last updated on \today.}
\end{center}

\end{document}
