\documentclass[
   a4paper,
   oneside,
   parskip=half,
   listof=entryprefix,
   listof=totoc,
   index=totoc,
   bibliography=totoc
]{scrartcl}

\usepackage{silence}
\WarningFilter{biblatex}{File 'british-iso.lbx'}
\WarningFilter{biblatex}{'\mainlang'}

\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[T1]{fontenc}

\usepackage{pdfpages,graphicx,subcaption,lastpage}
\graphicspath{ {./images} }

\usepackage{geometry}
\geometry{a4paper, top=2.5cm, left=2.5cm, right=2.5cm, bottom=2.5cm}
\usepackage{float,listings,xcolor,csquotes,microtype,scrlayer-scrpage,etoolbox}
\usepackage[official]{eurosym}

\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\lstdefinestyle{c++}{
   language=C++,
   directivestyle={\color{codepurple}},
   emph={firewall_rule_t,uint8_t,uint16_t,firewall_protocol_t,firewall_target_t,fw,Firewall,API},
   emphstyle={\color{codegreen}},
}
\lstdefinestyle{shell}{
   emph={cd,mkdir,git},
   emphstyle={\color{codepurple}},
}
\lstdefinestyle{platform-io}{
   emph={platformio,esp32,esp8266,arduino},
   emphstyle={\color{codegreen}},
}
\definecolor{delim}{RGB}{20,105,176}
\definecolor{numb}{RGB}{106, 109, 32}
\definecolor{string}{rgb}{0.64,0.08,0.08}
\lstdefinestyle{json}{
   rulecolor=\color{black},
   showspaces=false,
   showtabs=false,
   breaklines=true,
   postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{gray}\hookrightarrow\space}},
   breakatwhitespace=true,
   basicstyle=\ttfamily\small,
   upquote=true,
   morestring=[b]",
   stringstyle=\color{string},
   literate=
    *{0}{{{\color{numb}0}}}{1}
     {1}{{{\color{numb}1}}}{1}
     {2}{{{\color{numb}2}}}{1}
     {3}{{{\color{numb}3}}}{1}
     {4}{{{\color{numb}4}}}{1}
     {5}{{{\color{numb}5}}}{1}
     {6}{{{\color{numb}6}}}{1}
     {7}{{{\color{numb}7}}}{1}
     {8}{{{\color{numb}8}}}{1}
     {9}{{{\color{numb}9}}}{1}
     {\{}{{{\color{delim}{\{}}}}{1}
     {\}}{{{\color{delim}{\}}}}}{1}
     {[}{{{\color{delim}{[}}}}{1}
     {]}{{{\color{delim}{]}}}}{1},
}

\setuptoc{toc}{totoc}

\usepackage[
   backend=biber,
   urldate=long,
   style=iso-authoryear,
   natbib=true,
   useauthor=true,
   mincitenames=1,
   maxcitenames=3
]{biblatex}
\addbibresource{bib/online.bib}
\addbibresource{bib/book.bib}

\DeclareNameAlias{default}{family-given/given-family}

\renewcommand*{\finalnamedelim}{\addspace{}und\space}
\AtEveryCite{
   \renewcommand*{\multinamedelim}{,\space}
   \renewcommand*{\nameyeardelim}{\space}
}

\AtBeginBibliography{
   \renewcommand*{\multinamedelim}{,\space}
}
\AfterTOCHead[lof]{\appto\autodot{:}}

\definecolor{must-have-brown}{RGB}{51, 22, 18}
\definecolor{should-have-red}{RGB}{229, 24, 31}
\definecolor{could-have-orange}{RGB}{246, 121, 28}
\definecolor{wont-have-blue}{RGB}{32, 169, 215}
\newcommand{\morequirement}[1]{\paragraph{#1}\hfill\textbf{\textcolor{must-have-brown}{must-have}}\\}
\newcommand{\srequirement}[1]{\paragraph{#1}\hfill\textbf{\textcolor{should-have-red}{should-have}}\\}
\newcommand{\corequirement}[1]{\paragraph{#1}\hfill\textbf{\textcolor{could-have-orange}{could-have}}\\}
\newcommand{\wrequirement}[1]{\paragraph{#1}\hfill\textbf{\textcolor{wont-have-blue}{won't-have}}\\}

\ihead{IoT Firewall - ESP8266/ESP32}
\chead{}
\ohead{Florian Hoss}
\ofoot{Page~\thepage{}/\pageref{LastPage}}
\cfoot{}
\title{IoT Firewall - ESP8266/ESP32}
\usepackage[breaklinks,colorlinks,linkcolor=black,citecolor=black,filecolor=black,urlcolor=black]{hyperref}

\begin{document}

    \include{titlepage/titlepage}
    \tableofcontents
    \newpage
    \listoffigures
    \include{firststeps/firststeps}
    \include{storage/storage}
    \include{firewall/firewall}
    \include{api/api}

    \printbibliography[title=Bibliography]

\end{document}