1
Ringkasan Proyek Mazer
Mazer adalah template admin dashboard berbasis Bootstrap 5 yang dibuat untuk mempercepat pengembangan antarmuka aplikasi. README menyebutnya sebagai template dashboard admin yang dibuat dengan Bootstrap 5 dan tanpa dependensi jQuery README.md:51. Berkas package.json mencatat nama paket mazer, versi 2.3.1, deskripsi "Free and Open-source Bootstrap 5 Admin Dashboard Template and Landing Page", serta lisensi MIT package.json:1-172. Lisensi MIT itu berlaku atas nama Ahmad Saugi LICENSE:1-3, dan README menutup dengan pernyataan yang sama README.md:126-1283. Versi Bahasa Indonesia dari berkas yang sama memuat klaim yang setara README_INDONESIAN.md:5-64.
Halaman demo disusun sebagai berkas .html di bawah src/. Setiap halaman menetapkan title dan filename, lalu mewarisi layout lewat {% extends 'src/layouts/master.html' %} src/index.html:1-85. Vite memindai seluruh berkas .html di src dan memakainya sebagai rollupOptions.input, sehingga satu halaman menjadi satu entri build vite.config.js:15-266.
Peta modul
graph TD
pages["src/*.html halaman demo"] --> master["layouts/master.html"]
master --> sidebar["layouts/sidebar.html"]
master --> footer["partials/footer.html"]
master --> scss["assets/scss/app.scss"]
master --> init["static/js/initTheme.js"]
master --> appjs["assets/js/app.js"]
appjs --> mazer["assets/js/mazer.js"]
mazer --> bs["bootstrap.bundle"]
mazer --> sidebarjs["components/sidebar.js"]
init --> darkjs["components/dark.js"]
vite["vite.config.js"] --> master
vite --> nunjucks["vite-plugin-nunjucks"]
scss --> cssout["dist/assets/compiled/css"]
appjs --> jsout["dist/assets/compiled/js/app.js"]
style vite fill:#f59e0b,color:#000
style nunjucks fill:#f59e0b,color:#000
style master fill:#f59e0b,color:#000
style cssout fill:#2d7d46,color:#fff
style jsout fill:#2d7d46,color:#fff
style init fill:#8b5cf6,color:#fff
style darkjs fill:#8b5cf6,color:#fff
style sidebarjs fill:#8b5cf6,color:#fff
style bs fill:#8b5cf6,color:#fff
%% fig: Peta modul Mazer dari halaman Nunjucks sampai hasil build
%% desc: Halaman di src mewarisi layouts/master.html yang memuat partial serta aset, lalu vite.config.js mengubahnya menjadi berkas di dist/assets/compiled.layouts/master.html memuat assets/scss/app.scss, tema gelap themes/dark/app-dark.scss, skrip initTheme.js di awal <body>, sidebar, dan footer partial src/layouts/master.html:1-317. Nilai isDev menentukan skrip mana yang dipakai: assets/js/app.js sebagai module saat development, assets/compiled/js/app.js pada hasil build src/layouts/master.html:35-398. Plugin vite-plugin-nunjucks mengisi variabel tiap halaman, termasuk sidebarItems, horizontalMenuItems, dan web_title, serta menyediakan filter containString dan startsWith vite.config.js:28-409. Hasil build ditulis ke dist dengan target chrome58 dan aset dikelompokkan ke assets/compiled/ vite.config.js:152-17510.
app.js mengganti elemen [data-feather] dengan ikon Feather, lalu mengimpor ./mazer src/assets/js/app.js:1-811. Modul mazer.js menempelkan bootstrap.bundle ke window.bootstrap dan mengimpor static/js/components/sidebar src/assets/js/mazer.js:1-812. Tema dibaca lebih awal oleh initTheme.js, yang hanya menyalin nilai localStorage ke atribut data-bs-theme pada elemen html src/assets/static/js/initTheme.js:1-513, sedangkan dark.js menyediakan toggleDarkTheme, setTheme, dan initTheme dengan kunci penyimpanan theme src/assets/static/js/components/dark.js:1-2414.
Fitur utama
| Kemampuan | Wujud di repository |
|---|---|
| Bootstrap 5 | "bootstrap": "5.3.3" package.json:32-6915 |
| Tanpa dependensi jQuery di inti | pernyataan README README.md:51 |
| Layout Nunjucks | blok stylesfirst, styles, content, js di master src/layouts/master.html:1-317 |
| Navigasi berbasis data | src/sidebar-items.json sebagai sumber menu sidebar src/sidebar-items.json:1-1016 |
| Mode gelap | atribut data-bs-theme dan localStorage src/assets/static/js/components/dark.js:1-2414 |
| Build dengan Vite | vite 5.0.2 dan vite-plugin-nunjucks package.json:70-8417 |
| Layout RTL | rtlcss pada dist/assets/compiled/css package.json:1-172 |
Ketergantungan pustaka
dependencies memuat pustaka UI yang dipakai halaman demo, antara lain bootstrap, apexcharts, chart.js, datatables.net-bs5, filepond, flatpickr, choices.js, parsleyjs, quill, summernote, tinymce, sweetalert2, toastify-js, jsvectormap, dan perfect-scrollbar package.json:32-6915. devDependencies berisi perkakas build dan rilis: vite, vite-plugin-nunjucks, vite-plugin-static-copy, sass, postcss, prettier, bestzip, dan release-it package.json:70-8417.
Setiap modul extension disalin ke assets/extensions lewat viteStaticCopy, dengan tanda true/false yang menentukan apakah yang disalin hanya isi folder dist atau seluruh paket vite.config.js:28-409. Stylesheet inti dirangkai di app.scss: variabel Mazer dimuat lebih dulu, lalu Bootstrap, bootstrap-icons, font, perfect-scrollbar, dan _mazer src/assets/scss/app.scss:1-2118.
Perlu diperhatikan
⚠️ Klaim "tanpa jQuery" berlaku untuk inti template, bukan untuk seluruh halaman demo. Halaman
table-datatable-jquery.htmlmemuatassets/extensions/jquery/jquery.min.jsdanassets/extensions/datatables.net/js/jquery.dataTables.min.jssrc/table-datatable-jquery.html:558-55919.
Template ini juga memiliki porta komunitas untuk berbagai framework, seperti Laravel, Nuxt, Django, Flask, Ruby on Rails, dan Next JS, yang dicantumkan di README README.md:106-12020.
Halaman berikutnya
- Arsitektur Repository memerinci peran tiap direktori di
src. - Instalasi dan Menjalankan Lokal membahas
npm run devdan Docker. - Alur Build Vite dan Nunjucks menjelaskan cara
vite.config.jsmerangkai halaman. - Katalog Halaman dan Ekstensi mendaftar halaman demo dan extension yang tersedia.