Kembali ke showcase

Multi-Page Site

Website multi-halaman dengan routing dan shared layout — blog, tentang, beranda.

multi-page routing layout
Buka Aplikasi

Aplikasi terbuka di tab baru dengan navigasi penuh.

multi-page/index.pjs
---
judul: "PromptJS Showcase"
---

Gaya:
    body
        font-family: 'Inter', system-ui, sans-serif
        margin: 0
        padding: 0
        background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%)
        color: #e0e0e0
        min-height: 100vh
    .site-header
        background: rgba(15,12,41,0.9)
        backdrop-filter: blur(20px)
        -webkit-backdrop-filter: blur(20px)
        border-bottom: 1px solid rgba(255,255,255,0.08)
        padding: 16px 32px
        display: flex
        align-items: center
        justify-content: space-between
        position: sticky
        top: 0
        z-index: 50
    .site-header h1
        margin: 0
        font-size: 1.2rem
        font-weight: 800
        background: linear-gradient(135deg, #7dd3fc, #d3b6e9)
        -webkit-background-clip: text
        -webkit-text-fill-color: transparent
        background-clip: text
    .site-header nav
        display: flex
        gap: 8px
    .site-header nav a
        color: #8888a0
        padding: 6px 16px
        border-radius: 8px
        font-size: 0.9rem
        font-weight: 500
        text-decoration: none
        transition: all 0.15s ease
        border-bottom: 2px solid transparent
    .site-header nav a:hover
        color: #e0e0e0
        background: rgba(255,255,255,0.05)
    .hero-section
        text-align: center
        padding: 80px 20px 60px
    .hero-section h1
        font-size: 2.8rem
        font-weight: 900
        margin: 0 0 12px
        letter-spacing: -1px
        background: linear-gradient(135deg, #7dd3fc, #d3b6e9, #86efac)
        -webkit-background-clip: text
        -webkit-text-fill-color: transparent
        background-clip: text
    .hero-section p
        font-size: 1.1rem
        color: #8888a0
        max-width: 500px
        margin: 0 auto 24px
        line-height: 1.6
    .cta-btn
        display: inline-block
        padding: 14px 36px
        background: linear-gradient(135deg, #7dd3fc, #4f9ef7)
        color: #0f172a
        border-radius: 12px
        font-weight: 700
        font-size: 1rem
        cursor: pointer
        border: none
        text-decoration: none
        transition: all 0.15s ease
        box-shadow: 0 4px 20px rgba(125,211,252,0.15)
    .cta-btn:hover
        transform: translateY(-2px)
        box-shadow: 0 8px 30px rgba(125,211,252,0.25)
    .features
        display: grid
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr))
        gap: 20px
        max-width: 800px
        margin: 0 auto
        padding: 0 20px 60px
    .feature-item
        background: rgba(255,255,255,0.04)
        border: 1px solid rgba(255,255,255,0.06)
        border-radius: 16px
        padding: 24px
        text-align: center
        backdrop-filter: blur(8px)
    .feature-item .icon
        font-size: 2rem
        margin-bottom: 8px
    .feature-item h3
        margin: 0 0 4px
        font-size: 1rem
        color: #e0e0e0
    .feature-item p
        margin: 0
        font-size: 0.8rem
        color: #64748b
    footer
        text-align: center
        padding: 24px
        border-top: 1px solid rgba(255,255,255,0.06)
        color: #475569
        font-size: 0.8rem

Halaman Beranda:
    Buat header.site-header:
        Buat h1: $judul
        Buat nav:
            Buat a:
                "Beranda"
                href = "index.html"
            Buat a:
                "Tentang"
                href = "tentang.html"
            Buat a:
                "Blog"
                href = "blog.html"

    Buat div.hero-section:
        Buat h1: "Tulis dengan Bahasa Kamu Pahami"
        Buat p: "PromptJS — DSL bilingual Indonesia-English yang compile ke vanilla JS. Zero dependencies, zero runtime overhead."
        Buat a.cta-btn:
            "🚀 Mulai Sekarang"
            href = "https://github.com/raarion/promptjs"

    Buat div.features:
        Buat div.feature-item:
            Buat div.icon: "🌐"
            Buat h3: "Bilingual"
            Buat p: "Keyword ID & EN"
        Buat div.feature-item:
            Buat div.icon: "⚡"
            Buat h3: "Reaktif"
            Buat p: "Proxy-based data"
        Buat div.feature-item:
            Buat div.icon: "📦"
            Buat h3: "Zero Deps"
            Buat p: "Vanilla JS output"

    Buat footer:
        "PromptJS v1.0 — MIT License © raarion"