Tutorial #Panduan#Astro

Memulai dengan Astro-Theme-Aither

2026-03-14 · 284 kata · 1 menit

Semua yang Anda butuhkan untuk memasang, mengatur, menyesuaikan, dan men-deploy Astro-Theme-Aither dalam satu panduan.

Panduan ini membawa Anda dari nol sampai blog multibahasa yang sudah ter-deploy. Baca dari awal sampai akhir atau langsung lompat ke bagian yang dibutuhkan.

Prasyarat

Instalasi

Terminal windowBash
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.git
cd YOUR_REPO
corepack enable
pnpm install
pnpm validate
pnpm dev

Buka http://localhost:4321 di browser Anda.

Struktur proyek

src/
├── components/ # Komponen Astro dan React
├── config/site.ts # Nama situs, navigasi, footer, dan tautan sosial
├── content/posts/ # Post yang diatur per locale
├── i18n/ # Terjemahan UI
├── layouts/ # Layout
├── lib/ # Utilitas
├── pages/ # Halaman dan rute
└── styles/global.css # Token tema Tailwind v4

Konfigurasi

Site Config

src/config/site.ts adalah sumber utama konfigurasi situs:

export const siteConfig = {
name: 'Nama blog Anda',
title: 'Tagline Anda',
description: 'Deskripsi situs untuk SEO',
author: {
name: 'Nama Anda',
avatar: '',
},
};

Variabel lingkungan

Terminal windowBash
cp .env.example .env

Biarkan nilai kosong jika ingin menonaktifkan layanan tertentu.

URL situs

Atur URL produksi di astro.config.mjs:

import { defineConfig } from 'astro/config';
import aither from '@aither/astro';
export default defineConfig({
site: 'https://your-domain.pages.dev',
integrations: [aither()],
});

Menulis post

Buat file .mdx baru di src/content/posts/en/:

---
title: Post pertama saya
date: "2026-03-14T16:00:00+08:00"
category: General
description: Ringkasan singkat untuk SEO dan pratinjau sosial.
tags: [Topic, Another]
pinned: false
---
Konten dimulai di sini.

Referensi frontmatter

FieldTipeWajibDeskripsi
titlestringYaJudul post
datedateYaWaktu publikasi (mis. 2026-03-14T16:00:00+08:00)
categorystringTidakKategori
descriptionstringTidakDeskripsi SEO
tagsstring[]TidakDaftar tag
pinnedbooleanTidakMenaruh post di atas
imagestringTidakGambar cover

Komponen MDX

Anda bisa mengimpor komponen langsung di dalam konten:

import MyChart from '@/components/MyChart'
<MyChart data={[10, 20, 30]} />

Internasionalisasi

Theme ini mendukung 11 locale. Untuk menambahkan versi terjemahan, buat file dengan nama yang sama di folder locale tujuan:

src/content/posts/en/my-post.mdx
src/content/posts/id/my-post.mdx
src/content/posts/zh-hans/my-post.mdx

Teks UI berada di src/i18n/messages/.

Bagian konten kustom

Anda dapat menambahkan koleksi seperti terjemahan, catatan, atau tutorial melalui src/content.config.ts dan src/config/site.ts. Halaman daftar dan detail akan dibuat otomatis.

Theming

Sistem theme memiliki dua lapisan:

  • mode warna: light, dark, system
  • style theme: default atau style bawaan seperti evolution
ui: {
defaultMode: 'system',
defaultStyle: 'default',
showMoreThemesMenu: true,
},

Warna disimpan di src/styles/global.css. Secara default theme menggunakan font sans-serif sistem dan font monospace untuk kode.

SEO dan AI

Setiap halaman sudah menyediakan output berikut:

  • /sitemap-index.xml
  • /rss.xml
  • /robots.txt
  • /llms.txt
  • /llms-full.txt
  • /posts/slug.md
  • JSON-LD dan Open Graph

Deploy

Cloudflare Pages

Praktik terbaik: buat proyek Pages terlebih dahulu. Alur ini memakai nama repositori secara default, atau CLOUDFLARE_PAGES_PROJECT_NAME jika Anda perlu menimpanya.

Tambahkan secret GitHub berikut:

  • CLOUDFLARE_API_TOKEN
  • CLOUDFLARE_ACCOUNT_ID

Lalu jalankan pnpm validate dan push ke main.

Perintah yang berguna

PerintahDeskripsi
pnpm devMenjalankan server pengembangan
pnpm validateMenjalankan validasi penuh sebelum push
pnpm buildMembuat build produksi
pnpm previewMeninjau build produksi secara lokal

Skema versi

Tag release publik memakai nama bergaya CalVer, misalnya v2026.04.08.

Selesai · Terima kasih telah membaca

Komentar