PageSourceSearch

https://indieauthorvault.com/listings/helpful-podcasts/

html indieauthorvault.com collected 2026-10-05 07:08:59 UTC 64,481 bytes, 1,110 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" data-theme="emerald">
3
4<head>
5    <meta charset="UTF-8" />
6    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
8    <link href="https://indieauthorvault.com/fonts/fonts.css?families=Quicksand%3Awght%40400%3B700" rel="stylesheet">
9
10    <meta name="csrf-token" content="S5gXFY7ZBzaEGJ6al7WMfYSLnajYLsnpEqqrCIEP">
11
12    <link rel="icon" type="image/jpeg" href="https://cdn.directify.app/directories/favicons/01K39C0D8M9TXXWKHQE683M9V5.jpg">
13
14    <!-- PWA Meta Tags -->
15            <!-- PWA Meta Tags -->
16<meta name="mobile-web-app-capable" content="yes">
17<meta name="apple-mobile-web-app-capable" content="yes">
18<meta name="apple-mobile-web-app-status-bar-style" content="default">
19<meta name="apple-mobile-web-app-title" content="Indie Author Vault">
20<meta name="application-name" content="Indie Author Vault">
21<meta name="theme-color" content="#4f46e5">
22<meta name="msapplication-TileColor" content="#4f46e5">
23<meta name="msapplication-navbutton-color" content="#4f46e5">
24
25<!-- Web App Manifest (Dynamic) -->
26<link rel="manifest" href="/manifest.json">
27
28<!-- Apple Touch Icons -->
29<link rel="apple-touch-icon" href="https://cdn.directify.app/directories/favicons/01K39C0D8M9TXXWKHQE683M9V5.jpg">
30<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.directify.app/directories/favicons/01K39C0D8M9TXXWKHQE683M9V5.jpg">
31<link rel="apple-touch-icon" sizes="192x192" href="https://cdn.directify.app/directories/favicons/01K39C0D8M9TXXWKHQE683M9V5.jpg">
32    
33    
34    <title>Helpful Podcasts - Indie Author Vault</title>
35<meta name="description" content="Here are some helpful podcasts that Rebecca has done if you&#039;d like to listen!">
36<!-- Twitter Card Tags -->
37<meta name="twitter:card" content="summary_large_image">
38<meta name="twitter:title" content="Helpful Podcasts - Indie Author Vault">
39<meta name="twitter:description" content="Here are some helpful podcasts that Rebecca has done if you&#039;d like to listen!">
40<meta name="twitter:image" content="">
41<meta name="twitter:site" content="">
42<!-- OG-->
43<meta property="og:title" content="Helpful Podcasts - Indie Author Vault">
44<meta property="og:description" content="Here are some helpful podcasts that Rebecca has done if you&#039;d like to listen!">
45<meta property="og:image" content="">
46<meta property="og:url" content="https://indieauthorvault.com/listings/helpful-podcasts/">
47<meta property="og:type" content="website">
48<!-- Hreflang Tags -->
49<link rel="alternate" hreflang="en" href="https://indieauthorvault.com/listings/helpful-podcasts/">
50<link rel="alternate" hreflang="x-default" href="https://indieauthorvault.com/listings/helpful-podcasts/">
51<link rel="alternate" type="application/rss+xml" title="Indie Author Vault" href="https://indieauthorvault.com/rss.xml/">
52
53    <link rel="canonical" href="https://indieauthorvault.com/listings/helpful-podcasts/">
54
55    <link href="https://indieauthorvault.com/fonts/fonts.css?families=Inter" rel="stylesheet">
56
57
58    
59    <!-- Scripts -->
60    <link rel="preload" as="style" href="https://indieauthorvault.com/build/assets/app-DZNpRw8P.css" /><link rel="modulepreload" as="script" href="https://indieauthorvault.com/build/assets/app-J8Ay3an5.js" /><link rel="stylesheet" href="https://indieauthorvault.com/build/assets/app-DZNpRw8P.css" data-navigate-track="reload" />
60<script type="module" src="https://indieauthorvault.com/build/assets/app-J8Ay3an5.js" data-navigate-track="reload"></script>
60
61    <!-- Styles -->
62    <!-- Livewire Styles --><style >[wire\:loading][wire\:loading], [wire\:loading\.delay][wire\:loading\.delay], [wire\:loading\.inline-block][wire\:loading\.inline-block], [wire\:loading\.inline][wire\:loading\.inline], [wire\:loading\.block][wire\:loading\.block], [wire\:loading\.flex][wire\:loading\.flex], [wire\:loading\.table][wire\:loading\.table], [wire\:loading\.grid][wire\:loading\.grid], [wire\:loading\.inline-flex][wire\:loading\.inline-flex] {display: none;}[wire\:loading\.delay\.none][wire\:loading\.delay\.none], [wire\:loading\.delay\.shortest][wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter][wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short][wire\:loading\.delay\.short], [wire\:loading\.delay\.default][wire\:loading\.delay\.default], [wire\:loading\.delay\.long][wire\:loading\.delay\.long], [wire\:loading\.delay\.longer][wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest][wire\:loading\.delay\.longest] {display: none;}[wire\:offline][wire\:offline] {display: none;}[wire\:dirty]:not(textarea):not(input):not(select) {display: none;}:root {--livewire-progress-bar-color: #2299dd;}[x-cloak] {display: none !important;}[wire\:cloak] {display: none !important;}dialog#livewire-error::backdrop {background-color: rgba(0, 0, 0, .6);}</style>
63
64    
65    
65<script defer src="https://analytics.directify.app/script.js" data-website-id="f1c34069-014a-4ed4-9314-8234e3e50eff"></script>
65
66
67    <style>
68        @layer base {
69            html {
70                font-family: "Inter", sans-serif !important;
71            }
72        }
73
74
75        .card-linear-gradient {
76            background: linear-gradient(0deg, rgba(0, 0, 0, .9) 0, rgba(255, 255, 255, 0) 99%);
77        }
78
79        .shadow-md {
80            --tw-shadow: 2px 6px 15px rgba(16, 24, 40, 0.05);
81            --tw-shadow-colored: 2px 6px 15px var(--tw-shadow-color);
82            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
83        }
84    </style>
85
86    <!-- Custom Styles -->
87<style id="directify-styles">
88    :root, [data-theme] {
89    
90    }
91
92    .btn-primary {
93                        
94    }
95
96    .btn-primary:hover {
97                
98    }
99
100    /* Templates styling buttons with raw utilities (bg-primary etc.) tag them
101       with data-btn-primary; !important lets the configured colors beat the
102       single-class utilities regardless of stylesheet order. */
103    [data-btn-primary] {
104                        
105    }
106
107    [data-btn-primary]:hover {
108                
109    }
110
111    /* Hero Settings */
112    .hero-bg-color {
113        
114    }
115
116    .directory-name {
117        
118    }
119
120    .directory-title {
121        
122    }
123
124    .directory-description {
125        
126    }
127
128    /* Cover-image opacity (0-100 in the editor → 0-1 here). Unlayered, so it
129       overrides the template's hardcoded Tailwind opacity utility. Only emitted
130       for a positive numeric value — a missing/zero/garbage value falls back to
131       the template's default so the cover can never silently disappear. */
132    .directory-cover-image {
133        
134    }
135
136    /* The dark tint layered above the cover image fades out as the slider
137       goes up, so 100 shows the photo completely untinted. Same guard as
138       above: unset/zero/garbage keeps the template's default tint. */
139    .directory-cover-overlay {
140        
141    }
142
143    /* Restaurant hero stat numbers use the brand primary on a near-black
144       hero; a dark primary would make them invisible, so fall back to white. */
145    .hero-stat-value {
146        
147    }
148
149    .submit-btn {
150                
151    }
152
153    .submit-btn:hover {
154        
155    }
156
157    .menu-item {
158        
159    }
160
161    .menu-item:hover {
162        
163    }
164
165    .search-container {
166        
167    }
168
169    .search-input {
170                        
171    }
172
173    .search-btn {
174                        
175    }
176
177    .search-btn:hover {
178                
179    }
180
181    .top-categories-title {
182        
183    }
184
185    .top-categories-item {
186                        
187    }
188
189    .top-categories-item:hover {
190                        
191    }
192
193    /* Footer Settings */
194    .footer-container {
195                        
196    }
197
198    
199    
200    /* Footer sections will use inline styles for individual colors */
201
202    
203    
204    .footer-copyright,
205    .footer-container .footer-copyright {
206        
207    }
208</style>
209
210    
211    
212        <style>
213        .mapouter {
214            position: relative;
215            text-align: right;
216            width: 100%;
217            height: 400px;
218        }
219
220        .gmap_canvas {
221            overflow: hidden;
222            background: none !important;
223            width: 100%;
224            height: 400px;
225        }
226
227        .gmap_iframe {
228            height: 400px !important;
229        }
230    </style>
231</head>
232
233<body class="bg-base-200 text-base-content min-h-screen flex flex-col">
234        
235    <header class="bg-base-100 shadow-md sticky top-0 z-50">
236    <div class="max-w-7xl mx-auto flex items-center justify-between">
237        <div class="justify-between navbar bg-base-100 border-base-200">
238            <div class="flex-1 hidden lg:block">
239                <a href="https://indieauthorvault.com/" class="text-xl btn btn-ghost">
240                                            <img src="https://cdn.directify.app/directories/logos/01K39C0D64G6ND0ZM33J178EFN.jpg" alt="Indie Author Vault" class="w-auto me-2 logo h-8 ">
241                                                                <span class="directory-name">Indie Author Vault</span>
242                                    </a>
243            </div>
244
245                            <label for="my-drawer-2" class="btn btn-square drawer
245-button lg:hidden">
246                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
247                        stroke="currentColor" class="size-6">
248                        <path stroke-linecap="round" stroke-linejoin="round"
249                            d="M3.75 12h16.5m-16.5 3.75h16.5M3.75 19.5h16.5M5.625 4.5h12.75a1.875 1.875 0 0 1 0 3.75H5.625a1.875 1.875 0 0 1 0-3.75Z" />
250                    </svg>
251                </label>
252            
253            <div class="flex-1 block lg:hidden">
254                <a href="https://indieauthorvault.com/" class="text-xl btn btn-ghost">
255                                            <img src="https://cdn.directify.app/directories/logos/01K39C0D64G6ND0ZM33J178EFN.jpg" alt="Indie Author Vault"
256                            class="w-auto me-2 logo-mobile h-8 ">
257                                    </a>
258            </div>
259            
260            
261            <div class="hidden flex-none lg:block">
262                <ul class="px-1 menu menu-horizontal gap-x-2">
263                                    </ul>
264            </div>
265        </div>
266    </div>
267</header>
268
269    <main class="max-w-7xl mx-auto px-4 py-8 flex-1 w-full">
270        <div class="grid grid-cols-1 md:grid-cols-3 gap-8">
271            <!-- Left Column -->
272
273            <div class="md:col-span-2">
274                                    <div class="pb-0 mb-2">
275                        <div class="max-w-3xl">
276                                                                                            <div class="mb-2 text-3xl font-bold directory-title">
277                                    Indie Author Vault                                </div>
278                                                                                        <p class="text-sm directory-description">
279                                    Curated resources for indie authors by USA Today bestselling author Rebecca Hefner.
280Note: I&#039;m a wide author, so these resources focus on wide &amp; direct tools, but KU authors might still find some resources helpful!
281Questions? DM Rebecca on IG.                                </p>
282                                                    </div>
283                    </div>
284                
285                <div wire:snapshot="{&quot;data&quot;:{&quot;placement&quot;:[&quot;hero-listing&quot;,{&quot;class&quot;:&quot;App\\Enums\\AdPlacement&quot;,&quot;s&quot;:&quot;enm&quot;}],&quot;directory&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Directory&quot;,&quot;key&quot;:2766,&quot;s&quot;:&quot;mdl&quot;}],&quot;project&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Project&quot;,&quot;key&quot;:10412000,&quot;s&quot;:&quot;mdl&quot;}],&quot;category&quot;:null},&quot;memo&quot;:{&quot;id&quot;:&quot;mCmt9q3bQ2Vken57Klxq&quot;,&quot;name&quot;:&quot;common.ads&quot;,&quot;path&quot;:&quot;listings\/helpful-podcasts&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;},&quot;checksum&quot;:&quot;ebf56d2c00634c18fc7bd65b8e18b0741994e0a1eb20b0f2bb6e57aae70a71ce&quot;}" wire:effects="{&quot;partials&quot;:[]}" wire:id="mCmt9q3bQ2Vken57Klxq" class="hidden">
286    <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--></div>
287    
288    <div class="w-full max-w-7xl">
289                <div class="text-sm breadcrumbs mb-2">
290            <ul>
291                <li><a href="https://indieauthorvault.com/"><span data-te-label data-te-group="directory" data-te-key="breadcrumb_home">Home</span>
292</a></li>
293                                    <li><a href="https://indieauthorvault.com/categories/audiobooks/">Audiobooks</a></li>
294                                <li>Helpful Podcasts</li>
295            </ul>
296        </div>
297                <div class="bg-base-100 p-6 rounded-xl shadow-md flex flex-col items-start justify-between max-w-7xl gap-2">
298            <div class="flex flex-row items-center justify-between w-full">
299                <div class="flex flex-row items-center gap-2">
300                                            <div class="me-4">
301                            <div class="rounded-xl">
302                                <img loading="lazy" class="w-24" src="https://cdn.directify.app/projects/logos/01K39B62TXYT6MENVYNX9G2REZ.jpg"
303                                    alt="Helpful Podcasts">
304                            </div>
305                        </div>
306                                        <div class="">
307                        <div class="flex flex-col items-start text-4xl font-bold flex gap-2">
308                            <span class="mb-2"><h1 class="inline">Helpful Podcasts</h1></span>
309                        </div>
310                                                                                            </div>
311                </div>
312
313                <div class="flex items-center gap-4">
314                    
315                    
316                                                            <div wire:snapshot="{&quot;data&quot;:{&quot;project&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Project&quot;,&quot;key&quot;:10412000,&quot;s&quot;:&quot;mdl&quot;}],&quot;classes&quot;:&quot;&quot;,&quot;form&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Form&quot;,&quot;key&quot;:321,&quot;s&quot;:&quot;mdl&quot;}],&quot;active&quot;:true},&quot;memo&quot;:{&quot;id&quot;:&quot;altyMHFMWNMipgSBCznI&quot;,&quot;name&quot;:&quot;common.contact-project&quot;,&quot;path&quot;:&quot;listings\/helpful-podcasts&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;},&quot;checksum&quot;:&quot;c9409102c8bdd26bdd8485128a538a05b9fb6d2ba9b4c74d4b9b68659d2668ac&quot;}" wire:effects="{&quot;partials&quot;:[]}" wire:id="altyMHFMWNMipgSBCznI">
317    <!--[if BLOCK]><![endif]-->        <style>
318            [x-cloak] { display: none !important; }
319        </style>
320
321        <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->
322        <div x-data="{ open: false }"
323             @open-contact-modal.window="open = true">
324            <button
325                type="button"
326                @click="open = true"
327                class="btn btn-primary btn-sm cursor-pointer w-full rounded-lg font-semibold shadow-md hover:shadow-lg transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center justify-center gap-2 "
328            >
329                <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
330                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
331                </svg>
332                <span data-te-label data-te-group="project" data-te-key="contact_button_text">Contact</span>
333            </button>
334
335            <template x-teleport="body">
336            <div
337                x-show="open"
338                x-cloak
339                class="fixed inset-0 z-[999] flex items-center justify-center bg-black/50 backdrop-blur-sm p-4"
340                @click.self="open = false"
341                @keydown.escape.window="open = false"
342            >
343                <div class="bg-base-100 rounded-2xl shadow-2xl w-full max-w-2xl max-h-[90vh] overflow-y-auto">
344                    
345                    <div class="sticky top-0 bg-gradient-to-br from-primary/5 to-primary/10 border-b border-base-200/50 px-6 py-4 rounded-t-2xl">
346                        <div class="flex items-start justify-between">
347                            <div class="flex-1">
348                                <h3 class="text-2xl font-bold text-base-content flex items-center gap-2">
349                                    <svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6 text-primary" fill="none" viewBox="0 0 24 24" stroke="currentColor">
350                                        <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
351                                    </svg>
352                                    <span data-te-label data-te-group="project" data-te-key="contact_button_text">Contact</span>
353                                </h3>
354                                <p class="text-sm text-base-content/60 mt-1">Helpful Podcasts</p>
355                            </div>
356                            <button
357                                type="button"
358                                @click="open = false"
359                                class="ms-4 p-2 rounded-lg hover:bg-base-200 transition-all"
360                            >
361                                <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
362                                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
363                                </svg>
364                            </button>
365                        </div>
366                    </div>
367
368                    
369                    <div class="p-6">
370                        <div class="container mx-auto max-w-xl">
371    <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->
372    <form action="https://indieauthorvault.com/forms/321" method="POST" enctype="multipart/form-data">
373        <input type="hidden" name="_token" value="S5gXFY7ZBzaEGJ6al7WMfYSLnajYLsnpEqqrCIEP" autocomplete="off">
374        <div aria-hidden="true" style="position:absolute;
374left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
375    <label for="_directify_hp_url">Website</label>
376    <input type="text" id="_directify_hp_url" name="_directify_hp_url" tabindex="-1" autocomplete="off" />
377</div>
378
379<input type="hidden" name="_directify_hp_ts" value="eyJpdiI6Indra2dFMEdIWFdjK1VsdkdBaXJodnc9PSIsInZhbHVlIjoiblhNeTdhVHZnSE5WL3ZySm9WNEJhQT09IiwibWFjIjoiNjQzM2E4ZGFjN2IxOGY5OTgzNzBmZGI1NzVhN2RiOWI3NTY5YmNkY2VjNmQ4MTVlYjIzOTY4ZmI1YWJkNzdiMiIsInRhZyI6IiJ9" />
380
381        <input type="hidden" name="_form_id" value="321" />
382        <!--[if BLOCK]><![endif]-->            <input type="hidden" name="project_id" value="10412000" />
383        <!--[if ENDBLOCK]><![endif]-->
384        <div class="space-y-4">
385            <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->
386            <!--[if BLOCK]><![endif]-->                                <!--[if BLOCK]><![endif]-->                    <div class="space-y-1.5">
387                        <label for="name" class="block text-sm font-medium text-base-content/80 text-start">
388                            Name<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->                        </label>
389                        <input
390                            type="text"
391                            id="name"
392                            name="name"
393                            value=""
394                            placeholder="Name"
395                                                        class="input input-bordered w-full rounded-xl"
396                        />
397                        <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->                    </div>
398                <!--[if ENDBLOCK]><![endif]-->                                            <!--[if BLOCK]><![endif]-->                    <div class="space-y-1.5">
399                        <label for="email" class="block text-sm font-medium text-base-content/80 text-start">
400                            Email<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->                        </label>
401                        <input
402                            type="email"
403                            id="email"
404                            name="email"
405                            value=""
406                            placeholder="Email"
407                                                        class="input input-bordered w-full rounded-xl"
408                        />
409                        <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->                    </div>
410                <!--[if ENDBLOCK]><![endif]-->                                            <!--[if BLOCK]><![endif]-->                    <div class="space-y-1.5">
411                        <label for="message" class="block text-sm font-medium text-base-content/80 text-start">
412                            Message<!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->                        </label>
413                        <textarea
414                            id="message"
415                            name="message"
416                            placeholder="Message"
417                            rows="4"
418                                                        class="textarea textarea-bordered w-full rounded-xl"
419                        ></textarea>
420                        <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->                    </div>
421                <!--[if ENDBLOCK]><![endif]-->            <!--[if ENDBLOCK]><![endif]-->        </div>
422
423        <div class="mt-6">
424            <button type="submit" class="btn btn-primary btn-lg w-full rounded-xl">
425                Send message
426            </button>
427        </div>
428    </form>
429
430    <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--></div>
431                    </div>
432                </div>
433            </div>
434            </template>
435        </div>
436    <!--[if ENDBLOCK]><![endif]--></div>
437                    <div wire:snapshot="{&quot;data&quot;:{&quot;project&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Project&quot;,&quot;key&quot;:10412000,&quot;s&quot;:&quot;mdl&quot;}],&quot;classes&quot;:&quot;&quot;,&quot;form&quot;:null,&quot;active&quot;:false},&quot;memo&quot;:{&quot;id&quot;:&quot;FEN4BZvXzevjDfAA4S6h&quot;,&quot;name&quot;:&quot;common.book-project&quot;,&quot;path&quot;:&quot;listings\/helpful-podcasts&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;},&quot;checksum&quot;:&quot;a4bc0411809f1e05334fec28a9c8a7d2781720ad97038df4502db6b6296e77a8&quot;}" wire:effects="{&quot;partials&quot;:[]}" wire:id="FEN4BZvXzevjDfAA4S6h">
438    <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--></div>
439                    <div wire:snapshot="{&quot;data&quot;:{&quot;project&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Project&quot;,&quot;key&quot;:10412000,&quot;s&quot;:&quot;mdl&quot;}],&quot;name&quot;:&quot;&quot;,&quot;email&quot;:&quot;&quot;,&quot;proof&quot;:&quot;&quot;,&quot;classes&quot;:&quot;&quot;,&quot;claimListingSettings&quot;:[{&quot;listing_name&quot;:&quot;listing&quot;,&quot;listing_name_plural&quot;:&quot;&quot;,&quot;all_listings_heading&quot;:&quot;All :listing&quot;,&quot;all_listings_description&quot;:&quot;Browse through all :listing.&quot;,&quot;search_placeholder&quot;:&quot;Search for a listing&quot;,&quot;search_button_text&quot;:&quot;Search&quot;,&quot;search_autocomplete_enabled&quot;:false,&quot;listing_card_button_text&quot;:&quot;View More&quot;,&quot;listing_button_text&quot;:&quot;Visit Website&quot;,&quot;show_url_on_listing_card&quot;:false,&quot;show_map_on_listing&quot;:false,&quot;map_view_enabled&quot;:false,&quot;map_geolocation_enabled&quot;:true,&quot;show_desktop_filter_sidebar&quot;:false,&quot;listing_call_button_text&quot;:&quot;Call&quot;,&quot;listing_email_button_text&quot;:&quot;Send Email&quot;,&quot;hide_related_projects&quot;:false,&quot;similar_listings_title&quot;:&quot;Similar :listing&quot;,&quot;similar_listings_in_category_title&quot;:&quot;Similar :listing in category&quot;,&quot;listings_related_articles_title&quot;:&quot;Articles related to :listing&quot;,&quot;articles_related_listings_title&quot;:&quot;Listings related to :article&quot;,&quot;empty_search_text&quot;:&quot;&lt;h2&gt;We could not find any :listing matching your search criteria.&lt;\/h2&gt;&lt;p&gt;Try adjusting your search or browse through our categories to discover exciting :listing.&lt;\/p&gt;&quot;,&quot;pagination_per_page&quot;:20,&quot;default_sort_by&quot;:&quot;updated_at&quot;,&quot;default_sort_direction&quot;:&quot;desc&quot;,&quot;default_aspect_ratio&quot;:&quot;16:9&quot;,&quot;auto_resize_cover_image&quot;:true,&quot;cover_image_max_height_class&quot;:&quot;max-h-56&quot;,&quot;cover_banner_height_class&quot;:&quot;h-28 md:h-36&quot;,&quot;show_featured_listing_badge&quot;:false,&quot;featured_listing_badge_text&quot;:&quot;featured&quot;,&quot;featured_listing_badge_color&quot;:&quot;#49a773&quot;,&quot;featured_listing_badge_text_color&quot;:&quot;#ffffff&quot;,&quot;featured_listing_badge_position&quot;:&quot;top-2 right-2&quot;,&quot;featured_listing_badge_size&quot;:&quot;badge-sm&quot;,&quot;featured_listing_custom_css_classes&quot;:&quot;&quot;,&quot;expired_listings_behavior&quot;:&quot;badge&quot;,&quot;expired_badge_text&quot;:&quot;Expired&quot;,&quot;show_expiry_countdown&quot;:true,&quot;expiry_countdown_days&quot;:7,&quot;expiry_ends_today_text&quot;:&quot;Ends today&quot;,&quot;expiry_one_day_left_text&quot;:&quot;1 day left&quot;,&quot;expiry_days_left_text&quot;:&quot;:days days left&quot;,&quot;health_checks_enabled&quot;:true,&quot;health_auto_unpublish_after&quot;:0,&quot;contact_button_active&quot;:true,&quot;contact_button_scope&quot;:&quot;all&quot;,&quot;booking_button_active&quot;:false,&quot;listing_primary_cta&quot;:&quot;call&quot;,&quot;claim_listing_active&quot;:false,&quot;claim_listing_self_manage&quot;:false,&quot;claim_listing_button_text&quot;:&quot;Claim Listing&quot;,&quot;claim_listing_button_color&quot;:&quot;#3227ff&quot;,&quot;claim_listing_button_border_color&quot;:&quot;#2721d6&quot;,&quot;claim_listing_button_text_color&quot;:&quot;#ffffff&quot;,&quot;claim_listing_button_size&quot;:&quot;btn-sm&quot;,&quot;claim_listing_button_classes&quot;:&quot;&quot;,&quot;claim_listing_name_placeholder&quot;:&quot;Your Name&quot;,&quot;claim_listing_email_placeholder&quot;:&quot;Your Email&quot;,&quot;claim_listing_proof_placeholder&quot;:&quot;Proof of Ownership&quot;,&quot;claim_listing_submit_button_text&quot;:&quot;Submit Claim&quot;,&quot;claim_listing_cancel_button_text&quot;:&quot;Cancel&quot;,&quot;claim_listing_success_message&quot;:&quot;Your claim has been submitted successfully.&quot;,&quot;claim_listing_invite_notice&quot;:&quot;You were invited to claim this listing \u2014 no proof of ownership needed.&quot;,&quot;claim_listing_invite_email_hint&quot;:&quot;
439Your invitation is tied to this email address.&quot;,&quot;claim_listing_already_claimed_text&quot;:&quot;This listing has already been claimed.&quot;,&quot;claim_listing_price_notice&quot;:&quot;Claiming this listing costs :price. You&#039;ll be taken to a secure checkout after submitting.&quot;,&quot;claim_listing_hide_if_claimed&quot;:false,&quot;claim_listing_charge_active&quot;:false,&quot;claim_listing_plan_key&quot;:null,&quot;claim_listing_plan_keys&quot;:[[],{&quot;s&quot;:&quot;arr&quot;}],&quot;claim_listing_plan_picker_label&quot;:&quot;Choose a plan&quot;,&quot;show_listing_timestamp&quot;:true,&quot;show_contact_info_on_listing&quot;:false,&quot;show_contact_card_on_listing&quot;:true,&quot;show_breadcrumbs&quot;:true,&quot;show_category_in_breadcrumbs&quot;:true,&quot;append_category_to_title&quot;:false,&quot;listing_title_pattern&quot;:&quot;&quot;,&quot;disable_show_listing_pages&quot;:false,&quot;card_image_links_to_website&quot;:false,&quot;card_image_website_label&quot;:&quot;Visit website&quot;,&quot;show_votes&quot;:false,&quot;show_reviews&quot;:false,&quot;reviews_require_approval&quot;:true,&quot;show_categories_on_listing_card&quot;:true,&quot;show_default_image_on_listing_card&quot;:false,&quot;categories_on_listing_page_limit&quot;:5,&quot;show_more_categories_button_text&quot;:&quot;Show More&quot;,&quot;show_less_categories_button_text&quot;:&quot;Show Less&quot;,&quot;tags_heading&quot;:null,&quot;filter_heading&quot;:null,&quot;filter_max_label&quot;:null,&quot;filter_min_label&quot;:null,&quot;listings_per_row&quot;:null,&quot;show_map_on_home&quot;:false,&quot;apply_filters_label&quot;:null,&quot;clear_filters_label&quot;:null,&quot;featured_only_label&quot;:null,&quot;map_no_results_hint&quot;:null,&quot;show_map_on_category&quot;:false},{&quot;s&quot;:&quot;arr&quot;}],&quot;inviteEmail&quot;:null,&quot;claimPrice&quot;:null,&quot;claimPlanOptions&quot;:[[],{&quot;s&quot;:&quot;arr&quot;}],&quot;selectedClaimPlanKey&quot;:null,&quot;showForm&quot;:false,&quot;claimed&quot;:false,&quot;justPaid&quot;:false},&quot;memo&quot;:{&quot;id&quot;:&quot;wezNfzS7fdpy0EIWceww&quot;,&quot;name&quot;:&quot;common.claim-project&quot;,&quot;path&quot;:&quot;listings\/helpful-podcasts&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;},&quot;checksum&quot;:&quot;5772003f716b262777226f9fdcf677262563fa5d8b2bcf6fba1eac4788876d8d&quot;}" wire:effects="{&quot;partials&quot;:[]}" wire:id="wezNfzS7fdpy0EIWceww" class="hidden ">
440    <button
441        wire:click="toggleForm"
442        class="btn cursor-pointer w-full rounded-lg font-semibold shadow-md hover:shadow-lg transition-all hover:scale-[1.02] active:scale-[0.98] flex items-center justify-center gap-2 btn-sm  "
443        style="background-color: #3227ff !important; border: 2px solid #2721d6 !important; color: #ffffff !important;">
444        <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5" fill="none" viewBox="0 0 24 24" stroke="currentColor">
445            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z" />
446        </svg>
447        Claim Listing
448    </button>
449
450    
451    <template x-teleport="body">
452        <div>
453            <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->
454            <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->        </div>
455    </template>
456</div>
457                </div>
458            </div>
459
460            <div class="flex flex-col items-start justify-between py-2">
461                <div class="max-w-2xl me-4">
462                                            <p class="mt-2 text-base-content/70">Here are some helpful podcasts that Rebecca has done if you&#039;d like to listen!</p>
463                                        
464                                            <div class="flex flex-wrap items-center gap-2 mt-2" x-data="{ showAllCategories: false }">
465                                                            <a href="https://indieauthorvault.com/categories/audiobooks/" class="badge badge-ghost">
466                                    Audiobooks
467                                </a>
468                                                            <a href="https://indieauthorvault.com/categories/direct-sales/" class="badge badge-ghost">
469                                    Direct Sales
470                                </a>
471                                                            <a href="https://indieauthorvault.com/categories/marketing/" class="badge badge-ghost">
472                                    Marketing
473                                </a>
474                                                            <a href="https://indieauthorvault.com/categories/podcasts/" class="badge badge-ghost">
475                                    Podcasts
476                                </a>
477                                                            <a href="https://indieauthorvault.com/categories/wide-publishing/" class="badge badge-ghost">
478                                    Wide Publishing
479                                </a>
480                            
481                                                    </div>
482                    
483                    
484                    
485                    
486                    
487                    
488                                    </div>
489
490                <div class="max-w-xl justify-start mt-4">
491                                            <a href="https://docs.google.com/document/d/1T5MkBZM5JD2MYgW9KOdWAqpDWky-PgTm6zokhtn9_GM/edit?usp=sharing"
492                            target="_blank" class="btn btn-primary btn-sm me-1 "
493                            >
494                            Visit Website
495
496                            <svg class="w-4 h-4 ms-2 website-icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
497  <path stroke-linecap="round" stroke-linejoin="round" d="M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"/>
498</svg>                        </a>
499                    
500                    
501                                    </div>
502            </div>
503        </div>
504        
505        
506        
507                
508        
509        <div wire:snapshot="{&quot;data&quot;:{&quot;placement&quot;:[&quot;listing-below-content&quot;,{&quot;class&quot;:&quot;App\\Enums\\AdPlacement&quot;,&quot;s&quot;:&quot;enm&quot;}],&quot;directory&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Directory&quot;,&quot;key&quot;:2766,&quot;s&quot;:&quot;mdl&quot;}],&quot;project&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Project&quot;,&quot;key&quot;:10412000,&quot;s&quot;:&quot;mdl&quot;}],&quot;category&quot;:null},&quot;memo&quot;:{&quot;id&quot;:&quot;M9IPzNZJOSAvA7jHl05h&quot;,&quot;name&quot;:&quot;common.ads&quot;,&quot;path&quot;:&quot;listings\/helpful-podcasts&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;},&quot;checksum&quot;:&quot;ccd28e22545fde5e68f97e5cec8491ee417ab3851502a930fa671fa3b0b29456&quot;}" wire:effects="{&quot;partials&quot;:[]}" wire:id="M9IPzNZJOSAvA7jHl05h" class="hidden">
510    <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--></div>
511
512        
513        
514        
515            </div>
516
517    
518    
519    
520            <div class="mt-4 bg-base-100 p-6 rounded-xl shadow-md">
521            <h2 class="text-2xl font-bold">
522                <span data-te-label data-te-group="project" data-te-key="similar_in_category_label">Similar listings in category</span>
523            </h2>
524            <div class="mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3">
525                                    <div class="cursor-pointer border shadow-sm hover:shadow-md card bg-base-100 border-base-200 overflow-hidden">
526                
527    
528            <a href="https://indieauthorvault.com/listings/free-wide-audiobook-guide/" class="block">
529    
530    
531    <div class="card-body">
532        <h2 class="card-title listing-title flex-wrap">
533                            <img loading="lazy" src="https://cdn.directify.app/projects/logos/01K2ZMS9YQVS6RCC7R5ENVACAY.jpg"
534                    alt="Free Wide Audiobook Guide " class="h-12 me-4 listing-logo flex-shrink-0 max-w-[50%]" />
535                        <span class="flex-1 min-w-[120px]">Free Wide Audiobook Guide </span>
536                    </h2>
537
538                    <p class="text-sm text-base-content/70 listing-description line-clamp-3">
539                Want to create audiobooks or take your existing audiobooks wide but have no idea how? This free guide can help!
540            </p>
541        
542        
543        
544        
545        
546        
547        
548        
549        
550            </div>
551
552            </a>
553    
554    <div class="flex flex-col md:flex-row gap-2 justify-between items-center px-8 pb-8">
555        <div
556            class="flex flex-col md:flex-row gap-2 w-full">
557                            <a class="mt-1 btn btn-sm btn-outline view-more-button w-full"
558                    href="https://indieauthorvault.com/listings/free-wide-audiobook-guide/">
559                    View More
560                </a>
561                                </div>
562
563        
564            </div>
565
566    
567    </div>
568                                    <div class="cursor-pointer border shadow-sm hover:shadow-md card bg-base-100 border-base-200 overflow-hidden">
569                
570    
571            <a href="https://indieauthorvault.com/listings/indie-audiobook-deals/" class="block">
572    
573    
574    <div class="card-body">
575        <h2 class="card-title listing-title flex-wrap">
576                            <img loading="lazy" src="https://cdn.directify.app/projects/logos/01K3922MVXJHZVKZAQF8M2RTAG.jpg"
577                    alt="Indie Audiobook Deals" class="h-12 me-4 listing-logo flex-shrink-0 max-w-[50%]" />
578                        <span class="flex-1 min-w-[120px]">Indie Audiobook Deals</span>
579                    </h2>
580
581                    <p class="text-sm text-base-content/70 listing-description line-clamp-3">
582                A way to promote your wide or direct audiobook to our 48,000+ subscribers and social media followers!
583            </p>
584        
585        
586        
587        
588        
589        
590        
591        
592        
593            </div>
594
595            </a>
596    
597    <div class="flex flex-col md:flex-row gap-2 justify-between items-center px-8 pb-8">
598        <div
599            class="flex flex-col md:flex-row gap-2 w-full">
600                            <a class="mt-1 btn btn-sm btn-outline view-more-button w-full"
601                    href="https://indieauthorvault.com/listings/indie-audiobook-deals/">
602                    View More
603                </a>
604                                </div>
605
606        
607            </div>
608
609    
610    </div>
611                                    <div class="cursor-pointer border shadow-sm hover:shadow-md card bg-base-100 border-base-200 overflow-hidden">
612    
613    
614            <a href="https://indieauthorvault.com/listings/paid-newsletter-services-list/" class="block">
615    
616    
617    <div class="card-body">
618        <h2 class="card-title listing-title flex-wrap">
619                            <img loading="lazy" src="https://cdn.directify.app/projects/logos/01K392DCSV0264QJT0YVFVZP31.jpg"
620                    alt="Cross-Promo Opportunities &amp; Paid Newsletter Services List " class="h-12 me-4 listing-logo flex-shrink-0 max-w-[50%]" />
621                        <span class="flex-1 min-w-[120px]">Cross-Promo Opportunities &amp; Paid Newsletter Services List </span>
622                    </h2>
623
624                    <p class="text-sm text-base-content/70 listing-description line-clamp-3">
625                This is a comprehensive list of paid newsletter services where you can feature your ebooks &amp; audiobooks.
626            </p>
627        
628        
629        
630        
631        
632        
633        
634        
635        
636            </div>
637
638            </a>
639    
640    <div class="flex flex-col md:flex-row gap-2 justify-between items-center px-8 pb-8">
641        <div
642            class="flex flex-col md:flex-row gap-2 w-full">
643                            <a class="mt-1 btn btn-sm btn-outline view-more-button w-full"
644                    href="https://indieauthorvault.com/listings/paid-newsletter-services-list/">
645                    View More
646                </a>
647                                </div>
648
649        
650            </div>
651
652    
653    </div>
654                            </div>
655        </div>
656            </div>
657
658            <!-- Right Sidebar -->
659            <aside class="space-y-6">
660                                    <div class="bg-base-100 p-5 rounded-xl shadow-sm"
661    x-data="{
662        searchQuery: '',
663        isSearching: false,
664        searchResults: null,
665        debounceTimer: null,
666        async search() {
667            clearTimeout(this.debounceTimer);
668            this.debounceTimer = setTimeout(async () => {
669                if (this.searchQuery.length === 0) {
670                    this.searchResults = null;
671                    this.isSearching = false;
672                    return;
673                }
674                this.isSearching = true;
675                try {
676                    const response = await fetch('https://indieauthorvault.com/api/categories/search?q=' + encodeURIComponent(this.searchQuery) + '&active_category_id=&expanded_category_ids=[]&variant=whimsy');
677                    this.searchResults = await response.text();
678                } catch (e) {
679                    console.error('Search failed:', e);
680                }
681                this.isSearching = false;
682            }, 300);
683        },
684        clearSearch() {
685            this.searchQuery = '';
686            this.searchResults = null;
687            this.isSearching = false;
688        }
689    }">
690    <h4 class="font-bold mb-2">
691        Categories
692    </h4>
693    <div class="w-full mb-4">
694        <label class="flex items-center rounded-lg input input-bordered input-sm">
695            <input type="text"
696                   x-model="searchQuery"
697                   @input="search()"
698                   class="border-none grow focus:outline-none focus:ring-0 bg-transparent"
699                   placeholder="Search for a category" />
700            <button x-show="searchQuery.length > 0"
701                    @click="clearSearch()"
702                    class="text-base-content/50 hover:text-base-content">
703                <svg xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
704                    <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
705                </svg>
706            </button>
707        </label>
708    </div>
709    <ul class="categories-sidebar flex flex-col items-start justify-start overflow-y-auto space-y-1"
710        :class="{ 'searching': searchResults }">
711        
712        <li class="w-full default-category">
713            <a class="w-full inline-flex items-center px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80"
714               href="https://indieauthorvault.com/">
715                All
716            </a>
717        </li>
718
719        
720                    <li class="w-full default-category" id="category-269500"
721    x-data="{
722        open: false,
723        loaded: false,
724        loading: false,
725        hasChildren: false,
726        async loadChildren() {
727            if (this.loaded || this.loading || !this.hasChildren) return;
728            this.loading = true;
729            try {
730                const response = await fetch('https://indieauthorvault.com/api/categories/269500/children?level=0&active_category_id=&expanded_category_ids=[]&variant=whimsy');
731                const html = await response.text();
732                this.$refs.childrenContainer.innerHTML = html;
733                this.loaded = true;
734            } catch (e) {
735                console.error('Failed to load children:', e);
736            }
737            this.loading = false;
738        },
739        toggle() {
740            this.open = !this.open;
741            if (this.open && !this.loaded) {
742                this.loadChildren();
743            }
744        }
745    }"
746    x-init="if (open && hasChildren) { loadChildren(); }">
747
748            <a href="https://indieauthorvault.com/categories/audiobooks/"
749           class="flex items-center w-full px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80">
750                        Audiobooks
751        </a>
752    </li>
753                    <li class="w-full default-category" id="category-269501"
754    x-data="{
755        open: false,
756        loaded: false,
757        loading: false,
758        hasChildren: false,
759        async loadChildren() {
760            if (this.loaded || this.loading || !this.hasChildren) return;
761            this.loading = true;
762            try {
763                const response = await fetch('https://indieauthorvault.com/api/categories/269501/children?level=0&active_category_id=&expanded_category_ids=[]&variant=whimsy');
764                const html = await response.text();
765                this.$refs.childrenContainer.innerHTML = html;
766                this.loaded = true;
767            } catch (e) {
768                console.error('Failed to load children:', e);
769            }
770            this.loading = false;
771        },
772        toggle() {
773            this.open = !this.open;
774            if (this.open && !this.loaded) {
775                this.loadChildren();
776            }
777        }
778    }"
779    x-init="if (open && hasChildren) { loadChildren(); }">
780
781            <a href="https://indieauthorvault.com/categories/direct-sales/"
782           class="flex items-center w-full px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80">
783                        Direct Sales
784        </a>
785    </li>
786                    <li class="w-full default-category" id="category-269504"
787    x-data="{
788        open: false,
789        loaded: false,
790        loading: false,
791        hasChildren: false,
792        async loadChildren() {
793            if (this.loaded || this.loading || !this.hasChildren) return;
794            this.loading = true;
795            try {
796                const response = await fetch('https://indieauthorvault.com/api/categories/269504/children?level=0&active_category_id=&expanded_category_ids=[]&variant=whimsy');
797                const html = await response.text();
798                this.$refs.childrenContainer.innerHTML = html;
799                this.loaded = true;
800            } catch (e) {
801                console.error('Failed to load children:', e);
802            }
803            this.loading = false;
804        },
805        toggle() {
806            this.open = !this.open;
807            if (this.open && !this.loaded) {
808                this.loadChildren();
809            }
810        }
811    }"
812    x-init="if (open && hasChildren) { loadChildren(); }">
813
814            <a href="https://indieauthorvault.com/categories/ebooks/"
815           class="flex items-center w-full px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80">
816                        eBooks
817        </a>
818    </li>
819                    <li class="w-full default-category" id="category-269502"
820    x-data="{
821        open: false,
822        loaded: false,
823        loading: false,
824        hasChildren: false,
825        async loadChildren() {
826            if (this.loaded || this.loading || !this.hasChildren) return;
827            this.loading = true;
828            try {
829                const response = await fetch('https://indieauthorvault.com/api/categories/269502/children?level=0&active_category_id=&expanded_category_ids=[]&variant=whimsy');
830                const html = await response.text();
831                this.$refs.childrenContainer.innerHTML = html;
832                this.loaded = true;
833            } catch (e) {
834                console.error('Failed to load children:', e);
835            }
836            this.loading = false;
837        },
838        toggle() {
839            this.open = !this.open;
840            if (this.open && !this.loaded) {
841                this.loadChildren();
842            }
843        }
844    }"
845    x-init="if (open && hasChildren) { loadChildren(); }">
846
847            <a href="https://indieauthorvault.com/categories/marketing/"
848           class="flex items-center w-full px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80">
849                        Marketing
850        </a>
851    </li>
852                    <li class="w-full default-category" id="category-269508"
853    x-data="{
854        open: false,
855        loaded: false,
856        loading: false,
857        hasChildren: false,
858        async loadChildren() {
859            if (this.loaded || this.loading || !this.hasChildren) return;
860            this.loading = true;
861            try {
862                const response = await fetch('https://indieauthorvault.com/api/categories/269508/children?level=0&active_category_id=&expanded_category_ids=[]&variant=whimsy');
863                const html = await response.text();
864                this.$refs.childrenContainer.innerHTML = html;
865                this.loaded = true;
866            } catch (e) {
867                console.error('Failed to load children:', e);
868            }
869            this.loading = false;
870        },
871        toggle() {
872            this.open = !this.open;
873            if (this.open && !this.loaded) {
874                this.loadChildren();
875            }
876        }
877    }"
878    x-init="if (open && hasChildren) { loadChildren(); }">
879
880            <a href="https://indieauthorvault.com/categories/podcasts/"
881           class="flex items-center w-full px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80">
882                        Podcasts
883        </a>
884    </li>
885                    <li class="w-full default-category" id="category-269503"
886    x-data="{
887        open: false,
888        loaded: false,
889        loading: false,
890        hasChildren: false,
891        async loadChildren() {
892            if (this.loaded || this.loading || !this.hasChildren) return;
893            this.loading = true;
894            try {
895                const response = await fetch('https://indieauthorvault.com/api/categories/269503/children?level=0&active_category_id=&expanded_category_ids=[]&variant=whimsy');
896                const html = await response.text();
897                this.$refs.childrenContainer.innerHTML = html;
898                this.loaded = true;
899            } catch (e) {
900                console.error('Failed to load children:', e);
901            }
902            this.loading = false;
903        },
904        toggle() {
905            this.open = !this.open;
906            if (this.open && !this.loaded) {
907                this.loadChildren();
908            }
909        }
910    }"
911    x-init="if (open && hasChildren) { loadChildren(); }">
912
913            <a href="https://indieauthorvault.com/categories/print-books/"
914           class="flex items-center w-full px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80">
915                        Print Books
916        </a>
917    </li>
918                    <li class="w-full default-category" id="category-269507"
919    x-data="{
920        open: false,
921        loaded: false,
922        loading: false,
923        hasChildren: false,
924        async loadChildren() {
925            if (this.loaded || this.loading || !this.hasChildren) return;
926            this.loading = true;
927            try {
928                const response = await fetch('https://indieauthorvault.com/api/categories/269507/children?level=0&active_category_id=&expanded_category_ids=[]&variant=whimsy');
929                const html = await response.text();
930                this.$refs.childrenContainer.innerHTML = html;
931                this.loaded = true;
932            } catch (e) {
933                console.error('Failed to load children:', e);
934            }
935            this.loading = false;
936        },
937        toggle() {
938            this.open = !this.open;
939            if (this.open && !this.loaded) {
940                this.loadChildren();
941            }
942        }
943    }"
944    x-init="if (open && hasChildren) { loadChildren(); }">
945
946            <a href="https://indieauthorvault.com/categories/reviews/"
947           class="flex items-center w-full px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80">
948                        Reviews
949        </a>
950    </li>
951                    <li class="w-full default-category" id="category-269505"
952    x-data="{
953        open: false,
954        loaded: false,
955        loading: false,
956        hasChildren: false,
957        async loadChildren() {
958            if (this.loaded || this.loading || !this.hasChildren) return;
959            this.loading = true;
960            try {
961                const response = await fetch('https://indieauthorvault.com/api/categories/269505/children?level=0&active_category_id=&expanded_category_ids=[]&variant=whimsy');
962                const html = await response.text();
963                this.$refs.childrenContainer.innerHTML = html;
964                this.loaded = true;
965            } catch (e) {
966                console.error('Failed to load children:', e);
967            }
968            this.loading = false;
969        },
970        toggle() {
971            this.open = !this.open;
972            if (this.open && !this.loaded) {
973                this.loadChildren();
974            }
975        }
976    }"
977    x-init="if (open && hasChildren) { loadChildren(); }">
978
979            <a href="https://indieauthorvault.com/categories/wide-publishing/"
980           class="flex items-center w-full px-3 py-2 rounded-lg hover:bg-base-200 text-sm transition-colors duration-200 text-base-content/80">
981                        Wide Publishing
982        </a>
983    </li>
984        
985        
986        <template x-if="searchResults">
987            <li class="contents" x-html="searchResults"></li>
988        </template>
989    </ul>
990    <style>
991        .categories-sidebar.searching .default-category { display: none; }
992    </style>
993
994    
995    </div>
996
997                
998                <div wire:snapshot="{&quot;data&quot;:{&quot;placement&quot;:[&quot;sidebar&quot;,{&quot;class&quot;:&quot;App\\Enums\\CustomPagePlacement&quot;,&quot;s&quot;:&quot;enm&quot;}],&quot;directory&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Directory&quot;,&quot;key&quot;:2766,&quot;s&quot;:&quot;mdl&quot;}]},&quot;memo&quot;:{&quot;id&quot;:&quot;aSIjzxVO326z60wFiJTE&quot;,&quot;name&quot;:&quot;whimsy.custom-pages&quot;,&quot;path&quot;:&quot;listings\/helpful-podcasts&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;},&quot;checksum&quot;:&quot;da2cce3240f54fa280a92a85bbf6d5ef287daa8e1b58ca0b857370d5e739c940&quot;}" wire:effects="{&quot;partials&quot;:[]}" wire:id="aSIjzxVO326z60wFiJTE" class="bg-base-100 p-5 rounded-xl shadow-sm hidden">
999    <div class="text-sm text-base-content/70 space-x-2">
1000        <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->    </div>
1001</div>
1002                <div wire:snapshot="{&quot;data&quot;:{&quot;directory&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Directory&quot;,&quot;key&quot;:2766,&quot;s&quot;:&quot;mdl&quot;}]},&quot;memo&quot;:{&quot;id&quot;:&quot;ARFowd6unWQ5PEGzJOz6&quot;,&quot;name&quot;:&quot;whimsy.social-links&quot;,&quot;path&quot;:&quot;listings\/helpful-podcasts&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;},&quot;checksum&quot;:&quot;612b1697a172efd3af7dddc463e5461d49a3606f1d810dd9c061210a7b977dc7&quot;}" wire:effects="{&quot;partials&quot;:[]}" wire:id="ARFowd6unWQ5PEGzJOz6" class="bg-base-100 p-5 rounded-xl shadow-sm ">
1003    <!--[if BLOCK]><![endif]-->        <div class="space-1">
1004            <!--[if BLOCK]><![endif]-->                <a href="" target="_blank" class="btn btn-ghost btn-sm hover:bg-base-200">
1005                    <!--[if BLOCK]><![endif]-->                            <svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon">
1006  <path stroke-linecap="round" stroke-linejoin="round" d="M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.622 1.757-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"/>
1007</svg>                    <!--[if ENDBLOCK]><![endif]-->                </a>
1008            <!--[if ENDBLOCK]><![endif]-->        </div>
1009    <!--[if ENDBLOCK]><![endif]--></div>
1010
1011                <div wire:snapshot="{&quot;data&quot;:{&quot;directory&quot;:[null,{&quot;class&quot;:&quot;App\\Models\\Directory&quot;,&quot;key&quot;:2766,&quot;s&quot;:&quot;mdl&quot;}]},&quot;memo&quot;:{&quot;id&quot;:&quot;xnpTwPt1h956NovwqTQk&quot;,&quot;name&quot;:&quot;whimsy.articles&quot;,&quot;path&quot;:&quot;listings\/helpful-podcasts&quot;,&quot;method&quot;:&quot;GET&quot;,&quot;release&quot;:&quot;a-a-a&quot;,&quot;children&quot;:[],&quot;scripts&quot;:[],&quot;assets&quot;:[],&quot;errors&quot;:[],&quot;locale&quot;:&quot;en&quot;},&quot;checksum&quot;:&quot;a0794b2ce357e4bf846e6b9f4d7de84f622354f05d78d74c1cf434f2119334d1&quot;}" wire:effects="{&quot;partials&quot;:[]}" wire:id="xnpTwPt1h956NovwqTQk" class="bg-base-100 p-5 rounded-xl shadow-sm hidden">
1012    <h4 class="font-bold mb-2">Blog</h4>
1013    <ul class="list-disc list-inside text-sm text-gray-700">
1014        <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]-->    </ul>
1015</div>            </aside>
1016        </div>
1017
1018    </main>
1019
1020    
1021    <div>
1022            </div>
1023    
1024    
1025    
1025<script src="/livewire/livewire.min.js?id=e949cd11"   data-csrf="S5gXFY7ZBzaEGJ6al7WMfYSLnajYLsnpEqqrCIEP" data-update-uri="/livewire/update" data-navigate-once="true"></script>
1025
1026
1027    <!-- Used for Auto Schema -->
1028    
1028<script type="application/ld+json">{"@context":"https://schema.org","@type":"LocalBusiness","name":"Helpful Podcasts","description":"Here are some helpful podcasts that Rebecca has done if you'd like to listen!","url":"https://docs.google.com/document/d/1T5MkBZM5JD2MYgW9KOdWAqpDWky-PgTm6zokhtn9_GM/edit?usp=sharing"}</script>
1028
1029
1030
1031
1032    
1032<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Indie Author Vault","item":"https://indieauthorvault.com/"},{"@type":"ListItem","position":2,"name":"Audiobooks","item":"https://indieauthorvault.com/categories/audiobooks/"},{"@type":"ListItem","position":3,"name":"Helpful Podcasts","item":"https://indieauthorvault.com/listings/helpful-podcasts/"}]}</script>
1032
1033
1034    <!-- Used for Per Entity Schema (From SEO Table) -->
1035        
1036    
1037    <!-- Cookie Banner -->
1038        <!-- PWA Service Worker -->
1039    <!-- PWA Service Worker Registration -->
1040<script>
1041    if ('serviceWorker' in navigator) {
1042        window.addEventListener('load', function() {
1043            navigator.serviceWorker.register('/sw.js')
1044                .then(function(registration) {
1045                    console.log('ServiceWorker registration successful');
1046
1047                    // Check for updates
1048                    registration.addEventListener('updatefound', () => {
1049                        const newWorker = registration.installing;
1050
1051                        newWorker.addEventListener('statechange', () => {
1052                            if (newWorker.state === 'installed' && navigator.serviceWorker.controller) {
1053                                // Show non-intrusive toast banner
1054                                const isDark = document.documentElement.getAttribute('data-theme')?.includes('dark')
1055                                    || document.documentElement.classList.contains('dark')
1056                                    || window.matchMedia('(prefers-color-scheme: dark)').matches;
1057                                const bg = isDark ? '#f9fafb' : '#1f2937';
1058                                const text = isDark ? '#1f2937' : '#fff';
1059                                const dismiss = isDark ? '#6b7280' : '#9ca3af';
1060                                const toast = document.createElement('div');
1061                                toast.id = 'pwa-update-toast';
1062                                toast.innerHTML = `
1063                                    <div style="position:fixed;bottom:1rem;right:1rem;z-index:9999;display:flex;align-items:center;gap:0.75rem;background:${bg};color:${text};padding:0.875rem 1.25rem;border-radius:0.75rem;box-shadow:0 10px 25px rgba(0,0,0,0.2);font-size:0.875rem;font-family:system-ui,sans-serif;max-width:24rem;animation:slideUp 0.3s ease-out">
1064                                        <span style="flex:1">A new version is available.</span>
1065                                        <button onclick="document.querySelector('#pwa-update-toast').remove()" style="background:none;border:none;color:${dismiss};cursor:pointer;padding:0.25rem;font-size:1.1rem;line-height:1">&times;</button>
1066                                        <button onclick="navigator.serviceWorker.controller.postMessage({type:'SKIP_WAITING'});window.location.reload()" style="background:#3b82f6;color:#fff;border:none;padding:0.375rem 0.875rem;border-radius:0.5rem;cursor:pointer;font-weight:500;font-size:0.8125rem;white-space:nowrap">Update</button>
1067                                    </div>
1068                                    <style>@keyframes slideUp{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}</style>
1069                                `;
1070                                document.body.appendChild(toast);
1071                            }
1072                        });
1073                    });
1074                })
1075                .catch(function(error) {
1076                    console.log('ServiceWorker registration failed: ', error);
1077                });
1078
1079            // Handle controller change (when new SW takes over)
1080            let refreshing;
1081            navigator.serviceWorker.addEventListener('controllerchange', function() {
1082                if (refreshing) return;
1083                refreshing = true;
1084                window.location.reload();
1085            });
1086        });
1087    }
1088
1089    // Handle install prompt for PWA
1090    let deferredPrompt;
1091
1092    window.addEventListener('beforeinstallprompt', (e) => {
1093        // Prevent the mini-infobar from appearing on mobile
1094        e.preventDefault();
1095        // Stash the event so it can be triggered later
1096        deferredPrompt = e;
1097
1098        // You can show your own install button here
1099        // For example: document.getElementById('install-button').style.display = 'block';
1100    });
1101
1102    window.addEventListener('appinstalled', () => {
1103        console.log('PWA was installed');
1104        deferredPrompt = null;
1105    });
1106</script>
1106
1107    
1107<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a45a9924894ea0d5',t:'MTc5MTE4NDEzOA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
1107<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"53763417bf8b4949a99211b576ce3247","r":1,"spa":2}' crossorigin="anonymous"></script>
1107
1108</body>
1109
1110</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.