Artikel dengan visual yang baik lebih engaging dan mudah dipahami. Sitemas mendukung berbagai cara menambahkan gambar dengan optimasi otomatis. Artikel ini akan mengajarkan semua yang perlu Anda ketahui.
Lokasi Penyimpanan Gambar
Ada dua lokasi untuk menyimpan gambar di Sitemas:
| Lokasi | Path | Optimasi | Gunakan Untuk |
|---|---|---|---|
| Folder Artikel | src/content/blog/nama-artikel/ | ✅ Ya | Gambar spesifik artikel |
| Assets Folder | src/assets/ | ✅ Ya | Gambar yang dipakai ulang |
| Public Folder | public/images/ | ❌ Tidak | Asset statis (favicon, dll.) |
Simpan gambar di folder artikel untuk kemudahan organisasi. Setiap artikel memiliki gambar sendiri yang terkelola bersama kontennya.
Menambahkan Gambar Dasar
Menggunakan Markdown
Cara paling sederhana menggunakan syntax Markdown:
 Path ./ berarti gambar berada di folder yang sama dengan index.mdx.
Struktur Folder
src/content/blog/tutorial-nodejs/
├── index.mdx # Konten artikel
├── screenshot-1.png # Gambar 1
├── screenshot-2.png # Gambar 2
└── diagram-arsitektur.svg # Diagram SVG
Contoh Penggunaan
---
title: "Tutorial Node.js"
# ... frontmatter
---
Berikut adalah tampilan dashboard:

Arsitektur aplikasi dijelaskan pada diagram berikut:
 Menggunakan Komponen Figure
Untuk kontrol lebih seperti caption dan styling, gunakan komponen Figure:
---
title: "Tutorial Node.js"
---
import Figure from '@/components/mdx/Figure.astro';
import screenshot from './screenshot-1.png';
<Figure
src={screenshot}
alt="Dashboard aplikasi Node.js"
caption="Tampilan dashboard setelah login"
tag="Screenshot"
/> Props Figure
| Prop | Tipe | Wajib | Keterangan |
|---|---|---|---|
src | ImageMetadata | Ya | Gambar yang diimport |
alt | string | Ya | Teks alternatif untuk aksesibilitas |
caption | string | Tidak | Caption di bawah gambar |
tag | string | Tidak | Label kecil (misal: “Screenshot”, “Diagram”) |
Import Gambar dengan TypeScript
Untuk type-safety dan optimasi maksimal, import gambar sebagai modul:
Simpan Gambar di Folder Artikel
src/content/blog/artikel-saya/
├── index.mdx
└── hero-image.png Import di MDX
---
title: "Artikel Saya"
---
import heroImage from './hero-image.png';
import Figure from '@/components/mdx/Figure.astro';
<Figure src={heroImage} alt="Hero image" /> Kenapa Import Lebih Baik?
| Markdown | Import |
|---|---|
 | import img from './img.png' |
| Tidak dioptimasi | ✅ Dioptimasi Astro |
| Ukuran asli | ✅ Resize otomatis |
| Format asli | ✅ Convert ke WebP/AVIF |
| Tidak ada type check | ✅ Error jika file tidak ada |
Format Gambar yang Didukung
| Format | Ukuran | Penggunaan |
|---|---|---|
| PNG | Besar | Screenshot, diagram dengan transparansi |
| JPG/JPEG | Medium | Foto, gambar dengan banyak warna |
| WebP | Kecil | Optimal untuk web (recommended) |
| SVG | Sangat kecil | Ilustrasi, icon, diagram |
| GIF | Besar | Animasi sederhana |
- Screenshot UI: PNG atau WebP
- Foto: JPG atau WebP
- Diagram/Ilustrasi: SVG
- Animasi: GIF atau video pendek
Optimasi Gambar
Sebelum Upload
- Resize — Jangan upload gambar 4000px jika hanya ditampilkan 800px
- Compress — Gunakan tools seperti TinyPNG, Squoosh
- Format tepat — PNG untuk screenshot, JPG untuk foto
Tools Optimasi
| Tool | Tipe | Link |
|---|---|---|
| Squoosh | Online | squoosh.app |
| TinyPNG | Online | tinypng.com |
| ImageOptim | macOS App | imageoptim.com |
| GIMP | Desktop | gimp.org |
Ukuran yang Direkomendasikan
| Tipe | Lebar Max | Tinggi Max |
|---|---|---|
| Inline image | 800px | - |
| Full-width | 1200px | - |
| Hero image | 1200px | 630px |
| Thumbnail | 400px | 300px |
Hero Image
Hero image adalah gambar besar di bagian atas artikel. Di Sitemas, ini dikonfigurasi di frontmatter:
---
title: "Judul Artikel"
description: "Deskripsi..."
heroImage: ./hero-banner.png
# ... frontmatter lain
--- Hero image adalah opsional. Jika tidak disertakan, artikel akan menggunakan layout tanpa hero.
Gambar dari URL Eksternal
Untuk gambar dari URL eksternal:
 Gambar eksternal:
- Tidak dioptimasi oleh Astro
- Bergantung pada server eksternal
- Bisa broken jika URL berubah
- Lebih baik download dan simpan lokal
Alt Text yang Baik
Alt text penting untuk:
- Aksesibilitas — Screen reader membaca alt text
- SEO — Google memahami konteks gambar
- Fallback — Ditampilkan jika gambar gagal load
Tips Menulis Alt Text
✅ DO:

❌ DON’T:



Alt Text untuk Berbagai Jenis Gambar
| Jenis | Contoh Alt Text |
|---|---|
| Screenshot | ”Tampilan halaman settings dengan menu sidebar terbuka” |
| Diagram | ”Diagram arsitektur microservices dengan 3 layanan terhubung” |
| Code output | ”Output terminal menunjukkan npm install berhasil” |
| Foto | ”Laptop MacBook Pro di atas meja kayu dengan kopi” |
Menambahkan Video
Embed YouTube
<iframe
width="100%"
height="400"
src="https://www.youtube.com/embed/VIDEO_ID"
title="Judul video"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media"
allowfullscreen
></iframe> Video Lokal
Untuk video pendek (demo, GIF-like), bisa menggunakan video HTML5:
<video width="100%" controls>
<source src="./demo.mp4" type="video/mp4" />
Browser Anda tidak mendukung video.
</video> Gallery / Multiple Images
Untuk menampilkan beberapa gambar, gunakan Markdown biasa dengan pemisah:
Berikut adalah beberapa screenshot:


 Troubleshooting
Gambar Tidak Muncul
- Cek path — Pastikan path relatif benar (
./gambar.png) - Cek nama file — Case-sensitive di Linux
- Cek format — Pastikan format didukung
- Restart dev server — Kadang perlu reload
Error “Cannot find module”
Jika import gagal:
// ❌ Salah - file tidak ada
import notExist from './tidak-ada.png';
// ✅ Pastikan file ada di folder
import screenshot from './screenshot.png'; Gambar Terlalu Besar
Jika halaman load lambat:
- Compress gambar sebelum upload
- Resize ke ukuran yang dibutuhkan
- Convert ke WebP
Checklist Gambar
Sebelum publish, pastikan:
- Semua gambar memiliki alt text deskriptif
- Gambar sudah dioptimasi (ukuran wajar)
- Format sesuai dengan tipe gambar
- Path benar dan file ada
- Caption ditambahkan jika perlu konteks
- Preview terlihat baik di desktop dan mobile
Langkah Selanjutnya
Konten Anda sudah lengkap dengan teks dan visual! Lanjutkan dengan mempelajari kustomisasi tema:
Modifikasi Tampilan
Pelajari cara mengubah warna tema Material Design 3 sesuai brand Anda.
Kesimpulan
Gambar yang baik meningkatkan kualitas artikel secara signifikan. Ingat prinsip utama:
- Simpan di folder artikel untuk organisasi yang baik
- Import untuk optimasi otomatis oleh Astro
- Alt text deskriptif untuk aksesibilitas dan SEO
- Optimasi sebelum upload untuk performa
Dengan gambar yang tepat, artikel Anda akan lebih menarik dan mudah dipahami pembaca.