|
| 1 | +\documentclass[11pt,a4paper]{article} |
| 2 | + |
| 3 | +% --- Packages --- |
| 4 | +\usepackage[utf8]{inputenc} |
| 5 | +\usepackage[T1]{fontenc} |
| 6 | +\usepackage{lmodern} |
| 7 | +\usepackage[margin=1in, headheight=14pt]{geometry} |
| 8 | +\usepackage{titlesec} |
| 9 | +\usepackage{titletoc} |
| 10 | +\usepackage{fancyhdr} |
| 11 | +\usepackage{graphicx} |
| 12 | +\usepackage{booktabs} |
| 13 | +\usepackage{longtable} |
| 14 | +\usepackage{array} |
| 15 | +\usepackage{enumitem} |
| 16 | +\usepackage{float} |
| 17 | +\usepackage{listings} |
| 18 | +\usepackage{xcolor} |
| 19 | +\usepackage{tikz} |
| 20 | +\usetikzlibrary{shapes, arrows.meta, positioning, fit, backgrounds, calc, shadows, trees} |
| 21 | +\usepackage{amssymb} |
| 22 | +\usepackage{xurl} |
| 23 | +\usepackage[hidelinks]{hyperref} |
| 24 | + |
| 25 | +% --- Typography & Layout --- |
| 26 | +\hypersetup{ |
| 27 | + colorlinks=false, |
| 28 | + pdftitle={Architecture Decision Record: Git CMS}, |
| 29 | + pdfauthor={James Ross} |
| 30 | +} |
| 31 | + |
| 32 | +\usepackage{parskip} |
| 33 | +\setlength{\parindent}{0pt} |
| 34 | +\setlength{\parskip}{0.8em} |
| 35 | + |
| 36 | +\pagestyle{fancy} |
| 37 | +\fancyhf{} |
| 38 | +\fancyhead[L]{\nouppercase{\leftmark}} |
| 39 | +\fancyhead[R]{Git CMS ADR} |
| 40 | +\fancyfoot[C]{\thepage} |
| 41 | + |
| 42 | +\titleformat{\section}{\Large\bfseries\sffamily}{\thesection}{1em}{} |
| 43 | +\titleformat{\subsection}{\large\bfseries\sffamily}{\thesubsection}{1em}{} |
| 44 | +\titleformat{\subsubsection}{\bfseries\sffamily}{\thesubsubsection}{1em}{} |
| 45 | + |
| 46 | +\lstset{ |
| 47 | + basicstyle=\ttfamily\small, |
| 48 | + breaklines=true, |
| 49 | + frame=single, |
| 50 | + numbers=left, |
| 51 | + numberstyle=\tiny\color{gray}, |
| 52 | + captionpos=b, |
| 53 | + keepspaces=true, |
| 54 | + showstringspaces=false, |
| 55 | + keywordstyle=\bfseries, |
| 56 | + commentstyle=\itshape, |
| 57 | + stringstyle=, |
| 58 | +} |
| 59 | + |
| 60 | +% --- Textbook B&W TikZ Styles --- |
| 61 | +\tikzset{ |
| 62 | + base/.style={draw=black, thick, font=\sffamily\small, align=center, inner sep=8pt}, |
| 63 | + block/.style={base, rectangle, rounded corners=2pt, fill=white}, |
| 64 | + blockshaded/.style={base, rectangle, rounded corners=2pt, fill=gray!10}, |
| 65 | + line/.style={draw=black, thick, -Latex}, |
| 66 | + dashed-line/.style={draw=black, thick, dashed, -Latex} |
| 67 | +} |
| 68 | + |
| 69 | +\begin{document} |
| 70 | + |
| 71 | +\input{meta} |
| 72 | + |
| 73 | +\begin{titlepage} |
| 74 | + \centering |
| 75 | + \vspace*{3cm} |
| 76 | + {\fontsize{30}{36}\selectfont \textbf{Architecture Decision Record}\\[0.5em]} |
| 77 | + {\fontsize{20}{24}\selectfont \textit{Git CMS}\\[1.5cm]} |
| 78 | + |
| 79 | + \rule{\textwidth}{1pt}\\[0.5cm] |
| 80 | + {\Large Database-Free Content Management via Git Plumbing}\\[3cm] |
| 81 | + |
| 82 | + \textbf{Author:} James Ross \\ |
| 83 | + \textbf{Version:} 1.0.0 \\ |
| 84 | + \textbf{Date:} 2026-01-11 |
| 85 | + |
| 86 | + \vfill |
| 87 | + \textit{Prepared for Engineering Review} |
| 88 | + \vspace{2cm} |
| 89 | +\end{titlepage} |
| 90 | + |
| 91 | +\tableofcontents |
| 92 | +\newpage |
| 93 | + |
| 94 | +\input{sections/01-introduction} |
| 95 | +\input{sections/02-constraints} |
| 96 | +\input{sections/03-context} |
| 97 | +\input{sections/04-solution} |
| 98 | +\input{sections/05-building-blocks} |
| 99 | +\input{sections/06-runtime} |
| 100 | +\input{sections/07-deployment} |
| 101 | +\input{sections/08-crosscutting} |
| 102 | +\input{sections/09-decisions} |
| 103 | +\input{sections/10-quality} |
| 104 | +\input{sections/11-risks} |
| 105 | +\input{sections/12-glossary} |
| 106 | + |
| 107 | +\appendix |
| 108 | +\input{sections/A-commands} |
| 109 | +\input{sections/B-structure} |
| 110 | +\input{sections/C-related} |
| 111 | +\input{sections/D-references} |
| 112 | + |
| 113 | +\end{document} |
0 commit comments