ybbond-reason

My old site written in ReasonReact
Log | Files | Refs | README

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:
Asrc/PoemContent.re | 356+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/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>;
 };