{
  "site": {
    "name": "Rapture",
    "description": "A deep-sea ink universe for writing and photography.",
    "url": "https://www.getschwifty.me"
  },
  "updatedAt": "2026-06-26T00:00:00.000Z",
  "counts": {
    "writing": 4,
    "gallery": 7,
    "total": 11
  },
  "writing": [
    {
      "type": "writing",
      "slug": "r2-photo-pipeline",
      "title": "R2 之后，给照片一条更直的水路",
      "description": "一次把 NAS 图床迁到 R2，又把多余发布脚本和图片派生管线删掉的短记。",
      "url": "https://www.getschwifty.me/blog/r2-photo-pipeline/",
      "publishedAt": "2026-06-26T00:00:00.000Z",
      "updatedAt": "2026-06-26T00:00:00.000Z",
      "tags": [
        "note",
        "infra",
        "gallery"
      ],
      "readingTime": "1 min read",
      "cover": "https://file.getschwifty.me/2026/06/1782475604803-1jg2wd3d.webp",
      "coverAlt": "深色终端界面与 Linux 桌面壁纸。"
    },
    {
      "type": "writing",
      "slug": "chosen-impossible",
      "title": "I Chose the Impossible",
      "description": "A first note on naming a private place Rapture.",
      "url": "https://www.getschwifty.me/blog/chosen-impossible/",
      "publishedAt": "2026-06-20T00:00:00.000Z",
      "updatedAt": "2026-06-20T00:00:00.000Z",
      "tags": [
        "rapture",
        "note",
        "design"
      ],
      "readingTime": "1 min read",
      "cover": null,
      "coverAlt": null
    },
    {
      "type": "writing",
      "slug": "pressure-log-private-interface",
      "title": "Pressure Log: Designing a Private Interface",
      "description": "A longer field note on chapters, code, tables, images, and the slow mood of Rapture.",
      "url": "https://www.getschwifty.me/blog/pressure-log-private-interface/",
      "publishedAt": "2026-06-19T00:00:00.000Z",
      "updatedAt": "2026-06-19T00:00:00.000Z",
      "tags": [
        "frontend",
        "writing",
        "archive"
      ],
      "readingTime": "3 min read",
      "cover": "https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=1600&q=82",
      "coverAlt": "A wet night platform under low sodium light."
    },
    {
      "type": "writing",
      "slug": "surface-tension",
      "title": "Surface Tension",
      "description": "Short notes on making an interface feel like liquid instead of chrome.",
      "url": "https://www.getschwifty.me/blog/surface-tension/",
      "publishedAt": "2026-06-18T00:00:00.000Z",
      "updatedAt": "2026-06-18T00:00:00.000Z",
      "tags": [
        "frontend",
        "motion"
      ],
      "readingTime": "1 min read",
      "cover": null,
      "coverAlt": null
    }
  ],
  "gallery": [
    {
      "type": "gallery",
      "slug": "moonlit-colossus",
      "title": "Moonlit Colossus",
      "url": "https://www.getschwifty.me/gallery/moonlit-colossus/",
      "image": "https://file.getschwifty.me/2026/06/1782475845409-2hefyiye.webp",
      "width": 5040,
      "height": 2160,
      "aspectRatio": 2.3333,
      "location": "Unknown Coast",
      "tone": "blue myth under a cold moon",
      "alt": "A lone figure carrying a massive blade beneath a bright moon and a blue night sky.",
      "publishedAt": "2026-06-26T00:00:00.000Z"
    },
    {
      "type": "gallery",
      "slug": "night-platform",
      "title": "Night Platform",
      "url": "https://www.getschwifty.me/gallery/night-platform/",
      "image": "https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=1400&q=82",
      "width": 1400,
      "height": 933,
      "aspectRatio": 1.5005,
      "location": "Chongqing",
      "tone": "sodium vapor and rain",
      "alt": "A night platform under sodium vapor light after rain.",
      "publishedAt": "2026-01-08T00:00:00.000Z"
    },
    {
      "type": "gallery",
      "slug": "glass-after-rain",
      "title": "Glass After Rain",
      "url": "https://www.getschwifty.me/gallery/glass-after-rain/",
      "image": "https://images.unsplash.com/photo-1494526585095-c41746248156?auto=format&fit=crop&w=1400&q=82",
      "width": 1400,
      "height": 934,
      "aspectRatio": 1.4989,
      "location": "Shanghai",
      "tone": "quiet blue",
      "alt": "Glass and blue light after rain.",
      "publishedAt": "2025-12-19T00:00:00.000Z"
    },
    {
      "type": "gallery",
      "slug": "submerged-stair",
      "title": "Submerged Stair",
      "url": "https://www.getschwifty.me/gallery/submerged-stair/",
      "image": "https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=82",
      "width": 1400,
      "height": 2100,
      "aspectRatio": 0.6667,
      "location": "Tokyo",
      "tone": "brass dusk",
      "alt": "A stair scene with warm dusk light.",
      "publishedAt": "2025-11-03T00:00:00.000Z"
    },
    {
      "type": "gallery",
      "slug": "last-light",
      "title": "Last Light",
      "url": "https://www.getschwifty.me/gallery/last-light/",
      "image": "https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=1400&q=82",
      "width": 1400,
      "height": 2100,
      "aspectRatio": 0.6667,
      "location": "Hangzhou",
      "tone": "green shadow",
      "alt": "Landscape and city edge in the last green light.",
      "publishedAt": "2025-08-24T00:00:00.000Z"
    },
    {
      "type": "gallery",
      "slug": "window-memory",
      "title": "Window Memory",
      "url": "https://www.getschwifty.me/gallery/window-memory/",
      "image": "https://images.unsplash.com/photo-1493246507139-91e8fad9978e?auto=format&fit=crop&w=1400&q=82",
      "width": 1400,
      "height": 933,
      "aspectRatio": 1.5005,
      "location": "Nanjing",
      "tone": "old glass",
      "alt": "A quiet window scene held in old glass.",
      "publishedAt": "2025-06-12T00:00:00.000Z"
    },
    {
      "type": "gallery",
      "slug": "city-current",
      "title": "City Current",
      "url": "https://www.getschwifty.me/gallery/city-current/",
      "image": "https://images.unsplash.com/photo-1514565131-fce0801e5785?auto=format&fit=crop&w=1400&q=82",
      "width": 1400,
      "height": 850,
      "aspectRatio": 1.6471,
      "location": "Hong Kong",
      "tone": "cyan bloom",
      "alt": "A city skyline with cyan evening bloom.",
      "publishedAt": "2025-03-15T00:00:00.000Z"
    }
  ]
}