Event & Webinar Template Guide
This guide shows you how to turn the template into your own website and publish it. No coding skills needed: follow the steps one at a time. Baca dalam bahasa Indonesia.
- What is in the package
- Indonesian words in the code
- Getting ready: an app to edit with
- Quick start
- WhatsApp number
- Replacing the text
- Replacing the photos
- Two languages
- Pages, look and dark theme
- Date, countdown & seats
- Speakers, schedule & sponsors
- Tickets
- Registration form
- Venue and calendar
- Changing the colours
- Publishing your website
- How the link looks when shared
- Checklist before publishing
- If something goes wrong
1. What is in the package
| File / folder | What it is |
|---|---|
index.html | Your website. All text, layout and settings live in this one file. |
foto/ | Where your photos go (foto is Indonesian for photo). |
GUIDE.html | This guide. |
PANDUAN.html | The same guide in Indonesian. |
LICENSE.txt / LISENSI.txt | The licence, in English and Indonesian. |
Keep the original ZIP. If an edit breaks the layout, you can always start again from the original file.
To look at your website at any time, double-click index.html and it opens in your browser. After editing and saving, press Refresh in the browser to see the change.
2. Indonesian words in the code
UpVire is an Indonesian studio, so the names inside the code are Indonesian. You never need to rename them, and every setting has an English comment next to it. The words you will meet most:
| In the code | Meaning |
|---|---|
PENGATURAN | Settings. The block at the bottom of index.html where you fill in your details. |
nomorWhatsApp | WhatsApp number |
--utama, --utama-gelap | Primary colour, and its darker shade |
foto | Photo (also the photo folder) |
bahasa | Language |
tombolBahasa | Language switch (the ID/EN buttons) |
tanggalEvent, durasiJam | Event date, and length in hours |
judulKalender, lokasiKalender | Title and location for Google Calendar |
pendaftaranDibuka, sisaKursi | Registration open, and seats left |
pembicara, tiket, unggulan | Speaker, ticket, and featured (the highlighted ticket) |
jeda, utama-sesi | Break, and main session (schedule highlights) |
halamanTerpisah | Separate pages (one per menu item) |
tombolTema, data-tema | Theme button, and the default theme: otomatis = automatic, terang = light, gelap = dark |
Comments in the file are written in both languages, Indonesian first and English on the next line.
3. Getting ready: an app to edit with
index.html is a plain text file. You need an app that edits text as-is, not a word processor like Microsoft Word.
Recommended: Visual Studio Code (free)
Download it from code.visualstudio.com (Windows, Mac and Linux). Open the app, choose File → Open Folder, and pick the template folder. Click index.html in the list on the left to edit it.
Without installing anything
- Windows: right-click
index.html→ Open with → Notepad. - Mac (TextEdit): open TextEdit → TextEdit → Settings (or Preferences) → Open and Save tab → tick "Display HTML files as HTML code instead of formatted text". Without this setting TextEdit damages the file when saving.
Golden rule: change only the text between the < and > signs, never the signs themselves. In <h3>Title</h3>, only the word Title is yours to change.
Finding text
Press Ctrl+F (Windows) or Cmd+F (Mac) in your editor and type a word you see on the website. The editor jumps straight to it. This is the fastest way to find anything you want to change.
4. Quick start
If you are in a hurry, work through this list. Each step is explained in full further down.
- Unzip the file and double-click
index.htmlto see the starting point. - Fill in your WhatsApp number, with country code, under
PENGATURAN. - Choose the default language, and whether visitors can switch.
- Replace the name and sample text with your own.
- Put your photos in the
fotofolder and link them. - Fill in the event date, seats left and registration status in
PENGATURAN. - Replace the speakers, schedule and ticket prices.
- Match the colours to your brand.
- Go through the checklist, then upload to Netlify or your web host.
Allow about 1–2 hours if you are new to this, most of it spent preparing photos and writing your own text.
5. WhatsApp number
This is the most important step. Without a number, the ticket buttons and the registration form do not work yet.
- Open
index.htmland search forPENGATURAN(Indonesian for "settings"). It is near the bottom of the file. - Find this line:
nomorWhatsApp: '', - Type your number between the two quote marks, starting with your country code:
Spaces, dashes and thenomorWhatsApp: '+44 7700 900123',+are fine: only the digits are used. - Save, then refresh the browser. Click one of the WhatsApp buttons: WhatsApp opens with the message already typed.
Always include the country code (for example +1 USA, +44 UK, +61 Australia, +65 Singapore). A number that starts with 0 is read as an Indonesian number (+62), so 07700 900123 would reach the wrong person.
While the number is empty, the buttons and form only show a reminder. This is on purpose, so no visitor messages a wrong number.
Use a number that has WhatsApp or WhatsApp Business installed. WhatsApp is free in almost every country; visitors without it can still use your email, which is shown next to the form.
6. Replacing the text
Every name, number, story and project in this template is an example. The easiest way to replace them: search for the text you see on the website (for example Kreasi Nusantara) with Ctrl+F / Cmd+F, then replace it.
Must replace
| Find | Replace with |
|---|---|
Kreasi Nusantara and Kreasi <span>Nusantara</span> | Your event name. It appears in the logo, headline, calendar and footer. Use Replace in your editor (Ctrl+H / Cmd+Option+F) to change them all at once. |
<title> | The title in the browser tab and in Google results. The English version is in data-en="..." on the same line. |
name="description" | The short sentence under the title in Google results. English version in data-en-content="...". |
| Every text | Written twice: <span lang="id"> for Indonesian and <span lang="en"> for English. See Two languages. |
Saturday, 15 May 2027 | The date as shown. It appears in several places. The countdown date is set separately, see Date, countdown & seats. |
Gedung Kreatif | Your venue name and address. The Google Maps link is changed separately, see Venue and calendar. |
| Speakers, schedule and tickets | Your own event. See Speakers, schedule & sponsors and Tickets. |
The SPONSOR section | Real sponsors with their permission, or delete the whole section. |
Never publish made-up reviews or numbers. If you do not have real ones yet, remove that part until you do.
Removing a section
Each section starts with a comment such as <!-- ── SPONSOR ── -->. To remove it, delete from the <section below that comment to its matching </section>. Also remove its menu links (search for href="#sponsor").
7. Replacing the photos
The coloured boxes with an icon are photo placeholders. The template ships without photos on purpose: photos of your speakers and your event are far more convincing than stock images.
Steps
- Save your photos in the
fotofolder. Use lowercase names without spaces, for examplespeaker-1.jpg. - In
index.html, find the photo box you want to replace. It looks like this:<div class="foto lebar"> <svg ...>...</svg> </div> - Replace the whole
<svg ...>...</svg>part with:
Fill in<img src="foto/speaker-1.jpg" alt="Short description of the photo" />altwith a short description. Google and screen readers use it.
The photo is cropped neatly to the shape of its box automatically.
Photo size
- About 1200–1600 pixels wide is plenty.
- Keep each photo under 300 KB so the site loads fast on phones. Compress for free at squoosh.app.
- Phone photos are usually 3–5 MB. Always compress them first.
- Speaker photos are portrait-shaped. Ask each speaker for a good-quality headshot and permission to use it.
8. Two languages
This template shows in Indonesian and English. Every text is written twice, side by side:
<span lang="id">Layanan</span><span lang="en">Services</span>
Only the active language is shown. Edit both whenever you change a text, and never change the lang="id" and lang="en" markers themselves.
Default language and the ID/EN switch
- The default language is set on the
<html lang="id">line at the top of the file. Change it to<html lang="en">so new visitors see English first. - The ID/EN switch in the navigation is controlled by
tombolBahasa: trueinPENGATURAN. A visitor's choice is remembered in their browser. - Direct link: add
?lang=en(or?lang=id) to the end of your address, e.g.yourbusiness.com/?lang=en, to open a specific language. Handy in proposals and social profiles.
English only?
This is the most common setup outside Indonesia:
- Change the top line to
<html lang="en">. - Set
tombolBahasa: falseinPENGATURAN. The switch disappears. - Edit only the
lang="en"texts and thedata-en...attributes. The Indonesian texts stay in the file but never show, so you can leave them as they are.
You can use any other second language the same way: write it in the lang="id" slots and relabel the switch button (the ID text inside id="pilih-bahasa").
Text inside attributes
Some text is not shown directly on the page, so its English version is an extra attribute starting with data-en:
| Example | Used for |
|---|---|
data-wa="Halo..." data-en-wa="Hi..." | The pre-typed WhatsApp message. |
data-label="Nama" data-en-label="Name" | Field names in the form's message. |
<option data-en="Web development"> | Choices in the form. |
placeholder and data-en-placeholder | The hint text in the project box. |
<title data-en="..."> | The browser tab title. |
The Google Calendar title and location also have two versions in PENGATURAN, see Date, countdown & seats. Ticket prices are in rupiah for Indonesian and US dollars for English: set both to your real prices, in your own currency.
9. Pages, look and dark theme
The menu at the top does not just scroll: each menu item opens its own page, with its own link and a smooth transition. It is still one index.html file, so everything you edit stays in one place.
How the pages are made
- Every link in the top menu, e.g.
<a href="#tentang">, becomes a page made of the section with thatid. - A section that is not in the menu joins the page before it. Everything before the first menu section is the Home page.
- The Home page lists every page as a card (Explore), and each page ends with a Next card. Both are made automatically from the menu and each section's
<h2>heading. - Each page has its own address, e.g.
yourbusiness.com/#tentang. Share it on social media or in a WhatsApp message to open that page directly.
Adding or removing a page
- To add one: give a section an
id(lowercase, no spaces) and add a link to it in the menu:<a href="#yourid">Name</a>. - To remove one: delete its link from the menu (the section then joins the page before it), or delete the section and its link.
One long page instead
Set halamanTerpisah: false in PENGATURAN. The menu then scrolls down one long page, as on a classic one-page website.
Light and dark theme
- The default theme is set on the first line of the page:
<html lang="id" data-tema="otomatis">. Useotomatisto follow the visitor's phone or computer setting,terangfor light, orgelapfor dark. - The sun/moon button lets visitors switch, and remembers their choice. Hide it with
tombolTema: falseinPENGATURAN; the page then always uses the default theme. - Your colours (
--utama) work in both themes. The dark theme’s colours are in the CSS block markedTema gelap / Dark theme, near the end of the styles.
The glass look and the animations
The frosted-glass cards, the soft moving colour in the background and the animations are in the CSS block marked KACA (glass). You do not need to change anything there. Two values you may want to tweak, at the top of that block:
| Setting | What it does |
|---|---|
--kaca-blur: 18px; | How frosted the glass is. Lower is clearer. |
--kaca: rgba(255, 255, 255, 0.56); | How white the glass is. The last number goes from 0 (clear) to 1 (solid). |
Visitors who turned on Reduce motion on their device get the same pages and themes without the animations.
10. Date, countdown & seats
The countdown, the calendar button and the seats badge read PENGATURAN:
tanggalEvent: '2027-05-15T08:30:00+07:00',
durasiJam: 8.5,
judulKalender: { id: 'Kreasi Nusantara Summit 2027', en: 'Kreasi Nusantara Summit 2027' },
lokasiKalender: { id: 'Gedung Kreatif, Bandung', en: 'Gedung Kreatif, Bandung, Indonesia' },
pendaftaranDibuka: true,
sisaKursi: 120
Writing the date
The order is YEAR-MONTH-DAY, the letter T, HOUR:MINUTE:00 (24-hour clock), then your time zone offset from UTC. Month and day always have two digits.
| Time zone | Write at the end |
|---|---|
| UK (winter / summer) | +00:00 / +01:00 |
| Central Europe (winter / summer) | +01:00 / +02:00 |
| US Eastern (winter / summer) | -05:00 / -04:00 |
| US Pacific (winter / summer) | -08:00 / -07:00 |
| Singapore, Malaysia, Philippines | +08:00 |
| Sydney (winter / summer) | +10:00 / +11:00 |
| Jakarta (WIB) | +07:00 |
The date and time shown on the page are ordinary text you change yourself. durasiJam sets the end time in attendees' calendars (decimals are fine, e.g. 1.5). judulKalender and lokasiKalender are written per language and follow the language the visitor picked.
Seats and registration status
pendaftaranDibuka: falseshows a red dot "Registration closed".sisaKursi: 120shows "Registration open · 120 seats left".0becomes "Sold out · ask about the waiting list".nullhides the count.
Once the event starts, the countdown turns into "The event is under way or has ended" automatically. For an archived event, change the headline and close registration.
11. Speakers, schedule & sponsors
- Speakers: one
<div class="pembicara">block per person (photo, name, role, topic). Replace the photo box with<img src="foto/name.jpg" alt="..." />. Four speakers look best on wide screens. No confirmed speakers yet? Remove the section until you have them. - Schedule: one
<li>per session with a time, title and description. Addclass="jeda"for a break (light yellow) orclass="utama-sesi"for a main session (light purple). Copy, delete or reorder freely. - Sponsors: names inside
<span>. For a logo, replace the content of the<span>with<img src="foto/logo.png" alt="Sponsor name" height="40" />. No sponsors? Delete the wholeSPONSORsection.
Write the schedule with times you will really keep. Attendees plan their day around this page.
12. Tickets
Each ticket is one <article class="tiket"> block: name, description, price, perks and a button.
- Name and price: change the
<h3>and<div class="harga-tiket">, in both languages. Change the button's WhatsApp message too:data-wa="..."anddata-en-wa="Hi, I’d like to buy a Regular ticket.". - Perks: the
<li>lines. Add or remove as you like. - Most popular ticket: the card with the purple ribbon has
class="tiket unggulan"and a<span class="pita">. Move both to another card, or delete both. - Free event: write "Free" as the price and change the button to "Register".
Keep the ticket names in the registration form in sync. They are written separately from the cards.
13. Registration form
The form sends one WhatsApp message with the name, ticket type, quantity and organisation, in the language the visitor is viewing. Change the ticket choices in the <option> lines of data-label="Tiket" (the English name goes in data-en="..."), and the opening sentence in data-wa-form / data-en-wa-form.
The form does not store data anywhere or take payments. You confirm registrations and collect payment yourself on WhatsApp, then send the e-ticket. Keep a list of attendees in a spreadsheet, or use an online ticketing service for large numbers.
14. Venue and calendar
The "Directions on Google Maps" button opens a search for your venue. Find google.com/maps/search and replace the part after query= with your venue name (spaces become %20). More precise: open the venue in Google Maps → Share → Copy link, and paste it in place of the whole href="...".
For a webinar or online event, replace the address with "Zoom" or "YouTube Live", replace the Maps button with the event link, and set lokasiKalender (both languages) in PENGATURAN to the same link so it lands in attendees' calendars.
15. Changing the colours
Near the top of the file, find :root. Change these two lines to your brand colour (utama means primary, gelap means dark):
--utama: #6d28d9;
--utama-gelap: #5b21b6;
--utama-gelap is a slightly darker shade, used for gradients and hover states. Find colour codes with Google: color picker. Avoid very light colours for --utama, because white text on top of it becomes hard to read.
The other colours (background, text, lines) are also in :root. Change them carefully and check the result on a phone.
16. Publishing your website
Before publishing, go through the checklist below.
Option A: Netlify (free, easiest)
- Create a free account at netlify.com.
- Go to app.netlify.com/drop.
- Drag the whole template folder (the one with
index.htmland thefotofolder) onto the page. - Wait a few seconds. Your site is online at an address like
random-name.netlify.app, which you can rename in the site settings.
To update the site later, drag the folder again onto that site's Deploys page in Netlify.
Option B: a web host with cPanel
- Log in to cPanel → File Manager → open
public_html. - Click Upload and upload
index.htmland thefotofolder with its contents. (Or upload a ZIP, then right-click → Extract.) - Open your domain in the browser.
The guides and licence files do not need to be uploaded.
Option C: GitHub Pages (free)
Handy if you already have a GitHub account. Create a public repository, upload index.html and the foto folder, then under Settings → Pages choose the main branch and the / (root) folder.
Using your own domain
Buy a domain from any registrar (Namecheap, Cloudflare, Porkbun and many others). In Netlify, open the site settings → Domain management and follow the steps. With cPanel hosting, the domain is usually connected when you buy the plan.
17. How the link looks when shared
When your link is shared on WhatsApp, LinkedIn or other social media, the preview shows the title and description from og:title and og:description near the top of the file. Replace both. These two do not switch language, so write them in the language of your main market.
To show an image too, prepare a picture of about 1200 × 630 pixels, save it in the foto folder, and add this line right below og:description. The address must be complete, including your domain:
<meta property="og:image" content="https://yourdomain.com/foto/cover.jpg" />
18. Checklist before publishing
Open your website in the browser and check each item:
- The WhatsApp number is filled in with a country code, and the buttons open the right chat.
- No sample names, addresses, prices or numbers are left, in both languages (or the language switch is off).
- All photos show (no placeholder boxes left).
- The date in
PENGATURANmatches the date written on the page, and the countdown is right. - The schedule, speakers and ticket prices are final and true.
- The ticket choices in the form match the ticket cards.
sisaKursiand the registration status match reality.- The Maps button and the calendar button point to the right place and time.
- You sent yourself one test registration and the message arrived complete.
- The browser tab title and
og:titleare replaced. - Tested on a phone, not just a computer.
- Every button clicked at least once.
19. If something goes wrong
| Problem | Cause and fix |
|---|---|
| WhatsApp buttons only show a reminder | The WhatsApp number is empty. See WhatsApp number. |
| WhatsApp opens a chat with a stranger | The number has no country code, so it was read as Indonesian. Start it with + and your country code. |
| A photo does not show | The file name in src="..." does not exactly match the file in the foto folder. Watch upper/lower case and the extension: once online, Photo.JPG and photo.jpg are different files. |
| Photos show on my computer but not online | The foto folder was not uploaded, or a file name contains spaces. |
| The layout breaks after an edit | A <, > or quote mark was probably deleted. Undo the last change (Ctrl+Z / Cmd+Z), or start again from the original file in the ZIP. |
| Changes do not show after uploading | The browser is showing a cached copy. Press Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac). |
| Strange characters (like ’) appear | The file was not saved as UTF-8. Save it again with UTF-8 encoding. |
| Indonesian and English text show at the same time | A lang="..." was mistyped or deleted. Every pair must be exactly <span lang="id">...</span><span lang="en">...</span>. |
| The page opens in the wrong language | The browser remembers the last ID/EN choice. Click the language you want, or open the page in a private window to see the default language. |
| The countdown shows all zeros or disappears | tanggalEvent is in the wrong format. It must look like '2027-05-15T08:30:00+07:00': date, the letter T, time, then the time zone. |
| The seats badge is wrong | Check sisaKursi in PENGATURAN: a number without quotes, 0 for sold out, or null to hide the count. |
| The ticket choices in the form differ from the cards | They are written separately. Edit the <option> lines in data-label="Tiket" to match the card names. |
Want us to set it up?
If you'd rather not edit it yourself, there is a Website Setup Service (sold separately): we edit this template to your brief and put it online on Netlify's free plan, in an account in your name. Look for Website Setup Service in the UpVire shop where you bought this template (Gumroad, Etsy or Lynk.id).
Questions about your purchase or download can be sent through the product page on the platform where you bought it.