commit abe764b11519748ca52a9fc4cf4b9e7ce9e695c3 parent ba922822942c10f909945153416adc1eadf547b5 Author: Yohanes Bandung <bandungpenting@gmail.com> Date: Mon, 16 Sep 2019 21:28:45 +0700 feature(Poems) => added poems scene Diffstat:
| A | src/PoemContent.re | | | 356 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | src/PoemsScene.re | | | 42 | ++++++++++++++++++++++++++++++------------ |
2 files changed, 386 insertions(+), 12 deletions(-)
diff --git a/src/PoemContent.re b/src/PoemContent.re @@ -0,0 +1,356 @@ +type poemContent = { + title: string, + script: string, +}; + +let content: array(poemContent) = [| + { + title: "Terpesona", + script: {j|Terpesona, terlarut dalam mantra +Terpikat guna-guna sang magi +Menderau di dalam jiwa +Berkobar bergairah terbakar api + +Terlarut dalam mantra +Magi terus bergurau tanpa leta +Akar jiwa berderu terbakar api +Memancar lekuk kafan sang magi + +~ Lupa dapat inspirasi darimana|j}, + }, + { + title: "Cumi-cumi", + script: {j|Satu cumi-cumi mengembara +di padang gurun yang terus basah +torpedo menembus pekat laut +tentakel pecut nihil air. + +Cumi-cumi pucat pualam +Menembus berkelana +pada kejauhan samudera +mencari hening yang tidak ditembus cahaya + +Tanpa leta, cumi-cumi memang bangga +di bawah sini, ia berkuasa +Dalam jarak layangnya, +semua ikan hengkang pergi +Krustasea dan Moluska, +sembunyi di balik pasir +Itu paus sperma, +enggan anggap ia mangsa, +justru bahaya. + +Karena, +bahkan bagi kaumnya, +Cumi-cumi adalah raksasa.|j}, + }, + { + title: "7 Langkah Hidup Bijak", + script: {j|rencana sudah matang, berdiri di tepi lautan. +iman terhunus, siap sambut Leviathan. +ia menyerang, aku menyerang, +menusuk jiwa dan anak tekak. +maka matilah semua kecemburuan. +itu bangkainya mengambang pelan, bau. + +lalu dengung serangga terdengar. +Beelzebub datang kelaparan. +jasad itu dilahap kalap, rakus bak tikus politikus. +penuh keyakinan, berseru ku. +lalat terkejut, terbang memburai ketakutan. + +kulanjutkan dengan menyelam, menuju palung terdalam. +Memasuki goa, penuh gairah aura merah. +Asmodeus melenguh, sibuk entoti jiwa-jiwa pasrah. +dengan kesadaran penuh, ku kebiri binatang itu. biar jera. + +menyusuri goa, berujung singgasana. +duduk di atas takhta, Mammon si hedon. +tak henti merenggut harta dari orang sengsara. +itu harta kuambil, kutebar ke para papa. +maka iblis itu menciut, tak punya apa apa. + +terdengar deru amarah +dari Amon yang kehilangan saudaranya. +kuhindari semua desing panah, +lalu kuurapi wajah bajingan itu, +yang langsung mati terbakar. + +gerbang utama terlihat jelas, +dijaga penjaga malas. +Belphegor meringkuk di dalam tempurungnya, +tidak peduli akan tugasnya. +kunyalakan api kepercayaan, +kusulut karapaks itu. +maka ia terjaga, terbirit-birit mencari pertolongan. + +di dalam ruangan besar, bercahaya. +Azazel yang penuh talenta, +tapi hubris menguasainya. +kuajak ia untuk sadar, menjadi pribadi berguna. +sial, pertarungan tak terelakkan. +ia melawan dengan penuh kuasa. +"aku setara, bahkan lebih berkuasa!". +kulempar biji sesawi, menghantam jiwanya. + +sirna +maka terbitlah Kebajikan.|j}, + }, + { + title: "Secret Tunnel", + script: {j|Two lovers, forbidden from one another +A war divides their people +And a mountain divides them apart +Built a path to be together +Secret tunnel +Through the mountains +And die... + +~ excerpt from Avatar - The Legends of Aang|j}, + }, + { + title: "Tragedi di Senin Pagi", + script: {j|Mimpi apa aku semalam? +Menjadi saksi tragedi nan kelam +Stasiun Manggarai, pada Senin pagi +Seakan semesta mengingatkanku +akan nasehat yang sering dilontarkan + ibuku +-Kasih rapi sepatu dan tasmu! +-Jangan boleh hewan kecil masuk! +Dari jendela kereta lihat ku +Seorang ibu berdiri tenang + di peron stasiun +Merogoh tas di depan dadanya +Tiba-tiba +Terlunjak kaget +Itu kelabang merembet + dari dalam tas +Ia panik terjun ke rel +Kereta tujuan Bogor datang menghujam +Mimpi apa aku semalam? + +-entah dapet ide darimana, ditulis di atas Commuter Line tujuan Cikini-|j}, + }, + { + title: "Sin(u)s", + script: {j|the greater being gave human free will. +good acts will please others. for sure. +will wrongdoings lead us to sin? +or free us from it? +I don’t know. +to me, it’s not our capacity to measure sins. +but wrongdoings can cause harm to other humans. for sure. + +~ Teror Bom di Gereja di Surabaya|j}, + }, + { + title: "You", + script: {j|I searched behind the clouds, +I bought all flights to Manado, +I listened to Efek Rumah Kaca, +I asked the pedestrians, +I dove the Mariana trench, +I opened the trash bins, +I cleaned all the dust, +I beat the Pacman, +I swam through Bermuda triangle, +I read erotic books, +I grew my hair till it touched ground, +I attended all ceremonies, +I preached to the flies, +I lost the race, +I hiked the pyramids, +I built Babel tower, +I ate mushrooms, +I rode my car to Madagascar, +I made our own language, +I drew maps, +I studied Russian culture, +I hit that sass', +I licked tabasco, +I joked about ice cream, +I woke Snorlax up, +I got sober, +I won a bet, +I burned the sky, +I drank all the martinis, +I wandered half the universe looking for peace. + +Turns out the peace is in You all this time.|j}, + }, + { + title: "Demi Masa", + script: {j|QS. Al-Ashr[103]: 1-3 + +Demi masa +Sungguh kita tersesat +Membiaskan yang haram +Karena kita manusia + +Demi masa +Sungguh kita terhisap +Ke dalam lubang hitam +Karena kita manusia + +Pada saatnya nanti +Tak bisa bersembunyi +Kitapun menyesali, kita merugi + +Pada siapa mohon perlindungan +Debu-debu berterbangan +Pada siapa mohon perlindungan +Debu-debu berterbangan + + +~ Efek Rumah Kaca - Debu Debu Beterbangan|j}, + }, + { + title: "Tidur", + script: {j|memang tidur itu perlu. +ada teman yang paling khawatir akan jam tidurku. +di samping temanku kebanyakan yang berharapku terjaga bersama untuk bergaul, +atau komputer dan buku yang selalu berharap aku menemani mereka belajar atau bekerja. +sampai saat itu, satu jam lalu +pulang dari kantor, kupaksakan berkendara. +hari ini memang belum kurasakan bantal kasur, apalagi meja kantor di pipiku. +perjalanan pulang penuh teriakan nyanyian berbagai upaya agar tetap terjaga. +dua simpang jalan lagi, satu kilometer lagi sampai rumahku. +namun kesadaranku terputus di atas jok motor. +setang tanpa sadar doyong ke timur, kecepatan enampuluh. +saat terjaga terkejut, aku sudah di tepi kanan jalan, roda motor masih berputar kencang. +kukendalikan kemudi agar lurus jalannya. +tepat ketika truk enam roda meraung melewati sisi kiriku, kencang. +sepanjang tiga puluh delapan kilometer aku aman, namun saat sampai area rumah, seperti diberi ilham. +tidurlah yang cukup. +jangan sampai tulang remuk karena kau abaikan tidur. +maka sampai rumah, cuci muka sikat gigi. +masuk ke kamar orang tua, menyelinap di kasur mereka di antara sepasang yang merawatku paling tulus. +aku tidur di antara orang yang paling menyayangiku. +bukan karena mumpung masih ada kesempatan. +tapi karena akupun sayang mereka. +terima kasih. +semesta, Tuhan, kesadaranku, +aku hidup.|j}, + }, + { + title: "Rest Area 57", + script: {j|Rest area 57 +Lengkap dan terpadu +Rest area 57 +beri semangat baru + +~ Perjalanan ke Bandung|j}, + }, + { + title: "Ogni Pensiero Vola", + script: {j|Dan semua bisa terangkai, +menyusun sela yang terlupa. +Terurai habis tak tersentuh, +hanya tersisa arah. +Bawa dan hilanglah, ke dalam zamanmu. +Hilanglah. +Kita bisa menghitung ke bawah, +simpan dalam tulang jeran malam. +Semua yang kau rasakan, +hanyalah rasa lelah. +Merasa dan meletih, +harap meleta harap mengerti. + +~ Zaman, zaman - The Trees and The Wild|j}, + }, + { + title: "Void", + script: {j|There is no light +for those who do not know darkness +live on and endure the shadows.|j}, + }, + { + title: "Baik mana?", + script: {j|Perang fisik, + yang kalah jadi martir + dielukan karena semangat menggebu + dan pengorbanan +Perang licik, + yang kalah dibui, tersingkir + pilar penopang pergi membiarkan + umat membuyar keliaran +Entah +Kita= takut, pengecut + ancaman buat nyali kita ciut + segaris luka buat kita semaput + +~ Tragedi Bom Semanggi|j}, + }, + { + title: "Parco de Moistri", + script: {j|Lasciate ogne speranza, +voi ch’intrate. +All hope abandon, +ye who enter here + +~ Divine Comedy - Dante Alighieri|j}, + }, + { + title: "Untuk Perempuan yang ... [WIP?]", + script: {j|Pada bajumu, klambi +Lekuk tubuhmu, boddhi +Warna ujarmu, happy +Inang pijakmu, bhumi +Hembus nafsumu, suci +Derau gerakmu, menari +Sikap tegasmu, murni +Betapa aku, lucky +Kusebut namamu, +...|j}, + }, + { + title: "Thoughts (1)", + script: {j|You don’t buy luxury. +You obtain it by your own grateful way of thinking.|j}, + }, + { + title: "Kamar Gelap", + script: {j|Bersender dinding, lampu mati, +Kamar gelap berkata begini: + +Kamu protes soal pengunduran jam konser, +Saat kalian hadir rapat terlambat. + +Kamu melabrak junior yang tak hormat, +Ingat ulang caramu bicara pada orangtua. + +Kamu bilang asap rokok mengganggu, +Bunyi makan mengecapmu lebih mengganggu. + +Kamu bersikeras duduk nyaman, +Padahal nenek itu lebih membutuhkan. + +Kamu menghapus post instagram, +Tapi mencibir orang yang bersikap sopan. + +Kamu menggugat kecurangan, +Katakanlah, apakah mencontek bukan kecurangan? + +Kamu bilang, aku hanya menyindir, tanpa solusi, +Ya, memang, aku sindir diriku.|j}, + }, + { + title: "Tunguska", + script: {j|17 April 2451, Yogyakarta. Hari bersejarah yang membanggakan bangsa Indonesia! Trio Jenius ilmuwan muda Phoebe Danuvich Kulistyo, Kindrad Bumi, dan Rinaldo Stevan-Mulia berhasil menciptakan mesin waktu, atau lebih tepatnya, memberitakan ciptaan mereka ke publik sebelum dibungkam oleh badan penjaga perdamaian. + +12 Juni 2451, -------. Perencanaan dan pengamanan matang sudah siap, demonstrasi mesin waktu pada khalayak umum oleh trio jenius akan diadakan di- + +30 Juni 2451, Cirebon. Tepian pesisir, kaca anti-nuklir 50x30m, 1300 elit pengaman, tiket masuk Rp 30.000.000 per satuan. Tiga ribu pemirsa di amphi-theatre dan 4,2 Miliar dari layar hologram di seluruh dunia. +Kamera lintas-waktu siap, Danu-Kindar-Aldo berjalan tembus portal biru. + +????????, ekstraDimensi. Steker penanda menunjukkan -543 tahun, sesuai pungutan suara masal di era mereka, trio jenius berjalan lintasi ratusan tahun dan 7500km menuju- + +30 Juni 1908, Tunguska-Vanavara. Matahari sudah terbit 3 jam, portal jingga terbuka ~140m di atas pepinusan. Kindar mengabadikan lanskap Siberia dengan sel-kamera untuk dokumentasi pribadi. Aldo telah merangkai kamera lintas-waktu, untuk memuaskan hasrat sponsor dan miliaran pemirsa di kampung waktu mereka. +Entah konspirasi pembungkaman yang berhasil atau kesalahan kalkulasi, ketika Danu mengaktifkan kamera lintas-waktu, nyala biru memaksa masuk dari portal jingga. +Itu biru hantam jingga, leleh Danu-Kindar-Aldo seketika menyublim sirna. Lantak membuat 2150km persegi pinus merata. Satu orang slav malang terkena sontak suara yang melempar tubuhnya ke batang pinus, jasadnya remuk, leta. + ++543tahun -2507detik, Cirebon. Layar raksasa sempat menampilkan lanskap Tunguska-Vanvara, Siberia. Pemirsa pongah terpesona, kerabat trio jenius menangis bangga. +Awalnya pelan tak disadari, lalu portal biru mendadak tilap, ditelan dirinya sendiri. Tampilan layar bergetar tremor, lalu biru, lalu jingga, lalu sirna. Lalu-|j}, + }, +|]; diff --git a/src/PoemsScene.re b/src/PoemsScene.re @@ -1,15 +1,33 @@ +module Styles = { + open Css; + let pre = + style([ + paddingLeft(`em(1.4)), + fontFamily("Cousine for Powerline"), + display(`block), + whiteSpace(`preWrap), + fontSize(`em(0.8)), + lineHeight(`em(3.3)), + ]); +}; + [@react.component] let make = () => { - <React.Fragment> - <p> - {ReasonReact.string( - "Poems have not been implemented on this web version :(", - )} - </p> - <p> - {ReasonReact.string("If you want to read them, ")} - <Link text="click here!" href="https://ybbond.github.io" /> - </p> - <p> {ReasonReact.string("Then, check the 'literature'.")} </p> - </React.Fragment>; + open PoemContent; + let content: array(poemContent) = content; + let contentMapped = + Array.mapi( + (key, item) => { + let contentPre = + <pre className=Styles.pre> {ReasonReact.string(item.script)} </pre>; + <Spoiler + title={item.title} + content=contentPre + key={string_of_int(key)} + />; + }, + content, + ); + + <React.Fragment> {ReasonReact.array(contentMapped)} </React.Fragment>; };