项目文件夹

文件
wehub-resource-sync 070959e133
landing-page-staging / Deploy landing page to staging (push) Has been skipped
landing-page-ci / Validate landing page (push) Failing after 4s
visual-baseline / Capture visual baselines (push) Has been cancelled
bake-plugin-previews / Bake plugin previews (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:00:47 +08:00

7.9 KiB

Sistem Desain Terinspirasi dari GitHub

Category: Alat Pengembang Platform berorientasi kode. Kepadatan fungsional, presisi biru-di-atas-putih, fondasi Primer.

1. Tema Visual & Atmosfer

Tampilan GitHub dirancang secara teknis, bukan sekadar dekoratif. Setiap piksel menegaskan sebuah sikap: ini adalah alat bagi orang-orang yang peduli pada diff, build, dan pull request. Latar belakang halaman adalah #ffffff yang bersih (mode terang) atau #0d1117 (mode gelap), dengan konten yang tersusun pada panel persegi padat yang dipisahkan oleh garis batas tipis alih-alih ruang kosong. Kepadatan informasi adalah mereknya — baris daftar, baris kode, header repositori, dan kartu notifikasi semuanya tersusun rapat sehingga pengguna mahir dapat memindai ratusan item tanpa menggulir.

Aksen khas adalah biru Primer (#0969da) untuk tautan dan aksi utama, serta hijau GitHub (#1a7f37) untuk status merged, keberhasilan, dan tombol merge itu sendiri. Keduanya terasa sedikit redup dibandingkan biru dan hijau produk konsumen — cukup jenuh untuk terbaca di atas teks abu-abu yang padat, namun cukup tenang untuk menyatu dengan latar belakang ketika beberapa warna muncul dalam satu viewport.

Tipografi menggunakan tumpukan system-ui di seluruh produk sehingga teks dirender dengan tajam di setiap sistem operasi, dipasangkan dengan SFMono / Menlo / Consolas untuk kode. Tidak ada font display editorial; suara GitHub adalah suara sistem yang sudah Anda gunakan.

Karakteristik Utama:

  • Kanvas putih murni (#ffffff) atau hitam biru tua (#0d1117) — tanpa kehangatan, tanpa warna tint
  • Garis batas abu-abu tipis (#d0d7de) mendefinisikan setiap panel dan bagian
  • Biru Primer (#0969da) untuk tautan/aksi utama; hijau GitHub (#1a7f37) untuk keberhasilan/merge
  • system-ui untuk prosa; SFMono untuk kode — tanpa typeface kustom
  • Baris daftar padat dengan padding minimal; ruang putih jarang digunakan
  • Ikonografi Octicon pada 16px / 24px — goresan tunggal, geometris, konsisten
  • Lencana status berbentuk pil dengan semantik warna yang kuat

2. Palet Warna & Perannya

Utama

  • Canvas Default (#ffffff): Latar belakang halaman utama, tema terang.
  • Canvas Subtle (#f6f8fa): Permukaan sekunder, sidebar, latar belakang input, strip header.
  • Canvas Inset (#eaeef2): Latar belakang blok kode, permukaan terbenam.
  • Fg Default (#1f2328): Teks utama, judul, tinta.
  • Fg Muted (#656d76): Teks sekunder, keterangan, jalur file.

Aksen Merek

  • Primer Blue (#0969da): Tautan, CTA utama, dasar cincin fokus — warna interaktif universal.
  • Primer Blue Hover (#0550ae): Hover/ditekan untuk biru utama.
  • Accent Subtle (#ddf4ff): Permukaan biru lembut untuk callout, spanduk info.

Semantik

  • Success / Merge Green (#1a7f37): PR yang di-merge, lencana keberhasilan, tombol merge.
  • Success Subtle (#dafbe1): Tint permukaan keberhasilan.
  • Open Green (#1a7f37): Status issue/PR "Terbuka".
  • Closed / Danger Red (#cf222e): PR tertutup, aksi destruktif, kesalahan validasi.
  • Danger Subtle (#ffebe9): Permukaan spanduk kesalahan.
  • Attention / Warning Yellow (#9a6700): Teks peringatan di atas permukaan amber.
  • Attention Subtle (#fff8c5): Permukaan spanduk peringatan.
  • Done Purple (#8250df): Merged-dan-diarsipkan, status "selesai", lencana premium.
  • Sponsor Pink (#bf3989): Ikon hati sponsor, merek GitHub Sponsors.

Border & Pemisah

  • Border Default (#d0d7de): Garis batas tipis standar, garis luar panel.
  • Border Muted (#d8dee4): Pemisah dalam di dalam panel.
  • Border Subtle (#eaeef2): Pemisah baris tabel yang samar.

Tema Gelap

  • Dark Canvas (#0d1117): Latar belakang halaman gelap.
  • Dark Surface (#161b22): Sidebar, header, permukaan sekunder.
  • Dark Border (#30363d): Garis batas mode gelap standar.
  • Dark Fg (#e6edf3): Teks utama di atas latar gelap.

3. Aturan Tipografi

Keluarga Font

  • Body / UI: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif
  • Code / Mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace
  • Emoji: "Apple Color Emoji", "Segoe UI Emoji"

Hierarki

Peran Font Ukuran Ketebalan Tinggi Baris Spasi Huruf Catatan
Display system-ui 32px (2rem) 600 1.25 -0.01em Header repo, hero pemasaran
H1 system-ui 24px (1.5rem) 600 1.25 normal Judul halaman
H2 system-ui 20px (1.25rem) 600 1.25 normal Judul bagian
H3 system-ui 16px (1rem) 600 1.25 normal Sub-bagian, header panel
Body system-ui 14px (0.875rem) 400 1.5 normal Ukuran teks default — bukan 16px
Body Small system-ui 12px (0.75rem) 400 1.4 normal Keterangan, metadata file
Code SFMono 12px (0.75rem) 400 1.45 normal Blok kode, diff
Code Inline SFMono 0.85em 400 inherit normal Span code inline

Prinsip

  • Body 14px, bukan 16px: Kepadatan prosa GitHub adalah identitasnya. Produk dibaca pada 14px untuk muat lebih banyak baris dalam satu viewport.
  • Ketebalan biner: 400 untuk segalanya secara default; 600 untuk judul dan penekanan. Tidak ada 500, tidak ada 700.
  • Font sistem selalu: jangan muat webfont untuk antarmuka — teks harus dirender seketika pada koneksi lambat.

4. Gaya Komponen

Tombol

Utama (Hijau)

  • Background: #1f883d
  • Teks: #ffffff
  • Border: 1px solid rgba(31, 35, 40, 0.15)
  • Padding: 5px 16px
  • Radius: 6px
  • Shadow: 0 1px 0 rgba(31,35,40,0.1)
  • Hover: background #1a7f37
  • Penggunaan: "Buat repositori", "Merge pull request"

Default

  • Background: #f6f8fa
  • Teks: #1f2328
  • Border: 1px solid #d0d7de
  • Padding: 5px 16px
  • Radius: 6px
  • Hover: background #f3f4f6, border #d0d7de

Outline (Gaya Tautan Biru)

  • Background: #ffffff
  • Teks: #0969da
  • Border: 1px solid #d0d7de
  • Hover: background #0969da, teks #ffffff

Bahaya

  • Background: #ffffff
  • Teks: #cf222e
  • Border: 1px solid #d0d7de
  • Hover: background #a40e26, teks #ffffff, border #a40e26

Kartu / Kotak

  • Background: #ffffff
  • Border: 1px solid #d0d7de
  • Radius: 6px
  • Padding: 16px (header) + 16px (body)
  • Header memiliki strip #f6f8fa dengan border bawah.

Input

  • Background: #ffffff
  • Border: 1px solid #d0d7de
  • Radius: 6px
  • Padding: 5px 12px
  • Fokus: border #0969da, ring 0 0 0 3px rgba(9,105,218,0.3)

Pil Status (Issue / PR)

  • Terbuka: background #1a7f37, teks putih, padding 4px 10px, radius 9999px.
  • Tertutup: background #cf222e, teks putih.
  • Merged: background #8250df, teks putih.
  • Draf: background #6e7781, teks putih.

Label (Tag pada Issue/PR)

  • Padding: 0 7px
  • Radius: 9999px
  • Font: 12px / 500
  • Background dan teks bersifat programatik (warna label → teks dihitung untuk kontras).

5. Spasi & Tata Letak

  • Unit dasar: 4px. Skala spasi: 4, 8, 12, 16, 24, 32, 40, 48.
  • Lebar maksimum halaman: 1280px (Container-xl).
  • Sidebar: 296px di desktop, mengecil di bawah 1012px.
  • Padding baris: 16px horizontal, 12px vertikal (daftar padat berdasarkan desain).

6. Gerakan

  • Durasi: 80ms untuk hover; 200ms untuk membuka menu/popover.
  • Easing: ease-out untuk membuka, ease-in untuk menutup.
  • Dihindari: animasi saat halaman dimuat, parallax, micro-interaksi persisten. Elemen muncul; tidak tampil berlebihan.

7. Batasan Penggunaan

  • Pertahankan daftar padat, kotak berbatas, dan tipografi sistem secara bersamaan; tombol hijau yang berdiri sendiri tidak cukup untuk menciptakan tampilan produk seperti GitHub.
  • Gunakan hijau untuk aksi repositori yang konstruktif, biru untuk tautan dan fokus, serta merah/ungu/abu-abu hanya untuk status issue, PR, dan workflow.
  • Utamakan antarmuka yang tenang, border yang eksplisit, dan spasi yang kompak dibandingkan bayangan dekoratif atau kartu bergaya pemasaran yang besar.