init program-2026

This commit is contained in:
2026-08-18 14:05:11 +07:00
commit 387dfb1676
22 changed files with 2180 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
{
"name": "landing",
"image": "mcr.microsoft.com/devcontainers/javascript-node:20",
"postCreateCommand": "npm install",
"forwardPorts": [3000],
}

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules/

15
Dockerfile Normal file
View File

@@ -0,0 +1,15 @@
# --- build stage ---
FROM node:20-alpine AS build
WORKDIR /app
COPY package.json ./
RUN npm install
COPY src ./src
COPY scripts ./scripts
COPY program-2026 ./program-2026
RUN sh scripts/build.sh program-2026
# --- serve stage ---
FROM caddy:2-alpine
COPY --from=build /app/program-2026 /srv/sites/program-2026
COPY app.Caddyfile /etc/caddy/Caddyfile

11
app.Caddyfile Normal file
View File

@@ -0,0 +1,11 @@
:80 {
root * /srv/sites/{$SITE_DIR}
file_server
header X-Robots-Tag "index, follow, max-image-preview:large"
@assets path /assets/*
header @assets Cache-Control "public, max-age=31536000, immutable"
header /index.html Cache-Control "no-cache"
}

24
docker-compose.yml Normal file
View File

@@ -0,0 +1,24 @@
services:
edge:
image: caddy:2-alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./edge.Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
depends_on:
- program-2026
restart: unless-stopped
program-2026:
image: landing-sites:latest
build: .
environment:
- SITE_DIR=program-2026
restart: unless-stopped
volumes:
caddy_data:
caddy_config:

3
edge.Caddyfile Normal file
View File

@@ -0,0 +1,3 @@
kuliah-hybrid-tangerang.utpas.id {
reverse_proxy program-2026:80
}

1128
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

12
package.json Normal file
View File

@@ -0,0 +1,12 @@
{
"name": "landing",
"private": true,
"devDependencies": {
"@tailwindcss/cli": "^4.0.0",
"tailwindcss": "^4.0.0"
},
"scripts": {
"dev": "sh scripts/dev.sh",
"build": "sh scripts/build.sh"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

View File

@@ -0,0 +1,8 @@
:root {
--primary: #4a1a7a;
--secondary: #fdfdfd;
--accent: #ffd700;
--foreground: #333;
--background: #fdfdfd;
--muted: #777;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 522 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

File diff suppressed because one or more lines are too long

747
program-2026/index.html Normal file
View File

@@ -0,0 +1,747 @@
<!doctype html>
<html lang="id" class="scrollbar-none scroll-smooth">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="robots" content="index, follow, max-image-preview:large" />
<title>
Kuliah Hybrid Tangerang, Bebas Uang Kuliah 2 Tahun | UTPAS
</title>
<meta
name="description"
content="Kuliah hybrid di Tangerang dengan bebas uang kuliah selama 4 semester terakhir. Program Beasiswa Kemitraan Kelurahan Universitas Utpadaka Swastika (UTPAS)."
/>
<link rel="canonical" href="https://kuliah-hirid-tangerang.utpas.id/" />
<meta property="og:type" content="website" />
<meta property="og:locale" content="id_ID" />
<meta
property="og:title"
content="Kuliah Hybrid Tangerang, Bebas Uang Kuliah 2 Tahun | UTPAS"
/>
<meta
property="og:description"
content="Kuliah hybrid fleksibel di Tangerang plus bebas uang kuliah 4 semester terakhir lewat Beasiswa Kemitraan Kelurahan UTPAS."
/>
<meta
property="og:image"
content="https://kuliah-hybrid-tangerang.utpas.id/assets/hero-image.png"
/>
<meta
property="og:url"
content="https://kuliah-hybrid-tangerang.utpas.id/"
/>
<meta name="twitter:card" content="summary_large_image" />
<link rel="icon" type="image/png" href="./assets/favicon.png" />
<link
rel="apple-touch-icon"
sizes="76x76"
href="./assets/favicon.png"
/>
<link rel="stylesheet" href="./assets/styles.css" />
<link rel="stylesheet" href="./assets/index.css" />
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollegeOrUniversity",
"name": "Universitas Utpadaka Swastika (UTPAS)",
"alternateName": "d/h Perguruan Tinggi LEPISI",
"url": "https://kuliah-hybrid-tangerang.utpas.id/",
"description": "Universitas Utpadaka Swastika menawarkan program kuliah hybrid di Tangerang dengan Beasiswa Kemitraan Kelurahan, bebas uang kuliah 4 semester terakhir.",
"address": {
"@type": "PostalAddress",
"streetAddress": "Metropolis Town Square Lt. 2, Jl. Hartono Raya Modern, Kel. Kelapa Indah",
"addressLocality": "Kota Tangerang",
"postalCode": "15117",
"addressRegion": "Banten",
"addressCountry": "ID"
},
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Program Studi Beasiswa Kemitraan Kelurahan",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Course",
"name": "S1 Manajemen"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Course",
"name": "S1 Akuntansi"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Course",
"name": "S1 Hukum"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Course",
"name": "S1 Sistem Informasi"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Course",
"name": "S1 Teknologi Informasi"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Course",
"name": "S1 Desain Komunikasi Visual"
}
}
]
}
}
</script>
</head>
<body class="antialiased bg-background">
<div class="py-4 lg:px-32 bg-background">
<img
src="./assets/logo-utpas-color-h-dark.png"
alt="Logo Universitas Utpadaka Swastika (UTPAS) Tangerang"
width="200"
class="mx-auto lg:mx-0"
/>
</div>
<section
class="bg-linear-to-r from-primary to-[#6B2BA8] grid lg:grid-cols-2 relative after:content-[''] after:block after:z-10 after:bg-linear-to-r after:from-primary after:to-[#6B2BA8] after:p-4 after:rounded-b-full after:w-full after:absolute after:-bottom-8 after:left-0"
>
<div
class="lg:order-last lg:py-16 lg:pr-32 rounded-b-4xl lg:rounded-none h-64 lg:h-auto bg-secondary lg:bg-transparent overflow-hidden relative"
>
<div
role="img"
aria-label="Mahasiswa UTPAS menjalani kuliah hybrid di Tangerang"
class="h-full bg-[url('./hero-image.png')] bg-cover bg-center brightness-80 lg:rounded-4xl"
></div>
</div>
<div class="p-8 lg:py-16 lg:pl-32 space-y-8">
<h1
class="text-5xl/14 text-secondary font-black tracking-tight"
>
<span
class="relative inline-block before:absolute before:-inset-1 before:block before:bg-accent"
>
<span
class="relative bg-clip-text text-transparent bg-linear-to-r from-primary to-[#6B2BA8]"
>
Kuliah&nbsp;Hybrid
</span>
</span>
<span>Plus Bebas Uang&nbsp;Kuliah?</span>
</h1>
<p class="text-secondary">
Wujudkan kuliah hybrid di Tangerang dengan fleksibilitas
penuh dan pembebasan uang kuliah pada empat semester
terakhir melalui Beasiswa Tahun Akademik 2026/2027 UTPAS.
</p>
<a
href="https://pendaftaran.utpas.ac.id/daftar?status=B&program=KRY&informasi=website,brosur"
role="button"
class="w-full lg:w-auto px-8 py-4 uppercase font-bold rounded-full bg-accent text-primary shadow-md shadow-accent/60 hover:brightness-105"
>
Daftar Sekarang
</a>
</div>
</section>
<section
class="pt-16 bg-background relative after:content-[''] after:block after:z-10 after:bg-background after:p-4 after:rounded-b-full after:w-full after:absolute after:-bottom-8 after:left-0"
>
<div class="p-8 lg:p-32 lg:py-16 space-y-8">
<h2
class="text-4xl text-primary font-bold tracking-tight text-center"
>
Tentang Program Kuliah Hybrid Tangerang
</h2>
<div class="grid gap-8">
<div class="space-y-8">
<p class="text-foreground text-center">
Program Beasiswa Tahun Akademik 2026/2027
Universitas Utpadaka Swastika (UTPAS) menghadirkan
kuliah hybrid di Tangerang dengan sistem perkuliahan
fleksibel, serta pembebasan biaya pendidikan pada
dua tahun terakhir bagi calon mahasiswa terpilih
yang berdomisili di kelurahan mitra dan memenuhi
persyaratan akademik serta administratif.
</p>
</div>
</div>
</div>
</section>
<section
class="pt-16 bg-primary relative after:content-[''] after:block after:z-10 after:bg-primary after:p-4 after:rounded-b-full after:w-full after:absolute after:-bottom-8 after:left-0"
>
<div class="p-8 lg:p-32 lg:py-16 space-y-8">
<div class="space-y-4">
<h2
class="text-4xl text-secondary font-bold tracking-tight text-center"
>
Apa yang kamu dapat?
</h2>
<p class="text-secondary text-center">
Program beasiswa ini dirancang untuk mendukung
kelancaran studi para penerima beasiswa
</p>
</div>
<div
class="overflow-x-auto scroll-smooth scrollbar-none grid grid-cols-[80%_80%_80%_80%] lg:grid-cols-4 gap-4"
>
<div class="bg-secondary p-8 rounded-4xl space-y-4">
<div
class="rounded-full bg-accent text-primary font-bold size-12 flex justify-center items-center"
>
01
</div>
<p class="text-primary font-bold">
Sistem Hybrid Fleksibel
</p>
<p class="text-foreground">
Perkuliahan dengan sistem hybrid untuk memudahkan
mahasiswa menghadiri kuliah dari berbagai tempat di
Tangerang maupun sekitarnya.
</p>
</div>
<div class="bg-secondary p-8 rounded-4xl space-y-4">
<div
class="rounded-full bg-accent text-primary font-bold size-12 flex justify-center items-center"
>
02
</div>
<p class="text-primary font-bold">Bebas Uang Kuliah</p>
<p class="text-foreground">
Pembebasan uang kuliah selama empat semester
terakhir sesuai program studi.
</p>
</div>
<div class="bg-secondary p-8 rounded-4xl space-y-4">
<div
class="rounded-full bg-accent text-primary font-bold size-12 flex justify-center items-center"
>
03
</div>
<p class="text-primary font-bold">Dosen Praktisi</p>
<p class="text-foreground">
Pengajaran kuliah oleh dosen praktisi, sehingga
materi yang diajarkan sesuai dengan kebutuhan
industri.
</p>
</div>
<div class="bg-secondary p-8 rounded-4xl space-y-4">
<div
class="rounded-full bg-accent text-primary font-bold size-12 flex justify-center items-center"
>
04
</div>
<p class="text-primary font-bold">Magang Luar Negeri</p>
<p class="text-foreground">
Kesempatan untuk magang di perusahaan luar negeri.
</p>
</div>
</div>
</div>
</section>
<section
class="pt-16 bg-background relative lg:grid lg:grid-cols-2 after:content-[''] after:block after:z-10 after:bg-background after:p-4 after:rounded-b-full after:w-full after:absolute after:-bottom-8 after:left-0"
>
<div
class="lg:order-last m-8 mb-0 lg:m-0 lg:py-16 lg:pr-32 rounded-4xl lg:rounded-none h-64 lg:h-auto bg-secondary lg:bg-transparent overflow-hidden relative"
>
<div
role="img"
aria-label="Persyaratan peserta Beasiswa Kemitraan Kelurahan UTPAS Tangerang"
class="h-full bg-[url('./persyaratan-peserta-hero-image.png')] bg-center bg-cover brightness-80 lg:rounded-4xl"
></div>
</div>
<div class="p-8 lg:p-32 lg:py-16">
<div class="space-y-8">
<div class="space-y-4">
<h2
class="text-4xl text-primary font-bold tracking-tight"
>
Bagaimana caranya?
</h2>
<p class="text-foreground">
Syarat untuk mengikuti program kuliah hybrid ini
</p>
</div>
<div class="grid grid-cols-[3rem_1fr] gap-y-2">
<div
class="size-8 rounded-full flex justify-center items-center bg-primary text-accent font-bold"
>
1
</div>
<p class="text-foreground">
Calon mahasiswa adalah Warga Negara Indonesia (WNI),
dibuktikan dengan KTP/KK.
</p>
<div
class="size-8 rounded-full flex justify-center items-center bg-primary text-accent font-bold"
>
2
</div>
<p class="text-foreground">
Lulusan SMA/SMK/MA atau sederajat sesuai ketentuan
penerimaan mahasiswa baru.
</p>
<div
class="size-8 rounded-full flex justify-center items-center bg-primary text-accent font-bold"
>
3
</div>
<p class="text-foreground">
Memenuhi kelulusan seleksi masuk Universitas
Utpadaka Swastika.
</p>
<div
class="size-8 rounded-full flex justify-center items-center bg-primary text-accent font-bold"
>
4
</div>
<p class="text-foreground">
Menandatangani pakta integritas dan pernyataan
kesediaan mengikuti ketentuan program.
</p>
</div>
<a
href="https://pendaftaran.utpas.ac.id/daftar?status=B&program=KRY&informasi=website,brosur"
role="button"
class="w-full lg:w-auto px-8 py-4 uppercase font-bold rounded-full bg-accent text-primary shadow-md shadow-accent/60 hover:brightness-105"
>
Mulai Pendaftaran
</a>
</div>
</div>
</section>
<section
class="pt-16 bg-primary relative after:content-[''] after:block after:z-10 after:bg-primary after:p-4 after:rounded-b-full after:w-full after:absolute after:-bottom-8 after:left-0"
>
<div class="p-8 lg:p-32 lg:py-16">
<div class="space-y-8">
<div class="space-y-4">
<h2
class="text-4xl text-secondary font-bold tracking-tight"
>
Berapa besaran uang kuliah yang dibebaskan?
</h2>
<p class="text-secondary">
Biaya yang dibebaskan adalah uang kuliah pada empat
semester terakhir sesuai dengan program studi
pilihan
</p>
</div>
<div class="grid gap-2 lg:grid-cols-3">
<div class="rounded-lg px-6 py-4 bg-background">
<div
class="flex gap-4 items-center divide-x divide-foreground/20"
>
<div class="flex-1 space-y-0">
<p
class="font-bold text-sm text-foreground"
>
Manajemen
</p>
<span
class="inline-block px-3 py-1 bg-primary/10 text-primary rounded-sm text-xs"
>
S1
</span>
</div>
<div class="space-y-0">
<p
class="text-xs text-foreground uppercase"
>
Biaya Dibebaskan
</p>
<p class="font-bold text-lg text-primary">
Rp550.000
</p>
<p class="text-xs text-foreground">
/ bulan
</p>
</div>
</div>
</div>
<div class="rounded-lg px-6 py-4 bg-background">
<div
class="flex gap-4 items-center divide-x divide-foreground/20"
>
<div class="flex-1 space-y-0">
<p
class="font-bold text-sm text-foreground"
>
Akuntansi
</p>
<span
class="inline-block px-3 py-1 bg-primary/10 text-primary rounded-sm text-xs"
>
S1
</span>
</div>
<div class="space-y-0">
<p
class="text-xs text-foreground uppercase"
>
Biaya Dibebaskan
</p>
<p class="font-bold text-lg text-primary">
Rp550.000
</p>
<p class="text-xs text-foreground">
/ bulan
</p>
</div>
</div>
</div>
<div class="rounded-lg px-6 py-4 bg-background">
<div
class="flex gap-4 items-center divide-x divide-foreground/20"
>
<div class="flex-1 space-y-0">
<p
class="font-bold text-sm text-foreground"
>
Hukum
</p>
<span
class="inline-block px-3 py-1 bg-primary/10 text-primary rounded-sm text-xs"
>
S1
</span>
</div>
<div class="space-y-0">
<p
class="text-xs text-foreground uppercase"
>
Biaya Dibebaskan
</p>
<p class="font-bold text-lg text-primary">
Rp550.000
</p>
<p class="text-xs text-foreground">
/ bulan
</p>
</div>
</div>
</div>
<div class="rounded-lg px-6 py-4 bg-background">
<div
class="flex gap-4 items-center divide-x divide-foreground/20"
>
<div class="flex-1 space-y-0">
<p
class="font-bold text-sm text-foreground"
>
Sistem Informasi
</p>
<span
class="inline-block px-3 py-1 bg-primary/10 text-primary rounded-sm text-xs"
>
S1
</span>
</div>
<div class="space-y-0">
<p
class="text-xs text-foreground uppercase"
>
Biaya Dibebaskan
</p>
<p class="font-bold text-lg text-primary">
Rp650.000
</p>
<p class="text-xs text-foreground">
/ bulan
</p>
</div>
</div>
</div>
<div class="rounded-lg px-6 py-4 bg-background">
<div
class="flex gap-4 items-center divide-x divide-foreground/20"
>
<div class="flex-1 space-y-0">
<p
class="font-bold text-sm text-foreground"
>
Teknologi Informasi
</p>
<span
class="inline-block px-3 py-1 bg-primary/10 text-primary rounded-sm text-xs"
>
S1
</span>
</div>
<div class="space-y-0">
<p
class="text-xs text-foreground uppercase"
>
Biaya Dibebaskan
</p>
<p class="font-bold text-lg text-primary">
Rp650.000
</p>
<p class="text-xs text-foreground">
/ bulan
</p>
</div>
</div>
</div>
<div class="rounded-lg px-6 py-4 bg-background">
<div
class="flex gap-4 items-center divide-x divide-foreground/20"
>
<div class="flex-1 space-y-0">
<p
class="font-bold text-sm text-foreground"
>
Desain Komunikasi Visual
</p>
<span
class="inline-block px-3 py-1 bg-primary/10 text-primary rounded-sm text-xs"
>
S1
</span>
</div>
<div class="space-y-0">
<p
class="text-xs text-foreground uppercase"
>
Biaya Dibebaskan
</p>
<p class="font-bold text-lg text-primary">
Rp750.000
</p>
<p class="text-xs text-foreground">
/ bulan
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<section
class="pt-16 bg-background relative after:content-[''] after:block after:z-10 after:bg-background after:p-4 after:rounded-b-full after:w-full after:absolute after:-bottom-8 after:left-0"
>
<div class="p-8 lg:p-32 lg:py-16">
<div class="space-y-8">
<div class="space-y-4">
<h2
class="text-4xl text-primary font-bold tracking-tight"
>
Biaya yang tidak termasuk dalam beasiswa
</h2>
<p class="text-foreground">
Biaya operasional & akademik pribadi yang tidak
termasuk dalam skema program beasiswa
</p>
</div>
<div class="grid gap-2 lg:grid-cols-4">
<div
class="flex items-center gap-2 p-4 shadow-sm rounded-lg"
>
<div
class="aspect-square p-2 bg-primary/5 rounded-lg"
>
&#x1F45A;
</div>
<p class="flex-1 font-medium text-sm">
Pendaftaran dan Almamater
</p>
</div>
<div
class="flex items-center gap-2 p-4 shadow-sm rounded-lg"
>
<div
class="aspect-square p-2 bg-primary/5 rounded-lg"
>
&#x1F5D3;
</div>
<p class="flex-1 font-medium text-sm">
Daftar Ulang
</p>
</div>
<div
class="flex items-center gap-2 p-4 shadow-sm rounded-lg"
>
<div
class="aspect-square p-2 bg-primary/5 rounded-lg"
>
&#x270F;
</div>
<p class="flex-1 font-medium text-sm">
Ujian (UTS dan UAS)
</p>
</div>
<div
class="flex items-center gap-2 p-4 shadow-sm rounded-lg"
>
<div
class="aspect-square p-2 bg-primary/5 rounded-lg"
>
&#x1F4BC;
</div>
<p class="flex-1 font-medium text-sm">
KKN (Kuliah Kerja Nyata)
</p>
</div>
<div
class="flex items-center gap-2 p-4 shadow-sm rounded-lg"
>
<div
class="aspect-square p-2 bg-primary/5 rounded-lg"
>
&#x1F393;
</div>
<p class="flex-1 font-medium text-sm">
Skripsi / Tugas Akhir
</p>
</div>
<div
class="flex items-center gap-2 p-4 shadow-sm rounded-lg"
>
<div
class="aspect-square p-2 bg-primary/5 rounded-lg"
>
&#x1F3C5;
</div>
<p class="flex-1 font-medium text-sm">
Sertifikasi Kompetensi
</p>
</div>
<div
class="flex items-center gap-2 p-4 shadow-sm rounded-lg"
>
<div
class="aspect-square p-2 bg-primary/5 rounded-lg"
>
&#x1F399;
</div>
<p class="flex-1 font-medium text-sm">
Seminar & Workshop
</p>
</div>
<div
class="flex items-center gap-2 p-4 shadow-sm rounded-lg"
>
<div
class="aspect-square p-2 bg-primary/5 rounded-lg"
>
&#x1F4D6;
</div>
<p class="flex-1 font-medium text-sm">
Kegiatan Akademik Lain
</p>
</div>
</div>
</div>
</div>
</section>
<section
class="pt-16 bg-primary relative after:content-[''] after:block after:z-10 after:bg-primary after:p-4 after:rounded-b-full after:w-full after:absolute after:-bottom-8 after:left-0"
>
<div class="p-8 lg:p-32 lg:py-16 space-y-8">
<div class="space-y-4">
<h2
class="text-4xl text-secondary font-bold tracking-tight text-center"
>
Penting untuk diketahui
</h2>
<p class="text-secondary text-center">
Ketentuan yang wajib dipatuhi oleh seluruh penerima
beasiswa aktif
</p>
</div>
<div
class="overflow-x-auto scroll-smooth scrollbar-none grid grid-cols-[80%_80%_80%] lg:grid-cols-3 gap-4"
>
<div class="bg-secondary p-8 rounded-4xl space-y-4">
<div
class="rounded-full bg-primary text-accent font-bold size-12 flex justify-center items-center"
>
A
</div>
<p class="text-primary font-bold">
Satu Jenis Beasiswa
</p>
<p class="text-foreground">
Penerima tidak diperkenankan menerima beasiswa dari
program internal lain.
</p>
</div>
<div class="bg-secondary p-8 rounded-4xl space-y-4">
<div
class="rounded-full bg-primary text-accent font-bold size-12 flex justify-center items-center"
>
B
</div>
<p class="text-primary font-bold">
Kontribusi PMB Aktif
</p>
<p class="text-foreground">
Wajib berkontribusi nyata dalam kegiatan Penerimaan
Mahasiswa Baru dengan membawa minimal dua calon
mahasiswa baru selama menempuh perkuliahan.
</p>
</div>
<div class="bg-secondary p-8 rounded-4xl space-y-4">
<div
class="rounded-full bg-primary text-accent font-bold size-12 flex justify-center items-center"
>
C
</div>
<p class="text-primary font-bold">Prestasi Akademik</p>
<p class="text-foreground">
Wajib memenuhi IPK minimal 2.75 dan tidak pernah
mengambil cuti akademik.
</p>
</div>
</div>
</div>
</section>
<section class="pt-32 pb-16 bg-background relative">
<div
class="p-8 flex flex-col items-center space-y-8 lg:p-32 lg:py-16"
>
<div class="space-y-4">
<img
src="./assets/logo-utpas-color-dark.png"
alt="Logo Universitas Utpadaka Swastika (UTPAS) Tangerang"
width="120"
class="mx-auto mb-8"
/>
<h2
class="text-4xl text-primary font-bold tracking-tight text-center"
>
Daftar Kuliah Hybrid di UTPAS Tangerang Sekarang
</h2>
</div>
<a
href="https://pendaftaran.utpas.ac.id/daftar?status=B&program=KRY&informasi=website,brosur"
role="button"
class="px-8 py-4 uppercase font-bold rounded-full bg-accent text-primary shadow-md shadow-accent/60 hover:brightness-105"
>
Mulai Pendaftaran
</a>
</div>
</section>
</body>
</html>

16
scripts/build.sh Normal file
View File

@@ -0,0 +1,16 @@
#!/bin/sh
set -e
SITE="$1"
if [ -z "$SITE" ]; then
echo "Usage: npm run build -- <site-folder> (e.g. npm run build -- folder-1)"
exit 1
fi
if [ ! -d "$SITE" ]; then
echo "Error: '$SITE' is not a folder in this project."
exit 1
fi
npx tailwindcss -i ./src/input.css -o "./$SITE/assets/styles.css" --minify
echo "Built $SITE"

15
scripts/dev.sh Normal file
View File

@@ -0,0 +1,15 @@
#!/bin/sh
set -e
SITE="$1"
if [ -z "$SITE" ]; then
echo "Usage: npm run dev -- <site-folder> (e.g. npm run dev -- folder-1)"
exit 1
fi
if [ ! -d "$SITE" ]; then
echo "Error: '$SITE' is not a folder in this project."
exit 1
fi
npx tailwindcss -i ./src/input.css -o "./$SITE/assets/styles.css" --watch

11
src/input.css Normal file
View File

@@ -0,0 +1,11 @@
@import "tailwindcss";
@theme {
--color-foreground: var(--foreground);
--color-primary: var(--primary);
--color-secondary: var(--secondary);
--color-accent: var(--accent);
--color-foreground: var(--foreground);
--color-background: var(--background);
--color-muted: var(--muted);
}