Blog.

[
  [
    {
      "_createdAt": "2025-01-30T15:43:52Z",
      "_id": "bcd35226-1653-43b8-921c-6abdd1a42618",
      "_rev": "EIzlWiwLlFJokSDqdyaU4f",
      "_type": "post",
      "_updatedAt": "2025-01-30T15:45:09Z",
      "content": [
        {
          "_key": "595a5df6e8e0",
          "_type": "block",
          "children": [
            {
              "_key": "8fad2224b674",
              "_type": "span",
              "marks": [],
              "text": "A statically generated blog example using Next.js and Sanity"
            }
          ],
          "markDefs": [],
          "style": "h2"
        },
        {
          "_key": "612ad6a84a5c",
          "_type": "block",
          "children": [
            {
              "_key": "870e04982bd8",
              "_type": "span",
              "marks": [],
              "text": ""
            }
          ],
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "05e02f3bb148",
          "_type": "block",
          "children": [
            {
              "_key": "0f49e02f2a84",
              "_type": "span",
              "marks": [],
              "text": "This starter is a statically generated blog that uses Next.js App Router for the frontend and "
            },
            {
              "_key": "8acadc2d9331",
              "_type": "span",
              "marks": [
                "22aa1228131b"
              ],
              "text": "Sanity"
            },
            {
              "_key": "265204f920a1",
              "_type": "span",
              "marks": [],
              "text": " to handle its content. It comes with a native Sanity Studio that offers features like real-time collaboration and visual editing with live updates using "
            },
            {
              "_key": "d0fbb630d242",
              "_type": "span",
              "marks": [
                "1af657f6075d"
              ],
              "text": "Presentation"
            },
            {
              "_key": "909e4fad361d",
              "_type": "span",
              "marks": [],
              "text": "."
            }
          ],
          "markDefs": [
            {
              "_key": "22aa1228131b",
              "_type": "link",
              "href": "https://www.sanity.io/?utm_source=github.com&utm_medium=referral&utm_campaign=nextjs-v3vercelstarter"
            },
            {
              "_key": "1af657f6075d",
              "_type": "link",
              "href": "https://www.sanity.io/docs/presentation"
            }
          ],
          "style": "normal"
        },
        {
          "_key": "1d756d6cddd8",
          "_type": "block",
          "children": [
            {
              "_key": "5bcfc20b9291",
              "_type": "span",
              "marks": [],
              "text": "The Studio connects to Sanity Content Lake, which gives you hosted content APIs with a flexible query language, on-demand image transformations, powerful patching, and more. You can use this starter to kick-start a blog or learn these technologies."
            }
          ],
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "5a1039e41674",
          "_type": "block",
          "children": [
            {
              "_key": "462ba8f58bb1",
              "_type": "span",
              "marks": [],
              "text": "Features"
            }
          ],
          "markDefs": [],
          "style": "h3"
        },
        {
          "_key": "800f446e9fb9",
          "_type": "block",
          "children": [
            {
              "_key": "3befa4619818",
              "_type": "span",
              "marks": [],
              "text": "A performant, static blog with editable posts, authors, and site settings"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "1be7babb4b4e",
          "_type": "block",
          "children": [
            {
              "_key": "717e2a903f33",
              "_type": "span",
              "marks": [],
              "text": "TypeScript setup with "
            },
            {
              "_key": "8eb6299823b4",
              "_type": "span",
              "marks": [
                "83fe9284ae7d"
              ],
              "text": "Sanity TypeGen"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [
            {
              "_key": "83fe9284ae7d",
              "_type": "link",
              "href": "https://www.sanity.io/docs/sanity-typegen"
            }
          ],
          "style": "normal"
        },
        {
          "_key": "4ed7a2b8b5a5",
          "_type": "block",
          "children": [
            {
              "_key": "c9dc7d9de2a5",
              "_type": "span",
              "marks": [],
              "text": "A native and customizable authoring environment, accessible on "
            },
            {
              "_key": "66fdcb730696",
              "_type": "span",
              "marks": [
                "code"
              ],
              "text": "yourblog.com/studio"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "a4150df695e8",
          "_type": "block",
          "children": [
            {
              "_key": "0ce0861a8ca4",
              "_type": "span",
              "marks": [],
              "text": "Real-time and collaborative content editing with fine-grained revision history"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "11bb2f45de78",
          "_type": "block",
          "children": [
            {
              "_key": "e8be82dcce60",
              "_type": "span",
              "marks": [],
              "text": "Side-by-side instant content preview that works across your whole site"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "da39e627a5ba",
          "_type": "block",
          "children": [
            {
              "_key": "4f8efc1a8ed1",
              "_type": "span",
              "marks": [],
              "text": "Support for block content and the most advanced custom fields capability in the industry"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "549156a3efae",
          "_type": "block",
          "children": [
            {
              "_key": "594f70f4eecf",
              "_type": "span",
              "marks": [],
              "text": "Incremental Static Revalidation; no need to wait for a rebuild to publish new content"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "816f539667c1",
          "_type": "block",
          "children": [
            {
              "_key": "90175631ca99",
              "_type": "span",
              "marks": [],
              "text": "Unsplash integration setup for easy media management"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [],
          "style": "normal"
        },
        {
          "_key": "15f38c83d8c2",
          "_type": "block",
          "children": [
            {
              "_key": "db520ae000fd",
              "_type": "span",
              "marks": [
                "4ed94d947b2f"
              ],
              "text": "Sanity AI Assist preconfigured for image alt text generation"
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [
            {
              "_key": "4ed94d947b2f",
              "_type": "link",
              "href": "https://www.sanity.io/docs/ai-assist?utm_source=github.com&utm_medium=organic_social&utm_campaign=ai-assist&utm_content="
            }
          ],
          "style": "normal"
        },
        {
          "_key": "bb6d7f2613b8",
          "_type": "block",
          "children": [
            {
              "_key": "1662c06fdbc2",
              "_type": "span",
              "marks": [],
              "text": "Out of the box support for "
            },
            {
              "_key": "731c173abe09",
              "_type": "span",
              "marks": [
                "076c4c0dae51"
              ],
              "text": "Vercel Visual Editing"
            },
            {
              "_key": "3ab7aa1d1975",
              "_type": "span",
              "marks": [],
              "text": "."
            }
          ],
          "level": 1,
          "listItem": "bullet",
          "markDefs": [
            {
              "_key": "076c4c0dae51",
              "_type": "link",
              "href": "https://www.sanity.io/blog/visual-editing-sanity-vercel?utm_source=github.com&utm_medium=referral&utm_campaign=may-vercel-launch"
            }
          ],
          "style": "normal"
        },
        {
          "_key": "accdce62e05a",
          "_type": "block",
          "children": [
            {
              "_key": "a072e594523e",
              "_type": "span",
              "marks": [],
              "text": "\n"
            }
          ],
          "markDefs": [],
          "style": "normal"
        }
      ],
      "coverImage": {
        "_type": "image",
        "alt": "Alternative",
        "asset": {
          "_ref": "image-b27d832e6f64b83975d94be4347ca7650b37571b-5472x3078-jpg",
          "_type": "reference"
        }
      },
      "date": "2025-01-30T15:43:46.949Z",
      "slug": {
        "_type": "slug",
        "current": "that-s-a-great-title"
      },
      "title": "That's a great title"
    },
    {
      "_createdAt": "2025-01-30T15:44:59Z",
      "_id": "image-b27d832e6f64b83975d94be4347ca7650b37571b-5472x3078-jpg",
      "_rev": "vHv8Ju1iKPqBAbonePxJHa",
      "_type": "sanity.imageAsset",
      "_updatedAt": "2025-01-30T15:44:59Z",
      "assetId": "b27d832e6f64b83975d94be4347ca7650b37571b",
      "creditLine": "Marek Piwnicki by Unsplash",
      "description": "\"Just After The Sunset\"",
      "extension": "jpg",
      "metadata": {
        "_type": "sanity.imageMetadata",
        "blurHash": "M;Hmb{xYWVjZj@};s-WVjZfjwJR+R-j[az",
        "dimensions": {
          "_type": "sanity.imageDimensions",
          "aspectRatio": 1.7777777777777777,
          "height": 3078,
          "width": 5472
        },
        "hasAlpha": false,
        "isOpaque": true,
        "lqip": "data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMHBf/EACIQAAAEBQUBAAAAAAAAAAAAAAABAgMEBQYREiExMkGRB//EABYBAQEBAAAAAAAAAAAAAAAAAAMEBf/EACIRAAECBAcBAAAAAAAAAAAAAAEAAgMEBTERFBVRYXGRof/aAAwDAQACEQMRAD8AS7XVIw7d2kRzyi62GPMfpkrNRFBy1ZN21zXqIYp93bNXoUpxZnyP0Z7KRLNuCeyVa6pzBs7BWRdfyhZ3XL4jLuzoBFzcXfkYAunwefSiz8ff4F//2Q==",
        "palette": {
          "_type": "sanity.imagePalette",
          "darkMuted": {
            "_type": "sanity.imagePaletteSwatch",
            "background": "#41385c",
            "foreground": "#fff",
            "population": 0.04,
            "title": "#fff"
          },
          "darkVibrant": {
            "_type": "sanity.imagePaletteSwatch",
            "background": "#ac4404",
            "foreground": "#fff",
            "population": 0.01,
            "title": "#fff"
          },
          "dominant": {
            "_type": "sanity.imagePaletteSwatch",
            "background": "#fbd661",
            "foreground": "#000",
            "population": 8.68,
            "title": "#000"
          },
          "lightMuted": {
            "_type": "sanity.imagePaletteSwatch",
            "background": "#bf9e75",
            "foreground": "#000",
            "population": 0.07,
            "title": "#fff"
          },
          "lightVibrant": {
            "_type": "sanity.imagePaletteSwatch",
            "background": "#fbd661",
            "foreground": "#000",
            "population": 8.68,
            "title": "#000"
          },
          "muted": {
            "_type": "sanity.imagePaletteSwatch",
            "background": "#948c58",
            "foreground": "#fff",
            "population": 0.01,
            "title": "#fff"
          },
          "vibrant": {
            "_type": "sanity.imagePaletteSwatch",
            "background": "#ef8b12",
            "foreground": "#000",
            "population": 0.12,
            "title": "#fff"
          }
        }
      },
      "mimeType": "image/jpeg",
      "originalFilename": "5c9aaa9c-b8fa-432e-88d0-bcab423defc2.jpeg",
      "path": "images/jpo7hqz0/production/b27d832e6f64b83975d94be4347ca7650b37571b-5472x3078.jpg",
      "sha1hash": "b27d832e6f64b83975d94be4347ca7650b37571b",
      "size": 1493464,
      "source": {
        "id": "kZvrNBMh6Po",
        "name": "unsplash",
        "url": "https://unsplash.com/photos/the-sun-is-setting-over-a-mountain-range-kZvrNBMh6Po"
      },
      "uploadId": "8vY4PSyGzZG22x6aO9MlnXZrxV3vIl8b",
      "url": "https://cdn.sanity.io/images/jpo7hqz0/production/b27d832e6f64b83975d94be4347ca7650b37571b-5472x3078.jpg"
    }
  ],
  {
    "_id": "bcd35226-1653-43b8-921c-6abdd1a42618",
    "author": null,
    "content": [
      {
        "_key": "595a5df6e8e0",
        "_type": "block",
        "children": [
          {
            "_key": "8fad2224b674",
            "_type": "span",
            "marks": [],
            "text": "A statically generated blog example using Next.js and Sanity"
          }
        ],
        "markDefs": [],
        "style": "h2"
      },
      {
        "_key": "612ad6a84a5c",
        "_type": "block",
        "children": [
          {
            "_key": "870e04982bd8",
            "_type": "span",
            "marks": [],
            "text": ""
          }
        ],
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "05e02f3bb148",
        "_type": "block",
        "children": [
          {
            "_key": "0f49e02f2a84",
            "_type": "span",
            "marks": [],
            "text": "This starter is a statically generated blog that uses Next.js App Router for the frontend and "
          },
          {
            "_key": "8acadc2d9331",
            "_type": "span",
            "marks": [
              "22aa1228131b"
            ],
            "text": "Sanity"
          },
          {
            "_key": "265204f920a1",
            "_type": "span",
            "marks": [],
            "text": " to handle its content. It comes with a native Sanity Studio that offers features like real-time collaboration and visual editing with live updates using "
          },
          {
            "_key": "d0fbb630d242",
            "_type": "span",
            "marks": [
              "1af657f6075d"
            ],
            "text": "Presentation"
          },
          {
            "_key": "909e4fad361d",
            "_type": "span",
            "marks": [],
            "text": "."
          }
        ],
        "markDefs": [
          {
            "_key": "22aa1228131b",
            "_type": "link",
            "href": "https://www.sanity.io/?utm_source=github.com&utm_medium=referral&utm_campaign=nextjs-v3vercelstarter"
          },
          {
            "_key": "1af657f6075d",
            "_type": "link",
            "href": "https://www.sanity.io/docs/presentation"
          }
        ],
        "style": "normal"
      },
      {
        "_key": "1d756d6cddd8",
        "_type": "block",
        "children": [
          {
            "_key": "5bcfc20b9291",
            "_type": "span",
            "marks": [],
            "text": "The Studio connects to Sanity Content Lake, which gives you hosted content APIs with a flexible query language, on-demand image transformations, powerful patching, and more. You can use this starter to kick-start a blog or learn these technologies."
          }
        ],
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "5a1039e41674",
        "_type": "block",
        "children": [
          {
            "_key": "462ba8f58bb1",
            "_type": "span",
            "marks": [],
            "text": "Features"
          }
        ],
        "markDefs": [],
        "style": "h3"
      },
      {
        "_key": "800f446e9fb9",
        "_type": "block",
        "children": [
          {
            "_key": "3befa4619818",
            "_type": "span",
            "marks": [],
            "text": "A performant, static blog with editable posts, authors, and site settings"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "1be7babb4b4e",
        "_type": "block",
        "children": [
          {
            "_key": "717e2a903f33",
            "_type": "span",
            "marks": [],
            "text": "TypeScript setup with "
          },
          {
            "_key": "8eb6299823b4",
            "_type": "span",
            "marks": [
              "83fe9284ae7d"
            ],
            "text": "Sanity TypeGen"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [
          {
            "_key": "83fe9284ae7d",
            "_type": "link",
            "href": "https://www.sanity.io/docs/sanity-typegen"
          }
        ],
        "style": "normal"
      },
      {
        "_key": "4ed7a2b8b5a5",
        "_type": "block",
        "children": [
          {
            "_key": "c9dc7d9de2a5",
            "_type": "span",
            "marks": [],
            "text": "A native and customizable authoring environment, accessible on "
          },
          {
            "_key": "66fdcb730696",
            "_type": "span",
            "marks": [
              "code"
            ],
            "text": "yourblog.com/studio"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "a4150df695e8",
        "_type": "block",
        "children": [
          {
            "_key": "0ce0861a8ca4",
            "_type": "span",
            "marks": [],
            "text": "Real-time and collaborative content editing with fine-grained revision history"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "11bb2f45de78",
        "_type": "block",
        "children": [
          {
            "_key": "e8be82dcce60",
            "_type": "span",
            "marks": [],
            "text": "Side-by-side instant content preview that works across your whole site"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "da39e627a5ba",
        "_type": "block",
        "children": [
          {
            "_key": "4f8efc1a8ed1",
            "_type": "span",
            "marks": [],
            "text": "Support for block content and the most advanced custom fields capability in the industry"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "549156a3efae",
        "_type": "block",
        "children": [
          {
            "_key": "594f70f4eecf",
            "_type": "span",
            "marks": [],
            "text": "Incremental Static Revalidation; no need to wait for a rebuild to publish new content"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "816f539667c1",
        "_type": "block",
        "children": [
          {
            "_key": "90175631ca99",
            "_type": "span",
            "marks": [],
            "text": "Unsplash integration setup for easy media management"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [],
        "style": "normal"
      },
      {
        "_key": "15f38c83d8c2",
        "_type": "block",
        "children": [
          {
            "_key": "db520ae000fd",
            "_type": "span",
            "marks": [
              "4ed94d947b2f"
            ],
            "text": "Sanity AI Assist preconfigured for image alt text generation"
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [
          {
            "_key": "4ed94d947b2f",
            "_type": "link",
            "href": "https://www.sanity.io/docs/ai-assist?utm_source=github.com&utm_medium=organic_social&utm_campaign=ai-assist&utm_content="
          }
        ],
        "style": "normal"
      },
      {
        "_key": "bb6d7f2613b8",
        "_type": "block",
        "children": [
          {
            "_key": "1662c06fdbc2",
            "_type": "span",
            "marks": [],
            "text": "Out of the box support for "
          },
          {
            "_key": "731c173abe09",
            "_type": "span",
            "marks": [
              "076c4c0dae51"
            ],
            "text": "Vercel Visual Editing"
          },
          {
            "_key": "3ab7aa1d1975",
            "_type": "span",
            "marks": [],
            "text": "."
          }
        ],
        "level": 1,
        "listItem": "bullet",
        "markDefs": [
          {
            "_key": "076c4c0dae51",
            "_type": "link",
            "href": "https://www.sanity.io/blog/visual-editing-sanity-vercel?utm_source=github.com&utm_medium=referral&utm_campaign=may-vercel-launch"
          }
        ],
        "style": "normal"
      },
      {
        "_key": "accdce62e05a",
        "_type": "block",
        "children": [
          {
            "_key": "a072e594523e",
            "_type": "span",
            "marks": [],
            "text": "\n"
          }
        ],
        "markDefs": [],
        "style": "normal"
      }
    ],
    "coverImage": {
      "_type": "image",
      "alt": "Alternative",
      "asset": {
        "_ref": "image-b27d832e6f64b83975d94be4347ca7650b37571b-5472x3078-jpg",
        "_type": "reference"
      }
    },
    "date": "2025-01-30T15:43:46.949Z",
    "excerpt": null,
    "slug": "that-s-a-great-title",
    "status": "published",
    "title": "That's a great title"
  }
]