{
  "title": "Building Third-Party JavaScript Widgets",
  "slug": "widgets",
  "collection": "podcasts",
  "contentType": "Podcast",
  "description": "Chris and Anthony explore challenges of building and distributing third-party JavaScript scripts, then discuss documentation strategies and podcast direction",
  "summary": "Chris and Anthony explore challenges of building and distributing third-party JavaScript scripts, then discuss documentation strategies and podcast direction",
  "author": {
    "name": "Anthony Campolo"
  },
  "source": {
    "channel": "FSJam Podcast",
    "channelUrl": "https://fsjam.org",
    "originalUrl": "https://audio.transistor.fm/m/shows/15767/ba7f694650dc641ab1d41d5ded2c66f6.mp3"
  },
  "publishedAt": "2022-09-30T00:00:00.000Z",
  "updatedAt": null,
  "freshness": {
    "label": "Published",
    "value": "2022-09-30T00:00:00.000Z"
  },
  "urls": {
    "html": "https://ajcwebdev.com/podcasts/widgets/",
    "markdown": "https://ajcwebdev.com/podcasts/widgets/index.md",
    "json": "https://ajcwebdev.com/podcasts/widgets/index.json"
  },
  "headings": [
    {
      "depth": 2,
      "id": "episode-description",
      "text": "Episode Description"
    },
    {
      "depth": 2,
      "id": "episode-summary",
      "text": "Episode Summary"
    },
    {
      "depth": 2,
      "id": "speakers",
      "text": "Speakers"
    },
    {
      "depth": 2,
      "id": "chapters",
      "text": "Chapters"
    },
    {
      "depth": 3,
      "id": "00-00-00-introduction-to-third-party-scripts",
      "text": "00:00:00 - Introduction to Third-Party Scripts"
    },
    {
      "depth": 3,
      "id": "00-02-41-bundling-module-formats-and-umd",
      "text": "00:02:41 - Bundling, Module Formats, and UMD"
    },
    {
      "depth": 3,
      "id": "00-08-39-tooling-struggles-and-distribution-strategies",
      "text": "00:08:39 - Tooling Struggles and Distribution Strategies"
    },
    {
      "depth": 3,
      "id": "00-13-24-framework-integration-and-iframe-vs-dom-injection",
      "text": "00:13:24 - Framework Integration and Iframe vs DOM Injection"
    },
    {
      "depth": 3,
      "id": "00-17-33-why-no-standard-solution-exists",
      "text": "00:17:33 - Why No Standard Solution Exists"
    },
    {
      "depth": 3,
      "id": "00-21-42-documentation-deep-dive",
      "text": "00:21:42 - Documentation Deep Dive"
    },
    {
      "depth": 3,
      "id": "00-25-13-podcast-direction-sponsorships-and-advocacy-ethics",
      "text": "00:25:13 - Podcast Direction, Sponsorships, and Advocacy Ethics"
    },
    {
      "depth": 2,
      "id": "resources-and-links",
      "text": "Resources and Links"
    },
    {
      "depth": 2,
      "id": "transcript",
      "text": "Transcript"
    }
  ],
  "tags": [
    "web"
  ],
  "discovery": {
    "apiIndex": "https://ajcwebdev.com/api/index.json",
    "llmsTxt": "https://ajcwebdev.com/llms.txt",
    "llmsFullTxt": "https://ajcwebdev.com/llms-full.txt",
    "sitemapMd": "https://ajcwebdev.com/sitemap.md",
    "sitemapXml": "https://ajcwebdev.com/sitemap.xml"
  },
  "nextActions": [
    {
      "action": "open_html",
      "url": "https://ajcwebdev.com/podcasts/widgets/",
      "method": "GET",
      "accept": "text/html"
    },
    {
      "action": "get_markdown_twin",
      "url": "https://ajcwebdev.com/podcasts/widgets/index.md",
      "method": "GET",
      "accept": "text/markdown"
    },
    {
      "action": "get_json_twin",
      "url": "https://ajcwebdev.com/podcasts/widgets/index.json",
      "method": "GET",
      "accept": "application/json"
    }
  ]
}