The fifth version of chriskrycho.com, built in Eleventy.
1services:
2 - type: web
3 name: v5.chriskrycho.com
4 runtime: static
5 envVars:
6 - key: SKIP_INSTALL_DEPS
7 value: 'true'
8 buildCommand: |
9 # Install mise
10 curl https://mise.run | sh
11 export PATH="$HOME/.local/bin:$PATH"
12
13 # Install tools from mise.toml
14 mise install
15
16 # Run build commands using mise
17 mise exec -- pnpm install --frozen-lockfile
18 mise exec -- pnpm clean
19 mise exec -- pnpm build
20 staticPublishPath: './public'
21 pullRequestPreviewsEnabled: true
22 domain: v5.chriskrycho.com
23 routes:
24 # Paths I want to work both ways if people search
25 - type: rewrite
26 source: /consulting/
27 destination: /services/
28
29 # Redirect misconfigured URLs from when I accidentally had `title | slug`
30 # instead of `fileSlug | slug`.
31 - type: redirect
32 source: /journal/relaunch!
33 destination: /journal/relaunch
34
35 # A few URLs I changed on purpose after publication
36 - type: redirect
37 source: /journal/work-in-progress-composition-for-crew-dragon-demo-2/
38 destination: /journal/crew-dragon-fanfare/day-1/
39 - type: redirect
40 source: /journal/crew-dragon-fanfare-day-2/
41 destination: /journal/crew-dragon-fanfare/day-2/
42 - type: redirect
43 source: /journal/crew-dragon-fanfare/day-4/
44 destination: /journal/crew-dragon-fanfare/day-4-part-1/
45 - type: redirect
46 source: /journal/crew-dragon-fanfare/days-7-and-8/
47 destination: /journal/crew-dragon-fanfare/day-7/
48 - type: redirect
49 source: /journal/this-week-i-learned-*/
50 destination: /journal/this-week-i-learned/*/
51 - type: redirect
52 source: /appearances/*
53 destination: /elsewhere/*
54 - type: redirect
55 source: /library/2020-11-28-1146/
56 destination: /notes/2020-11-28-1146/
57 - type: redirect
58 source: /journal/private-chat-and-dms-are-good-actually/
59 destination: /essays/private-chat-and-dms-are-good-actually/
60 - type: redirect
61 source: /journal/heuristics-for-good-software-design/introducing-heuristics-for-good-software-design/
62 destination: /journal/heuristics-for-good-software-design/introduction/
63 - type: redirect
64 source: /photos/life-finds-a-way/
65 destination: /photos/dinosaur-national-monument/life-finds-a-way/
66 - type: redirect
67 source: /feed-without-notes.json
68 destination: /feeds/without-notes.json
69 - type: redirect
70 source: /feed-without-notes.xml
71 destination: /feeds/without-notes.xml
72 - type: redirect
73 source: /feed-without-reply.json
74 destination: /feeds/without-reply.json
75 - type: redirect
76 source: /library/god-without-measure/volume-1/*
77 destination: /library/god-without-measure/volume-i/*
78 - type: redirect
79 source: /journal/crew-dragon-fanfare/*
80 destination: /journal/fanfare-for-a-new-era-of-american-spaceflight/*
81 - type: redirect
82 source: /library/reading-papers/*
83 destination: /library/reading-papers-in-public/*
84 - type: redirect
85 source: /journal/trying-out-jujutsu/
86 destination: /journal/jj-init/
87 - type: redirect
88 source: /journal/reflections-on-a-month-with-nova-and-bbedit/
89 destination: /journal/reflections-on-a-month-with-bbedit-and-nova/
90 - type: redirect
91 source: /journal/note-on-typescript-conversions/
92 destination: /journal/how-to-do-a-typescript-conversion/
93 - type: redirect
94 source: /journal/jj-init/
95 destination: /essays/jj-init/
96 - type: redirect
97 source: /journal/read-the-code/using-drop-for-safety-in-rust/
98 destination: /journal/read-the-code/using-drop-safely-in-rust/
99 - type: redirect
100 source: /journal/domain-wrapper-types/
101 destination: /journal/friendly-little-wrapper-types/
102
103 # ...including after I made library collections work correctly
104 - type: redirect
105 source: /library/good-theology-demands-good-theologians/
106 destination: /library/the-culture-of-theology/good-theology-demands-good-theologians/
107 - type: redirect
108 source: /library/the-first-and-last-act-of-theological-existence/
109 destination: /library/the-culture-of-theology/the-first-and-last-act-of-theological-existence/
110 - type: redirect
111 source: /library/theological-self-criticism/
112 destination: /library/the-culture-of-theology/theological-self-criticism/
113 - type: redirect
114 source: /library/the-story-of-modern-theology/
115 destination: /library/the-culture-of-theology/the-story-of-modern-theology/
116 - type: redirect
117 source: /library/christian-theologys-place-in-the-university/
118 destination: /library/the-culture-of-theology/christian-theologys-place-in-the-university/
119 - type: redirect
120 source: /library/the-real-aim-of-utopias/
121 destination: /library/the-culture-of-theology/the-real-aim-of-utopias/
122 - type: redirect
123 source: /library/an-anti-culture/
124 destination: /library/the-culture-of-theology/an-anti-culture/
125 - type: redirect
126 source: /library/christian-astonishment/
127 destination: /library/the-culture-of-theology/christian-astonishment/
128 - type: redirect
129 source: /library/good-theologians/
130 destination: /library/the-culture-of-theology/good-theologians/
131
132 - type: redirect
133 source: /library/perfectionism-without-perfectibility/
134 destination: /library/politics-and-the-order-of-love/perfectionism-without-perfectibility/
135 - type: redirect
136 source: /library/the-mixed-moral-qualities-of-any-age/
137 destination: /library/politics-and-the-order-of-love/the-mixed-moral-qualities-of-any-age/
138 - type: redirect
139 source: /library/all-is-broken-and-incomplete-and-politics-can-not-heal-the-rupture/
140 destination: /library/politics-and-the-order-of-love/all-is-broken-and-incomplete-and-politics-can-not-heal-the-rupture/
141 - type: redirect
142 source: /library/a-chalcedonian-conceptual-grammar-for-love-and-justice/
143 destination: /library/politics-and-the-order-of-love/a-chalcedonian-conceptual-grammar-for-love-and-justice/
144
145 - type: redirect
146 source: /library/fall-centered-theological-anthropologies/
147 destination: /library/eccentric-existence/fall-centered-theological-anthropologies/
148 - type: redirect
149 source: /library/gods-self-commitment-to-creatures/
150 destination: /library/eccentric-existence/gods-self-commitment-to-creatures/
151 - type: redirect
152 source: /library/problematic/
153 destination: /library/eccentric-existence/problematic/
154 - type: redirect
155 source: /library/tell-me-your-priors/
156 destination: /library/eccentric-existence/tell-me-your-priors/
157 - type: redirect
158 source: /library/the-triune-creators-relating-to-creation/
159 destination: /library/eccentric-existence/the-triune-creators-relating-to-creation/
160
161 # ...and notes redirects for bad slug generation
162 - type: redirect
163 source: /notes/feed-for-social.*
164 destination: https://v1.notes.chriskrycho.com/feeds/without-reply.*
165
166 # and topics I merged
167 - type: redirect
168 source: /topics/logic-pro-x
169 destination: /topics/logic-pro/
170 - type: redirect
171 source: /topics/auto-tracking
172 destination: /topics/autotracking/
173 - type: redirect
174 source: /topics/ember.js
175 destination: /topics/ember/
176 - type: redirect
177 source: /topics/programming-language
178 destination: /topics/programming-languages/
179 - type: redirect
180 source: /topics/composition
181 destination: /topics/composing/
182 - type: redirect
183 source: /topics/productivity
184 destination: /topics/working-effectively/
185 - type: redirect
186 source: /topics/micro.blog
187 destination: /topics/social-media/
188 - type: redirect
189 source: /topics/design-systems
190 destination: /topics/design/
191 - type: redirect
192 source: /topics/web-design
193 destination: /topics/design/
194 - type: redirect
195 source: /topics/IndieWeb
196 destination: /topics/open-web/
197 - type: redirect
198 source: /topics/ai
199 destination: /topics/ai-and-ml/
200 - type: redirect
201 source: /topics/gpt
202 destination: /topics/ai-and-ml/
203 - type: redirect
204 source: /topics/ml
205 destination: /topics/ai-and-ml/
206 - type: redirect
207 source: /topics/niche-product-ideas
208 destination: /topics/product-ideas/
209 - type: redirect
210 source: /topics/type-theory
211 destination: /topics/type-systems/
212 - type: redirect
213 source: /topics/hacking
214 destination: /topics/software/
215 - type: redirect
216 source: /topics/software-develompent
217 destination: /topics/software-development/
218 - type: redirect
219 source: /topics/software-design
220 destination: /topics/software-development/
221 - type: redirect
222 source: /topics/developer-productivity
223 destination: /topics/engineering-effectiveness/
224 - type: redirect
225 source: /topics/command-line
226 destination: /topics/command-line-tools/
227 - type: redirect
228 source: /topics/redux
229 destination: /topics/javascript/
230 - type: redirect
231 source: /topics/sum-types
232 destination: /topics/type-systems/
233 - type: redirect
234 source: /topics/ratchets
235 destination: /topics/software development/
236 - type: redirect
237 source: /topics/passiontide
238 destination: /topics/theology/
239 - type: redirect
240 source: /topics/advent
241 destination: /topics/theology/
242 - type: redirect
243 source: /topics/priors
244 destination: /topics/hermeneutics/
245
246 # and topics that I turned into collections
247 - type: redirect
248 source: /topics/the-culture-of-theology
249 destination: /library/the-culture-of-theology
250 - type: redirect
251 source: /topics/the-doctrine-of-scripture
252 destination: /library/the-doctrine-of-scripture
253
254 # and then some things I just plain moved
255 - type: redirect
256 source: /photos/disney-world-2022-camera-gear/
257 destination: /journal/disney-world-2022-camera-gear/
258 - type: redirect
259 source: /photos/sony-sonnar-t-fe-55mm-f18-za/
260 destination: /journal/disney-world-2022-camera-gear/sony-sonnar-t-fe-55mm-f18-za/
261 - type: redirect
262 source: /photos/sony-a7-iv/
263 destination: /journal/disney-world-2022-camera-gear/sony-a7-iv/
264 - type: redirect
265 source: /photos/tamron-35-150mm-f2-28-di-iii-vxd/
266 destination: /journal/disney-world-2022-camera-gear/tamron-35-150mm-f2-28-di-iii-vxd/
267 - type: redirect
268 source: /photos/birds.md/
269 destination: /photos/birds/
270
271 # A future version of my publishing software should embrace the idea that
272 # series roots can have feed entries
273 - type: redirect
274 source: /journal/2022-in-review/overview-and-introduction/
275 destination: /journal/2022-in-review/