From 2b6e4755c956b918c8856a3fa53fde238db8592a Mon Sep 17 00:00:00 2001 From: andrewlalis Date: Wed, 18 Feb 2026 16:13:09 -0500 Subject: [PATCH] Add human banner, format code. --- .../created-by-a-human-with-a-brain-1x.png | Bin 0 -> 5360 bytes app/src/components/NavLink.vue | 4 +- app/src/router/index.ts | 17 +- app/src/views/AboutView.vue | 11 +- app/src/views/GardenDetails.vue | 65 ++--- app/src/views/GardenHerbsView.vue | 210 ++++++++-------- app/src/views/GardeningView.vue | 16 +- app/src/views/HikingView.vue | 238 +++++++++--------- app/src/views/HomeView.vue | 8 +- app/src/views/MainSite.vue | 105 ++++---- app/src/views/SoftwareView.vue | 7 +- 11 files changed, 341 insertions(+), 340 deletions(-) create mode 100644 app/src/assets/images/created-by-a-human-with-a-brain-1x.png diff --git a/app/src/assets/images/created-by-a-human-with-a-brain-1x.png b/app/src/assets/images/created-by-a-human-with-a-brain-1x.png new file mode 100644 index 0000000000000000000000000000000000000000..af9cc13102c28fbb9eaeccbf2ce92373fed5c2c2 GIT binary patch literal 5360 zcmVpF8FWQhbW?9;ba!ELWdL_~cP?peYja~^aAhuUa%Y?FJQ@H16n#lV zK~!jg-I{xJRMqvzKj+>%&mUTEAc0 zz1FOA?m6e4yYKhz*?XV8w*Vy9p&I2*bj^!lY6-Mj3x?LxVXTGNCDBMrGgzCERxi>T z+8u;j#0$d{&AVmj2gP^vLITt&FKwb@UJHT29peR}gpfz~xHc*rR zu&Mx63ABm=dK1Q}kNIAZE1vwzqZNPSxV&l|KXlV%YGkzsI~SA5#HLM~sIRXlDJhAptSrjQ%duLm?O~ot;f; zYAWx)|2~TrEy83nv3c`mrcRy8z<~qVzI{9K@$u~6zn{d!MCQzy!}|5>2@4CuYPAv{ zACKK`=bd-nAu}_RVZ(;8ZQC|_^ytC9efx-ui{t+L@9%_*&1U1i`|hJhj~;ya<(D`d z4tDI=fuaPU%*)F|)7s@$@OO+{z__(wXkL7pmvf4n@{E2Axo;jl({I8S9Yu3}EvFCX z^Yte$5oar3mpK(~i9C+$Zvb1PBm%7$MOgM%$96iLq1q_~Cbtl5Cwi+}o#L&@L zjz1?W$YO48E?c&2Ve{tA0K~<`asK>yA|oS_QqtJiNI^jXe!riaZn}x3OP4ZX!UPs9 zSb)>%`^@1&l|gb&l6uhM^iry zL_j6T4u-Cy-o4t;>0kdPTs3=FFMH{Q2{F%RFnGg%XCZY&ohHYGN{E% zgjo`Idl#COX39JbScl!q_wRXv*VZhgw)`CoOBBz#&SNxM`OO{K+%@@5X0BVnM~SB~ zA|f#?ZR+9n5Pw%#w4kcs;^+9^TXL=M|8Gb0=FMZ}%9TV#Me)*0FR^y*+TdI#33hQe zhA?OmK8l5#%8UUd3?0asgMTBwp&55<7q0Z|PE>?KVysHv?i!~L=HT~vNlLkaA>$rr z#V?Ly7GWs8O+5GB8USwTpMg;i5;dS69-D_yl%V%;wV~^1-2UBZ)22;~A3vV7w6qX# z;TixNih)=0vDfKk;Kwhr;Jr66*{s+c5mXv2OkV#RzMGrFSyux#t0X!SQWNTUdDR4V z=RHTSKEp7CLJK-Xn5ZM*Voe-6j+sq2AkH-*r3xwmV3n&}GgW}E4x=>xAAZ3N>%YUM z4Y&MjDE*66Q&U4-U0tW~PDaird>pjZF@DD@I0vP$Ykdy!{dzNC%xIcZdeUpeO&t4j z7g88puJ@x@{q*Q2FgF~-t~Db8zwRd^A(I2HA_jLG3_!p5KIATbnZ2jKV){qV;6`@V zyRA}ee4Ph+%Rl^b8Q)ICVpYF+;r|1vz|Y$*s>K3o)h23wFoxlG%wX$NzvRfzU*ve{ zNyaXiho`QNq`|3#MRwuXxk|c^`2iklD!OYoc85-xJAw4^4-x5bGH={G+~pp|^dHU8 zK52aKsfE-wdYF|ynQrI0^X|TjV2udqV3PuxiqI5IMe#EBDJx^yYzC6+xj98FUwIa$k(mJFp|au*I4RpIwbmj7rt4Gn%SS2hB$WbqIL zP+#w3#j+cyulKS1M>jBRNDR%*ejZ+W0~5w2a^hqyZg=1#-!LqeB@Ybcdo%kI>9BC@ zcnwlQ=7b&$AL^uU??`^MWElPXMNwFE1;5`2@)ly`E-SZFq*Ri;=Xv4=^<{0JF$@$c zm7)R9$U#(}K0(?8-{Kufp3cC514BSQf8rkE;_M-yznWddZ`L2-=%L&BI|fGf#j|nIa`9&Vj?D70{#wuus|qE zh;f@ccP<`}hw0O&vu@owX3w5YL_`D`85x}b@%s&K{MMfsFf0dMmrTm+iPaKN8I(0qywuTSrM9{s#amDjIS2Tu**MIeq&?(zj0}tDpWB&0d|6V>c7u`wb2kRk2|H z0JwV+_7#FV=`~ObUc63Na>yNKK&J zp3c0V|AB!wej9)=%}r8*!WFll0YfHp@xl>4cYTi1(@K)57vsZ5AtJ1Z#0ZFUAT^Z~ z`(Rppe(LI*K*$bp2L)sc#)%z4<{~2_al764d_DktJ|9v_qNAfb0bJkUqxe`grDxsL zxxGX>%os-CsDKc;o|oSSp!-2n_-&D6PDxOgdGn7c+>=@u8psnfL-9=Sq|tC>Sz zRRPeqPh@b9FAr95zRZKG)=NZ$`Pu*nf;u`5p;A_K3};Fo>br&^6&*i17jI7Ij%PR0 zCoP@J7fu7vEoBULyFrUou~;1(I$w&2F@Z&8>6jm~ed!+=)!ZLxwm_4?L|-yf#t&m> zK_LxF6sT&5p)*Q91+P2E+=m~2NOE#AD_5>$(4av)|NQeI=lpM?vI`!hgm0yHW6I=S z+`n+pKYTAhQpIKFEo5j(6l-JVvwiWesdYE<@C#cZygNcOgQm3l!JU2IJ$v@BeED*oeDX;O3k#{J zsGzj8w3CsmaWzw4?+aeLTwZEiUOe?a-po0M(`jeh=IJcFYY@%NIt`6}YFvTibxln( zh9Rk~^9ILUu4beR?EB!dJ$UL{Shr>zxqqCBr@p2A8MT3Xq-=k#t96ey5`b(A?6hdj zT+!;;BPyBt!5bux9>Lx>Ht^TKY-MTQd*tP;qxQgyG)gc1r#{QLsSEiuZw+U@T1jQn zlbpYDk(|r9*hMs!T04cm+(Xy!sNloCI$FwI4`*|`>s%pql6rg{w>GH^gN1^X@n;B?x__;z>Bmw7mNsFH7u zis!Sv<@8Q+5D{*ssQAh?`3M4Bt<6W*TJURL>eWWhD<1Ym`nWacRr-$^9bBCE_F8PE zuVN1Kaqyg<89&@gbWA+C*(p3+Es&~}#e*JX&BE2~Qdqp711E}jzxZ?ZZH`7p^+h-m z5aC_HW(yvbjjz_D?|-!uxc})SYQzE=%(I!iv}j&xlm;${dW!TqY?HC-ecH*u!o!gbeav?VTE(?ci*sv>cyps5<+ zii+%MSa znWiBWH6*a3|AT>@Wy_XPTU(3SZ06l}-z6a-fr^R>h7TW3VqzlY<>k2D?qIOHBSl0+ zpzAt~jg2AW;|7nwZn0w0G#Z+lfcAe%xYbUBw+SgFCQU~=7PA+2FZlNB^m;3%vp9RfS8ku<#l*~V|@zldJ$3k1_mW~639YUWm8 zTP0Q%9TJ=Z?AgPtS+kflX%cB^X=G$%FnjiFcJJPe!{Hz@GLpORz8ip^ zJ$v%S7heFdcI{f?;^L^PstP&jWo2cNl9EC~LISC&sXX=6Q$$2WgaG`^pMJ;ihvraO zTf?0brsJ@O;Wu>Be(*hN8$8S$J%N$S<}qUFJZ6uXMBn%xbP0>VVGk$L9?ssQUomva zEDn?uGx^4wuaaQVF>7pu03G{)6RCO8Oa>0K#Ox5nC<;E4K$<0flY!D`VNccP_PB6cv+ue9dfv<`6w5u$fd1=4*MSy2?i zkd%^~oE%b9Q+fRH#~CtY2pcwR2$`2sa`fm?va_>EPEHPvcU;p(d3kw^9Xpm+UU`Lg z-gyU`%@#8M;a~Ui>jxfX<*oN}=Y;9x9r!E&eCzT2U`a8~F46pQ;c{NQ{}FmQ6N2|& z-2%v~5=5dRJWJ}PK=wFL5*6s{S_`ocML}CBlqJvx%Ax}O{zo(nH5|RkN_0sqMbGB5 zDEkrK?OBQu8--zsK&+Y@$QHMjL(%G%3A2X2|5q4)+rZTn9UVVI zvp9M3BvMLt?%WwXtZ1sn%uyM{MRjF&;Q_ubJHw!!eQ`H7PKJLgk|`-aM^9%wmtECVxUP`eqYsVVX3kY!YzO#~W10-soOP%_i}_)62$<61 zZLK$JAL~~X$gSx3)jt=@xiF8{wCTmbD_1}^r2 zIHcNqO<>#W%`EK|JDM4+R#3yhVn3jHs(?LA+nY&rS> O0000 -import { computed } from 'vue'; +import { computed } from 'vue' import { useRoute } from 'vue-router' const route = useRoute() @@ -8,7 +8,7 @@ const props = defineProps<{ }>() const active = computed(() => { - return props.path !== '/' && route.path.startsWith(props.path) || props.path === route.path + return (props.path !== '/' && route.path.startsWith(props.path)) || props.path === route.path }) diff --git a/app/src/router/index.ts b/app/src/router/index.ts index c17e9ea..3333ee8 100644 --- a/app/src/router/index.ts +++ b/app/src/router/index.ts @@ -28,8 +28,8 @@ const router = createRouter({ path: 'about', component: AboutView, meta: { - title: "About Andrew (and this site)", - description: "Information about Andrew, and technical information about this website." + title: 'About Andrew (and this site)', + description: 'Information about Andrew, and technical information about this website.' } }, { @@ -37,7 +37,7 @@ const router = createRouter({ component: ContactView, meta: { title: "Andrew's Contact Info", - description: "Information for how to get in touch with Andrew." + description: 'Information for how to get in touch with Andrew.' } }, { @@ -45,7 +45,7 @@ const router = createRouter({ component: SoftwareView, meta: { title: "Andrew's Software", - description: "A brief collection of software developed by Andrew." + description: 'A brief collection of software developed by Andrew.' } }, { @@ -61,7 +61,7 @@ const router = createRouter({ component: HikingView, meta: { title: "Andrew's Hiking", - description: "A logbook of notable summits and hikes Andrew has completed." + description: 'A logbook of notable summits and hikes Andrew has completed.' } }, { @@ -69,7 +69,8 @@ const router = createRouter({ component: LogBookView, meta: { title: "Andrew's Logbook", - description: "Interactive messageboard where people can leave a public note on Andrew's website." + description: + "Interactive messageboard where people can leave a public note on Andrew's website." } } ] @@ -94,7 +95,7 @@ const router = createRouter({ router.afterEach((to) => { nextTick(() => { // Set document title if available. - if (to.meta.title && typeof(to.meta.title) === 'string') { + if (to.meta.title && typeof to.meta.title === 'string') { document.title = to.meta.title } else { document.title = 'Andrew Lalis' @@ -102,7 +103,7 @@ router.afterEach((to) => { // Set document description meta tag if available. const metaTag = document.querySelector("meta[name='description']") as HTMLMetaElement if (metaTag) { - if (to.meta.description && typeof(to.meta.description) === 'string') { + if (to.meta.description && typeof to.meta.description === 'string') { metaTag.content = to.meta.description } else { metaTag.content = "Andrew's homepage on the internet." diff --git a/app/src/views/AboutView.vue b/app/src/views/AboutView.vue index 2172484..ed13dc6 100644 --- a/app/src/views/AboutView.vue +++ b/app/src/views/AboutView.vue @@ -31,12 +31,11 @@

About Me

- Like you saw on the homepage, I'm a software engineer, pilot, gardener, - hiker, and lots of other things; once you do enough things, the labels - start to become pointless. I currently live in Florida with my partner - Grace (who's a teacher, by the way), and our cat Finn. We like to spend - our time going to Disney, exploring new restaurants, and enjoying modern - media (movies, shows, video games, etc.). + Like you saw on the homepage, I'm a software engineer, pilot, gardener, hiker, and lots of + other things; once you do enough things, the labels start to become pointless. I currently + live in Florida with my partner Grace (who's a teacher, by the way), and our cat Finn. We like + to spend our time going to Disney, exploring new restaurants, and enjoying modern media + (movies, shows, video games, etc.).

diff --git a/app/src/views/GardenDetails.vue b/app/src/views/GardenDetails.vue index 197c3e8..7282dce 100644 --- a/app/src/views/GardenDetails.vue +++ b/app/src/views/GardenDetails.vue @@ -1,54 +1,55 @@ diff --git a/app/src/views/GardenHerbsView.vue b/app/src/views/GardenHerbsView.vue index 92b9095..ffcd1fe 100644 --- a/app/src/views/GardenHerbsView.vue +++ b/app/src/views/GardenHerbsView.vue @@ -1,129 +1,121 @@ - + \ No newline at end of file + diff --git a/app/src/views/GardeningView.vue b/app/src/views/GardeningView.vue index 3cb30e9..d7570ca 100644 --- a/app/src/views/GardeningView.vue +++ b/app/src/views/GardeningView.vue @@ -1,18 +1,20 @@ - + diff --git a/app/src/views/HikingView.vue b/app/src/views/HikingView.vue index 9a9867f..fbe7732 100644 --- a/app/src/views/HikingView.vue +++ b/app/src/views/HikingView.vue @@ -1,145 +1,149 @@ - + diff --git a/app/src/views/HomeView.vue b/app/src/views/HomeView.vue index 48fb2fc..687b5c7 100644 --- a/app/src/views/HomeView.vue +++ b/app/src/views/HomeView.vue @@ -3,11 +3,9 @@ diff --git a/app/src/views/MainSite.vue b/app/src/views/MainSite.vue index 6e43035..df8063f 100644 --- a/app/src/views/MainSite.vue +++ b/app/src/views/MainSite.vue @@ -7,69 +7,74 @@ See src/router/index.ts to see the nested set of routes that use this component. --> diff --git a/app/src/views/SoftwareView.vue b/app/src/views/SoftwareView.vue index d08ccc0..0827c4a 100644 --- a/app/src/views/SoftwareView.vue +++ b/app/src/views/SoftwareView.vue @@ -23,10 +23,9 @@ import SoftwareProjectTile from '@/components/SoftwareProjectTile.vue' :tags="['Dlang', 'Vue', 'Typescript', 'Finance']" >

- An evolution of my previous desktop app Perfin, this is a - web application that provides a more universal platform for personal - finance management, with responsive views and more comprehensive - tools for searching, along with so many other improvements over the + An evolution of my previous desktop app Perfin, this is a web application that + provides a more universal platform for personal finance management, with responsive views + and more comprehensive tools for searching, along with so many other improvements over the first iteration.