%% Pandoc LaTeX Template
%% Usage: pandoc input.md -o output.pdf --template=template_first-skyfritt-example.tex

\documentclass[12pt, a4paper]{article}

%% ── Encoding & language ───────────────────────────────────────────────────────
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

%% ── Page geometry ─────────────────────────────────────────────────────────────
%% A4 at 12pt Roboto. Text width ~155mm → ~68 chars/line, within the
%% 45–75 char optimal range (Bringhurst). Bottom is slightly deeper than
%% top to give the page number visual breathing room and anchor the page.
\usepackage[
  a4paper,
  top    = 27mm,
  bottom = 32mm,
  left   = 28mm,
  right  = 28mm,
  footskip = 14mm
]{geometry}

%% ── Font: Roboto (requires XeLaTeX or LuaLaTeX) ──────────────────────────────
\usepackage{fontspec}
\setmainfont{Roboto}[
  UprightFont    = *-Regular,
  BoldFont       = *-Bold,
  ItalicFont     = *-Italic,
  BoldItalicFont = *-BoldItalic
]
\setsansfont{Roboto}
\setmonofont{Menlo}[Scale=0.9]

%% ── Colours ───────────────────────────────────────────────────────────────────
\usepackage{xcolor}
\definecolor{accent}{HTML}{2C3E50}
\definecolor{muted}{HTML}{7F8C8D}

%% ── Hyperlinks ────────────────────────────────────────────────────────────────
\usepackage[
  colorlinks = true,
  linkcolor  = accent,
  urlcolor   = accent,
  citecolor  = accent
]{hyperref}

%% ── Page footer only ──────────────────────────────────────────────────────────
%% No header. Page number centred in the footer at footnotesize so it
%% sits quietly without competing with the text.
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\footnotesize\textcolor{muted}{\thepage}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

%% ── Section styling ───────────────────────────────────────────────────────────
\usepackage{titlesec}
\titleformat{\section}
  {\large\bfseries\color{accent}}{\thesection}{1em}{\MakeUppercase}[\titlerule]
\newcommand{\sectionbreak}{\clearpage}
\titleformat{\subsection}
  {\normalsize\bfseries\color{accent}}{\thesubsection}{1em}{}
\titleformat{\subsubsection}
  {\normalsize\itshape}{\thesubsubsection}{1em}{}

%% ── Table of contents styling ─────────────────────────────────────────────────
\usepackage{tocloft}
\renewcommand{\cftsecfont}{\bfseries}
\renewcommand{\cftsecpagefont}{\bfseries}
\setlength{\cftbeforesecskip}{4pt}

%% ── Section numbering ─────────────────────────────────────────────────────────
%% By default sections are NOT auto-numbered, because Markdown headings already
%% carry their own numbers (e.g. "## 1. Introduction").
%% Pass --number-sections to pandoc to enable LaTeX auto-numbering instead.
$if(numbersections)$
\setcounter{secnumdepth}{$if(secnumdepth)$$secnumdepth$$else$3$endif$}
$else$
\setcounter{secnumdepth}{0}
$endif$

%% ── Tables ────────────────────────────────────────────────────────────────────
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{array}
\usepackage{caption}
\usepackage{colortbl}

%% Table colours
\definecolor{tableheadbg}{HTML}{2C3E50}   %% same as accent — dark header
\definecolor{tablerowA}{HTML}{FFFFFF}      %% white rows
\definecolor{tablerowB}{HTML}{F0F3F4}      %% very light grey alternate rows
\definecolor{tablerule}{HTML}{BDC3C7}      %% light rule colour

%% Caption styling
\captionsetup[table]{
  font       = {small, color=muted},
  labelfont  = bf,
  position   = above,
  skip       = 4pt
}

%% Tighten row height slightly and add a hint of left/right cell padding
\setlength{\tabcolsep}{10pt}
\renewcommand{\arraystretch}{1.35}

%% Wrap every longtable in alternating-row colours.
%% Row 1 (the header) gets the dark accent background; from row 2 onward
%% rows alternate tablerowA / tablerowB.
\AtBeginEnvironment{longtable}{%
  \rowcolors{2}{tablerowB}{tablerowA}%
  \arrayrulecolor{tablerule}%
}

%% Style the header row: white bold text on dark accent background.
%% \rowcolor in row 1 overrides the \rowcolors cycling for that row only.
\newcommand{\tableheader}{%
  \rowcolor{tableheadbg}%
  \color{white}\bfseries%
}

%% Pandoc emits \toprule / \midrule / \bottomrule from booktabs.
%% Override rule weights to match the softer palette.
\setlength{\heavyrulewidth}{0.8pt}
\setlength{\lightrulewidth}{0.4pt}
\setlength{\cmidrulewidth}{0.4pt}
\makeatletter
\newcounter{none}
\makeatother

%% ── Graphics & figures ────────────────────────────────────────────────────────
\usepackage{graphicx}
\usepackage{float}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\makeatother
\setkeys{Gin}{width=\maxwidth, keepaspectratio}

\usepackage{etoolbox}

%% ── Code listings ─────────────────────────────────────────────────────────────
\usepackage{fancyvrb}
\usepackage{listings}
\lstset{
  basicstyle   = \small\ttfamily,
  breaklines   = true,
  frame        = single,
  rulecolor    = \color{muted},
  commentstyle = \color{muted},
  keywordstyle = \color{accent}\bfseries
}

%% ── Pandoc shims ──────────────────────────────────────────────────────────────
\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}

$if(highlighting-macros)$
$highlighting-macros$
$endif$

%% ── Blockquotes ───────────────────────────────────────────────────────────────
\AtBeginEnvironment{quote}{\fontsize{11pt}{13.2pt}\selectfont}

%% ── Spacing ───────────────────────────────────────────────────────────────────
\usepackage{parskip}
\setlength{\parskip}{6pt}
\usepackage{setspace}
\onehalfspacing

%% ══════════════════════════════════════════════════════════════════════════════
%%  DOCUMENT
%% ══════════════════════════════════════════════════════════════════════════════
\begin{document}

%% ── Title page ────────────────────────────────────────────────────────────────
\begin{titlepage}
  \thispagestyle{empty}
  \centering
  \vspace*{4cm}

  {\Huge\bfseries\color{accent} $title$ \par}
  \vspace{0.5cm}
  \textcolor{muted}{\rule{0.4\textwidth}{0.4pt}}
  \vspace{1cm}

  $if(subtitle)$
    {\large\itshape $subtitle$ \par}
    \vspace{1cm}
  $endif$

  $if(author)$
    {\large $for(author)$$author$$sep$ \\ $endfor$ \par}
    \vspace{0.5cm}
  $endif$

  $if(date)$
    {\normalsize\textcolor{muted}{$date$} \par}
  $endif$

  \vfill

  $if(description)$
    \begin{minipage}{0.7\textwidth}
      \centering\small\textcolor{muted}{$description$}
    \end{minipage}
  $endif$

\end{titlepage}

%% ── Table of contents ─────────────────────────────────────────────────────────
\clearpage
\tableofcontents
\clearpage

%% ── Main content ──────────────────────────────────────────────────────────────
$body$

\end{document}
