From de1f0c4c23ae87fb4ea7f9d1c4a9aed2a5e317e8 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 16 Apr 2025 18:18:18 +0100 Subject: [PATCH] Page and page title templates --- .gitignore | 3 + web/assets/images/social-avatar.jpg | Bin 0 -> 22247 bytes .../opdavies/templates/page-title.html.twig | 21 +++ .../custom/opdavies/templates/page.html.twig | 153 ++++++++++++++++++ 4 files changed, 177 insertions(+) create mode 100644 web/assets/images/social-avatar.jpg create mode 100644 web/themes/custom/opdavies/templates/page-title.html.twig create mode 100644 web/themes/custom/opdavies/templates/page.html.twig diff --git a/.gitignore b/.gitignore index 3999be436..c026a3ea7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ html/ vendor/ web/* +!web/assets/ +web/assets/* +!web/assets/images/ !web/themes/ web/themes/* !web/themes/custom/ diff --git a/web/assets/images/social-avatar.jpg b/web/assets/images/social-avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7aaf7b11a4948f24bbc40467904a60db627c8ec2 GIT binary patch literal 22247 zcmex=T=N7XVFfioi zl@tZJJ1Im&Mkz2LfyCtE0>^*=A0#0(=C^Ag(-{~p>w?TelO)9DPDw3JW?*3CU|?Xd zNG>QUVPIf%U|?YID=#Sku_rJvFo+~)B&IMhFfL(WV9+Uwh>T)jV7velPlB+YfY|8} z_74!dC?v?4fq{vKfq_9G9m3WDv6CQdkY5y%Gm3H<7?^Sx7#LJ?b4rt;4rOFuVBks3 z3k_yqV2}ahVum0FcLpa01%@PsQie>19EK7GU4~4CJO&0F`i#K({21~X6c~~j@)-&k zDjA9xG8xhtG8jr2bQlyEN*Rh7QW+E&(in;uQW;Viau_N>_9Ma`5vIjy#vt<;7#MlH z7#LU||NsA4i-CcCHUq=o_W%EXFZ%!g?_vf9<{JzQ2c{tO=TBi^uz1J7z&rsVrZSg- zfxnr7VcR~0Skh7khV2s=7$oi$Bo-xt+`z!hz`($imd3#FX*mM}ZzKbQ@C612u4qc- zA>qxy05+dt@pT4}Sx4 zxT0)!NmtFyZ)wU~o+XFXok7sb$*;|CrFuoWpYfiR%buPnwmdaykJtHHbz`wbMz_P% z)>u`@?5J8WXKCKL#towKP1FsHx-O zR&Hk}%kLK!Cr$R0^E?tEcKLPM8+Yd`pKF;)#0z_iSKSQU9JwheyIVzY>2!akds~05 z^uD;?;<>8~tKMCm5B=T62B*(mT9~U4wXUI&S=-fZ?kx=`R_~gr>z{`xCp(;r5)Juc zviZ`Ixm!EWvB<2?jQ87m+Vtzs*Xb@l^rI&pZp}N)khwovXy@vgUb9L*9gDnnXXBa7 zz0!<}K5K_vP8M44B0OvL!u1>e|)C9J8NTzWCB)xvEyqa&p+QQV#=8gB5C1r1s_YzS(Pf z`SQxmTt`n|OWF72TurSGU)c0ypN9p%-&I!Zx;^t%_vBk2-(K5!`~0iVbM*brygfbd zg_Z7~_wqp}lBRRt3+>mL@%ZJ(_Gs(;n(tOV>w0WwPGVcmxJs(gojH8onmwmWRyZp+ zhN<+=UpQ6wua5WTSik$ytIDEeY9FuGH%eX@p=tIitzjPPnbn1#x2}@ezVPSs%ESA! z5+fhJ+9_Upa6(~pqmIN9?$XUQ$EAzsfBC8VI`RJ7;~VchG6~)sv--M^UP<77ccqQ_ ziow&E6cx<$GG}~#;Tz+p_K(4tVdmY}Gu@`=-M6b=*K+4)a%Gb3xdWR{re3ctIVm5= z@$uj1*&EOAUo^k>=+oPmI-gW|ztTQCbzU34`GR??cJSW0)0Z9Xy3z+W_cZVBEt8H3SGe3Qm)dx-_;-)TWa%Q!vo;StO-l$(eeJ1p=j`@1 zU!?b(yE6OYD%Xc=b1r_a<=I(!vvNmw)!oz=k+-i^Nd0a-w`uXhtScmb@02JgG71?~lc6*038)+1#3SGDl=}SRK1_>mH7c`gTiZ&EYfRaFJ{Y z%+g$W(#+Iyw$z?)Jt=~R9`{iBJ`eLoLi{{OnZ96Z{`279Q zQ-@1$pU$<|#1PeL`R&GuU6=Qtzu)U|O~LEavNNtBtf#K7y0%a5pL$%Pj`#76YR9z0 z_D5<9sS2DE(BfZsj$5F5s?K!%XSa|2x|Me3Q!Ur72(zs#*q&}WYbKTX>f_&-DTXCK z-@CWH?)&zWrCn-LXnWGZ3rE6sPp`RXYoz${)WR4Y(_ZV)>{Z8ZpLqX#Rm9};FEkHk zv_^lO)HAi{Xkpv3uU#=)-M(yl({|Hnk@v-@=ih4XT};iJdBJGW^~GXOPo7(u7;W>p zz{)QB;?v#vdeP5UNloMp5Xmu%Ia(CU^V+TFm9SY!x7S71n@cqNgV&w9cIHcErij|7 zU!7@NJ4~}pUz^)~i#^dSktg%ztnOc#?w{ALzB#M0QL!&NDkeYm@Wp!XIeYtd>e{QlrUy=U{4qk4G{KDnCmhkX9e z;Pvq3WA@9RYJO$<&z`!wTRO^nuE5vgkWQb+mX7RqAMT9YQab1Iq^)N!UDVs08P>L} z(+mA+2C3dOT0 zOcaoa@QyN@!I`Sjy=%$2m6|HuUMeZl8Ws!0F58|l`P{ze+Zm%;{yCFUJSWa`oNVTI z&f1z&MP<&pXXXYraX)8mtSqxRu9;LQHf8eR-4-89b0ja!ooH5Kym|4_J1L)x^ABjO zzQLL2T&;9gc){%_*8KTRJa2DztMq*0n7O&)gr}lPt6J%^4O=(a$U9wlVppppV{U>HqO2B^S)Ox%jebCv~C8eIf|&*ulyPNuXeB6p2~l< z=dWISw6)i(R$Twh&zjfY3^z}xTi1I`DE;9(Pm4#Be7Zv;`2r%ARl2Ax^X+}Sq5JrY znrrFFI*aDpN(Iags@!kaoYY=X>9}>Ckih(NzYIkup1rZt>qKUExp_^jL*@5_>P{wd z_Njf|Ovi3lgjMhSTYu_vNOkDp>xY~7ANzb?!e{xF@)WPV4QdG&xy_`U`I0xeG|#Qn zivA^Uq*bt{nc>I9RHpQlIme%Uv$*`_DMQ4$x6dCxXZm5+B=bPydDR39@`l4``{_z-lApRz3IKtv>SB-Q0UN@AIA1w2H?W52obAty~|Ivu)MmWgFgX*I#&YH~;?AMO$(X zUgY6rVmVYHH1|16?HTWid)w{z&VBmD>!@?>{`Rb+)^mPGHF|!mJFw!F)eV*{d+qYA z4u6~Dxn57+_iR3+ZM5m7uXd>yi(i(yJ1=liwD@b-_3Jv%h4-2kc9)IwYn;>7D!yiZ zs3-CH~V{Pq7w81w}g zn3x!uSs0m_S(qX1I8YN!P)L|nK+#Y^M9ERvz=%!M!O7UfR4m~CEd~xoMg~S!rdzot zAn>2z!xj^>*}lszXKuNbYjL*i;DJID6O;c8wu*`_0isE39$TC*~10whuFIaH~M0#4CJdlx*{GUNp&_yXUFqFmcXkV@6 zfdUzJ#sdX1%1cTnEttzXW!k0aNDCon=l=|<0aN+f>DTE6kwP9B z7cM_rbgNZkl9%s~DK#H`|D96kDM>nV+%+lfap8_T`7$SOL}%`~mv1iJX_UHRpXx_l zmkSrJpTD%$R%f#5mH6YwUfr9t(doo#S&i;T9TLy1H79cO1y6Zu=@)p%>(S}c>n!`g zJf~otiP`$PY97fyUN2m?I%27WS7FIfrxo7O3XgS_kHF-hY1U7v;r_NmK7 zgbIJJ+!y#c=~8Y+i;_l<$B`Bf!L-MPd&>9@-m>)ld__#bK*M>75DocnA*MK%a&+6Q?84-)jC~ToxZ6d6BdMUH8(s^^-N8@sH?VMZG3fucg6CMO<}JdbSWi=1qO1pMsB!aF-_^Q!j1{QGcr=^H8%0A zSh7-dk)eq1vV#YvrcRxHEhQ{gC{TCu+`VGlu{IhN+n2d{{hRk#M#dskWQ)iAoQ`*^ zSEx&C&wHh9*b_8K=T4saqz#)6{pRVMc4B%i@3PCrw^AfSy3&G;c21nJEZ&Q6n!}BMV7m-+HRj$A1~c1@zOtM(^Jj0PV~9Od)X)Jb@pt#baPVe z6psU;bKLSXHVJ8MSaoT4N1WToxZ*jF_e?!H?Nzj{=b}K>Z#OT*ZD^k=;@WfJ&+b)I?cmg~+vVMu%Ie{}}{1oRTIi(d;@r;a5Tph zw?&W7c5St|s+E0Y-Ol4u%k8H2a#!_7A6~^(QR-H7?D(eBhOeeZl$@_w_-lvZlfxm( ztwL+X4s27Ip35p^sMQ$bvDi8AhP7u*{Ga$Oipu`8QgfE2h6!%CyK<`6G*f|JeY1NW zPwlp`%>TuC;=yvEdA%{K7i$@AmuJ%Y;mzdv*Er~}O_st^8M(RPa&paTrz0~}GMrRP zl}wckJUV7P^GaFf<+3F9RosQvo8PWn-<1*>b84+(!CFOC^;oZ!=OsV6{aYOI>DO$< z*zdPFeq4Tg_IS`Pqcbj#C#t&1X3Pm$v+;$c@P@f9PYe%Cky3oO$abr=+DV^#Udc1_ zSKCh#*lqZyR9IQbSTT{CBYGkC)IOEeg;OVQ(t8?eF*ndR_DV9xu^YGJ)cn@IO-`K@ zID5;~mS<)fuiQ2#rg+;}y;aOuV=ApPQIpSQndP*q?LQT{w@lPKz4`5m86BI1gbh=F z-I{4BQ@AYew%(jn*@@lLtT$DN9_vW2otBuU9rk#Iw?~omR-r35R1~L4@}EkP6w~B$ zouqcmW1@Z7e+CsLwPu%z3wC>NQgZ21a#{K^$*R{cFw$T_Uucl%R`aucvra78tS{|T zaq?;P^w5t{DI8^KkAih(mUL`lsW!@)Y$~Y~x9*>Zi;Ib8dCp{sj)_Vg3l$|k-4D8W z_~pxeqL2SduTQ&EDIR#{p)UmV9oDQY4vJ0(K|g+!Q!{PSM%5cEVAm$2S*Gy6XM5ck;)p)2689 znRmG?^E*_m^4q0bq}S6Ze_QkWiEqnXs(m)hR#h&TDdswL(4rgR#|T}rOqE7{eou;e7TR)7^T_e>@yWT; zZK`toc98G9>J;6Okd`GHn+zvzo#r~-b())Vw@F%)V5BGet-8>!rzf4rTle(1#oaA! zLD{da^&86E?ovLjmH5o#!oL-BM6NEG_b4P>{i&yi@0d%9!%4 z>U3gm@tyeQEbHyS8xzkm*GT+0ex$DR7jwn2H^q}C&*F#-aKGjs-UsSK8;2r@5>2dCF|E zOv|6SreCdp-{s7OM%Rw7TyuWMr;J>)*}Ux%m)?p#ULODD=fuxqTlL!dO2d_L}FlxgTSn5qVz27Eqyn2c_D!H zV`|5wAB)P4v2OQEYjT@cf0g^xW#^?|qYZn!U!H8;s3@x{@oI`q`q!A4)Vb5^VjlCx z*V@VTTB|+!xNI%7bz|J)alzxlg$q;M0}mCJll8uPey&_ z&*@9Pl$@Wm{{E|?+nxLdahyM#CHl`F{c}J6#Ko!$-FE}S7ysRQb*^6hgVO20N`BA( zF!}E7Ti;bb{V9*%(5<}caMiIxO#h0~pH?rbDgXD$>dOA$SlRu@?6zKA#Qylve}>}E zZ{5FqTC1?f`TmpGjZ1g+H;KRb+W*`8RP)`K`qsKHALacYUf$)iIpg1a?o)N~gVW!6%f6n8Qx#u2|7HIx z_lMk@tb7U!7f@<^`7z%-rF3X zt*&@6C%ZoKYSH@0SZ6JXD@jLHMc;hV_1pcQVe2RU&3U_1pRMV8t-NcUy87bPZ%#8eWd*AHnmWwdABNiCbzBcILo=Ws?n6Cz?NJ z|0ngPEE|2IQ{9Zqc;``l(qhw+A~?_RI~zl;55m8YUb zA|cyzrp@?wrszLIg}2P&of$x}6i*M}SFY;|smv-Bdvb}3IaaZe??pxm$x8o+i>!)bt z@T2xgy7~Mu*M99@S2a8A!(1_amW#~>X*!F#4AXR$WmSuFZ4&tH<7Hr#?(tGqd0C*x zlBA@hBrE4>w>JFgFX^?YbKRrr5|x_kTCk|CGppXca7v)Awv|tmOTu)Ovzku=T}6*a z#WM*V?LN5r&py7Mb#}b|Pfx3)q&~b*`*Ty=k28x}zf?_~?Cv^$`*aJd8l5vOYwFtH zx4HReFZ{Q#@aU2FV9|dnb5g(B@Az}I{ydBPEzP*I{b6RAXN78a7#W->tZx?c&8^m} zDvk)8T^|;<Pm)*80$YPObz>=*orjuTFO=OxE zrrxA-MMmVngjwR7|1)SkUTIaLAsi6)N#Nl{+c_)RCr?bdBPiK(_0JLk-j8ZMdMkG; z*{zV7)uHq{MzG@YyPexlcGrbEHBJ>!5LGQacW7y`%jyMZwAURrtz2Pv{L8ybx4z9{_LJt4SUUAF5>?b_0)xTlHc^BT{~Cv;K0Wj!(fnJ2-a>&5=|2@KQ8rV@N^7?MHE{KiB+cD0{snL_H28ERmc-3K8ptr7oIJU(o+|CvC$x77GK4;iM-!ygBR{*=M;H6OY_@@ zjLP0z{SN0S))0@0Eb~RCPh9fBm)+{8IbW%p4#zSP_v9Jn0ZVr_i@y^!vq*jwV4cZg zwn*Yo&4mrFxeq?h_UW4b=;Xf_Uc2*e2?-`mKU#5M&$)OPsRAu$ezm+sx01RSl?Gi7 zQFGwRExCF;NleV=r**D=#R3-(fpu+-CQ@%iFKBGP@NZS*4VyV~Wu|YhvK@O6qm&$a zeA1Fr=G{$GzwN4IIle`}Kr2e|`YE;*TNWMPVxev%A@2EOqJGn5TP}mUn+~=aDgI}8 zDi##gl6P4AYxss>t#9i-b!MkJt(bMBwXH|?Jodg$cJC!3s3Uz6Bi6WJS>d@HKN?s4l59WmJ+G1i1I*%Q;$SwodAQ+Djp zo;v4h%IYSmXx838XZ*c2Rvg#r)Vket=nm5X9qTtt2XsJa>C9E8rB)tDD4jnfOS*nk)HFJ5Z%l8WZ+BMY)LM;e`q6ij(q!*G zv)J-VWP6js&qHfC;#RkpoomXz?OxqBd3hbjQTFHWqNmN`seUsx_RhTH*EjCAu)gEn z$0$DM?~^ENCJ+1g0((=PEV*|a!7gfFZKpfgy6+rihbJMR{${qIC`_J(0rmny{^Tiq2+M2QP*AM;H+?G5fomx-G@8P8fIa&E1)6??h7aqn3{&bcYG zuUg)k$y&Z4dUAWc`0weih6!)C_uQ3K+;Y(FlC00(z~uA&rdwRw-Q7xlDOX(lv37Ye z&(@EzN1mj7@+%4L)$Dw*B>Ac3X_bhw_V&zD%SWmY?wxs4__ImqDC6Y%Q?GAiA3s$6 zqwngqB0t#%Q^)@dJvn`;E7#^-yKZ@$!8XM4#{!8{;<0DzpGba_|F)=c%Z7vLM+XGZ@*9n3r0JnqRq zH#t2qCgzt}^Sc&?cM>YTi~j}BcV^-^KL69ozQS+f>x$!BdquCuwp`f7CZ)ASi@U7< z?ORsez^8skb!FDr?B3D-bX%FU`>%_yf)mB74Uhav+0V=5B&`uUsdJO-L7IyrF{rNPnRZ&XsSFPQ$ zWplLlT(A&p)vfhjT9t?CbIHSczRrnv ztD8CZt;)X_%=BDYxoUn%;-ts6GW(Yts9&*i6aV-1Co-(WmF^$fHs9#avfk{bvU4vC zZpqG24d1}U7sz$#)T+NzbF+7@Qac~wvA*O)eQ2n*@8ryhF8e>-3@`R;-gH25xsYh~ znT0jyUDeFIgO)r$cWO4LrRD^g(`9-CKtF}dYn_yPU2 zo!?knpWZuT<>EbwXS$rNpkC>dtma0RIaBq{ubSMlY~8O_M<%lK2KRnqS9_jk zVfCM@9@SXXT68^Vi+g|Nsj{Z|Lyp<&IQaB8t!|v=DE>ObP5x%MbjBv`(52Jod!{D$ z+r3I#xi|D>-u+**I>qBI&d}Nx8p~&7sdoO0X{f)rfWL!ip~e|59gC8nEN0Htvrj6E zmG4;oHAqiEw`xJ1@S=QEDY?FPG8^IqHb-bO?C8h{Ut0NVs!&o{sWzxLAi%)H$ifUJ zAd^B2jDm`Wfr$c+g$j)m7j8WG!QkRU2Utsj(O&W6!TB~l?*D!W3AnP@2-{3ntFYnO ze&FB^xy3vtrvDi>7G#=A{V)+es3WZ26k*eoX)=rL!3EP2^Tvhi{|25k{d#c41!MN+ zgAYDc$}P^}Ik@DSHM6+$b-sNpKj;6L{v)`lD6iM8Ibe&;Jb#sfO1Z@`oClY<@v`mH zs4^|;u>Z61kdyGFtxjiIAH=aFv~f(d5jb$c&tmJr1s)S4OlI}EOyTi+Mn{xRmb zWWip#U-l`92Rgts1%@+Dxi|2mC&xf zd{I!{hRc3ZKbNSBMsqG@xzOd5+){k*vf9U_CG8w3-%QT4uyW{MZr?s3qws^rTCSYE zT4e!GI2PR1^1RbxqIbz4bbo3ti%pS}xDBg@S%=~z_J!-*b_!0;+;K}wrBg`q!FP>2 zw=~*Wez1R-x?RY~W%HYYEhin_7MLk*S-e>#WyT`2hI2C=H70)Ro+Z$tV%+$kc@y8+ z_Qe;z$sN9N!&>d&+dC;S(>znYc&jgLNtwQ>j!!~gy8Wonf+W$1f)t*B!uZ%m9pKKBQMNm6PjZF&rD87mj%n9pwA`Qn@I z`IJr7Qr5|A59-(+xrE>Abje!Go1|II^-92?+@aPP)G-G{wqArR$8?kqtRb zD+3d`O5#@@D#$kJIk+H?<%W9W4(Y}ytKP+*%$0Yj#@sTQy(y>Sj?h6JIbOAeGfa36 z%JW`OR%D#v^;b5sOHV|zZPI1~mTiu{TTiiEyw}kff7d8oNhvmo_4$OacXv&^X!5$T zXU?@u(^;-7IX1Lj*y4Vj{h7SrM~M&*)k$B}ndIDdm~b3)I@YAu5!-T6_SAz};iWP$ZILD%U~ z*Q=gvIWCSBPR%O>oRtGt^mLt=HR-IUg`-Wur-+)qk4Y|1;#^ZaCs`^_loZo=7oxFw z!zuR5ZO#l)H$0Ab>NvHnQa#1G#io~w!$~u!^=xy@Y?mjua@5{T-q_P-%v_ME+Pqr$ z!9B;DTk=2?t#7_4t9?@aF}dI{&!0>S)mt8BCPK9>8U{;)#Ie-Ml73&Vojjwv$e7$++1$uq0rQ)klmLw+m?Q43dGZQ>L7s;SNXYtBrI{|wpc4U>L#x|sR@@K~7p zTj=S7{|pJ)OjEkMo~?Ko6@2brC#}st!L(_kTRm|dFT>mpPDqWbg z(%nQM^^xlDNkREHE@|h+82B>Xq+**8192C76N4^X%*s)7UHT$J%8}5>639v zU**wpm$PDjptiIAg++d;3udj9)|<1CBkg+o<&R8`(`#;W9RGJkhyTE3jryeEAl`|q zW6Ur7ak%}xkww32r76#;V^)f{8=8b#I0X-HZ_WOx^5D}=n~PW^o>UyJc=hC@xQNCME|1AOd#3(yIG6Kwlj6)`mC64_tN{tcQVI=F$wD;^EYu@KBQ}qlLUmsY=@>3*mo!+0$ z11&o=HKue;a!qaOTzO`{1YgqZq<~*R6U%y<9XeSqDaf&WP*UVb>FCrH-sdf3ugdsC z!B6DDoXJkv6Y^(qvRWKcaow?Njp^&DqVCORORxFe5iR-K{H|f6aqKBe<)oAyd`xo3 z%xC-V(c$dbvG60qeMO6K?HCbh-bMc;@|-xiq9asKxn*rhmyysWM&KXz#DU=SU)E=y9F!> zRd~MGUCFXFE;&m51jYLWZHm($6j%19=j>71T9@5d=sg#pr2?$j;W zr1MMTEK^r4=PIdb9XE;;oTR>7InjGz+ACY(A_kSBi2_cO6Yh8V{xRxPOD*tb8h2;677d*Vydgv^?Rs7AdV_wHx zU%j@){}~o67h14Lm&2@S1iVc%r^o1!WjbB{iF!Rs91zogVjg-uN1xSKq`lg36K zfkPq*UDk=WOxO+X75XjC8+5cq!b)JeZ(JLdQ$8>Hym*z%PPd$y zc6OY%I5~FgRz1oopVGDE+fI?4Mw=3OJGw+TGd)EVUL4uWDI(~onS0@9xQo#ui7lFH zikB3=WORwUH$|v6AAH>MQ^8S@Q;y4R(cYcU`-~4Rh~QFhiYPC*pXm&x^&Bo5*hD6@M$rKFPvno`o}e^TEem zjgA}(+8TwE#P}Ebu|DStztE*r=hA8QAnSzHlKuyrCY%#r{%2tSW%hU7^@~~?4op`P z-<#rQvsHZYul%Fz3tbCLWd)tKY4{!9_9MfKY4VEJK8aOPiN{Yq`F#91Tj#MFmc2p+ zA9Pt(ZS?uRXHxA4Z&lHzZ>J1A*+lQS|K{0s?Mz!;{ z%Nc*fe5S7M{(5lQt_enum0LCoGK$%01T6FuuX-7A)M>HZf*)yJP4He`GVOIfdRLFJOPRO;lcc{_ZJ*%$wu{v+g}lUrF! zM@F7%QMW~kmllWbgbUYG*|qxpy>(Pt>$DO~oF5;IXv|c1F^qJ4_m5NfebS$a2_JcS zs-7lt{HmF-|IpXVtMwHBGw6u)PBQBLkQL>1@!X>Jf--`xbZU)U@b-Q2M-k<2F~GgSrtb^=w2hZ#dog+wNp7@5;%_pK1%0 zlTOOcdT9SQox?$tX{orB@$iP&v|MV*7vf=>^_lh*3HmYW3A-xwDVh+ zQnlcV`=Wb9MM_TJJ@BMLwAayNJ3EiAgwx`-_O8!r&jRdbocwj+_`g72!z){x+_%a^ zSSqrJEN}8-vn;Vb(4KZ8um61t+oz4`-y9vkHvgUC-!g4sO-zButreTU*qu7KXp)AR z^UJBLe@M0k>~ON&aO|bHy?$@*(URD%#ewxtMNd9!yw1qw7`)-gE7yf;hTp1`|1&(e zdhi1KyGpOk{C`C{=6{uUE}h)*>CLnv8}46j3zy&AX?|qtM&1vtI~=X}j&I_*>U89g zXz-GpmZ`-*o#hX-esYqkT@rg^BBPO#im+1u<~M74KLl*Ao6&V@oA_7d%<3x|EARiP z{L`1T`EPwe$fKaz;IDrsbKN;y7?ds%B3>!vsKMN2|0c9WO-b@gOdVHD(!wh(mv^jT zX7>+G_Gaxp>bzjLT8U`e{UDL7fPY5MIG(5dkT~w1ym{$$mK~24B&aNTts#G+E8o;$ z_m29{8-@0}@Ga7ul>Rblzf1O6?|Ma#Zdvc}yhp_swc>XgCjS)OvZh3}NNdTF4?bG2 zf5=wNu?}$fa@9_oIZg?HRq z$`mcCpXVSlT z7nb+Gf*zGR`GW`5S-xFW&#=&6_K8=W?w$QnsXT&M$$!9LGs3 zlY(ua{>$G@16cV>uFik| zk1taF0+-jHNc+p4Jg>@k_kU6D{=WHFoMKSuLk_JZ|NXCjXngEk?h|Ei$#M7|wN5dL_cHQk7 zQ`D=?e~1}gyZWEODa&<($*lfGs&(_cc9op=S=ef!fVhr6mOm43GcS3sG^4dV#cCPnn?*08MG~^soN+oiRKX4e<3hxi@-Wd_zctqAZ4 zbeObe#+rk{-vlnba6Y^u#4vD0s#^2cCwYknV+?#|5g&;hp!NA<%J!>MplKsm>|!cZK478lQ4_mrssa@rTEr zIlNINN=2_>ty1EG$FA0HZ3+8VI4?c8ewj^6n`ia}F+(L$lf^r)y~v!lLdANXnc_yT zkhcZjRJbD9xlT%z%$g)_|M0=pq{0{f4n-W}UDzJB?7FI*?8LtzS(dxsG%eL>PklJm zM%$ZZg_k_HaLE3^rH{#pY`Q8%d5^Cd2VdiX|8w` z?%&MBGRfFW?U2)+p8wEoG~f+H0ugVw9b{DyVqg$DW0KUP#L>VK)WYJdyI{fr1_pME zNnE=OIt?1mZ9DC{$+1hKVS))`^EKNH&QzwhiQJRp_dIk;KA^04d`ZnJ6QO{~XO`;- zq?=y+#_j)~!PcT8saZgXBa>AoHK%6jQYrom3m6z!c`iB}?U~% zy$%>04&79=e!;h%?=O0yFDyT`ZAHMlK=y)dHQzkeUC){H`1CgBv{%a-&MUSEZB0ts z*JJXDk%6_n^nfx8Q?jO5%<5@{CbkU+%>}Ghu}ZeM&TKc{!5}-uB>TXDrX_v7Wu7`2 zY+g3eK4!J10S7g_f~qz#FfhGM^i)wP{-X5M?19@#0nM(9or+Pr|Msk^U21mpM(Vx? zCuV)%)N{HabB*D2h^bSO4ig8H3Zu77gG-3U4CgflU(O~j%CNht>!VZLp&BY0+Y)tn zQo^(o>n;_AESGNK4HM$HUdBF!@zUvZ#j;k(yq5;b4oOmclN=nvcE8%J*Xk6usUyji z)%@S%5S=QHg%SoH$7X2H_S@F-&`V`&!|s*QlSeKH3M;O!v8JHQE zz{_;ulX8LriVB7Xj)9327ZzT8_`#uZBY0K^G&3vkpTVy3WpRaHL5rf%%%$RH9ZtfX zle>?oCE9ojPu=4r+;Uc*y;LgHM4;Sp?vbVs>p3%P`Q~;S_F8_BZxx=Qye}Xk>#2V8 ziWVncVX=an7mjZ0&~kp&Y(4E-dx}xv%v=#yO}7uXc&62M?=e{`%Ntu$@$G1J1ln}dbXO^eTrh@dpnN}=UFDH9NByPld`sq+rq8R8@Cu5Phx8p z@ANY&m|yYMApFAD<`p~2{ccawbV*tHHYxNvTh_^M`q!IWLrVf(ix#ivKAS4n{-7bQ zEN5Tk;*duNHpIJkKaBdoDc+wQwg2vvThkw3Yu!{U{{4gR>qVaC_AICC&V>1AUf)+P zE_~^^%fwmyN%x~{cgMfTPQU(@Pi5V|xl+1iU;j)zJN?D{cec_&UbEkQulyo6lPBZD z9vzpxQrS&se>rKtuGL?D{zAl*@TY%IX1Uwzf714Ms(>szsO8)c9Q3m?$i1Lg&BvAN2(}a`0kU!{C?53o0@{F z-{~L7pH=6g8nXPO==`0xWb zd4MKt1j9V{=lBolMfxWKB*+oqR9C$_5S0K-NGe7y#mWG{9LN1S@1(- zsm8HJE_eFTBDL1XiKP#6k{o{ZGuN{o_GorF zsc72Xq;Sz_wve)^`?Sk453*L4gao+ddiePB?n+Lw66S@|!uyleqK(GUkMpE64tj z`^WA2dA8Jcu}cS8ek9v5hd=85Qrmr(`-S*h&i@SdCq>gO*Xw@pZreKTOT=H*FKUId z>EHjg%YXhQq4-OD`K#ikfn8o*j=^_$_nrNIxSVU%rMS~kZWs2xNbcv1n=tqEbt%S! zRo=gkXNJUNhL5mWJ7v6+2I`tt>Gw zNo7jbocdL0*P$s(t)B%tf;LlX3NV6JVX!cPwp4=0T^Sh!6%8E)0uu`xCoWXjc<|!G z4<8L2z;VgQz-TYf{P04;jxRha9ut+krvB3Y&(P{MRV!qLfK>>Gz+c_vZ#gTh#wL*$jYFlUQ?M^I8rCQD3k1G@l;g(P{PxtxH`VC@o8V< zqF)017ouGHy{7(WIJGMrtWsdM)vL0NlI{N)&bzAl{H>ZBb$PDYd%y)`~{iHHRi$I~vR`bf;j(n{4a80JRfNAP0Xdib^hIRoW&bEFpX^e7}zn zhh;0>38gR4Ke1U#nvawjaE;KzTdIv z&~%jzY)-$HX)`{#mfk+&p~T&~vq$E9;oI1*V%4Bx#KFOk7RXq0aSP8a z)|by-3f^NO#?WK+D4Z{H6VKrbkB+`b3**v=^H5;jbS>Cxn%~7s>+>ZZEk7{-d`7Fg zyTN~kGe=fjxNzTCIpLwb;H!n|6QpM=1a17-Cb#Cxgj17}yq*LpH7~FC|IhGs*~6Fa z+$t*DUvHnKFlWY@wrgo6vlqUwEO4E0SIhC`{)%5OP4cN zt%{B394Z!Ly}X|9j`EIm{3bS+PD-0Q%?S5*Jr1 zmw3yncJ|cI@65Yx|9!OR?z|aQ-#K-k=*-vO>V^Fk^fc@rF$W#{vXu2#-_D+3b2r74 ztsnK1f6la6RT-M3_V&`f5C3LJzPvZ_N^6#;(1iR8Yg{D?cRZfrShY#^O!$l`hYwr! zv#&E#pCXq#)%xYT{|udTb!W03HWzA(Rnpq@acAm0Gl7-*4iamRERjrEXzi+=YF--M zaWP|-W&1hRO7Y8ATmLiMQxL3r{A7n|{e$pSLNsRHjvA*C|KW z$djKAOwVj?vXm^kc*d_K`BI^{M2nJ&=I{JhKj&PXvbnSJ^|C2TV~+3(Sgd0{Bzj1o zv#4Syo6#JJQlZe z#>h`9U$R*A#^Nd4x%HBE+~Q=JaQw`yXFG!&wT*U8N;;+|zi7AZbiY-{dy-uHvbGxw z?7kzuSgQ7{<#aDqmnF)^hC;lzQs=Z-rXpDzD_*vk zxg+(h){P{MV+JeA=cwAJdrg@dlHh8pwDLgdB=>*s7tJ#Al)Nfy(d(xW+p^=k-rFtL zs*pYwMPEY3PDG5aGn*M$7 z8SisD?ifiqJNWAa+)OX&R{y=}h#qf!MaKD0A`ahYMtz?){n9x{kt>?TAM8>Eb|h|| z;vP9wb<&j`3WnMf<2~cOZCSP3`WzR}=w#|mdf_h4-N~_fP00i%MuC`Qf&6_lXP8|t zc)I$?+P2vx_H6z;>rY(jirEw=1)+zl=J3& z(e_Z28|&{qt^T3q{*lLysk_$gPs!=%?i%^RU1G(7AAfc%@~{8ZQT%HTyOU0e%9dRQ zNufz*hFXSP6Fa$1v_F~daiWc{{i5(Pn`JepC&eTwbhw|YIsR79YyMmFX_IZSX zf6u+o<>gG?QrB5bqnp>1cJIt&J;s*JcP+e7HY;qijqr-oE55~~=(I>o?O^1q z*ics`xm~O7!L+YhuOtgfuBsRsa|k?G7T4z{EVTYUPx`sutN9Nml-ymT-ukBFz`wg2 zcF3nL{wTM0pK;t{r|g=?kK>Q5v-g)ZC{I7GzJBl2x@4`>yO&vnpFXIkp>_TEnH!&@ zx%C%+j))45*c(?rL&)e+Xp!TYMcwa=y{xC2v$d+Sh=eGK+&OzD+<3#eC){;Q>s~0f z3oR3TDOi{KMYCLAvMKazu*6@3)9E26UKc&AoO$JFDQi^m6Zbo(E}Z=L$3OAXsXtEZ zX6YY3`k=7j;FCLUg^m`xRNmPiQr2cG&8wOD*X6~%??1!8^`vDumLI8GxI1&A&e{W8 zlNt|l-bwl_w@{^h&PK^27upitSsw~K3%(=SzUO?U1<%f%$zL_UIhvMyY3q2|Vp*7# zX!MSW`^=uS*l-?pqdcYFLVv@H7C8w`8w88X=DmxVq?3BRvTw)v{Ri_N6ba2XXWsfx z;i{%t>A$#3kJkOl?sZEJx)mAO^>I~4_q4f+A;-1lwk*vHIocPn%Psj8)4awbYut@X zl}`(Z&UkRx&yK^Q5=*#?jqgVZY&1Ok;q>x8 znbPJ}!K|E#FT@$Hs9#xjx$u1(_uQz+mJgrBLJ}F*uPn`HjjC7COemPXzVG5K@!iKW z&Mb-%`xA2QMQVij4EGb!ox3{ppFMq}U69cstJGZ7JahKU@|neQoJ~>5Q+ZB&S+BTr zqE^5cmxKCNr3L|6(rl0W()DIqg>HOyVA<}|Va1*+UiE4H{;nt@nsWW4jn}N$*dO^p zAMP=SKl~H3;-J53XgV zE^O@CrhVMtLR;13oS!bIyEjGk7QTS+Mv*Uc#(p zmTOj|otwQZapk_moy#s9czID+;E~l%*W;JOHrx9f>aAF#c+j9#wYYon%~FebbH5kt zTz1{mx6Fg9fBTHTDeo3+S>E07SbS30*_CaNXHN?JJniqIr@IqAhWyJ;-_}75^G*fi1n68y?EuQ*Us#ZGhSc*Xpqt9aExO$?>5G7-EpekOH=py zC45tJ-@7TWvT&R6{72>g8O~ggSoTc#kFB=C-Ol^PbLqaO_r- z`@96lV~Y)DeRJxOJn>ugcKr;!_wOoFe>;|+j=1!)$2;t`OJT{gbm?=6mmlQT>8Khq zp6EAdmb$%XD#wMr2hZ^Sx%+*}QSH$Lip-g_o6>y7unQ$DqF-EBajZ45s4T}n;1Q{7;7`K0jlE3>_O=P#LlDw^^BxE^=*V*S$#?p@j*msT+)$)ut~#8iBC zzOP$ZQJtsz3!eDcMs1BLUS6jTIlPro-*)}&iyqktc`r*P%iF51XU^a=TB9{(MY{C* z=q?GSug{Ncm$q@zTVG^m;`-#UR%P|1{jZYFG#UkD-?y9`{w(HO+uVO@@hqzYbAPA# z)gB4(`@nYAd}ZWwecr5R-DyADY$Es$8Z>M_bNcqSW#Pwn{&5Qa`)~3^cQ&4#MUPH5 zYwg+cL*aJz{o5J|X*b?%QS{c(5@!_J*6{a8_^SOzZ^Pt`HXJ^q!>9K&I{(Pgq(z37 z0S>|2x7d|i90*&^8G7fleBK|g)!VBd!Q|t(nz&dFqpviNWff z^Gf(?Rp*x%m3^ytWTCX%fr72ZED<``$sT*wc?Fy zQPu9rXG?i~4oYo5Qo?q1nsn*GfOmFD>3H=;w}JzU;lndi#?^qWEVzE!DSd=XZ}cdb`s2k?ywkIc_t~zZGm) zv2FdHXuqBx)A()Icb4s4x~on9P~Ao4i+?$<{$)4XQ1A7hAvLn=CTr^5BP+I@sg%gy zW#wBH!I^OJzOe9y=G@1xMEG80%bf{0J9Wy*+a1&PYu*x@b$N?))WKVkJH!-%x6i0Z zOgpvOu!HyRpJS(PRnF{Qy(6!S^U0Ny#jYzNE2HO}Eq;`kxw}8^=Re6~D}GOZnyxP~ zeVW9}wueW)Km7an*W&h93TKW?R=@e5LD6O1r{2UP9&L|$V9gn#319L2{*~*Mow>W)iZ|?!$|<@0 zRZc(IWLo8i#Rtq6TTeUab@*$!_ny(+C> zzu@8?&ST#Tj##R`oqW8-{$86wQWuY8{el-U=d}N@{!8pTvupb_-bJepF^A?oi_&;8 zBmC^?rLTLg1e`Vr&M;oOzjN;03q=*q;p+>}?wGeiyk}#9-lwM97VJ{j4c4yAc5bjM zsEa(Y|JFT~k0CYgtUWKwFQ%(*eWi0J{p#WW43@vzthg>xQjMTO9JpqLNkr=AWYrg5__vvb>j(`1i~tG|w>o<+F@!`NCp1GcHYhJ^AM= zTam(pe^Y1PtJqq6ed%<#{v*W8uoP`u9ZJY?nJvDe+#Jhv|XDmv+seAWHOoSQ-ef1i_Z-QB(aksk93 z1?5evWJ27+Z{=GZd%D{9^NpE>J&|>3vfffRPZi#al}NaL#;54m(yK|o-I*rMZWQ(o z+~B?Z4%d6ur-c%WwLYHa{I#^*Mz`nC%Kduk_4+&ZS{;v_)qTyrZ=3#wrl*2EF}FhH zuTD1kG3Qpo#wYt%mRD-=H{L1VTKJRS*yYl!J>EjsKN#I+%AOVe`Px?Lk2!|tp71W( z!>HSNiT(bKzNAN7zbcYKU+opI>q}M?U0bDl^;5fb@1mfCVgDKAFHZ}aaBSn&y{Y1o z*9D~4-FYcv`ta}5)P_e_i;MoaW_A|@+)0m8%Ib}oc~c;4p5Mbwx)aYA%PyPDVi@!H zxQxcWi|vh9pFI@Gm~eE{Y}sXfG8g}yV==WkZEAliWmWhiivqsLu(k0scC9^_cD3$5 z!+FmMXc5V(8T#A{JRYpX@K)N?bh zSy29Khsp;|2iywEE9ocZ~(eEoK z-EUmcd^^2gSmcmJg^! zs%d+mWO#8|V2#N?<)rx*sg`^H?&!X>WtwH5MPQ^HaXc$l?Z>@4g1 znKgb%8?yTnn;mY>)|<3Cy!tC&S@3$9tmJ?vXHLfNp7GAZ#r59BnuPlwEzMF2^*--! zKa%~#SN!y>`Zqq%&bn^z;-j|_^Hp+pCyZxhP2sT3JB%7vYy8<;_lr$ z+ZW9dP|mts@A83p{;R@6bw=xw=jESqcAS33aB=pwg>FVof2ucj`2`+Uo_?r)qkm5L z`M;Nh%ATjJYF+VFbh1(XnMTgJqc{W+f&)$$ZHhHGFXRlNm=ZeNvHa+ErRWtUS z-lA&k9LAfjdVNLis&j7x!;eaPWN;-MJ3puVLrm24`}OlbYO!tE|Mkd*#=WWKNtt>t zOGAGje>(HS0jc#zHduuz=)PT%v3Jv@OD}ZSeSMU0nq~L&w+Br-w`$+lf2^*^`F7TY zim;zy*S5-fx|&+8z9;tG*I}u)TU6%;4~Ec`{Exh*0SRT>igSyL&&>=EImRIRLAG}O zmbVl1&l$LVi4N6KQ`0Er>OF5DvGi65W7n3g2dCE56l>h8F@I;!?ElVMb%xu)+&Alf z_Stwp+u35jNX_twIlth;jSp?kY~o?RRUg#*$fmQ+?w+;%3E76d$F#GJ{S*)H^y{7w z*3P$H=Fx8NIkq>{r){ix+?iT&pqKqCS9IR;h;#WLBy)BK+v@8T_Zf6^uYcE8HftBV>+s@v(bp^1UbCkM zR=r`?5_T_@k`X0sh*|pS@;R_C4$Gp0>9(%)YSaU&s9s)rZQahP(fJqa)fN<_u%@`b=3f@jayPa1BE#YGje4gU z7lb~Y6XE2vhFA9Ee}<}tCjl8+ay)iwZo1`ZKkSl3mv3BQWLM}N{{ title }} +{% endif %} +{{ title_suffix }} diff --git a/web/themes/custom/opdavies/templates/page.html.twig b/web/themes/custom/opdavies/templates/page.html.twig new file mode 100644 index 000000000..34f117d21 --- /dev/null +++ b/web/themes/custom/opdavies/templates/page.html.twig @@ -0,0 +1,153 @@ +{# +/** + * @file + * Default theme implementation to display a single page. + * + * The doctype, html, head and body tags are not in this template. Instead they + * can be found in the html.html.twig template in this directory. + * + * Available variables: + * + * General utility variables: + * - base_path: The base URL path of the Drupal installation. Will usually be + * "/" unless you have installed Drupal in a sub-directory. + * - is_front: A flag indicating if the current page is the front page. + * - logged_in: A flag indicating if the user is registered and signed in. + * - is_admin: A flag indicating if the user has permission to access + * administration pages. + * + * Site identity: + * - front_page: The URL of the front page. Use this instead of base_path when + * linking to the front page. This includes the language domain or prefix. + * + * Page content (in order of occurrence in the default page.html.twig): + * - messages: Status and error messages. Should be displayed prominently. + * - node: Fully loaded node, if there is an automatically-loaded node + * associated with the page and the node ID is the second argument in the + * page's path (e.g. node/12345 and node/12345/revisions, but not + * comment/reply/12345). + * + * Regions: + * - page.header: Items for the header region. + * - page.primary_menu: Items for the primary menu region. + * - page.secondary_menu: Items for the secondary menu region. + * - page.highlighted: Items for the highlighted content region. + * - page.help: Dynamic help text, mostly for admin pages. + * - page.content: The main content of the current page. + * - page.sidebar_first: Items for the first sidebar. + * - page.sidebar_second: Items for the second sidebar. + * - page.footer: Items for the footer region. + * - page.breadcrumb: Items for the breadcrumb region. + * + * @see template_preprocess_page() + * @see html.html.twig + * + * @ingroup themeable + */ +#} +
+
+
+
+ +
+
+
+ +
+ +
+ {{ page.header }} +
+ + {{ page.primary_menu }} + {{ page.secondary_menu }} + + {{ page.breadcrumb }} + + {{ page.highlighted }} + + {{ page.help }} + +
+
+ {# link is in html.html.twig #} + +
+ {{ page.content }} +
{# /.layout-content #} + + {% if page.sidebar_first %} + + {% endif %} + + {% if page.sidebar_second %} + + {% endif %} +
+ + {% if page.footer %} +
+ {{ page.footer }} +
+ {% endif %} + +
+

About me

+ +
+
+
+ Picture of Oliver +
+ +
+

I'm an certified Drupal Triple Expert with 18 years of experience, a Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.

+
+
+
+
+
+ + +
+