PageSourceSearch

https://errantjones.com/

html errantjones.com collected 2026-10-04 05:46:32 UTC 22,022 bytes, 510 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5    <meta charset="utf-8" />
6    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
7    <meta name="viewport" content="width=device-width, initial-scale=1" />
8    <meta name="accent-color" content="#FF1A75" />
9
10    <!-- Preload critical fonts -->
11    <link rel="preload" href="/assets/fonts/space-grotesk-v21-latin-regular.woff2?v=fnQ4kqvA6RcxzflC" as="font" type="font/woff2"
12        crossorigin>
13    <link rel="preload" href="/assets/fonts/space-grotesk-v21-latin-700.woff2?v=hkDX3M4xoJPtYrmU" as="font" type="font/woff2"
14        crossorigin>
15    <link rel="preload" href="/assets/fonts/fira-sans-v17-latin-regular.woff2?v=ia4XQ2VrdZSL4wzE" as="font" type="font/woff2"
16        crossorigin>
17    <link rel="preload" href="/assets/fonts/fira-sans-v17-latin-700.woff2?v=RfG2VOxhxgIV9Zfj" as="font" type="font/woff2" crossorigin>
18
19    <link rel="stylesheet" type="text/css" href="https://errantjones.com/assets/built/screen.css?v=x9WkOX5kn4EZVSxo" />
20
21    <!-- Self-hosted fonts -->
22    <link rel="stylesheet" href="/assets/fonts/fonts.css?v=ylonpWL5S4uvNREF">
23
24    <title>ERRANT</title>
25
26    <style>
27        body {
28            font-family: var(--gh-font-body, "Space Grotesk", sans-serif);
29        }
30
31        h1,
32        h2,
33        h3,
34        h4,
35        h5,
36        h6 {
37            font-family: var(--gh-font-heading, "Fira Sans", serif);
38        }
39
40        /* Keep original Tailwind mappings */
41        .font-sans {
42            font-family: "Space Grotesk", sans-serif !important;
43        }
44
45        .font-serif {
46            font-family: "Fira Sans", serif !important;
47        }
48
49        /* Ghost font classes */
50        .gh-font-heading {
51            font-family: var(--gh-font-heading, "Fira Sans", serif) !important;
52        }
53
54        .gh-font-body {
55            font-family: var(--gh-font-body, "Space Grotesk", sans-serif) !important;
56        }
57    </style>
58
59    <!-- Include custom font adjustments -->
60    <link rel="stylesheet" href="/assets/css/custom-fonts.css?v=bNQl6UfN3Tb2QIH2">
61
62    <meta name="description" content="Eli Jones, Writer">
63    <link rel="canonical" href="https://errantjones.com/">
64    <meta name="referrer" content="origin-when-cross-origin">
65    
66    <meta property="og:site_name" content="ERRANT">
67    <meta property="og:type" content="website">
68    <meta property="og:title" content="ERRANT">
69    <meta property="og:description" content="Eli Jones, Writer">
70    <meta property="og:url" content="https://errantjones.com/">
71    <meta property="og:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
72    <meta name="twitter:card" content="summary_large_image">
73    <meta name="twitter:title" content="ERRANT">
74    <meta name="twitter:description" content="Eli Jones, Writer">
75    <meta name="twitter:url" content="https://errantjones.com/">
76    <meta name="twitter:image" content="https://static.ghost.org/v5.0.0/images/publication-cover.jpg">
77    <meta property="og:image:width" content="1200">
78    <meta property="og:image:height" content="840">
79    
80    
80<script type="application/ld+json">
81{
82    "@context": "https://schema.org",
83    "@type": "WebSite",
84    "publisher": {
85        "@type": "Organization",
86        "name": "ERRANT",
87        "url": "https://errantjones.com/",
88        "logo": {
89            "@type": "ImageObject",
90            "url": "https://errantjones.com/favicon.ico",
91            "width": 48,
92            "height": 48
93        }
94    },
95    "url": "https://errantjones.com/",
96    "name": "ERRANT",
97    "image": {
98        "@type": "ImageObject",
99        "url": "https://static.ghost.org/v5.0.0/images/publication-cover.jpg",
100        "width": 1200,
101        "height": 840
102    },
103    "mainEntityOfPage": "https://errantjones.com/",
104    "description": "Eli Jones, Writer"
105}
106    </script>
106
107
108    <meta name="generator" content="Ghost 6.64">
109    <link rel="alternate" type="application/rss+xml" title="ERRANT" href="https://errantjones.com/rss/">
110    
110<script defer src="https://errantjones.com/content/files/ghost-apps/portal/portal.min.js" data-i18n="true" data-ghost="https://errantjones.com/" data-key="75b8aeca29758f7c40948391b5" data-api="https://errantjones.com/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script>
110<style id="gh-members-styles">.gh-post-upgrade-cta-content,
111.gh-post-upgrade-cta {
112    display: flex;
113    flex-direction: column;
114    align-items: center;
115    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
116    text-align: center;
117    width: 100%;
118    color: #ffffff;
119    font-size: 16px;
120}
121
122.gh-post-upgrade-cta-content {
123    border-radius: 8px;
124    padding: 40px 4vw;
125}
126
127.gh-post-upgrade-cta h2 {
128    color: #ffffff;
129    font-size: 28px;
130    letter-spacing: -0.2px;
131    margin: 0;
132    padding: 0;
133}
134
135.gh-post-upgrade-cta p {
136    margin: 20px 0 0;
137    padding: 0;
138}
139
140.gh-post-upgrade-cta small {
141    font-size: 16px;
142    letter-spacing: -0.2px;
143}
144
145.gh-post-upgrade-cta a {
146    color: #ffffff;
147    cursor: pointer;
148    font-weight: 500;
149    box-shadow: none;
150    text-decoration: underline;
151}
152
153.gh-post-upgrade-cta a:hover {
154    color: #ffffff;
155    opacity: 0.8;
156    box-shadow: none;
157    text-decoration: underline;
158}
159
160.gh-post-upgrade-cta a.gh-btn {
161    display: block;
162    background: #ffffff;
163    text-decoration: none;
164    margin: 28px 0 0;
165    padding: 8px 18px;
166    border-radius: 4px;
167    font-size: 16px;
168    font-weight: 600;
169}
170
171.gh-post-upgrade-cta a.gh-btn:hover {
172    opacity: 0.92;
173}</style>
174    
174<script defer src="https://errantjones.com/content/files/ghost-apps/sodo-search/sodo-search.min.js" data-key="75b8aeca29758f7c40948391b5" data-styles="https://errantjones.com/content/files/ghost-apps/sodo-search/main.css" data-sodo-search="https://errantjones.com/" data-locale="en" crossorigin="anonymous"></script>
174
175    
176    <link href="https://errantjones.com/webmentions/receive/" rel="webmention">
177    
177<script defer src="/public/cards.min.js?v=ShRHxgy4po8zN-Wf"></script>
177
178    <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=WwnU9jw5ancNC8Gc">
179    
179<script defer src="/public/ghost-stats.min.js?v=vFcCUf6ZQ0Hyhc8h" data-stringify-payload="false" data-datasource="analytics_events" data-storage="localStorage" data-host="https://errantjones.com/.ghost/analytics/api/v1/page_hit"  tb_site_uuid="b545b1d7-8872-4b3b-b3e4-8340eae6b976" tb_post_uuid="undefined" tb_post_type="null" tb_member_uuid="undefined" tb_member_status="undefined" tb_gift_link=""></script>
179<style>:root {--ghost-accent-color: #FF1A75;}</style>
180</head>
181
182<body class="home-template dark:bg-slate-800">
183    <main>
184         
185<nav
186    class="bg-white border-gray-200 dark:bg-slate-900 dark:border-slate-700 dark:text-slate-200"
187>
188    <div
189        class="container flex flex-wrap items-center justify-between mx-auto py-4"
190    >
191        <a href="https://errantjones.com" class="flex items-center">
192            <span
193                class="self-center text-2xl md:text-3xl font-extrabold whitespace-nowrap text-[color:var(--ghost-accent-color)] uppercase"
194            >
195                ERRANT
196            </span>
197        </a>
198        <div class="flex md:order-2">
199            <a
200                href="/#/portal/signup"
201                class="button hidden md:block"
202            >
203                Subscribe
204            </a>
205            <button
206                data-collapse-toggle="navbar-cta"
207                type="button"
208                class="inline-flex items-center p-2 text-gray-500 rounded-lg md:hidden hover:bg-gray-100 dark:hover:bg-slate-600 focus:outline-none focus:ring-2 dark:focus:ring-gray-500 focus:ring-gray-200"
209                aria-controls="navbar-cta"
210                aria-expanded="false"
211            >
212                <span class="sr-only">Open main menu</span>
213                <svg
214                    class="w-6 h-6"
215                    aria-hidden="true"
216                    fill="currentColor"
217                    viewBox="0 0 20 20"
218                    xmlns="http://www.w3.org/2000/svg"
219                ><path
220                        fill-rule="evenodd"
221                        d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z"
222                        clip-rule="evenodd"
223                    ></path></svg>
224            </button>
225        </div>
226        <div
227            class="items-center justify-between hidden w-full md:flex md:w-auto md:order-1"
228            id="navbar-cta"
229        >
230            <ul
231                class="flex flex-col font-medium p-4 md:p-0 mt-4 border border-gray-100 rounded-lg md:flex-row md:space-x-8 md:mt-0 md:border-0 dark:text-slate-200 bg-slate-100 dark:bg-slate-800 md:bg-transparent"
232            >
233                    <li>
234                        <a
235                            href="/"
236                            class="block py-2 pl-3 pr-4 text-gray-900 hover:text-[color:var(--ghost-accent-color)] md:p-0 dark:text-slate-200 text-center md:text-left"
237                        >Home</a>
238                    </li>
239                    <li>
240                        <a
241                            href="/about/"
242                            class="block py-2 pl-3 pr-4 text-gray-900 hover:text-[color:var(--ghost-accent-color)] md:p-0 dark:text-slate-200 text-center md:text-left"
243                        >About</a>
244                    </li>
245            </ul>
246        </div>
247    </div>
248</nav>
249
250    <header class="container flex flex-col py-16 md:py-32 gap-8 items-center justify-center mx-auto">
251        <h1
252            class="text-3xl md:text-5xl font-bold text-slate-800 text-center leading-tight md:leading-tight dark:text-slate-300">
253            This is the start of something truly magical. Something that will change the way you think about websites.
254        </h1>
255        <div class="flex flex-col theme-cta">
256            <form data-members-form class="membership-form" id="membership-form">
257                <div class="flex flex-col md:flex-row justify-center items-center mt-8">
258                    <input data-members-email type="email" required="true" placeholder="Your email address"
259                        class="border border-gray-500 md:border-r-0 placeholder-gray-500 px-4 py-3 mb-4 md:mb-0 w-full md:w-auto focus:outline-none focus:border-[color:var(--ghost-accent-color)] md:focus:border-r-0 md:min-w-[300px] rounded-md md:rounded-r-none md:rounded-l-md dark:bg-slate-700 dark:border-slate-600 dark:text-slate-400 dark:placeholder-slate-400" />
260                    <button type="submit" class="button md:rounded-l-none">
261                        Subscribe to my newsletter
262                    </button>
263                </div>
264                <div class="form-error hidden bg-red-200 text-red-800 px-4 py-3 mt-4 rounded-md border border-red-800"
265                    role="alert" id="form-error">
266                    Oops, there was a problem with your submission. Please try again.
267                </div>
268                <div class="form-success hidden bg-green-200 text-green-800 px-4 py-3 mt-4 rounded-md border border-green-800"
269                    role="alert" id="form-success">
270                    Success! Now check your email to confirm your subscription.
271                </div>
272            </form>
273            <div class="text-center text-gray-500 italic mt-1 dark:text-slate-400">
274                I won&#x27;t send you spam. Promise. Unsubscribe at any time.
275            </div>
276        </div>
277    </header>
278    <main>
279        <div class="container mb-8" id="post-grid">
280            <h2
281                class="text-2xl md:text-3xl font-bold text-slate-800 leading-tight w-full md:w-1/2 mb-8 dark:text-slate-300">
282                Latest Posts
283            </h2>
284            
285<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
286        <div
287            class="aspect-[1/1] relative rounded-md overflow-hidden hover:scale-[1.03] transition-all duration-300 hover:shadow-lg dark:border dark:border-slate-700"
288        >
289            <a href="/umberto-eco-on-ebooks/" class="block w-full h-full">
290                    <div
291                        class="absolute inset-0 object-cover w-full h-full bg-[color:var(--ghost-accent-color)]"
292                    ></div>
293            </a>
294            <div class="absolute bottom-0 left-0 right-0 p-8">
295                <a href="/umberto-eco-on-ebooks/">
296                    <h2
297                        class="text-2xl font-bold text-white leading-tight line-clamp-3"
298                    >Umberto Eco on eBooks</h2>
299                    <p
300                        class="text-white italic mt-2 line-clamp-3 mb-0"
301                    >
302                        I’m no traditionalist. On a 250-gigabyte portable hard disk I’ve recorded the greatest masterpieces of world literature and the history of philosophy;
303                    </p>
304                </a>
305            </div>
306        </div>
307        <div
308            class="aspect-[1/1] relative rounded-md overflow-hidden hover:scale-[1.03] transition-all duration-300 hover:shadow-lg dark:border dark:border-slate-700"
309        >
310            <a href="/on-storytelling/" class="block w-full h-full">
311                    <div
312                        class="absolute inset-0 object-cover w-full h-full bg-[color:var(--ghost-accent-color)]"
313                    ></div>
314            </a>
315            <div class="absolute bottom-0 left-0 right-0 p-8">
316                <a href="/on-storytelling/">
317                    <h2
318                        class="text-2xl font-bold text-white leading-tight line-clamp-3"
319                    >On Storytelling</h2>
320                    <p
321                        class="text-white italic mt-2 line-clamp-3 mb-0"
322                    >
323                        Freddie deBoer on storytelling and Stranger Things.
324                    </p>
325                </a>
326            </div>
327        </div>
328        <div
329            class="aspect-[1/1] relative rounded-md overflow-hidden hover:scale-[1.03] transition-all duration-300 hover:shadow-lg dark:border dark:border-slate-700"
330        >
331            <a href="/errant-worlds-available-for-purchase/" class="block w-full h-full">
332                    <div
333                        class="absolute inset-0 bg-gradient-to-t from-slate-800 to-transparent"
334                    ></div>
335                    <img
336                        src="/content/images/size/w1200/2026/01/Errant-Worlds-Cover-2.jpg"
337                        alt="Errant Worlds Available for Purchase"
338                        class="object-cover w-full h-full"
339                    />
340            </a>
341            <div class="absolute bottom-0 left-0 right-0 p-8">
342                <a href="/errant-worlds-available-for-purchase/">
343                    <h2
344                        class="text-2xl font-bold text-white leading-tight line-clamp-3"
345                    >Errant Worlds Available for Purchase</h2>
346                    <p
347                        class="text-white italic mt-2 line-clamp-3 mb-0"
348                    >
349                        The collection is live!
350                    </p>
351                </a>
352            </div>
353        </div>
354</div>            <nav class="pagination-nav mt-12 mb-8" role="navigation" aria-label="Pagination Navigation">
355    <div class="flex justify-between items-center text-slate-600 dar
355k:text-slate-400">
356        <div class="flex-1">
357        </div>
358        
359        <div class="flex-1 text-center">
360                <span class="text-sm text-slate-500 dark:text-slate-400">
361                    Page 1 of 1
362                </span>
363        </div>
364        
365        <div class="flex-1 text-right">
366        </div>
367    </div>
368</nav>
369        </div>
370        <div class="container mt-16 md:mt-32 flex flex-col gap-2">
371            <h2 class="text-2xl md:text-3xl font-bold text-slate-800 leading-tight w-full md:w-1/2 dark:text-slate-300">
372                News
373            </h2>
374            <p class="text-gray-500 italic w-full md:w-1/2 dark:text-slate-400">
375                
376            </p>
377            <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
378                <div
379                    class="aspect-[19/9] relative rounded-md overflow-hidden hover:scale-[1.03] transition-all duration-300 hover:shadow-lg dark:border dark:border-slate-700">
380                    <a href="/errant-worlds-available-for-purchase/" class="block w-full h-full">
381                        <div class="absolute inset-0 bg-slate-800 bg-opacity-80 dark:bg-slate-800 dark:bg-opacity-80">
382                        </div>
383                        <img src="/content/images/2026/01/Errant-Worlds-Cover-2.jpg" alt="Errant Worlds Available for Purchase"
384                            class="object-cover w-full h-full" />
385                    </a>
386                    <div class="absolute bottom-0 left-0 right-0 px-8">
387                        <a href="/errant-worlds-available-for-purchase/">
388                            <h2 class="text-2xl font-bold text-white leading-tight line-clamp-2">Errant Worlds Available for Purchase</h2>
389                            <p class="text-white italic line-clamp-2">
390                                The collection is live!
391                            </p>
392                        </a>
393                    </div>
394                </div>
395            </div>
396        </div>
397    </main>
398    
398<script>
399        document.addEventListener("DOMContentLoaded", function () {
400            const membershipForm = document.getElementById("membership-form");
401            const formError = document.getElementById("form-error");
402            const formSuccess = document.getElementById("form-success");
403
404            function updateFormMessages() {
405                if (membershipForm.classList.contains("error")) {
406                    formError.classList.remove("hidden");
407                    formSuccess.classList.add("hidden");
408                } else if (membershipForm.classList.contains("success")) {
409                    formError.classList.add("hidden");
410                    formSuccess.classList.remove("hidden");
411                } else {
412                    formError.classList.add("hidden");
413                    formSuccess.classList.add("hidden");
414                }
415            }
416
417            // Update messages on page load
418            updateFormMessages();
419
420            // Listen for form submission
421            membershipForm.addEventListener("submit", function () {
422                // Wait for Ghost to update the form classes
423                setTimeout(updateFormMessages, 100);
424            });
425        });
426    </script>
426
427    </main>
428    <footer>
429        <div class="bg-slate-800 text-white py-16 text-center dark:bg-slate-900">
430            <div class="container flex flex-col gap-12 items-center justify-center mx-auto">
431                <div class="w-full md:w-2/3 flex flex-col gap-2">
432                    <h2 class="text-4xl md:text-5xl font-bold text-white leading-tight">
433                        Get started
434                    </h2>
435                    <p class="text-gray-300 mt-2">
436                        
437                    </p>
438                </div>
439                <div class="w-full md:w-1/2">
440                    <a href="/#/portal/signup" class="button">
441                        Get started
442                    </a>
443                </div>
444            </div>
445        </div>
446        <div class="bg-slate-700 text-white py-4 text-center dark:bg-slate-800">
447            <div class="container flex flex-col gap-4 items-center justify-center mx-auto">
448                <div class="w-full flex flex-col md:flex-row w-full justify-center gap-4 mt-2">
449                    <ul class="flex flex-col md:flex-row gap-4">
450                        <li>
451                            <a href="#/portal/"
452                                class="text-gray-300 hover:text-white transition-all duration-300 underline">
453                                Sign up
454                            </a>
455                        </li>
456                    </ul>
457                </div>
458                <p class="text-gray-300 text-sm !mb-2 mt-2 md:mt-0">
459                    &copy;
460                    2026
461                    ERRANT. All rights reserved.
462                </p>
463            </div>
464        </div>
465    </footer>
466    
466<script src="https://cdnjs.cloudflare.com/ajax/libs/flowbite/1.6.5/flowbite.min.js"></script>
466
467    
467<script>
468        function styleAnnouncementBarContent() {
469            const announcementBarContent = document.querySelector('.gh-announcement-bar-content');
470
471            if (announcementBarContent) {
472                const pElement = announcementBarContent.querySelector('p');
473
474                if (pElement) {
475                    pElement.style.fontFamily = 'Space Grotesk, sans-serif';
476                    pElement.style.marginBottom = '0';
477                    pElement.style.fontSize = '1rem';
478
479                    const announcementBar = announcementBarContent.closest('.gh-announcement-bar');
480                    if (announcementBar.classList.contains('dark') || announcementBar.classList.contains('accent')) {
481                        pElement.style.color = 'white';
482                    }
483                }
484            }
485        }
486
487        function waitForAnnouncementBar() {
488            const observer = new MutationObserver((mutationsList) => {
489                for (const mutation of mutationsList) {
490                    if (mutation.type === 'childList') {
491                        const announcementBarContent = document.querySelector('.gh-announcement-bar-content');
492
493                        if (announcementBarContent) {
494                            styleAnnouncementBarContent();
495                            observer.disconnect();
496                            break;
497                        }
498                    }
499                }
500            });
501
502            observer.observe(document.body, { childList: true, subtree: true });
503        }
504
505        waitForAnnouncementBar();
506    </script>
506
507    
508</body>
509
510</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.