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'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'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'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'm a wide author, so these resources focus on wide & 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="{"data":{"placement":["hero-listing",{"class":"App\\Enums\\AdPlacement","s":"enm"}],"directory":[null,{"class":"App\\Models\\Directory","key":2766,"s":"mdl"}],"project":[null,{"class":"App\\Models\\Project","key":10412000,"s":"mdl"}],"category":null},"memo":{"id":"mCmt9q3bQ2Vken57Klxq","name":"common.ads","path":"listings\/helpful-podcasts","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"ebf56d2c00634c18fc7bd65b8e18b0741994e0a1eb20b0f2bb6e57aae70a71ce"}" wire:effects="{"partials":[]}" 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="{"data":{"project":[null,{"class":"App\\Models\\Project","key":10412000,"s":"mdl"}],"classes":"","form":[null,{"class":"App\\Models\\Form","key":321,"s":"mdl"}],"active":true},"memo":{"id":"altyMHFMWNMipgSBCznI","name":"common.contact-project","path":"listings\/helpful-podcasts","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"c9409102c8bdd26bdd8485128a538a05b9fb6d2ba9b4c74d4b9b68659d2668ac"}" wire:effects="{"partials":[]}" 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="{"data":{"project":[null,{"class":"App\\Models\\Project","key":10412000,"s":"mdl"}],"classes":"","form":null,"active":false},"memo":{"id":"FEN4BZvXzevjDfAA4S6h","name":"common.book-project","path":"listings\/helpful-podcasts","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"a4bc0411809f1e05334fec28a9c8a7d2781720ad97038df4502db6b6296e77a8"}" wire:effects="{"partials":[]}" wire:id="FEN4BZvXzevjDfAA4S6h"> 438 <!--[if BLOCK]><![endif]--><!--[if ENDBLOCK]><![endif]--></div>
439 <div wire:snapshot="{"data":{"project":[null,{"class":"App\\Models\\Project","key":10412000,"s":"mdl"}],"name":"","email":"","proof":"","classes":"","claimListingSettings":[{"listing_name":"listing","listing_name_plural":"","all_listings_heading":"All :listing","all_listings_description":"Browse through all :listing.","search_placeholder":"Search for a listing","search_button_text":"Search","search_autocomplete_enabled":false,"listing_card_button_text":"View More","listing_button_text":"Visit Website","show_url_on_listing_card":false,"show_map_on_listing":false,"map_view_enabled":false,"map_geolocation_enabled":true,"show_desktop_filter_sidebar":false,"listing_call_button_text":"Call","listing_email_button_text":"Send Email","hide_related_projects":false,"similar_listings_title":"Similar :listing","similar_listings_in_category_title":"Similar :listing in category","listings_related_articles_title":"Articles related to :listing","articles_related_listings_title":"Listings related to :article","empty_search_text":"<h2>We could not find any :listing matching your search criteria.<\/h2><p>Try adjusting your search or browse through our categories to discover exciting :listing.<\/p>","pagination_per_page":20,"default_sort_by":"updated_at","default_sort_direction":"desc","default_aspect_ratio":"16:9","auto_resize_cover_image":true,"cover_image_max_height_class":"max-h-56","cover_banner_height_class":"h-28 md:h-36","show_featured_listing_badge":false,"featured_listing_badge_text":"featured","featured_listing_badge_color":"#49a773","featured_listing_badge_text_color":"#ffffff","featured_listing_badge_position":"top-2 right-2","featured_listing_badge_size":"badge-sm","featured_listing_custom_css_classes":"","expired_listings_behavior":"badge","expired_badge_text":"Expired","show_expiry_countdown":true,"expiry_countdown_days":7,"expiry_ends_today_text":"Ends today","expiry_one_day_left_text":"1 day left","expiry_days_left_text":":days days left","health_checks_enabled":true,"health_auto_unpublish_after":0,"contact_button_active":true,"contact_button_scope":"all","booking_button_active":false,"listing_primary_cta":"call","claim_listing_active":false,"claim_listing_self_manage":false,"claim_listing_button_text":"Claim Listing","claim_listing_button_color":"#3227ff","claim_listing_button_border_color":"#2721d6","claim_listing_button_text_color":"#ffffff","claim_listing_button_size":"btn-sm","claim_listing_button_classes":"","claim_listing_name_placeholder":"Your Name","claim_listing_email_placeholder":"Your Email","claim_listing_proof_placeholder":"Proof of Ownership","claim_listing_submit_button_text":"Submit Claim","claim_listing_cancel_button_text":"Cancel","claim_listing_success_message":"Your claim has been submitted successfully.","claim_listing_invite_notice":"You were invited to claim this listing \u2014 no proof of ownership needed.","claim_listing_invite_email_hint":"
439Your invitation is tied to this email address.","claim_listing_already_claimed_text":"This listing has already been claimed.","claim_listing_price_notice":"Claiming this listing costs :price. You'll be taken to a secure checkout after submitting.","claim_listing_hide_if_claimed":false,"claim_listing_charge_active":false,"claim_listing_plan_key":null,"claim_listing_plan_keys":[[],{"s":"arr"}],"claim_listing_plan_picker_label":"Choose a plan","show_listing_timestamp":true,"show_contact_info_on_listing":false,"show_contact_card_on_listing":true,"show_breadcrumbs":true,"show_category_in_breadcrumbs":true,"append_category_to_title":false,"listing_title_pattern":"","disable_show_listing_pages":false,"card_image_links_to_website":false,"card_image_website_label":"Visit website","show_votes":false,"show_reviews":false,"reviews_require_approval":true,"show_categories_on_listing_card":true,"show_default_image_on_listing_card":false,"categories_on_listing_page_limit":5,"show_more_categories_button_text":"Show More","show_less_categories_button_text":"Show Less","tags_heading":null,"filter_heading":null,"filter_max_label":null,"filter_min_label":null,"listings_per_row":null,"show_map_on_home":false,"apply_filters_label":null,"clear_filters_label":null,"featured_only_label":null,"map_no_results_hint":null,"show_map_on_category":false},{"s":"arr"}],"inviteEmail":null,"claimPrice":null,"claimPlanOptions":[[],{"s":"arr"}],"selectedClaimPlanKey":null,"showForm":false,"claimed":false,"justPaid":false},"memo":{"id":"wezNfzS7fdpy0EIWceww","name":"common.claim-project","path":"listings\/helpful-podcasts","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"5772003f716b262777226f9fdcf677262563fa5d8b2bcf6fba1eac4788876d8d"}" wire:effects="{"partials":[]}" 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'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="{"data":{"placement":["listing-below-content",{"class":"App\\Enums\\AdPlacement","s":"enm"}],"directory":[null,{"class":"App\\Models\\Directory","key":2766,"s":"mdl"}],"project":[null,{"class":"App\\Models\\Project","key":10412000,"s":"mdl"}],"category":null},"memo":{"id":"M9IPzNZJOSAvA7jHl05h","name":"common.ads","path":"listings\/helpful-podcasts","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"ccd28e22545fde5e68f97e5cec8491ee417ab3851502a930fa671fa3b0b29456"}" wire:effects="{"partials":[]}" 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 & 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 & 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 & 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="{"data":{"placement":["sidebar",{"class":"App\\Enums\\CustomPagePlacement","s":"enm"}],"directory":[null,{"class":"App\\Models\\Directory","key":2766,"s":"mdl"}]},"memo":{"id":"aSIjzxVO326z60wFiJTE","name":"whimsy.custom-pages","path":"listings\/helpful-podcasts","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"da2cce3240f54fa280a92a85bbf6d5ef287daa8e1b58ca0b857370d5e739c940"}" wire:effects="{"partials":[]}" 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="{"data":{"directory":[null,{"class":"App\\Models\\Directory","key":2766,"s":"mdl"}]},"memo":{"id":"ARFowd6unWQ5PEGzJOz6","name":"whimsy.social-links","path":"listings\/helpful-podcasts","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"612b1697a172efd3af7dddc463e5461d49a3606f1d810dd9c061210a7b977dc7"}" wire:effects="{"partials":[]}" 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="{"data":{"directory":[null,{"class":"App\\Models\\Directory","key":2766,"s":"mdl"}]},"memo":{"id":"xnpTwPt1h956NovwqTQk","name":"whimsy.articles","path":"listings\/helpful-podcasts","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"a0794b2ce357e4bf846e6b9f4d7de84f622354f05d78d74c1cf434f2119334d1"}" wire:effects="{"partials":[]}" 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">×</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.