Projects, image sets and meta

The gallery structure, cover images and meta of a project page.

phatdev.netUpdated 21 Oct 2026

Each image has 4 variants by language and theme: vi-light, vi-dark, en-light, en-dark. If a variant is missing, the page automatically uses the closest one. Each path is a base name without an extension, and all 3 files must exist on disk:

  • <base>-3840.webp (4K, opened in the lightbox)
  • <base>-1920.webp
  • <base>-960.webp
[{"caption_vi":"Trang chủ","caption_en":"Home","w":3840,"h":2160,
  "src":{"vi-light":"/uploads/p/du-an/home-vi-light","vi-dark":"/uploads/p/du-an/home-vi-dark"}}]

Project page meta

{"cover":{"vi-light":"/uploads/p/du-an/cover-vi-light"},
 "status_vi":"Đang chạy production","status_en":"Live in production","live":true,
 "facts":[{"k_vi":"Phiên bản","k_en":"Version","v_vi":"1.0","v_en":"1.0"}],
 "metrics":[{"value":"40+","label_vi":"site đang dùng","label_en":"sites"}],
 "highlights":[{"title_vi":"...","title_en":"...","body_vi":"...","body_en":"..."}]}

Image cache

Images are cached by the browser for 30 days; the path automatically gets a ?v= based on the file's modification time, so replacing an image under the same name still shows the new version.