Blog statis sederhana dengan 3 artikel yang dirender secara dinamis menggunakan JavaScript dan styling profesional dengan Tailwind CSS.
- Node.js dan npm sudah terinstall
- XAMPP atau web server lokal (opsional)
git clone https://github.com/alfathakbarr/simpleblog.git
cd simpleblognpm installJika Anda ingin memodifikasi CSS:
npm run buildAtau gunakan watch mode untuk development:
npm run watchAda 2 cara untuk menjalankan:
Opsi A: Buka langsung di browser
- Double-click file
public/index.html, atau - Drag and drop ke browser
Opsi B: Gunakan XAMPP (Recommended)
- Pastikan XAMPP Apache sudah running
- Buka browser:
http://localhost/simpleblog/public/index.html
- β 3 Artikel Berkualitas dengan minimal 3 paragraf masing-masing
- β
Data Terpusat - Semua artikel disimpan di
src/data/posts.js - β Render Dinamis - Judul, tanggal, author, dan konten ditampilkan otomatis
- β Format Tanggal - Tanggal otomatis di-format dalam Bahasa Indonesia
- β Styling Profesional - Desain modern dengan color gradient yang menarik
- β Card-Based Layout - Setiap artikel dalam card dengan shadow effects
- β Hover Effects - Animasi smooth saat cursor hover di atas artikel
- β Typography Premium - Font Google Fonts (Playfair Display + Inter)
- β Gradient Background - Background halaman dengan gradient yang elegan
- β Dark Header - Header dengan gradient purple-blue
- β Mobile-Friendly - Responsive di semua ukuran device
- β Media Queries - Breakpoint untuk desktop, tablet, dan mobile
- β Optimal Readability - Font size dan spacing yang sesuai untuk setiap device
- β Flexible Layout - Grid system yang adaptif
- β Pure JavaScript - Render dinamis tanpa framework
- β HTML Security - Escape HTML untuk prevent XSS
- β Modular Structure - Separation of concerns (HTML, CSS, JS, Data)
- β Tailwind CSS Integration - Modern CSS framework dengan plugin typography
- β Git Version Control - Repository sudah siap di GitHub
simpleblog/
βββ public/
β βββ index.html # Halaman blog utama (HTML + CSS + JS)
β βββ output.css # CSS output dari Tailwind (auto-generated)
βββ src/
β βββ data/
β β βββ posts.js # Data 3 artikel dalam format JavaScript
β βββ input.css # CSS input untuk Tailwind
βββ package.json # Dependencies npm
βββ tailwind.config.js # Konfigurasi Tailwind CSS
βββ .gitignore # Git ignore configuration
βββ README.md # Dokumentasi project
- Author: John Developer
- Tanggal: 15 November 2024
- Ringkasan: Panduan langkah demi langkah untuk memulai belajar web development dari nol, mencakup fondasi HTML, CSS, dan JavaScript
- Panjang: 3 paragraf lengkap
- Author: Sarah Code
- Tanggal: 12 November 2024
- Ringkasan: Tips dan trik menulis kode yang bersih, maintainable, dan mudah dipahami dengan prinsip SRP
- Panjang: 3 paragraf lengkap
- Author: Mike Mobile
- Tanggal: 8 November 2024
- Ringkasan: Teknik membuat website responsif menggunakan mobile-first approach, grid, dan media queries
- Panjang: 3 paragraf lengkap
| Teknologi | Versi | Fungsi |
|---|---|---|
| HTML5 | - | Struktur halaman |
| CSS3 | - | Styling dan animasi |
| JavaScript | ES6+ | Rendering dinamis |
| Tailwind CSS | 3.3.0 | CSS Framework |
| @tailwindcss/typography | 0.5.10 | Plugin typography |
| Node.js | - | Package manager |
- Halaman
public/index.htmlmemuat filesrc/data/posts.js - JavaScript membaca array
postsdari data file - Setiap artikel di-loop dan dirender menjadi HTML
- Tanggal otomatis di-format ke format Indonesia
- HTML di-escape untuk keamanan (prevent XSS)
- Hasil di-insert ke DOM dengan
innerHTML
Edit file src/data/posts.js:
const posts = [
{
id: 1,
title: "Judul Artikel",
date: "YYYY-MM-DD", // Format: 2024-11-17
author: "Nama Author",
content: `
<p>Paragraf 1...</p>
<p>Paragraf 2...</p>
<p>Paragraf 3...</p>
`
},
// Tambah artikel baru di sini
];- Modify
src/input.cssuntuk CSS custom - Edit
tailwind.config.jsuntuk Tailwind configuration - Run
npm run builduntuk generate CSS baru
Edit CSS di section <style> di public/index.html:
header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
/* Ubah hex color sesuai keinginan */
}- Page Load Time: < 1 detik (tanpa network delay)
- Bundle Size: ~3KB HTML + CSS inline
- JavaScript Size: ~2KB (tanpa dependency external)
- Mobile Optimization: Fully responsive
- SEO Friendly: Semantic HTML structure
- β HTML escaping untuk prevent XSS attacks
- β No external CDN dependencies (kecuali Google Fonts)
- β Content Security Policy compatible
- β No sensitive data exposed
npm run build # Build Tailwind CSS satu kali
npm run watch # Watch mode - auto rebuild saat CSS berubah
npm install # Install dependencies- Pastikan file
src/data/posts.jssudah dibuat - Buka browser console (F12) dan lihat error message
- Pastikan path
../src/data/posts.jsbenar
- Run
npm run builduntuk generate CSS baru - Hard refresh browser (Ctrl + Shift + R)
- Cek file
public/output.csssudah ada
- Pastikan XAMPP Apache sudah running
- File harus di folder
htdocs/simpleblog/ - Gunakan URL:
http://localhost/simpleblog/public/index.html
MIT License - Feel free to use, modify, and distribute
Alfathakbarr
- GitHub: @alfathakbarr
- Repository: simpleblog
- β Initial release
- β 3 artikel dengan konten lengkap
- β Responsive design
- β Tailwind CSS integration
- β GitHub repository setup