Belajar Typescript
Pekerjaan ini1 agak terhambat karena saya berusaha memakai format MDX, dan menemui beberapa kendala. Akhirnya saya memutuskan untuk kembali berkonsentrasi pada proses terjemahan/saduran untuk segera menyelesaikan keseluruhan buku ini.
Kita akan tetap memakai format Markdown biasa yang sudah sangat stabil (dan tidak
membutuhkan komponen berat seperti React). Ini sangat bagus untuk Android
, karena
menyingkirkan keperluan untuk sebuah HTTP Server
, yang meskipun bisa saja kita akali,
tetapi menimbulkan masalah yang tidak perlu.
Dari sisi client kita tetap bisa memakai cara berikut:
document.getElementById("btnTest").addEventListener("click", () => {
document.getElementById("info").innerHTML = `
<h3>Button Info</h3>
<p>Dan baru akan bisa jalan kalau <em>event</em> kita
tempatkan di module lain.</p>`;
});
Dan akhirnya tombol dari dokumen MDX
sekalipun, yang dikirim dari sisi server, akan
berfungsi seperti yang diharapkan. Keperluan utama kita hanya urusan tombol, karena dengan
tombol dan event click barulah kita bisa memuat dokumen yang kita maksud.
Syntax Highlighting
Yang satu ini agak tricky kalau memakai ESM, seperti yang kita pakai dalam Deno
. Kalau
melalui Node.js
adalah seperti ini.
const hljs = require('./highlight.js');
const lang = require('./languages/javascript.min.js');
// Lalu bisa langsung digunakan.
let strTest = hljs.highlight("var i = 1000;", {language: 'javascript'}).value;
console.log(strTest);
Kejadiannya sangat berbeda kalau menggunakan Deno
, meskipun Highlight.js
menyediakan ES Module
,
tetapi rupanya tidak bisa langsung pakai.
Berikut adalah dokumentasi ES6 dari Highlight.js
sendiri.
Ini berarti kita harus melakukan load secara manual untuk setiap bahasa yang ingin kita pergunakan.
Footnotes
-
Pekerjaan menyadur dan menulis ulang novel Memanah Burung Rajawali, karya Louis Cha. ↩