مڇ (ويب سانچائي نظام)
| اصل ليکڪ | جسٽن هائل مين، برونو سوٽچ، ڪرس وانسٽراٿ، ريڪارڊو مينڊس، برونو ميشل |
|---|---|
| ابتدائي اشاعت | 2009 |
| مستحڪم نسخو | 4.2.0
/ مارچ 28, 2021 |
| مخزن | |
| لکيل ٻولي | جاوا اسڪرپٽ |
| قسم | ويب ٽيمپليٽ سسٽم |
| لائسنس | ايم آئي ٽي لائسنس |
| ويب سائيٽ | mustache |
مڇ (Mustache) هڪ ويب سانچائي سسٽم آهي. ان کي هڪ منطق کان خالي نظام چيو ويندو آهي ڇاڪاڻتہ هن ۾ واضح ڪنٽرول فلو بيان جهڙوڪ if ۽ else شرط يا فار لوپ شامل نه هوندا آهن؛ پر لوپنگ ۽ شرطي جائزو سيڪشن ٽيگ استعمال ڪندي فهرستن ۽ گمنام فنڪشن (لامبدا) ذريعي حاصل ڪري سگهجن ٿا. هن جو نالو مڇ يا "مسٽيش" ان ڪري رکيو ويو آهي ڇاڪاڻتہ هن ۾ ڪرلي بريسز { } جو گهڻو استعمال ٿيندو آهي جيڪي پاسو تي رکيل مڇ (moustache) وانگر ڏسڻ ۾ ايندا آهن. مڇ خاص طور موبائل ۽ ويب ايپليڪيشنن ۾ استعمال ٿيندو آهي.[1][2]
عمل درآمد ايڪشن اسڪرپٽ، سي پلس پلس، ڪلوژر، ڪافي اسڪرپٽ، ڪولڊ فيوژن، ڪامن لِسپ، ڪرسٽل، ڊي، ڊارٽ، ڊيلفي، ايليڪسر، ايرلانگ، فانٽم، گو، هاسڪل، آئو، جاوا، جاوا اسڪرپٽ، جوليا، لوا، ڊاٽ نيٽ، آبجيڪٽو سي، اوڪيم ايل، پرل، پي ايڇ پي، فارو، پائٿن، آر، ريڪٽ، راڪو، روبي، رسٽ، اسڪالا، سمال ٽاڪ، سويفٽ، ٽي سي ايل، سي ايف انجڻ، ۽ ايڪس ڪيوئري ۾ موجود آهن.
تاريخ ۽ اصول
[سنواريو]مڇ-1 کي سي-سانچو ۽ et مان نياپو مليو،[3] ۽ 2009 جي آخر ۾ گٽ هب تي هڪ تقسيم طور شروع ٿيو. سانچائي انجڻ جو پهريون نسخو روبي سان لاڳو ڪيو ويو، جيڪو يام ايل سانچو متن هلائيندو هو. اهم اصول هي هئا:
- منطق کان خالي: ڪوبه واضح ڪنٽرول فلو بيان نه، سڀ ڪنٽرول ڊيٽا تي ٻڌل پروگرامنگ ذريعي.
- مضبوط لاڳاپن جي الڳ الڳ رکڻ: منطق ۽ ڏيک کي الڳ رکڻ.
ان پٽ ڊيٽا هڪ ڪلاس ٿي سگهي ٿي جنهن سان ان پٽ ڊيٽا کي ماڊل–ويئو–ڪنٽرولر (MVC) ويئو طور سمجهي سگهجي ٿو. مسٽيش ٽيمپليٽ صرف (ان پٽ ڊيٽا) ويئو ۾ طريقن جو حوالو ڏئي ٿو.[3] سمورو منطق، فيصلا ۽ ڪوڊ ان ويئو ۾ هوندا آهن، جڏهنتہ سڀ مارڪ اپ (جهڙوڪ آئوٽ پٽ ايڪس ايم ايل) ٽيمپليٽ ۾ هوندو آهي. ماڊل–ويئو–پريزينٽر (MVP) جي تناظر ۾: ان پٽ ڊيٽا MVP-پريزينٽر مان هوندي آهي، ۽ مسٽيش ٽيمپليٽ MVP-ويئو هوندو آهي.
مثال
[سنواريو]ڊيٽا
[سنواريو]جي سون ڊيٽا مسٽيش ٽيمپليٽن کي ڏني ويندي آهي جنهن مان آئوٽ پٽ حاصل ٿيندو آهي. هي هڪ مثال آهي:
{
"name": "World",
"greater than": ">"
}
متغير
[سنواريو]هڪ سادي مسٽيش ٽيمپليٽ جيئن هيٺ ڏنل آهي، مٿين ڊيٽا سان گڏ استعمال ٿيڻ تي Hello World ڏيکاريندو.
مسٽيش ايڇ ٽي ايم ايل ڊيٽا کي پاڻمرادو محفوظ (escape) ڪري ٿو. مثال طور هي 2 > 1 ڏيکاريندو:
پاڻمرادي حفاظت (اسڪيپ) بند ڪرڻ لاءِ & استعمال ڪيو ويندو:
If بيان ۽ foreach لوپ
[سنواريو]هيٺ ڏنل ٽيمپليٽ سيڪشن ٽيگ استعمال ڪري ٿو. جڏهن x هڪ بولين ڊيٽا قسم هوندو، سيڪشن ٽيگ شرطي بيان وانگر ڪم ڪندو. جڏهن x هڪ اري ڊيٽا قسم هوندو، اهو foreach لوپ وانگر ڪم ڪندو.
خاص متغير {{.}} موجوده شيءَ ڏانهن اشارو ڪري ٿو جڏهن اري ذريعي لوپ ڪيو وڃي.
ٻيا ٽيمپليٽ شامل ڪرڻ
[سنواريو]توهان > نشان استعمال ڪري هڪ مسٽيش ٽيمپليٽ اندر ٻيو ٽيمپليٽ شامل ڪري سگهو ٿا.
تبصرا
[سنواريو]تبصرا ! نشان سان لکيا ويندا آهن.
فني تفصيل
[سنواريو]سنٽيڪس هاءِ لائٽنگ ايٽم، ڪوڊا، ايميڪس، ٽيڪسٽ ميٽ، ويم ۽ وزوئل اسٽوڊيو ڪوڊ ۾ موجود آهي.[4][5]
مسٽيش ٽيمپليٽ سپورٽ ڪيترن ئي ويب ايپليڪيشن فريم ورڪ ۾ موجود آهي (جهڙوڪ ڪيڪ پي ايڇ پي)[حوالو گهربل]. جاوا اسڪرپٽ ۾ سپورٽ ڪلائنٽ سائڊ جاوا اسڪرپٽ پروگرامنگ سان گڏ ڪيترين جاوا اسڪرپٽ لائبريري ۽ ايجاڪس فريم ورڪن جهڙوڪ جي ڪوئري، ڊوجو ۽ يو آئي لائبريري ۾ آهي، جڏهنتہ سرور سائڊ جاوا اسڪرپٽ لاءِ نوڊ جي ايس ۽ ڪامن جي ايس استعمال ٿيندا آهن.
وضاحت ۽ امپليمينٽيشن
[سنواريو]مسٽيش انجن جون ڪيترين ئي امپليمينٽيشن موجود آهن، ۽ اهي سڀ هڪ گڏيل رسمي وضاحت تي عمل ڪن ٿيون، جنهن سان استعمال ڪندڙن لاءِ هڪجهڙو سنٽيڪس حاصل ٿئي ٿو.
مارچ 2011 تائين آخري SPEC_VERSION 1.1.2 هو.[6]
سڀ مسٽيش انجن (v1.X ڍانچي ۾) وٽ render طريقو، Mustache_Compiler ڪلاس ۽ Parser ڪلاس هوندو آهي.[حوالو گهربل]
تبديليون ۽ نڪتل نسخا
[سنواريو]مسٽيش ڪيترين ئي جاوا اسڪرپٽ ٽيمپليٽ لائبريرين کي متاثر ڪيو جيڪي اصل سادگي مان نڪتيون ۽ اضافي خاصيتون شامل ڪيون.
هينڊل بارز
[سنواريو]Handlebars.js[7] هن ريت بيان ڪيو ويو آهي:
Handlebars.js مسٽيش ٽيمپليٽ ٻولي جو واڌارو آهي جيڪو ڪرس وانسٽراٿ ٺاهي. Handlebars.js ۽ مسٽيش ٻئي منطق کان خالي ٽيمپليٽ ٻوليون آهن جيڪي ڏيک ۽ ڪوڊ کي الڳ رکڻ تي زور ڏين ٿيون.[8]
ھنڊل بارز پنهنجي اڳوڻي نسخي کان مختلف آهي ڇاڪاڻتہ روڪيل اظھار اندر مدد ڪندڙ استعمال ڪري ڪسٽم فنڪشن لکڻ جي اجازت ڏئي ٿو.
پڻ ڏسو
[سنواريو]حوالا
[سنواريو]- ↑ Avola, G.; Raasch, J. (2012). Smashing Mobile Web Development. ISBN 9781118348123.
- ↑ Cady, J. (2011). Functional Programming Applied to Web Development Templates: MS Project Report (PDF) (Report).
- 1 2 "Mustache". گٽ هب. 19 April 2022.
- ↑ "Home". web-mode.org.
- ↑ "Mustache - Visual Studio Marketplace". Visualstudio.com. Microsoft. August 18, 2019.
- ↑ "Changes". Mustache. GitHub. March 20, 2011.
- ↑ Katz, Yehuda (2011–2019). "Handlebars: Minimal templating on steroids". Handlebarsjs.com.
- ↑ wykatz, NPM. "html+handlebars NPM". html+handlebars NPM package details. Node Package Manager. 20 December 2016 تي حاصل ڪيل.