דיקט הוא דקדוק שפת תבנית שנראה, מרגיש, ופועל כמו פייתון
עומס ('url')
עומס ('לדחוס')
doctype ("HTML")
html:
& Nbsp; ראש:
& Nbsp; meta (charset = "utf-8")
& Nbsp; meta (name = "viewport", תוכן = "width = מכשיר-רוחב; ראשונית בקנה מידה = 1.0")
& Nbsp; כותרת:
& Nbsp; אם כותרת:
& Nbsp; # docstrings * המחירים * הופשט מקדם רווחים (הם חייבים להיות
& Nbsp; # מפורץ), והשורה החדשה הראשונה והאחרונה הוסר.
& Nbsp; "" "
& Nbsp; {title} |
& Nbsp; "intepolation # מחרוזת" "היא חובה כבדה קצת יותר מ'.format () ', אבל יותר דומה מאשר שונה.
& Nbsp; literals מחרוזת 'ברוכים הבאים' # דורש ציטוטים: - / אני * כוח * להוסיף עוד דרך לעשות את זה ...
& Nbsp; לדחוס ('css'):
& Nbsp; קישור (rel = "גיליון עיצוב ', = סוג" text / css ", = href סטטי (' css / reset.css '))
& Nbsp; קישור (rel = "גיליון עיצוב ', = סוג" text / css ", = href סטטי (' css / welcome.css '))
& Nbsp; תסריט (src = "// ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", סוג = "text / javascript")
& Nbsp; לדחוס ("JS"):
& Nbsp; תסריט (src = סטטי ("JS / underscore.js"), סוג = "text / javascript")
& Nbsp; תסריט (src = סטטי ("JS / backbone.js"), סוג = "text / javascript")
& Nbsp; ieif 'LT אקספלורר 9':
& Nbsp; תסריט (src = "// html5shiv.googlecode.com/svn/trunk/html5.js", סוג = "text / javascript")
& Nbsp; קישור (rel = "גיליון עיצוב ', = סוג" 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 ("התנתקות")): 'לצאת'
& Nbsp; nav:
& Nbsp; ul:
& Nbsp; בלוק ('nav'):
& Nbsp; לי: (href = url ("התחברות")): "כניסה"
& Nbsp; כיתת סעיף = "סימני דרך":
& Nbsp; בלוק ("סימני דרך")
& Nbsp; סעיף (class = "עיקרי"):
& Nbsp; בלוק ("הודעות"):
& Nbsp; אם הודעות:
& Nbsp; ul (class = "הודעות"):
& Nbsp; להודעה בהודעות:
& Nbsp; li (class = message.tags): '{} הודעה'
& Nbsp; תסריט:
& Nbsp; literals # קוד, כך שעורכים מתמצא יכול לצבוע את קוד המקור
& Nbsp; javascript `` `
& Nbsp; $ .ready (מסמך) (פונקציה () {
& Nbsp; $ ("ul.messages") addClass ("להנפיש").;
& Nbsp; fade_out var = _ (פונקציה () {
& Nbsp; this.addClass ("לדעוך-out")
& Nbsp;.}) לאגד ($ ("ul.messages"))
& Nbsp; setTimeout (fade_out, 5000);
& Nbsp;. $ ("Ul.messages") bind ("לחץ", fade_out);
& Nbsp;});
& Nbsp; `` `
& Nbsp; בלוק ('תוכן')
& Nbsp; כותרת תחתונה:
& Nbsp; # p:
& Nbsp; # "אלה הם הערות."
& Nbsp; # span: '|'
"עותק &; 2,012 קרוספיט" #; & nbsp
התקנה
& Nbsp; פיפס להתקין דיקט
& Nbsp; רובדי
SYNTAX
כל שורה מתחילה עם הצהרה, אשר יכולה להיות פונקציה (div, לחסום) מילולי (',' ''), או הצהרת שליטה (אם, אחר, ל).
פונקציות מקבלים נקראות עם הטיעונים ו" בלוק ":
# טיעונים ((), {}), בלוק הוא בלוק ()
p
# טיעונים ((), {'כיתה': "יהירות"}), בלוק הוא בלוק ()
div (class = "לחלק")
# טיעונים (('פוקוס אוטומטי'), {'id': "יו '}), בלוק הוא בלוק (מילולי (" זה ביו שלי "),)
textarea (פוקוס אוטומטי, id = "ביו"): "זה ביו שלי '
גם אם אין "בלוק", שתקבל לפחות באובייקט בלוק ריק שאתה יכול לקרוא על block.render. זה יהיה "falsey", אם כי, כך שאתה יכול לבדוק את קיומו של גוש. הבלוק "truthy" המינימום הוא מחרוזת ריקה. זה אומר שdiv '' ייתן לך בלוק "truthy", אבל div יהיה בלוק "falsey".
אתה יכול להאריך את החרא החוצה של דיקט, כי div, אם, בלוק, הרבה, כולם נכתבו כהרחבות דיקט. ללא הרחבות builtin, השפה לא יכלה בעצם לעשות שום דבר, כי זה במרכזו רק דקדוק שפה.
למה!?!?
אני חושב שיש מקום לשפת בניית תבנית אחרת.
Haml? Coffekup? ג'ייד? הם לא נראים לי נחש ארסי.
המישור-ג'יין HTML? בטח, אם אתה רוצה. כלומר, אני חושב, החלופה הטובה ביותר לדיקט.
אפילו שפת תבנית Django הגדולה היא HTML עשה נבזה על ידי הוספת סימון נוסף. הסתכלתי על ג'ייד וHaml כמו "כן, אתה מקבל שם", אבל הם לא תפסו אותו.
אני unapologettically DIY-אה. אני חושב שלפעמים גלגלים רק צריכים להמציא מחדש! בנוסף, זה נתן לי הזדמנות לשחק עם דקדוק שפה, שאני חושב שהם כיף. אני משתמש Modgrammar
דרישות :
- Python
תגובות לא נמצא