12. juni 2026
Kulturnat i Faaborg
Hele byen åbner sig — kunst, musik, fortællinger og oplevelser i hver gade.
Velkommen til Kulturnatten
En aften hvor byen, kunsten og fællesskabet mødes.
Faaborg Kulturnat er en stemningsfuld aften, hvor byen åbner sig og inviterer indenfor til kunst, kultur og oplevelser i alle afskygninger. Gader, butikker, kulturinstitutioner og kreative miljøer danner rammen om en levende by med musik, udstillinger, performances og aktiviteter for både børn og voksne. Tag familien, vennerne eller dig selv med — og lad dig overraske.
Program 2026
Klik på hjertet for at gemme dine favoritter — print dem eller send dem på mail.
Uden frivillige, ingen kulturnat
Faaborg Kulturnat er båret af lokale ildsjæle, foreninger og byens kulturaktører. Vi takker sponsorer, butiksdrivende og frivillige, der hvert år gør aftenen mulig — og borgere og besøgende, der møder op og fylder gaderne. Vil du være med, eller bidrage som sponsor eller støttemedlem? Kontakt os — vi byder dig hjerteligt velkommen.
Min liste
// ---------- Data (12 events) ---------- const EVENTS = [ { id: 'k1', title: 'Officiel åbning på Torvet', cats: ['Gratis', 'Musik'], date: '2026-06-12', time: '17:00 – 17:30', place: 'Torvet, Faaborg', desc: 'Borgmesteren åbner kulturnatten med fanfare fra Faaborg Brass Ensemble og kort velkomst til alle byens gæster.' }, { id: 'k2', title: 'Haletudserne — koncert for de mindste', cats: ['For børn', 'Musik'], date: '2026-06-12', time: '17:30 – 18:15', place: 'Klokketårnspladsen', desc: 'Den elskede børnetrio Haletudserne giver koncert med sange om havets dyr — syng, klap og dans med.' }, { id: 'k3', title: 'Åbne værksteder i Brovejen', cats: ['Kunst', 'Gratis'], date: '2026-06-12', time: '17:00 – 22:00', place: 'Brovejen 13-21', desc: 'Byens kunstnere åbner dørene til deres atelierer. Mød skulptører, malere, keramikere og tekstilkunstnere i øjenhøjde.' }, { id: 'k4', title: 'Klaverkoncert i Helligåndskirken', cats: ['Musik', 'Kirke', 'Gratis'], date: '2026-06-12', time: '18:00 – 19:00', place: 'Helligåndskirken, Kirkestræde 12', desc: 'Pianist Sara Lindholm spiller Chopin og dansk romantik i kirkens skarpe akustik. Sæt dig ned og lyt — eller bare træd indenfor et øjeblik.' }, { id: 'k5', title: 'Byvandring: Faaborg gennem 800 år', cats: ['Foredrag', 'Gratis'], date: '2026-06-12', time: '18:30 – 19:30', place: 'Start ved Faaborg Museum, Grønnegade 75', desc: 'Lokalhistoriker Per Hansen guider gennem byens ældste gader. Hør om handelsmænd, ildebrande og byens hemmeligheder.' }, { id: 'k6', title: 'Sydfynske smagsprøver på havnen', cats: ['Mad & drikke'], date: '2026-06-12', time: '18:00 – 21:00', place: 'Faaborg Havn', desc: 'Lokale producenter byder på øl, ost, røget fisk og æbleskiver. Køb en smagsbillet eller bare flaner gennem boderne.' }, { id: 'k7', title: 'Fraulein live — kabaret og elektronik', cats: ['Musik'], date: '2026-06-12', time: '19:30 – 20:45', place: 'Helios Teater, Banegårdspladsen 7', desc: 'Den københavnske duo Fraulein tager scenen i Helios med deres genrebrydende blanding af kabaret, jazz og elektroniske loops.' }, { id: 'k8', title: 'Keld M. Kagerulle — performance', cats: ['Kunst', 'For børn'], date: '2026-06-12', time: '20:00 – 20:45', place: 'Klokketårnspladsen', desc: 'Vejviseren, klovnen, kunstneren Keld M. Kagerulle laver gadeperformance for hele familien — forvent latter, undren og mel i hovedet.' }, { id: 'k9', title: 'She Funk på Torvet', cats: ['Musik'], date: '2026-06-12', time: '20:30 – 21:45', place: 'Torvet, Faaborg', desc: 'Det sydfynske kvindeband She Funk leverer funk, soul og samba — tag dansesko på og bliv på Torvet.' }, { id: 'k10', title: 'Lysshow på Rådhuset', cats: ['Kunst', 'Gratis'], date: '2026-06-12', time: '21:00 – 23:00', place: 'Rådhuset, Torvet', desc: 'Visuel installation af kunstner Lise Vinther projekteret på rådhusfacaden — en fortælling om Faaborg i lys og lyd, der gentages hver halve time.' }, { id: 'k11', title: 'Aftensol over fjorden — guidet gåtur', cats: ['Natur', 'Gratis'], date: '2026-06-12', time: '21:30 – 22:30', place: 'Mødested: Bøjden Strand', desc: 'Naturvejleder Anne Møller tager med ud at se solen gå ned over Bøjden Nor. Bring varmt tøj — vi går i roligt tempo.' }, { id: 'k12', title: 'Natkirke med stilhed og stemningsmusik', cats: ['Kirke', 'Gratis'], date: '2026-06-12', time: '22:30 – 24:00', place: 'Helligåndskirken, Kirkestræde 12', desc: 'Aftenen slutter stille. Helligåndskirken åbnes med dæmpet lys, klangskåle og plads til ro. Kom og gå som du vil.' } ];
const CATS = ['Alle', 'Musik', 'Kunst', 'For børn', 'Foredrag', 'Mad & drikke', 'Natur', 'Kirke', 'Gratis']; const MONTHS_DA = ['JAN','FEB','MAR','APR','MAJ','JUN','JUL','AUG','SEP','OKT','NOV','DEC'];
let activeFilter = 'Alle'; let favorites = new Set();
// ---------- LocalStorage ---------- function loadFavorites() { try { const raw = localStorage.getItem('kulturnat_favs'); if (raw) favorites = new Set(JSON.parse(raw)); } catch (e) {} } function saveFavorites() { try { localStorage.setItem('kulturnat_favs', JSON.stringify([...favorites])); } catch (e) {} }
// ---------- Renderers ---------- function renderFilterPills() { const wrap = document.getElementById('filterPills'); wrap.innerHTML = ''; CATS.forEach(cat => { const btn = document.createElement('button'); btn.textContent = cat; if (cat === activeFilter) btn.classList.add('active'); btn.addEventListener('click', () => { activeFilter = cat; renderFilterPills(); renderEvents(); }); wrap.appendChild(btn); }); }
function eventMatches(e) { if (activeFilter === 'Alle') return true; return e.cats.includes(activeFilter); }
function formatDateBadge(iso) { const [y,m,d] = iso.split('-').map(Number); return { m: MONTHS_DA[m-1], d: String(d).padStart(2,'0') }; }
function renderEvents() { const grid = document.getElementById('eventsGrid'); grid.innerHTML = ''; const filtered = EVENTS.filter(eventMatches); document.getElementById('eventCount').textContent = filtered.length;
filtered.forEach(e => { const card = document.createElement('article'); card.className = 'card'; const badge = formatDateBadge(e.date); const isFav = favorites.has(e.id); card.innerHTML = `
${e.title}
`; card.querySelector('.heart-btn').addEventListener('click', (ev) => { ev.stopPropagation(); toggleFavorite(e.id); }); grid.appendChild(card); }); }
function toggleFavorite(id) { if (favorites.has(id)) favorites.delete(id); else favorites.add(id); saveFavorites(); renderEvents(); renderFabCount(); if (document.getElementById('modal').classList.contains('open')) renderModal(); }
function renderFabCount() { document.getElementById('fabCount').textContent = favorites.size; }
// ---------- Modal ---------- function getFavoriteEvents() { return EVENTS.filter(e => favorites.has(e.id)); }
function renderModal() { const body = document.getElementById('modalBody'); const favs = getFavoriteEvents(); if (favs.length === 0) { body.innerHTML = `
Du har ikke gemt nogen events endnu.
Klik på hjertet på et event for at tilføje det.
`; return; } const listHtml = favs.map(e => { const badge = formatDateBadge(e.date); return `
`; }).join('');
body.innerHTML = `
- ${listHtml}
`;
body.querySelectorAll('.si-remove').forEach(btn => { btn.addEventListener('click', () => toggleFavorite(btn.dataset.id)); }); document.getElementById('printBtn').addEventListener('click', printList); document.getElementById('clearBtn').addEventListener('click', () => { if (favorites.size && confirm('Vil du fjerne alle gemte events?')) { favorites.clear(); saveFavorites(); renderEvents(); renderFabCount(); renderModal(); } }); document.getElementById('sendBtn').addEventListener('click', sendList); }
function openModal() { document.getElementById('modal').classList.add('open'); document.body.classList.add('modal-open'); renderModal(); } function closeModal() { document.getElementById('modal').classList.remove('open'); document.body.classList.remove('modal-open'); }
// ---------- Print ---------- function printList() { const favs = getFavoriteEvents(); if (favs.length === 0) return; const html = `
Min Kulturnat-aften — 12. juni 2026
${favs.map(e => { const badge = formatDateBadge(e.date); return `
`; }).join('')}
`; document.getElementById('printArea').innerHTML = html; window.print(); }
function sendList() { const favs = getFavoriteEvents(); if (favs.length === 0) return; const email = document.getElementById('emailInput').value.trim(); const subject = 'Min Kulturnat-aften — 12. juni 2026'; const body = [ 'Hej!', '', 'Her er mit personlige program for Faaborg Kulturnat den 12. juni 2026:', '', ...favs.map(e => { const badge = formatDateBadge(e.date); return `• ${badge.d}. ${badge.m.toLowerCase()} · ${e.time} — ${e.title}\n ${e.place}\n ${e.desc}\n`; }), '', 'Vi ses i byen!', '', '— Faaborg Kulturnat (via Faaborg360.dk)' ].join('\n'); const href = `mailto:${encodeURIComponent(email)}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`; window.location.href = href; }
// ---------- Wire-up ---------- document.getElementById('openListBtn').addEventListener('click', openModal); document.getElementById('closeModalBtn').addEventListener('click', closeModal); document.getElementById('modal').addEventListener('click', (e) => { if (e.target.id === 'modal') closeModal(); }); document.addEventListener('keydown', (e) => { if (e.key === 'Escape' && document.getElementById('modal').classList.contains('open')) closeModal(); });
loadFavorites(); renderFilterPills(); renderEvents(); renderFabCount();