PHPackages                             bale/umpak - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bale/umpak

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

bale/umpak
==========

Bale Landing Page Foundation Package

0114↑250%PHP

Since Jul 8Pushed 3w agoCompare

[ Source](https://github.com/papa-ree/umpak)[ Packagist](https://packagist.org/packages/bale/umpak)[ RSS](/packages/bale-umpak/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Bale Umpak 🏛️
=============

[](#bale-umpak-️)

Bale Umpak adalah *foundation package* utama untuk pengembangan landing page di dalam ekosistem Bale. "Umpak" diambil dari bahasa Jawa yang berarti penyangga atau fondasi rumah, yang merepresentasikan peran package ini sebagai dasar yang stabil untuk seluruh tema (theme) landing page.

Package ini menyediakan standardisasi *Data Transfer Objects* (DTO), Repositories, View Composers, Blade Components dasar, dan command scaffolding untuk mempercepat pembuatan package tema landing page baru.

📦 Instalasi
-----------

[](#-instalasi)

Jika package ini belum terinstall di project Laravel utama Anda, tambahkan di `composer.json` atau gunakan command berikut (jika sudah disetup lokal):

```
composer require bale/umpak
```

Setelah package terinstall, jalankan perintah instalasi umpak:

```
php artisan umpak:install
```

Command ini akan melakukan *publish* file konfigurasi `config/umpak.php` dan aset yang dibutuhkan.

🚀 Membangun Tema (Scaffolding)
------------------------------

[](#-membangun-tema-scaffolding)

Fungsi utama Umpak adalah kemampuannya men-scaffold tema landing page baru secara instan.

```
php artisan umpak:make
```

**Contoh:**

```
php artisan umpak:make bale-dinkes dinkes
```

Perintah di atas akan men-generate folder `packages/bale-dinkes` yang berisi:

- `composer.json` siap pakai.
- `BaleDinkesServiceProvider.php`
- `Http/Controllers/LandingController.php` dengan implementasi repository data Umpak.
- Routing bawaan (home, post, page) di `routes/web.php`.
- Struktur View lengkap (layouts, errors, pages) dengan Tailwind CSS / AlpineJS integration.
- Referensi Blade Components Umpak di dalam view.

Setelah di-*generate*, tambahkan package baru Anda di `composer.json` utama dan jalankan `composer update`, lalu daftarkan provider-nya di `bootstrap/providers.php`.

🛠 Alur Kerja &amp; Arsitektur
-----------------------------

[](#-alur-kerja--arsitektur)

Umpak memisahkan antara pengambilan data dan presentasi data. Alur kerjanya:

1. **Repositories:** Mengambil data dari API Headless CMS. (Misalnya `PostRepositoryInterface`, `SectionRepositoryInterface`).
2. **DTOs (Data Transfer Objects):** Repository mengembalikan data dalam bentuk objek terstandarisasi (`SectionData`, `PostData`, `PageData`, `OptionData`, `NavigationData`).
3. **Controller:** Controller di tema (scaffolded) memanggil Repository, menerima DTO, dan mengirimkannya ke View.
4. **View Composers:** `LandingPageComposer` secara otomatis menyuntikkan data statis seperti `$umpakOrg` (Data Organisasi) dan `$umpakNav` (Data Menu Navigasi) ke *semua* views.
5. **Blade Components:** Tema memanggil komponen siap pakai milik Umpak, contohnya `` untuk merender isi artikel.

🧬 Fitur &amp; Fungsi Utama
--------------------------

[](#-fitur--fungsi-utama)

### 1. View Variables Otomatis

[](#1-view-variables-otomatis)

Anda tidak perlu mengirim data global di setiap controller. Di file `.blade.php` mana pun, Anda bisa mengakses:

- `$umpakOrg`: DTO berisi informasi instansi (Nama, alamat, logo, telepon, medsos). Contoh: `{{ $umpakOrg->organizationName }}`
- `$umpakNav`: Collection dari struktur menu navigasi hierarkis.

### 2. Helpers Bawaan

[](#2-helpers-bawaan)

Umpak menyediakan fungsi helper untuk mempermudah akses resources:

- `cdn_asset('path/ke/aset.jpg')`: Membungkus path aset ke URL CDN (jika CDN aktif).
- `umpak_org('slug')`: Mengambil spesifik data organisasi.
- `umpak_option('social_facebook')`: Mengambil konfigurasi lain dari option.
- `umpak_config('nama_key')`: Mengambil konfigurasi dari `config/umpak.php`.

### 3. EditorJS Renderer Component

[](#3-editorjs-renderer-component)

Post dan Pages di Bale menggunakan Editor.js. Anda tidak perlu merender array blocks satu persatu.

```

```

Itu otomatis merender header, paragraph, list, image, dll ke dalam bentuk HTML semantic yang siap di-*styling*.

### 4. Blade Components Tambahan

[](#4-blade-components-tambahan)

- **Analytics:** `` (otomatis memuat script tracker balystics).
- **Breadcrumb:** `` (Men-generate visual breadcrumb beserta schema JSON-LD untuk SEO Google).
- **Share Button:** `` (Modal pop-up berbagi ke media sosial).
- **Error Fallback:** `` (Digunakan bila section page builder belum dikonfigurasi).

📄 Struktur Direktori Penting
----------------------------

[](#-struktur-direktori-penting)

- `src/DTOs/`: Definisi bentuk data pasti yang mengalir ke frontend.
- `src/Contracts/` &amp; `src/Repositories/`: Tempat pengambilan data via API/Database simulasi.
- `src/ViewComposers/`: Logic bind variabel global ke tampilan.
- `src/Console/`: Logic terminal commands (`umpak:make`).
- `resources/views/components/`: Kumpulan utility komponen Umpak.
- `src/helpers.php`: Kumpulan function pembantu.

🛡️ Lisensi
----------

[](#️-lisensi)

The MIT License (MIT).

###  Health Score

24

—

LowBetter than 30% of packages

Maintenance62

Regular maintenance activity

Popularity14

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6a4dff95fb8ef6beb3956487f0421a9229b3ded20f76917e49a1e7c2004267e4?d=identicon)[papa-ree](/maintainers/papa-ree)

---

Top Contributors

[![papa-ree](https://avatars.githubusercontent.com/u/79291092?v=4)](https://github.com/papa-ree "papa-ree (20 commits)")

### Embed Badge

![Health badge](/badges/bale-umpak/health.svg)

```
[![Health](https://phpackages.com/badges/bale-umpak/health.svg)](https://phpackages.com/packages/bale-umpak)
```

###  Alternatives

[norkunas/youtube-dl-php

youtube-dl / yt-dlp wrapper for php

514356.8k18](/packages/norkunas-youtube-dl-php)[theodo-evolution/legacy-wrapper-bundle

40124.9k](/packages/theodo-evolution-legacy-wrapper-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
