mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
3.9 KiB
3.9 KiB
description, i18n_source_hash, i18n_provenance, i18n_output_hash
| description | i18n_source_hash | i18n_provenance | i18n_output_hash |
|---|---|---|---|
| Hasilkan semua ukuran favicon dan ikon aplikasi standar dari gambar sumber. | 3a6451a94b7a | human | 8d0c0e40c85d |
Favicon Generator
Hasilkan satu set lengkap file favicon dan ikon aplikasi dari gambar sumber. Menghasilkan semua ukuran standar yang dibutuhkan untuk browser, perangkat Apple, dan Android, beserta web manifest dan cuplikan HTML.
API Endpoint
POST /api/v1/tools/image/favicon
Menerima multipart form data dengan satu atau lebih file gambar dan sebuah field JSON settings opsional.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| background | string | No | - | Warna hex latar belakang (mis. "#ffffff"). Bila diatur, ikon akan diratakan ke warna ini. |
| padding | integer | No | 0 |
Persentase padding di sekitar konten ikon (0 hingga 40) |
| radius | integer | No | 0 |
Persentase radius sudut untuk ikon dengan sudut membulat (0 hingga 50) |
| sizes | integer[] | No | - | Batasi output ke ukuran piksel tertentu (mis. [16, 32, 180]). Kosongkan untuk menghasilkan semua ukuran standar. |
| themeColor | string | No | "#ffffff" |
Warna hex tema untuk web manifest |
Generated Files
Untuk setiap gambar input, file-file berikut dihasilkan:
| File | Size | Purpose |
|---|---|---|
favicon-16x16.png |
16x16 | Ikon tab browser |
favicon-32x32.png |
32x32 | Ikon tab browser (HiDPI) |
favicon-48x48.png |
48x48 | Pintasan desktop |
apple-touch-icon.png |
180x180 | Layar utama iOS |
android-chrome-192x192.png |
192x192 | Layar utama Android |
android-chrome-512x512.png |
512x512 | Splash screen Android |
favicon.ico |
32x32 | Format ICO lawas |
manifest.json |
- | Web app manifest dengan referensi ikon |
favicon-snippet.html |
- | Tag link HTML siap pakai |
Example Request
Gambar sumber tunggal dengan sudut membulat dan padding:
curl -X POST http://localhost:1349/api/v1/tools/image/favicon \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@logo.png" \
-F 'settings={"padding": 10, "radius": 20, "themeColor": "#0a0a0a"}'
Beberapa gambar sumber (masing-masing mendapat setnya sendiri di subfolder):
curl -X POST http://localhost:1349/api/v1/tools/image/favicon \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@logo-light.png" \
-F "file=@logo-dark.png"
Example Response
Responsnya adalah file ZIP yang di-stream langsung. Header respons adalah:
Content-Type: application/zip
Content-Disposition: attachment; filename="favicons-a1b2c3d4.zip"
HTML Snippet Included
ZIP menyertakan sebuah file favicon-snippet.html yang bisa Anda tempelkan ke <head> HTML Anda:
<!-- Favicons -->
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="manifest" href="/manifest.json">
Notes
- Gambar sumber diubah ukurannya menggunakan mode fit
cover, artinya gambar dipotong untuk mengisi setiap ukuran persegi. Untuk hasil terbaik, gunakan gambar sumber berbentuk persegi. - Bila beberapa file diunggah, masing-masing mendapat subfoldernya sendiri di ZIP (dinamai sesuai file sumber).
- Untuk unggahan satu file, semua output berada di root ZIP tanpa subfolder.
- File yang gagal validasi atau decoding akan dilewati, dan sebuah
skipped-files.txtdisertakan di ZIP untuk menjelaskan masalahnya. - Format input yang didukung: JPEG, PNG, WebP, AVIF, TIFF, GIF, HEIC, SVG, RAW, PSD, dan lainnya.
- Orientasi EXIF diterapkan otomatis sebelum pengubahan ukuran.