(defcomp ()
  (~docs/page :title "Getting Started"
    (~docs/section :title "Minimal example" :id "minimal"
      (p (~tw :tokens "text-stone-600")
        "An sx response is s-expression source code with content type text/sx:")
      (~docs/code :src (highlight "(div :class \"p-4 bg-white rounded\"\n  (h1 :class \"text-2xl font-bold\" \"Hello, world!\")\n  (p \"This is rendered from an s-expression.\"))" "lisp"))
      (p (~tw :tokens "text-stone-600")
        "Add sx-get to any element to make it fetch and render sx:"))
    (~docs/section :title "Hypermedia attributes" :id "attrs"
      (p (~tw :tokens "text-stone-600")
        "Like htmx, sx adds attributes to HTML elements to trigger HTTP requests:")
      (~docs/code :src (highlight "(button\n  :sx-get \"/api/data\"\n  :sx-target \"#result\"\n  :sx-swap \"innerHTML\"\n  \"Load data\")" "lisp"))
      (p (~tw :tokens "text-stone-600")
        "sx-get, sx-post, sx-put, sx-delete, sx-patch — all work the same way. The response is parsed as sx and rendered into the target element."))))
