{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Thoughts",
  "home_page_url": "https://waylonwalker.com/thoughts-feed/",
  "feed_url": "https://waylonwalker.com/thoughts-feed/feed.json",
  "description": "Link based \"commentary\" style posts, commenting on a web link",
  "authors": [
    {
      "name": "Waylon Walker"
    }
  ],
  "items": [
    {
      "id": "https://waylonwalker.com/thought-103/",
      "url": "https://waylonwalker.com/thought-103/",
      "title": "💭 \u003c/\u003e htmx ~ Examples ~ Updating Other Content",
      "content_html": "\u003cdiv class=\"embed-card embed-card-external\"\u003e\n  \u003ca href=\"https://htmx.org/examples/update-other-content/\" class=\"embed-card-link\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cdiv class=\"embed-card-content\"\u003e\n      \u003cdiv class=\"embed-card-title\"\u003e\u0026lt;/\u0026gt; htmx ~ Examples ~ Updating Other Content\u003c/div\u003e\n      \u003cdiv class=\"embed-card-description\"\u003ehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypert...\u003c/div\u003e\n      \u003cdiv class=\"embed-card-meta\"\u003ehtmx.org\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cp\u003eThree ways to support updating other content.  Fantastic article walking through the different ways to update other parts of the screen using htmx.\u003c/p\u003e\n\u003cp\u003eIn htmx there is no 2 way data binding, the dom is your state, and if you have elements derived from the same data on the screen in different places you need to think about how to keep them in sync.\u003c/p\u003e\n\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003eNote\u003c/p\u003e\n\u003cp\u003eThis post is a [[ thoughts | thought ]]. It’s a short note that I make\nabout someone else’s content online #thoughts\u003c/p\u003e\n\u003c/div\u003e\n",
      "content_text": "\n\u003cdiv class=\"embed-card embed-card-external\"\u003e\n  \u003ca href=\"https://htmx.org/examples/update-other-content/\" class=\"embed-card-link\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cdiv class=\"embed-card-content\"\u003e\n      \u003cdiv class=\"embed-card-title\"\u003e\u0026lt;/\u0026gt; htmx ~ Examples ~ Updating Other Content\u003c/div\u003e\n      \u003cdiv class=\"embed-card-description\"\u003ehtmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypert...\u003c/div\u003e\n      \u003cdiv class=\"embed-card-meta\"\u003ehtmx.org\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\nThree ways to support updating other content.  Fantastic article walking through the different ways to update other parts of the screen using htmx.\n\nIn htmx there is no 2 way data binding, the dom is your state, and if you have elements derived from the same data on the screen in different places you need to think about how to keep them in sync.\n\n!!! note\n\n    This post is a [[ thoughts | thought ]]. It's a short note that I make\n    about someone else's content online #thoughts\n",
      "summary": "!https://htmx.org/examples/update-other-content/",
      "date_published": "2023-08-26T01:03:10Z",
      "date_modified": "2023-08-26T01:03:10Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ],
      "tags": [
        "webdev",
        "htmx",
        "thought"
      ]
    },
    {
      "id": "https://waylonwalker.com/thought-102/",
      "url": "https://waylonwalker.com/thought-102/",
      "title": "💭 Bigger Applications - Multiple Files - FastAPI",
      "content_html": "\u003cdiv class=\"embed-card embed-card-external\"\u003e\n  \u003ca href=\"https://fastapi.tiangolo.com/tutorial/bigger-applications/#another-module-with-apirouter\" class=\"embed-card-link\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cdiv class=\"embed-card-image\"\u003e\n      \u003cimg class=\"glightbox\" src=\"https://fastapi.tiangolo.com/assets/images/social/tutorial/bigger-applications.png\" alt=\"Bigger Applications - Multiple Files - FastAPI — FastAPI framework, high performance, easy to learn, fast to code, ready for production\" loading=\"lazy\"/ data-glightbox=\"description: Bigger Applications - Multiple Files - FastAPI — FastAPI framework, high performance, easy to learn, fast to code, ready for production\"\u003e\n    \u003c/div\u003e\n    \u003cdiv class=\"embed-card-content\"\u003e\n      \u003cdiv class=\"embed-card-title\"\u003eBigger Applications - Multiple Files - FastAPI\u003c/div\u003e\n      \u003cdiv class=\"embed-card-description\"\u003eFastAPI framework, high performance, easy to learn, fast to code, ready for production\u003c/div\u003e\n      \u003cdiv class=\"embed-card-meta\"\u003efastapi.tiangolo.com\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cp\u003eFastapi lets you tag your \u003ccode\u003eAPIRouter\u003c/code\u003e’s so that the swagger docs are grouped according to the router.\u003c/p\u003e\n\u003cpre class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003erouter\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eAPIRouter\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003etags\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"s1\"\u003e\u0026#39;router\u0026#39;\u003c/span\u003e\u003cspan class=\"p\"\u003e])\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eNow all routes in \u003ccode\u003erouter\u003c/code\u003e will appear in the router group in the swagger docs.\u003c/p\u003e\n\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003eNote\u003c/p\u003e\n\u003cp\u003eThis post is a [[ thoughts | thought ]]. It’s a short note that I make\nabout someone else’s content online #thoughts\u003c/p\u003e\n\u003c/div\u003e\n",
      "content_text": "\n\u003cdiv class=\"embed-card embed-card-external\"\u003e\n  \u003ca href=\"https://fastapi.tiangolo.com/tutorial/bigger-applications/#another-module-with-apirouter\" class=\"embed-card-link\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cdiv class=\"embed-card-image\"\u003e\n      \u003cimg src=\"https://fastapi.tiangolo.com/assets/images/social/tutorial/bigger-applications.png\" alt=\"Bigger Applications - Multiple Files - FastAPI — FastAPI framework, high performance, easy to learn, fast to code, ready for production\" loading=\"lazy\"\u003e\n    \u003c/div\u003e\n    \u003cdiv class=\"embed-card-content\"\u003e\n      \u003cdiv class=\"embed-card-title\"\u003eBigger Applications - Multiple Files - FastAPI\u003c/div\u003e\n      \u003cdiv class=\"embed-card-description\"\u003eFastAPI framework, high performance, easy to learn, fast to code, ready for production\u003c/div\u003e\n      \u003cdiv class=\"embed-card-meta\"\u003efastapi.tiangolo.com\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\n Fastapi lets you tag your `APIRouter`'s so that the swagger docs are grouped according to the router.\n\n``` python\nrouter = APIRouter(tags=['router'])\n```\n\nNow all routes in `router` will appear in the router group in the swagger docs.\n\n!!! note\n\n    This post is a [[ thoughts | thought ]]. It's a short note that I make\n    about someone else's content online #thoughts\n",
      "summary": "!https://fastapi.tiangolo.com/tutorial/bigger-applications/#another-module-with-apirouter",
      "date_published": "2023-08-24T14:51:23Z",
      "date_modified": "2023-08-24T14:51:23Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ],
      "tags": [
        "python",
        "api",
        "fastapi",
        "thought"
      ]
    },
    {
      "id": "https://waylonwalker.com/thought-100/",
      "url": "https://waylonwalker.com/thought-100/",
      "title": "💭 Custom pages and templates - Datasette documentation",
      "content_html": "\u003cdiv class=\"embed-card embed-card-external\"\u003e\n  \u003ca href=\"https://docs.datasette.io/en/stable/custom_templates.html#serving-static-files\" class=\"embed-card-link  has-avatar has-avatar-before\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"--favicon-url: url(\u0026#39;/assets/markata/link-avatars/docs.datasette.io.ico\u0026#39;);\" data-favicon=\"/assets/markata/link-avatars/docs.datasette.io.ico\"\u003e\n    \u003cdiv class=\"embed-card-content\"\u003e\n      \u003cdiv class=\"embed-card-title\"\u003eCustom pages and templates - Datasette documentation\u003c/div\u003e\n      \u003cdiv class=\"embed-card-meta\"\u003edocs.datasette.io\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cp\u003eDatasette has its own static server that can host assets such as style sheets.\u003c/p\u003e\n\u003cpre class=\"chroma\"\u003e\u003ccode\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003edatasette -m metadata.json --static assets:static-files/ \n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003cdiv class=\"admonition note\"\u003e\n\u003cp class=\"admonition-title\"\u003eNote\u003c/p\u003e\n\u003cp\u003eThis post is a [[ thoughts | thought ]]. It’s a short note that I make\nabout someone else’s content online #thoughts\u003c/p\u003e\n\u003c/div\u003e\n",
      "content_text": "\n\u003cdiv class=\"embed-card embed-card-external\"\u003e\n  \u003ca href=\"https://docs.datasette.io/en/stable/custom_templates.html#serving-static-files\" class=\"embed-card-link\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cdiv class=\"embed-card-content\"\u003e\n      \u003cdiv class=\"embed-card-title\"\u003eCustom pages and templates - Datasette documentation\u003c/div\u003e\n      \u003cdiv class=\"embed-card-meta\"\u003edocs.datasette.io\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\nDatasette has its own static server that can host assets such as style sheets.\n\n\n``` bash\ndatasette -m metadata.json --static assets:static-files/ \n```\n\n!!! note\n\n    This post is a [[ thoughts | thought ]]. It's a short note that I make\n    about someone else's content online #thoughts\n",
      "summary": "!https://docs.datasette.io/en/stable/custom_templates.html#serving-static-files",
      "date_published": "2023-08-23T14:37:27Z",
      "date_modified": "2023-08-23T14:37:27Z",
      "authors": [
        {
          "name": "Waylon Walker",
          "url": "https://waylonwalker.com",
          "avatar": "/8bitcc.png"
        }
      ],
      "tags": [
        "thought"
      ]
    }
  ]
}