Files
edukarsa/README.md
T

118 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# EduKarsa — Tema WordPress Native Sekolah & Perguruan Tinggi
EduKarsa adalah tema WordPress institusional yang dibangun dengan arsitektur **100% Native & Zero Plugin**. Didesain khusus untuk portal sekolah, madrasah, pesantren, dan perguruan tinggi dengan mengutamakan performa, keamanan ketat, serta aksesibilitas ramah disabilitas.
- **Demo Situs**: https://edukarsa.masbudi.my.id
- **Portal Aplikasi**: https://apps.masbudi.my.id/edukarsa
- **Dukungan & Donasi**: https://donate.masbudi.my.id/edukarsa
- **Pengembang**: Mas Budi Kusuma (masbudikusuma@gmail.com — https://masbudi.my.id)
---
## Pilar Arsitektur
1. **Zero Plugin Dependency**: Berjalan optimal tanpa ketergantungan plugin pihak ketiga (tanpa ACF, Elementor, atau plugin galeri).
2. **Modular Architecture (`inc/`)**: Berkas `functions.php` berfungsi murni sebagai pemanggil (*router*). Seluruh fungsionalitas diisolasi ke dalam sub-berkas direktori `inc/`.
3. **Hardened Security Native**:
- Pengecekan eksekusi langsung via `defined('ABSPATH') || exit;`.
- Injeksi HTTP *security headers* native (`X-Frame-Options`, `X-Content-Type-Options`, `Referrer-Policy`).
- Penonaktifan *author enumeration* (`?author=N`) dan proteksi rute REST API `/wp/v2/users` untuk pengguna anonim.
- Sanitasi data ketat di seluruh antarmuka Settings API.
4. **WCAG 2.1 Accessibility**: Widget aksesibilitas bawaan dengan Web Speech API (suara baca audio), pengubah ukuran teks, kontras tinggi, mode monokrom, dan sorotan tautan.
5. **Multilingual Terpadu**: Penerjemah instan sisi depan (ID, EN, AR, ZH, JA) serta panel admin dwibahasa (ID/EN).
6. **SEO & Structured Data**: Skema data terstruktur JSON-LD `EducationalOrganization` dan `NewsArticle` native untuk visibilitas mesin pencari.
---
## Modul & Fitur Utama
### 1. Tata Letak Beranda (Native Section Builder)
- Pengaturan urutan seksi secara visual (*drag-and-drop*) berbasis jQuery UI Sortable bawaan WordPress.
- Loop rendering berbasis daftar putih (*whitelist array*) untuk mencegah celah LFI.
- Slider layar penuh terkunci di posisi teratas dengan dukungan custom link per slide.
- Kartu statistik melayang dengan penyesuaian margin dinamis.
- Sambutan pimpinan institusi dengan rasio potret 3:4.
- Rekam jejak capaian (Milestones) anti-celah kosong.
- Tiga program unggulan terhubung ke template detail `single-program.php`.
- Video profil ganda berlatar efek parallax.
- Sembilan poin keunggulan bernomor otomatis dua digit.
- Banner pendaftaran (CTA PPDB/PMB) kontras tinggi.
- Warta berita terbaru dan akordeon tanya-jawab (FAQ) interaktif.
### 2. Galeri Fasilitas & Lightbox (`page-galeri.php`)
- Custom Post Type `galeri` terintegrasi dengan taksonomi `kategori_galeri`.
- Tombol penyaring kategori beranimasi halus via JavaScript murni.
- Lightbox popup native dengan kontrol zoom, navigasi geser, deskripsi foto, dan dukungan tombol keyboard (Esc, Panah Kiri/Kanan).
### 3. Pop-up Flyer Promosi (`inc/popup.php`)
- Modal dialog promosi PMB/pengumuman penting dengan pengatur waktu tunda (*delay*).
- Mekanisme penyimpanan sesi (`sessionStorage`) agar tidak berulang kali memblokir layar pengguna.
- Opsi pembatasan hanya di beranda serta parameter pratinjau `?preview_popup=1`.
### 4. Navigasi, Sidebar, & Footer
- Dropdown menu bertingkat bebas tanda butir (*bullet*).
- Sidebar dinamis: form pencarian, mini CTA, daftar berita terkini, arsip kategori, poster gambar, dan kotak HTML kustom.
- Navigasi paginasi ganda (antar-halaman dan intra-artikel) serta tombol berbagi media sosial native.
- Footer 4 kolom: profil institusi, jam layanan kantor multi-baris, kontak resmi, lencana akreditasi, tombol WhatsApp melayang dinamis, dan atribusi pengembang.
---
## Rekomendasi Dimensi Aset
| Aset Media | Rekomendasi Dimensi | Rasio Aspek | Format Ideal |
| :--- | :--- | :--- | :--- |
| **Logo Header** | Lebar proporsional, tinggi 110 px | Fleksibel | PNG Transparan / WebP |
| **Slider Banner** | 1920 × 1080 px atau 1920 × 800 px | 16:9 / Lebar | JPG / WebP (< 300 KB) |
| **Foto Pimpinan** | 600 × 800 px atau 800 × 1067 px | 3:4 (Potret) | JPG / WebP |
| **Latar Parallax** | 1920 × 1080 px | 16:9 Lanskap | JPG / WebP |
| **Flyer Pop-up** | Minimal 800 × 800 px | 1:1 / 4:5 | JPG / WebP (< 250 KB) |
| **Poster Sidebar** | Lebar 600 px (tinggi bebas) | Vertikal | JPG / WebP |
| **Galeri Kampus** | 1200 × 900 px | 4:3 Lanskap | JPG / WebP |
---
## Struktur Direktori
edukarsa/
├── 404.php
├── footer.php
├── front-page.php
├── functions.php
├── header.php
├── inc/
│ ├── admin-menu.php
│ ├── cpt-slider.php
│ ├── i18n.php
│ ├── popup.php
│ ├── security.php
│ ├── seo.php
│ └── setup.php
├── index.php
├── page-galeri.php
├── page.php
├── README.md
├── sidebar.php
├── single-program.php
├── single.php
└── style.css
---
## Petunjuk Penggunaan
1. **Pengaturan Identitas**: Masuk ke **EduKarsa > ⚙️ Pengaturan Utama** untuk konfigurasi logo, warna tema, font, profil, kontak, dan footer.
2. **Menyusun Halaman Utama**: Buka **EduKarsa > 🏗️ Tata Letak** untuk mengatur urutan seksi secara drag-and-drop, lalu simpan perubahan.
3. **Membuat Halaman Galeri**:
- Tambahkan dokumentasi pada **EduKarsa > 📸 Galeri Fasilitas** dan tandai kategorinya.
- Buat laman baru (**Laman > Tambah Baru**), pilih template **Galeri & Fasilitas** di panel atribut laman, lalu terbitkan.
4. **Mengaktifkan Pop-up Flyer**:
- Buka panel **🪟 8. Pop-up Flyer & Pengumuman** di Pengaturan Utama.
- Aktifkan sakelar, unggah berkas flyer, isi tautan tujuan pendaftaran, lalu simpan.
---
## Lisensi & Hak Cipta
Dirancang dan dikembangkan oleh **Mas Budi Kusuma** ([masbudi.my.id](https://masbudi.my.id)).
Didistribusikan di bawah naungan lisensi **GNU General Public License v2** atau yang lebih baru.