ไม้อัดเป็นไวยากรณ์ภาษาแม่แบบที่มีลักษณะรู้สึกและการทำงานเช่นงูหลาม
โหลด ('url')
โหลด ('อัด')
ประเภทเอกสาร ('HTML')
html ที่:
& nbsp; หัว:
& nbsp; เมตาดาต้า (charset = "UTF-8")
& nbsp; เมตาดาต้า (ชื่อ = "viewport" เนื้อหา = "ความกว้างของอุปกรณ์ width =; เริ่มต้นขนาด = 1.0")
& nbsp; ชื่อเรื่อง:
& nbsp; ถ้าชื่อเรื่อง:
& nbsp; # docstrings * * * * * * * * จะถูกปลดออกจากตำแหน่งก่อนหน้านี้ช่องว่าง (พวกเขาจะต้อง
& nbsp; # เยื้อง) และบรรทัดแรกและครั้งสุดท้ายจะถูกลบออก
& nbsp; "" "
& nbsp; {title} |
& nbsp; "" "# สตริง intepolation เป็นงานหนักมากขึ้นเล็ก ๆ น้อย ๆ ที่ไม่ใช่` .format () `แต่ที่คล้ายกันกว่าที่แตกต่างกัน
& nbsp; 'ยินดีต้อนรับ' # อักษรสตริงที่ต้องใช้คำพูด: - / ฉัน * * * * * * * * อาจเพิ่มวิธีการที่จะทำเช่นนี้อีก ...
& nbsp; บีบอัด ('CSS "):
& nbsp; การเชื่อมโยง (rel = 'สไตล์' type = 'text / css', href = แบบคงที่ ('CSS / reset.css'))
& nbsp; การเชื่อมโยง (rel = 'สไตล์' type = 'text / css', href = แบบคงที่ ('CSS / welcome.css'))
& nbsp; สคริปต์ (src = "// ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type = "text / javascript")
& nbsp; บีบอัด ('JS'):
& nbsp; สคริปต์ (src = คงที่ ("JS / underscore.js") type = "text / javascript")
& nbsp; สคริปต์ (src = คงที่ ("JS / Backbone.js") type = "text / javascript")
& nbsp; ieif 'lt IE 9':
& nbsp; สคริปต์ (src = "// html5shiv.googlecode.com/svn/trunk/html5.js" type = "text / javascript")
& nbsp; การเชื่อมโยง (rel = 'สไตล์' type = 'text / css', href = แบบคงที่ ('CSS / ie.css'))
& nbsp; บล็อก ('extra_head') # บล็อกและมรดกบล็อก? แน่นอน!
& nbsp; ร่างกาย:
& nbsp; div (class = "เสื้อคลุม" id = "เสื้อคลุม") # ไม่มีจดชวเลขสำหรับการเรียนและ id (ยัง)
& nbsp; ส่วนหัว:
& nbsp; บล็อก ('หัว'):
& nbsp; P (class = "โลโก้"):
& nbsp; บล็อก ('header_title'):
& nbsp; หากผู้ใช้:
& nbsp; 'ยินดีต้อนรับคุณ,' {} user.name '
& nbsp; อื่น:
& nbsp; 'ยินดีต้อนรับ'
& nbsp; ถ้า current_member:
& nbsp; P (class = "เข้าสู่ระบบ"):
& nbsp; "ยินดีต้อนรับคุณ, {} current_member.preferred_name"
& nbsp; (href url = ("ออกจากระบบ")): 'Log Out'
& nbsp; nav:
& nbsp; ยู:
& nbsp; บล็อก ('nav'):
& nbsp; li: (href url = ("เข้าสู่ระบบ")): 'เข้าสู่ระบบ'
& nbsp; ชั้นส่วน = "เกล็ดขนมปัง":
& nbsp; บล็อก ('เกล็ดขนมปัง')
& nbsp; ส่วน (class = "หลัก"):
& nbsp; บล็อก ('ข้อความ'):
& nbsp; ถ้าข้อความ:
& nbsp; ยู (class = "ข้อความ"):
& nbsp; สำหรับข้อความในข้อความ:
& nbsp; li (class = message.tags): '{ข้อความ}'
& nbsp; สคริปต์:
& nbsp; ตัวอักษรรหัส # เพื่อให้เข้าใจบรรณาธิการสามารถสีซอร์สโค้ด
& nbsp; `` `จาวาสคริปต์
& nbsp; $ (เอกสาร) .ready (ฟังก์ชัน () {
& nbsp; $ ("ul.messages") addClass ("ชีวิต.");
& nbsp; var fade_out = _ (ฟังก์ชั่น () {
& nbsp; this.addClass ("เลือนออก")
& nbsp;.}) ผูก ($ ("ul.messages"))
& nbsp; setTimeout (fade_out, 5000);
& nbsp;. $ ("ul.messages") ผูก ("คลิก" fade_out);
& nbsp;});
& nbsp; `` `
& nbsp; บล็อก ('เนื้อหา')
& nbsp; ส่วนท้าย:
& nbsp; # # p:
& nbsp; # 'เหล่านี้เป็นความเห็น.'
& nbsp; ช่วง #: '|'
& nbsp; # '& copy; 2012 ต้อนรับ'
การติดตั้ง
& nbsp; จุดติดตั้งไม้อัด
& nbsp; เร่
SYNTAX
สายแต่ละคนเริ่มด้วยคำสั่งที่สามารถเป็นได้ทั้งฟังก์ชั่น (div บล็อก) ตัวอักษร (',' ''), หรือคำสั่งควบคุม (ถ้าอื่นสำหรับ)
ฟังก์ชั่นได้รับการเรียกว่ามีข้อโต้แย้งและ "บล็อก":
ข้อโต้แย้งที่มี # (() {}) บล็อกเป็นบล็อก ()
พี
ข้อโต้แย้งที่มี # (() {'ชั้น': 'divvy'}) บล็อกเป็นบล็อก ()
div (class = "divvy")
ข้อโต้แย้งที่มี # (('ออโต้โฟกัส') {'id': 'ชีวภาพ'}) บล็อกเป็นบล็อก (ตัวอักษร ('นี้เป็นชีวภาพของฉัน'))
textarea (ออโต้โฟกัส, id = "ชีวภาพ"): นี่คือชีวภาพของฉัน '
แม้ว่าจะไม่มีการ "บล็อก" คุณจะได้รับอย่างน้อยที่วัตถุบล็อกที่ว่างเปล่าที่คุณสามารถเรียก block.render บน มันจะเป็น "falsey" แต่เพื่อให้คุณสามารถตรวจสอบสำหรับการดำรงอยู่ของบล็อก ขั้นต่ำ "truthy" บล็อกเป็นสตริงที่ว่างเปล่า นั่นหมายความว่า div '' ที่จะทำให้คุณ "truthy" บล็อก แต่ div จะเป็น "falsey" บล็อก
คุณสามารถขยายอึออกจากไม้อัดเพราะ div ถ้าบล็อกมากทั้งได้รับการเขียนเป็นส่วนขยายของไม้อัด โดยไม่ต้องมีนามสกุล builtin ภาษาที่ไม่สามารถทำอะไรจริงเพราะมันเป็นที่หลักของมันเพียงไวยากรณ์ภาษา
ทำไม!?!?
ผมคิดว่ามีห้องพักสำหรับ templating ภาษาอื่น
haml? Coffekup? หยก? พวกเขาดูเหมือนจะไม่ pythonic ให้ฉัน
ธรรมดาเจน HTML ได้ไหม? แน่นอนว่าถ้าคุณต้องการ นั่นคือผมคิดว่าเป็นทางเลือกที่ดีที่สุดในการไม้อัด
แม้แต่ django ภาษาแม่แบบที่ดีคือ HTML ฝรั่งทำโดยการใส่มาร์กอัปเพิ่มเติม ผมมองที่หยกและ Haml ว่า "ใช่คุณได้รับมี" แต่พวกเขาไม่ได้เล็บมัน
ฉัน unapologettically DIY เอ้อ ผมคิดว่าบางครั้งล้อก็ต้องอีกครั้งประดิษฐ์! นอกจากนี้ทำให้ผมมีโอกาสที่จะเล่นกับไวยากรณ์ภาษาซึ่งผมคิดว่ามีความสนุกสนาน ฉันใช้ Modgrammar
ต้องการ
- หลาม
ความคิดเห็นที่ไม่พบ