Boedi Widjaja

Tanpa Bayangan Mu (Shadowless)

2020. Moving image and book. Commissioned by the National Arts Council Singapore and Plural Art Mag for Our Heartlands.

Boedi revisits his long-running relationship with Bras Basah Complex, also known as 书城 or "City of Books". For the artist, the place is synonymous with familial reunions and separations; Boedi and his father frequented it when the latter made his once or twice-a-year trip to Singapore. A one-armed swordsman is sketched repeatedly across pages of a chinese classics-styled book, along with the sappy subtitles of a song of heartbreak. The work reads like a lament of separation from one's lover, or perhaps, a beloved place of poignant childhood memories.

More +
Less -
Notes + -
Read + -
No items found.
Artworks + -
No items found.
No items found.
Next Project
const staticItems = document.querySelectorAll('[lightbox-cms="list"] .w-dyn-item'); const promises = []; staticItems.forEach(function loadMultiImages(staticItem) { const promise = (async () => { const templateLink = staticItem.querySelector('[lightbox-cms="template-link"]'); const templateUrl = templateLink.getAttribute('href'); const jsonElement = staticItem.querySelector('script.w-json'); const json = JSON.parse(jsonElement.textContent.trim()); json.group = templateLink.innerText.trim(); try { const response = await fetch(templateUrl); const templateHTML = await response.text(); const parser = new DOMParser(); const templateDoc = parser.parseFromString(templateHTML, 'text/html'); const templateImages = templateDoc.querySelectorAll('[lightbox-cms="template-list"] img'); templateImages.forEach(function(templateImage) { json.items.push({ url: templateImage.src, type: 'image' }); }); jsonElement.textContent = JSON.stringify(json, null, 2); } catch (error) { console.error('Fehler beim Laden der Template-Seite:', error); } })(); promises.push(promise); }); Promise.all(promises) .then(function() { restartWebflow('lightbox'); }) .catch(console.error); //Reinitialisierung function restartWebflow(modules) { var Webflow = window.Webflow; if (!Webflow || !('destroy' in Webflow) || !('ready' in Webflow) || !('require' in Webflow)) return; if (modules && !modules.length) return; // Global if (!modules) { Webflow.destroy(); Webflow.ready(); } // IX2 if (!modules || modules.indexOf('ix2') !== -1) { var ix2 = Webflow.require('ix2'); if (ix2) { var store = ix2.store; var actions = ix2.actions; var eventState = store.getState().ixSession.eventState; var stateEntries = Object.entries(eventState); if (!modules) { ix2.destroy(); } ix2.init(); var promises = stateEntries.map(function(state) { return new Promise(function(resolve) { resolve(store.dispatch(actions.eventStateChanged.apply(actions, state))); }); }); return Promise.all(promises); } } // Commerce if (!modules || modules.indexOf('commerce') !== -1) { var commerce = Webflow.require('commerce'); var siteId = getSiteId(); if (commerce && siteId) { commerce.destroy(); commerce.init({ siteId: siteId, apiUrl: 'https://render.webflow.com' }); } } // Lightbox if (modules && modules.indexOf('lightbox') !== -1) { var lightbox = Webflow.require('lightbox'); if (lightbox) { lightbox.ready(); } } // Slider if (modules && modules.indexOf('slider') !== -1) { var slider = Webflow.require('slider'); if (slider) { slider.redraw(); slider.ready(); } } // Tabs if (modules && modules.indexOf('tabs') !== -1) { var tabs = Webflow.require('tabs'); if (tabs) { tabs.redraw(); } } return new Promise(function(resolve) { Webflow.push(function() { resolve(undefined); }); }); }