Mulai bangun blogmu! Pelajari cara setup proyek Next.js, membuat struktur folder yang rapi, dan membangun layout utama dengan Navbar, Footer, serta fitur canggih Light/Dark Mode.
900m bacaanKuis WajibMicro Badge Lesson
Bab 1: Pondasi Kokoh & Desain yang Keren
Selamat datang di bab pertama pembangunan! Di sini kita akan meletakkan fondasi yang kuat untuk blog kita. Kita akan mengubah sebuah "tanah kosong" (folder baru) menjadi kerangka aplikasi yang siap dikembangkan, lengkap dengan tampilan dasar dan fitur modern.
1. Menyiapkan Proyek Next.js & Tailwind CSS
Kita akan memulai dengan membuat proyek Next.js baru, lalu mengintegrasikan Tailwind CSS v4.0 secara manual untuk kontrol penuh.
Langkah 1: Inisialisasi Proyek Next.js
Buka terminalmu, navigasi ke folder tempat kamu ingin menyimpan proyek, dan jalankan perintah ini:
bash
npx create-next-app@latest
Saat ditanya, gunakan jawaban berikut. Perhatikan, kita pilih No untuk Tailwind CSS karena kita akan menginstalnya dengan cara v4.0 yang lebih modern.
What is your project named?blog-profesional-nextjs
Would you like to use TypeScript?Yes
Would you like to use ESLint?Yes
Would you like to use Tailwind CSS?No 👈 Penting!
Would you like to use src/ directory?Yes
Would you like to use App Router? (recommended)Yes
Would you like to customize the default import alias (@/*)?No
Setelah selesai, masuk ke direktori proyekmu: cd blog-profesional-nextjs.
Mari tambahkan fitur modern ini menggunakan library next-themes.
Instalasi: Hentikan server (Ctrl + C) dan jalankan:
bash
npm install next-themes lucide-react
lucide-react adalah untuk ikon-ikon keren yang akan kita pakai.
Membuat Theme Provider: Buat file baru di src/components/ThemeProvider.tsx. Komponen ini bertugas mengelola state tema.
tsx
// src/components/ThemeProvider.tsx"use client";import { ThemeProvider as NextThemesProvider } from "next-themes";import type { ThemeProviderProps } from "next-themes/dist/types";export function ThemeProvider({ children, ...props }: ThemeProviderProps) { return <NextThemesProvider {...props}>{children}</NextThemesProvider>;}
Membuat Tombol Switcher: Buat file di src/components/ThemeSwitcher.tsx untuk tombol pengubah tema.
tsx
// src/components/ThemeSwitcher.tsx"use client";import { useState, useEffect } from "react";import { useTheme } from "next-themes";import { Sun, Moon } from "lucide-react";export
Mengintegrasikan Semuanya:
Tambahkan Switcher ke Navbar: Di src/components/Navbar.tsx, impor dan tambahkan ThemeSwitcher.
Bungkus Aplikasi dengan Provider: Di src/app/layout.tsx, impor ThemeProvider dan gunakan untuk membungkus seluruh aplikasi. Ini penting agar semua komponen bisa mengakses state tema.
Perbarui src/app/layout.tsx menjadi seperti ini:
tsx
// src/app/layout.tsx// ... (impor-impor lainnya)import { ThemeProvider } from "@/components/ThemeProvider";// ... (metadata)export default function
Jalankan kembali npm run dev. Sekarang blog-mu punya tombol fungsional untuk berganti tema!
Rangkuman & Langkah Selanjutnya
Luar biasa! Di bab ini, kita telah:
✅ Menginisialisasi proyek Next.js dan mengintegrasikan Tailwind CSS v4.0.
✅ Membangun struktur layout utama yang solid dengan Navbar dan Footer.
✅ Mengimplementasikan fitur Light & Dark mode yang profesional.
Kita telah berhasil membangun "panggung" yang kokoh. Di bab selanjutnya, kita akan mulai mengisi panggung tersebut dengan konten, yaitu belajar cara membuat file artikel MDX pertama kita dan menampilkannya di halaman blog.
Checkpoint KuisTarget: 70%
Kuis Pondasi & Desain Awal
Kuis ini wajib untuk sertifikat. Kamu tetap bisa lanjut ke pelajaran berikutnya dan mengerjakannya nanti.