Website resmi komunitas openSUSE Indonesia - Mempromosikan penggunaan Linux dan open source di Indonesia.
- Tentang Project
- Teknologi
- Prerequisite
- Instalasi
- Development
- Build Production
- Struktur Project
- Fitur
- Troubleshooting
- Kontribusi
- Lisensi
Website komunitas openSUSE Indonesia yang dibangun dengan React, menampilkan informasi tentang openSUSE, blog/artikel, repositori lokal, dan informasi komunitas.
- Website: https://opensuse.id
- Repository: https://github.com/opensuse-id/openSUSE-ID-website
- Repositori Download: https://download.opensuse.id
Project ini dibangun menggunakan teknologi modern:
- React 19 - UI Framework
- React Router DOM 7 - Routing
- Tailwind CSS 3 - Styling
- CRACO - Configuration Override untuk CRA
- Radix UI - Component Library
- Lucide React - Icons
- React Hook Form - Form Management
- Zod - Schema Validation
Pastikan sistem Anda sudah terinstall:
- Node.js >= 18.x
- Yarn 1.22.x (Package Manager)
- Git
Cek versi:
node --version
yarn --version
git --versiongit clone https://github.com/opensuse-id/openSUSE-ID-website.git
cd openSUSE-ID-websiteyarn installBuat file .env atau gunakan yang sudah ada:
HOST=localhost
PORT=8080
DEBUG=trueNote: Jika Anda memiliki environment variable
HOSTyang ter-set di shell (misalnya di.zshrc), gunakan perintahHOST=localhost yarn startuntuk override.
yarn start
# atau jika ada konflik HOST
HOST=localhost yarn startServer akan berjalan di http://localhost:8080
Development server mendukung hot reload. Perubahan pada code akan otomatis ter-refresh di browser.
# Development server
yarn start
# Build production
yarn build
# Run tests
yarn testyarn buildOutput akan tersimpan di folder build/ yang siap untuk di-deploy ke production server.
Setelah build, Anda bisa preview menggunakan static server:
npx serve -s buildopenSUSE-ID-website/
βββ public/ # Static files
β βββ index.html # HTML template
β βββ manifest.json # PWA manifest
β βββ _redirects # Netlify redirects
βββ src/
β βββ components/ # React components
β β βββ Layout.jsx # Main layout (Header & Footer)
β β βββ ImageWithFallback.jsx # Image component dengan error handling
β β βββ ui/ # Shadcn/UI components
β βββ pages/ # Page components
β β βββ HomePage.jsx
β β βββ BlogPage.jsx
β β βββ BlogPost.jsx
β β βββ TentangKami.jsx
β β βββ TentangOpenSUSE.jsx
β β βββ HubungiPage.jsx
β β βββ Repositori.jsx
β β βββ AsiaSummit*.jsx
β βββ data/ # Data files
β β βββ blogPosts.js # Blog posts data
β βββ hooks/ # Custom React hooks
β β βββ use-toast.js
β βββ lib/ # Utilities
β β βββ utils.js
β βββ App.js # Main app component
β βββ index.js # Entry point
β βββ index.css # Global styles
βββ plugins/ # Custom webpack plugins
β βββ health-check/ # Health check endpoint
β βββ visual-edits/ # Visual editing support
βββ .env # Environment variables
βββ craco.config.js # CRACO configuration
βββ tailwind.config.js # Tailwind CSS config
βββ postcss.config.js # PostCSS config
βββ jsconfig.json # JavaScript config
βββ package.json # Dependencies
- Hero section dengan animasi
- Informasi tentang openSUSE
- Download links untuk Leap & Tumbleweed
- Preview blog terbaru
- Statistik komunitas
- List artikel/berita
- Filter berdasarkan kategori
- Pagination
- Detail artikel
- Informasi repositori lokal Indonesia
- Mirror list
- Panduan konfigurasi
- Tentang openSUSE
- Tentang komunitas Indonesia
- Timeline kegiatan
- Form kontak
- Social media links
- Informasi komunitas
- Image lazy loading dengan fallback
- Responsive design
- Dark mode ready (dengan next-themes)
- Smooth animations
- SEO friendly
Jika Anda mendapat error seperti Error: getaddrinfo ENOTFOUND $HOSTNAME, ini karena environment variable HOST belum di-set.
Solusi:
# Temporary fix
HOST=localhost yarn start
# Permanent fix - tambahkan alias di ~/.zshrc
echo 'alias yarn-start="HOST=localhost yarn start"' >> ~/.zshrc
source ~/.zshrcJika port 8080 sudah digunakan, ubah di file .env:
PORT=3000Warning tentang onAfterSetupMiddleware dan onBeforeSetupMiddleware adalah normal dan tidak mempengaruhi development. Ini karena webpack-dev-server API yang deprecated.
Project ini sudah dilengkapi dengan ImageWithFallback component yang otomatis handle gambar yang gagal load. Jika gambar tidak muncul:
- Cek koneksi internet
- Pastikan URL gambar valid
- Lihat console browser untuk error details
Kontribusi sangat diterima! Berikut cara berkontribusi:
- Fork repository ini
- Buat branch baru (
git checkout -b feature/AmazingFeature) - Commit perubahan (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Buat Pull Request
- Gunakan functional components dengan hooks
- Follow existing code style
- Tambahkan comments untuk logic yang kompleks
- Test perubahan Anda sebelum commit
- Gunakan Tailwind CSS untuk styling
- Komponen reusable disimpan di
src/components/ - Page components di
src/pages/
Project ini dilisensikan untuk komunitas openSUSE Indonesia.
Dikembangkan dan dimaintain oleh Komunitas openSUSE Indonesia
- Website: https://opensuse.id
- Email: opensuse.id@gmail.com
- Telegram: https://t.me/openSUSE_ID
- Forum: https://forums.opensuse.org
- openSUSE Project
- Cloudkilat untuk donasi server repositori
- Semua kontributor komunitas openSUSE Indonesia
