Berhenti berdebat apakah HTML adalah bahasa pemrograman.. inilah HTPL 😎
HTPL lahir dari perdebatan abadi di internet:
"Apakah HTML merupakan bahasa pemrograman atau tidak?"
Daripada terus berdebat... aku memutuskan untuk membuatnya saja. Jadi, inilah dia.
HyperText Programming Language (HTPL): terlihat seperti HTML, tetapi sebenarnya berperilaku seperti bahasa pemrograman yang sesungguhnya.
git clone https://github.com/DrelezTM/HTPL.git
cd HTPL
npm install
node bin/htpl.js <file.htpl>
Contoh cara menjalankan:
node bin/htpl.js example/looping.htpl
Kode:
<htpl>
<input name="name" prompt="Enter your name = "/>
<output message="Hi {{ name }}! welcome to HyperText Programming Language!"/>
</htpl>Ingin melihat lebih banyak program HTPL yang keren dan bermain dengan file contoh lainnya? Lihat di sini
HTPL itu mirip HTML, tapi bukan bahasa markup - cuma buat bersenang-senang! Mendukung variabel, loop, kondisi, fungsi, input/output, dan kontrol alur dasar.
<set name="foo" value="'hello world'" />
<set name="bar" value="123" />let foo = "hello world";
const bar = 123;<input name="username" prompt="Enter your name: " />const readline = require('readline-sync');
const username = readline.question("Enter your name: ");<output message="Hello {{ username }}" />console.log(`Hello ${username}`);<if condition="foo == 'hello'">
<output message="It's hello!" />
</if>
<if condition="foo != 'hello'">
<output message="Not hello." />
</if>if(foo == "hello"){
console.log("It's hello!");
} else {
console.log("Not hello.");
}<for var="i" from="0" to="5">
<output message="Loop number {{ i }}" />
</for>for (let i = 0; i < 5; i++){
console.log("Loop number " + i);
}<for var="i" from="0" to="5">
<if condition="i == 3">
<break />
</if>
</for>for (let i = 0; i < 5; i++){
if(i == 3) break;
}<function name="greet" params="firstname,lastname">
<output message="Hello {{ firstname }}" />
<output message="Hi {{ lastname }}" />
</function>function greet(firstname, lastname){
console.log(`Hello ${firstname}`);
console.log(`Hi ${lastname}`);
}<call name="greet" args="'Yazid', 'Yusuf'"/>greet("Yazid", "Yusuf");Setiap program HTPL harus dibungkus di dalam <htpl> … </htpl>.
Contohnya:
<htpl>
<!-- Taruh kode HTPL kamu disini -->
<set name="foo" value="'hello world'"/>
<output message="Hello {{ foo }}"/>
</htpl>- Tag adalah akar program kamu.
- Semua variabel, loop, fungsi, dan input/output harus berada di dalam tag akar ini.
- Jika kamu melupakannya, interpreter tidak akan menjalankan kode kamu.
Bayangkan sebagai "kontainer utama" untuk program kamu - semua elemen berada di dalamnya. 🚀
Proyek ini dibuat untuk bersenang-senang, belajar, dan bereksperimen dengan konsep interpreter.
Proyek ini belum siap untuk produksi - jangan gunakan untuk sistem yang serius coy 😅
Silakan fork, perbaiki, atau buat HTPL kamu sendiri yaa!

