Haml

posted on 08 Feb 2008 09:06 by wonam in softdev

วันก่อนผมอ่านบล็อกของ Obie Fernandez เห็นเขาพูดถึง haml

haml คือภาษาสคริป สำหรับเขียน html แต่โค้ดที่เขียนจะอยู่ในรูปคล้าย ๆ โปรแกรม Python สักหน่อย คือ เน้นการใช้ย่อหน้าเพื่อบอก "ระดับชั้น" ทำให้ไม่ต้องมี tag ปิด  นอกจากนี้ยังมีการ "ย่อ" อะไรให้อีกหลายอย่าง

ยกตัวอย่างเช่น จาก:  

<h1>Hello world</h1>
<table>
..<tr>
....<td>This is</td>
....<td>a test</td>
..</tr><tr>
....<td colspan="2">Hello</td>
..</tr>
</table>

(เช่นเคย .... ไม่มีความหมาย ใช้เว้นย่อหน้าเฉยๆ) ก็จะเหลือเป็น

%h1 Hello world
%table
..%tr
....%td This is
....%td a test
..%tr
....%td{:colspan => "2"} hello

นอกจากนี้ยังทำงานร่วมกับ Rails ได้เป็นอย่างดีด้วย โดยส่วนที่เป็นโค้ด Ruby ก็เขียนโดยขึ้นต้นด้วย - ถ้าเป็นโค้ดที่คืนค่ากลับมาแสดงใน html ก็ใช้ = 

ส่วน html template สั้นลงเยอะ แล้วก็ดูง่ายขึ้นมากด้วย 

Comment

Comment:

Tweet

ดูแล้วนึกถึง Curl
แต่พอไปดูจริง ๆ ก็ไม่เข้าเค้าแฮะ
http://en.wikipedia.org/wiki/Curl_(programming_language)


เอ แต่เหมือนเคยเห็นทำนองนี้ ที่ไหนหว่า
... ใน Groovy (Grails ?)

#7 By bact' (58.137.54.35) on 2008-02-16 00:42

Hammy ? 555 เหมือนชื่อผมป่าวครับ (เวอร์คิกขุ)

#6 By Ham_Kanitw (58.8.50.140) on 2008-02-10 23:35

สั้นกว่า จริงๆ แต่ว่า ผมชอบแบบ เดิมมากกว่า

แต่ดูแล้วถ้าชินกับมันแล้ว คงดูง่ายขึ้น แล้วก็ทำงานได้เร็วขึ้นไม่ต้องมานั่งเชค tag ปิด แล้วก็ ส่งเสริมการเขียนโค้ดให้เป็นระเบียบสวยงามมมากขึ้น

#5 By หมูทอดซามะ on 2008-02-08 20:59

คุณข่า, คุณ ipats, คุณ ABZee:

คือเขียนแล้วมันจะโล่งขึ้น
ประหยัดขึ้น

แต่ทำให้นึกถึง Python มากๆ

#4 By wonam on 2008-02-08 16:16

เห็นแล้วปวดหัวกว่าเดิมอีก คิดถึง ruby ที่มี indent เลย

#3 By ABZee (134.91.4.51) on 2008-02-08 14:26

^
ผมว่าดูงงกว่าเดิมอีก - -"
อาจจะเพราะชินกับของเดิมมั๊ง

#2 By ไอ้แพท.. on 2008-02-08 13:29

ยังงี้ code ก็มีความสวยงามมากเลย แจ่มเลย confused smile

#1 By ข่า (124.120.73.140) on 2008-02-08 10:09