{
  "spec_version": 2,
  "extractor_version": "0.2.0",
  "url": "https://vuejs.org/",
  "final_url": "https://vuejs.org/",
  "slug": "vuejs.org",
  "captured_at": "2026-11-12T15:23:10.553Z",
  "title": "Vue.js - The Progressive JavaScript Framework | Vue.js",
  "meta": {
    "description": "Vue.js - The Progressive JavaScript Framework",
    "og_image": "https://vuejs.org/images/logo.png",
    "og_title": "Vue.js",
    "theme_color": "#3c8772",
    "lang": "en-US",
    "generator": "VitePress v2.0.0-alpha.17"
  },
  "capture": {
    "variants": [
      {
        "name": "desktop-light",
        "width": 1440,
        "height": 900,
        "scheme": "light",
        "page_height": 3055,
        "full": "screens/desktop-light-full.png",
        "fold": "screens/desktop-light-fold.png"
      },
      {
        "name": "desktop-dark",
        "width": 1440,
        "height": 900,
        "scheme": "dark",
        "page_height": 3055,
        "full": "screens/desktop-dark-full.png",
        "fold": "screens/desktop-dark-fold.png"
      },
      {
        "name": "mobile-light",
        "width": 390,
        "height": 844,
        "scheme": "light",
        "page_height": 4600,
        "full": "screens/mobile-light-full.png",
        "fold": "screens/mobile-light-fold.png"
      },
      {
        "name": "mobile-dark",
        "width": 390,
        "height": 844,
        "scheme": "dark",
        "page_height": 4600,
        "full": "screens/mobile-dark-full.png",
        "fold": "screens/mobile-dark-fold.png"
      }
    ],
    "status": 200,
    "warnings": [],
    "element_count": 378,
    "render_quality": {
      "status": "ok",
      "reasons": [],
      "screenshot": "ok",
      "screenshot_reasons": []
    },
    "worker_os": "macos"
  },
  "color": {
    "scheme": "light",
    "palette": [
      {
        "hex": "#FFFFFF",
        "oklch": [
          1,
          0,
          0
        ],
        "role": "bg",
        "area": 0.9368,
        "uses": {
          "bg": 0.999,
          "text": 0,
          "border": 0,
          "fill": 0
        },
        "css_var": "--vt-c-bg",
        "variants": [
          "#F9F9F9"
        ]
      },
      {
        "hex": "#213547",
        "oklch": [
          0.321,
          0.041,
          246.7
        ],
        "role": "text",
        "area": 0.036,
        "uses": {
          "bg": 0,
          "text": 0.997,
          "border": 0,
          "fill": 0.003
        },
        "css_var": "--vt-c-text-1"
      },
      {
        "hex": "#3C3C3CB3",
        "oklch": [
          0.356,
          0,
          0
        ],
        "role": "muted",
        "area": 0.017,
        "uses": {
          "bg": 0,
          "text": 0.988,
          "border": 0,
          "fill": 0.012
        },
        "css_var": "--vt-c-text-2",
        "on_bg": "#777777"
      },
      {
        "hex": "#F1F1F1",
        "oklch": [
          0.958,
          0,
          0
        ],
        "role": "other",
        "area": 0.0025,
        "uses": {
          "bg": 0.851,
          "text": 0,
          "border": 0,
          "fill": 0.149
        },
        "css_var": "--vt-c-white-mute"
      },
      {
        "hex": "#42B883",
        "oklch": [
          0.703,
          0.132,
          160.4
        ],
        "role": "accent",
        "area": 0.0013,
        "uses": {
          "bg": 0.973,
          "text": 0,
          "border": 0,
          "fill": 0.027
        },
        "css_var": "--vt-c-brand"
      },
      {
        "hex": "#3C3C3C1F",
        "oklch": [
          0.356,
          0,
          0
        ],
        "role": "border",
        "area": 0.001,
        "uses": {
          "bg": 0,
          "text": 0,
          "border": 1,
          "fill": 0
        },
        "css_var": "--vt-c-divider-light",
        "on_bg": "#E8E8E8"
      }
    ],
    "roles": {
      "bg": "#FFFFFF",
      "text": "#213547",
      "muted": "#3C3C3CB3",
      "accent": "#42B883",
      "border": "#3C3C3C1F"
    },
    "accent_strategy": "single-accent",
    "contrast": {
      "text_on_bg": 12.61,
      "muted_on_bg": 4.51,
      "accent_on_bg": 2.5
    },
    "gradients": [
      "-webkit-linear-gradient(315deg, rgb(66, 211, 146) 25%, rgb(100, 126, 255))",
      "linear-gradient(rgb(241, 241, 241), rgb(241, 241, 241)), linear-gradient(45deg, rgb(66, 211, 146), rgb(100, 126, 255))"
    ],
    "theme_color": "#3c8772",
    "dark_mode": {
      "responds_to_prefers_color_scheme": true,
      "palette": [
        {
          "hex": "#1A1A1A",
          "oklch": [
            0.218,
            0,
            0
          ],
          "role": "bg",
          "area": 0.6021,
          "uses": {
            "bg": 1,
            "text": 0,
            "border": 0,
            "fill": 0
          },
          "css_var": "--vt-c-bg"
        },
        {
          "hex": "#242424",
          "oklch": [
            0.26,
            0,
            0
          ],
          "role": "surface",
          "area": 0.3368,
          "uses": {
            "bg": 1,
            "text": 0,
            "border": 0,
            "fill": 0
          },
          "css_var": "--vt-c-bg-soft"
        },
        {
          "hex": "#FFFFFFDE",
          "oklch": [
            1,
            0,
            0
          ],
          "role": "text",
          "area": 0.0249,
          "uses": {
            "bg": 0,
            "text": 0.996,
            "border": 0,
            "fill": 0.004
          },
          "css_var": "--vt-c-text-1",
          "on_bg": "#E1E1E1"
        },
        {
          "hex": "#EBEBEB99",
          "oklch": [
            0.94,
            0,
            0
          ],
          "role": "muted",
          "area": 0.0171,
          "uses": {
            "bg": 0,
            "text": 0.989,
            "border": 0,
            "fill": 0.011
          },
          "css_var": "--vt-c-text-2",
          "on_bg": "#979797"
        },
        {
          "hex": "#42D392",
          "oklch": [
            0.774,
            0.155,
            159.6
          ],
          "role": "other",
          "area": 0.0054,
          "uses": {
            "bg": 0,
            "text": 0,
            "border": 0,
            "fill": 1
          },
          "css_var": "--vt-c-green-light"
        },
        {
          "hex": "#647EFF",
          "oklch": [
            0.64,
            0.193,
            271.4
          ],
          "role": "other",
          "area": 0.0054,
          "uses": {
            "bg": 0,
            "text": 0,
            "border": 0,
            "fill": 1
          }
        },
        {
          "hex": "#2F2F2F",
          "oklch": [
            0.305,
            0,
            0
          ],
          "role": "other",
          "area": 0.0025,
          "uses": {
            "bg": 0.851,
            "text": 0,
            "border": 0,
            "fill": 0.149
          },
          "css_var": "--vt-c-black-mute"
        },
        {
          "hex": "#5454547A",
          "oklch": [
            0.446,
            0,
            0
          ],
          "role": "border",
          "area": 0.0013,
          "uses": {
            "bg": 0,
            "text": 0,
            "border": 1,
            "fill": 0
          },
          "css_var": "--vt-c-divider-light",
          "on_bg": "#363636"
        },
        {
          "hex": "#42B883",
          "oklch": [
            0.703,
            0.132,
            160.4
          ],
          "role": "accent",
          "area": 0.0013,
          "uses": {
            "bg": 0.973,
            "text": 0,
            "border": 0,
            "fill": 0.027
          },
          "css_var": "--vt-c-brand"
        }
      ],
      "roles": {
        "bg": "#1A1A1A",
        "text": "#FFFFFFDE",
        "muted": "#EBEBEB99",
        "surface": "#242424",
        "accent": "#42B883",
        "border": "#5454547A"
      }
    },
    "declared_accents": [
      {
        "css_var": "--vt-c-brand",
        "hex": "#42B883",
        "painted": true
      },
      {
        "css_var": "--docsearch-primary-color",
        "hex": "#5468FF",
        "painted": false
      }
    ],
    "accent_detail": {
      "method": "cta-chromatic",
      "cta": "#42B883",
      "candidates": [
        {
          "hex": "#42B883",
          "css_var": "--vt-c-brand",
          "controls": 1,
          "links": 0,
          "text": 0,
          "elements": 1,
          "fills": 1,
          "area": 0.00126,
          "score": 14.6,
          "strong": false
        },
        {
          "hex": "#42D392",
          "css_var": "--vt-c-brand-light",
          "controls": 0,
          "links": 0,
          "text": 0,
          "elements": 0,
          "fills": 2,
          "area": 0.00131,
          "score": 7.8,
          "strong": false
        },
        {
          "hex": "#647EFF",
          "controls": 0,
          "links": 0,
          "text": 0,
          "elements": 0,
          "fills": 2,
          "area": 0.00131,
          "score": 7.8,
          "strong": false
        }
      ]
    },
    "highlights": []
  },
  "type": {
    "families": [
      {
        "family": "Inter",
        "css_family": "Inter",
        "role": "display",
        "roles": [
          "display",
          "body"
        ],
        "weights": [
          400,
          500,
          600,
          900
        ],
        "share": 0.999,
        "kind": "webfont",
        "classification": "sans",
        "foundry": null,
        "stack": "\"Inter var experimental\", \"Inter var\", Inter, -apple-system, \"system-ui\", \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif",
        "files": [
          "https://vuejs.org/assets/inter-roman-cyrillic-ext.BeNbU08G.woff2",
          "https://vuejs.org/assets/inter-roman-cyrillic.CD0kT8R4.woff2",
          "https://vuejs.org/assets/inter-roman-greek-ext.CFAEQ5Ow.woff2",
          "https://vuejs.org/assets/inter-roman-greek.Dsf7YjP7.woff2"
        ],
        "internal_names": [
          "Inter Variable"
        ]
      },
      {
        "family": "system-ui",
        "css_family": "system-ui",
        "role": "mono",
        "roles": [
          "mono"
        ],
        "weights": [
          500
        ],
        "share": 0.001,
        "kind": "system",
        "classification": "sans",
        "stack": "\"Inter var experimental\", \"Inter var\", Inter, -apple-system, \"system-ui\", \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif",
        "resolved_on": "macos",
        "internal_names": [
          ".SF NS"
        ]
      }
    ],
    "declared_unused": [
      {
        "family": "Inter4CJK",
        "css_family": "Inter4CJK",
        "face_status": "unloaded",
        "css_mentions": 14
      }
    ],
    "scale_px": [
      11,
      12,
      13,
      14.5,
      15,
      16,
      20,
      22,
      76
    ],
    "ratio": 1.5,
    "body_size": 15,
    "root_size": 16,
    "line_height": 1.6,
    "display_size": 76,
    "tracking_display": "-0.02em",
    "case": "sentence",
    "styles": [
      {
        "name": "display",
        "family": "Inter",
        "size_px": 76,
        "weight": 900,
        "line_height": 1.25,
        "letter_spacing_em": -0.02,
        "sample": "The JavaScript Framework"
      },
      {
        "name": "headline",
        "family": "Inter",
        "size_px": 20,
        "weight": 600,
        "line_height": 1.2,
        "letter_spacing_em": -0.02,
        "sample": "Versatile"
      },
      {
        "name": "body",
        "family": "Inter",
        "size_px": 15,
        "weight": 400,
        "line_height": 1.6,
        "letter_spacing_em": 0.013,
        "sample": "A rich, incrementally adoptable ecosyste"
      },
      {
        "name": "body-sm",
        "family": "Inter",
        "size_px": 12,
        "weight": 500,
        "line_height": 1.667,
        "letter_spacing_em": 0.017,
        "sample": "Released under the ."
      },
      {
        "name": "label",
        "family": "Inter",
        "size_px": 14.4,
        "weight": 400,
        "line_height": 1.667,
        "letter_spacing_em": 0.014,
        "sample": "Quick Start"
      },
      {
        "name": "mono",
        "family": "system-ui",
        "size_px": 12,
        "weight": 500,
        "line_height": 1.833,
        "letter_spacing_em": 0,
        "sample": "⌘"
      }
    ],
    "mobile": {
      "body_size": 15,
      "display_size": 48
    }
  },
  "space": {
    "scale_px": [
      2,
      4,
      8,
      12,
      15,
      18,
      24,
      28,
      32,
      36,
      42,
      48,
      208
    ],
    "base": null,
    "base_fit": 0,
    "density": 0.067,
    "section_padding_px": 96
  },
  "shape": {
    "radii_px": [
      2,
      8,
      9999
    ],
    "dominant_radius": 2,
    "border_usage": "hairline",
    "border_width_px": 1
  },
  "depth": {
    "shadows": [
      "rgba(0, 0, 0, 0.04) 0px 1px 2px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px"
    ],
    "style": "flat"
  },
  "layout": {
    "container_px": 960,
    "columns": 4,
    "hero": "centered",
    "nav": "top-fixed+transparent",
    "page_height_px": 3055,
    "section_count": 5
  },
  "motion": {
    "transitions": 136,
    "easing": "ease",
    "durations_ms": [
      200,
      250,
      500
    ],
    "animations": []
  },
  "components": {
    "button-primary": {
      "backgroundColor": "#42B883",
      "textColor": "#FFFFFF",
      "rounded": "8px",
      "padding": "8px 16px",
      "height": "40px",
      "fontFamily": "Inter",
      "fontSize": "16px",
      "fontWeight": 600,
      "sample": "Why Vue"
    },
    "card": {
      "rounded": "2px",
      "padding": "0px",
      "count": 10,
      "backgroundColor": "#F9F9F9"
    }
  },
  "imagery": {
    "media_share": 0.055,
    "dominant_colors": [],
    "has_photography": null,
    "has_illustration": null
  },
  "stack": [
    "vue",
    "storyblok",
    "netlify"
  ],
  "sections": [
    {
      "index": 0,
      "kind": "nav",
      "kind_source": "dom",
      "confidence": 0.9,
      "bbox": {
        "x": 0,
        "y": 0,
        "w": 1440,
        "h": 55
      },
      "bg": "#FFFFFF",
      "crop": "img/section-00-nav.webp"
    },
    {
      "index": 1,
      "kind": "hero",
      "kind_source": "dom",
      "confidence": 0.9,
      "bbox": {
        "x": 0,
        "y": 55,
        "w": 1440,
        "h": 523
      },
      "heading": "The JavaScript Framework",
      "bg": "#FFFFFF",
      "crop": "img/section-01-hero.webp"
    },
    {
      "index": 2,
      "kind": "content",
      "kind_source": "dom",
      "confidence": 0.3,
      "bbox": {
        "x": 0,
        "y": 578,
        "w": 1440,
        "h": 50
      },
      "bg": "#FFFFFF",
      "crop": "img/section-02-content.webp"
    },
    {
      "index": 3,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 240,
        "y": 628,
        "w": 960,
        "h": 1629
      },
      "heading": "Efficient",
      "bg": "#FFFFFF",
      "crop": "img/section-03-features.webp"
    },
    {
      "index": 4,
      "kind": "footer",
      "kind_source": "dom",
      "confidence": 0.75,
      "bbox": {
        "x": 0,
        "y": 2257,
        "w": 1440,
        "h": 798
      },
      "bg": "#F9F9F9",
      "crop": "img/section-04-footer.webp"
    }
  ],
  "images": {
    "manifest": "img/manifest.json",
    "count": 13
  },
  "review": {
    "threshold": 0.7,
    "needs_review": [
      "color.accent_strategy",
      "imagery.dominant_colors",
      "layout.columns",
      "layout.hero",
      "layout.section_count",
      "sections[].kind",
      "space.base",
      "space.section_padding_px"
    ],
    "vision": "not-run"
  },
  "provenance": {
    "color.roles.bg": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.roles.text": {
      "source": "dom",
      "confidence": 0.92
    },
    "color.roles.muted": {
      "source": "dom",
      "confidence": 0.82
    },
    "color.roles.border": {
      "source": "dom",
      "confidence": 0.75
    },
    "color.roles.accent": {
      "source": "dom",
      "confidence": 0.9,
      "note": "fill of the primary button"
    },
    "color.accent_strategy": {
      "source": "dom",
      "confidence": 0.6,
      "note": "hue count over chromatic colors; product mockups rendered in the DOM inflate it",
      "needs_review": true
    },
    "color.palette": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.declared_accents": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.dark_mode": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.contrast": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.gradients": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.families": {
      "source": "dom",
      "confidence": 0.95,
      "note": "named from the @font-face rule that rendered (CDP platform fonts)"
    },
    "type.families[].roles": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.declared_unused": {
      "source": "dom",
      "confidence": 0.95
    },
    "type.scale_px": {
      "source": "dom",
      "confidence": 0.9
    },
    "type.body_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.display_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.styles": {
      "source": "dom",
      "confidence": 0.8
    },
    "type.ratio": {
      "source": "dom",
      "confidence": 0.7,
      "note": "geometric fit over the scale above body size"
    },
    "type.case": {
      "source": "dom",
      "confidence": 0.75
    },
    "type.line_height": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.tracking_display": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.base": {
      "source": "dom",
      "confidence": 0.5,
      "note": "no base unit explains 70% of spacing values",
      "needs_review": true
    },
    "space.scale_px": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.section_padding_px": {
      "source": "dom",
      "confidence": 0.65,
      "needs_review": true
    },
    "space.density": {
      "source": "dom",
      "confidence": 0.85
    },
    "shape.radii_px": {
      "source": "dom",
      "confidence": 0.88
    },
    "shape.dominant_radius": {
      "source": "dom",
      "confidence": 0.8
    },
    "shape.border_usage": {
      "source": "dom",
      "confidence": 0.8
    },
    "depth.shadows": {
      "source": "dom",
      "confidence": 0.9
    },
    "depth.style": {
      "source": "dom",
      "confidence": 0.75
    },
    "layout.container_px": {
      "source": "dom",
      "confidence": 0.8
    },
    "layout.columns": {
      "source": "dom",
      "confidence": 0.6,
      "note": "most common grid track count; layout grids and card grids are not separated",
      "needs_review": true
    },
    "layout.nav": {
      "source": "dom",
      "confidence": 0.78
    },
    "layout.hero": {
      "source": "dom",
      "confidence": 0.6,
      "note": "geometric heuristic over the h1 and nearby media",
      "needs_review": true
    },
    "layout.section_count": {
      "source": "dom",
      "confidence": 0.6,
      "needs_review": true
    },
    "motion": {
      "source": "dom",
      "confidence": 0.8
    },
    "components": {
      "source": "dom",
      "confidence": 0.78
    },
    "stack": {
      "source": "dom",
      "confidence": 0.85,
      "note": "globals, script URLs and response headers"
    },
    "meta": {
      "source": "dom",
      "confidence": 0.99
    },
    "sections[].bbox": {
      "source": "dom",
      "confidence": 0.8
    },
    "sections[].kind": {
      "source": "dom",
      "confidence": 0.67,
      "note": "class-name and content-count heuristics; per-section confidence in sections[].confidence",
      "needs_review": true
    },
    "imagery.media_share": {
      "source": "dom",
      "confidence": 0.8
    },
    "imagery.dominant_colors": {
      "source": "pixels",
      "confidence": 0.5,
      "note": "clustered screenshot pixels inside media boxes (approximate, OKLab ΔE 0.06 clusters)",
      "needs_review": true
    }
  }
}