Mustache.js: Mustache.parse() рдкрд░ рдХрд╕реНрдЯрдо рд╕реАрдорд╛рдВрдХрдХ 2.3.1 . рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЕрдЧре░ 2018  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: janl/mustache.js

рдЪреВрдВрдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 2.3.1 рдХрд╕реНрдЯрдо рд╕реАрдорд╛рдВрдХрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдм Mustache.parse() рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

  • 2.3.0, рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдорд╛рди рдбрд╛рд▓реЗ рдЧрдП рд╣реИрдВ: https://codepen.io/mbrodala/pen/vaQPxK
  • 2.3.1: рдЯреВрдЯрд╛ рд╣реБрдЖ, рдорд╛рди рд╕рдореНрдорд┐рд▓рд┐рдд рдирд╣реАрдВ рд╣реИрдВ: https://codepen.io/mbrodala/pen/NBEJjX

рдпрд╣ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ #663 рдФрд░ рдЗрд╕рдХреЗ рд╕реБрдзрд╛рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдирдП Mustache.tags = [...] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ: https://codepen.io/mbrodala/pen/QBJoOx

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ?

рд╕рднреА 16 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@mbrodala рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЙрди рдХреЛрдбрдкреЗрди рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ!

@mbrodala рдХреЛрдбрдкреЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдХреЛрдИ рдЧрд▓рддрдлрд╣рдореА рд╣реБрдИ рд╣реИред

643 рдФрд░ #664 рдПрдХ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░реЗрдВ рдЬрд┐рд╕рдХреА рдореИрдВрдиреЗ #617 рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдереА, рдЬрд┐рд╕реЗ рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ #643 рдХреЗ рд╕рд╛рде рд╣реИ:

  describe('when parsing a template with tags specified followed by the same template with different tags specified', function() {
     it('returns different tokens for the latter parse', function() {
       var template = "(foo)[bar]";
       var parsedWithParens = Mustache.parse(template, ['(', ')']);
       var parsedWithBrackets = Mustache.parse(template, ['[', ']']);
       assert.notDeepEqual(parsedWithBrackets, parsedWithParens);
     });
   });

parse рдлрд╝рдВрдХреНрд╢рди рдХреИрд╢ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓ template рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрд╢рд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рддрд╛рдХрд┐ рдЕрдЧрд▓реА рдмрд╛рд░ рдЙрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП parse рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдЯреЛрдХрди рд▓реМрдЯрд╛рдПрдЧрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ tags рдЕрд▓рдЧ рд╣реИрдВред

tags рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рдФрд░ рдЬрдм рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ mustache.tags рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ['{{', '}}'] рд╣реЛрддрд╛ рд╣реИред рдлрд╝реЙрд▓ рдмреИрдХ mustache.tags рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╢ рдХреБрдВрдЬреА рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдмрдЧ рдлрд┐рдХреНрд╕ рдФрд░ рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдбрдкреЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред

v2.3.0

Mustache.parse(template, ['[[', ']]']);

2.3.0 рдореЗрдВ, рдпрд╣ рдореВрдВрдЫреЛрдВ рдХреЛ рдЯреИрдЧ рдХреЗ рд░реВрдк рдореЗрдВ ['[[', ']]'] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ $ template рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИред рдореВрдВрдЫреЗрдВ рдРрд╕рд╛ рдХрд░рддреА рд╣реИрдВ рдФрд░ рд╕рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ template рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрд▓ рдХреЛ рдХреИрд╢ рдХрд░рддреА рд╣реИрдВред [email protected] рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ 447-450 рджреЗрдЦреЗрдВ:

    if (tokens == null)
       tokens = cache[template] = parseTemplate(template, tags);

рдХреЛрдбрдкреЗрди рдореЗрдВ рдЕрдЧрд▓реА рдХреЙрд▓ рд╣реИ:

var output = Mustache.render(
  template,
...

render рдПрдХ tags рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рдХреЛ parse рдкрд░ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм render рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ parse mustache.tags рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ render рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ parse рдХрд╣ рд░рд╣рд╛ рд╣реИ, "рдХреГрдкрдпрд╛ template рдкрд╛рд░реНрд╕ рдХрд░реЗрдВ рдФрд░ ['{{', '}}'] рдХреЛ tags рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред parse рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд▓рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ tags рдФрд░ mustache.tags рджреЛрдиреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реБрдП рдХреИрд╢ рд▓реБрдХрдЕрдк рдХрд░рддрд╛ рд╣реИред рдпрд╣ [['[', ']']] рдХреЗ рд╕рд╛рде рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЙрд╕ template рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ parse ['[[', ']']] рдХреЗ рд╕рд╛рде рдХреА рдЧрдИ рдереАред tags ред

рд╡реА2.3.1

Mustache.parse(template, ['[[', ']]']);

рдкрд╛рд░реНрд╕ рдкрд░рд┐рдгрд╛рдо template рдФрд░ tags рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреИрд╢рдХреА рдХреЗ рд░реВрдк рдореЗрдВ ['[[', ']]'] рд╣реИред

рдЕрдЧрд▓реА рдХреЙрд▓:

var output = Mustache.render(
  template,
...

render parse $ рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, template рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди tags рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред parse рдЗрд╕рд▓рд┐рдП tags рд╡рд╛рдкрд╕ рдЧрд┐рд░рдХрд░ mustache.tags рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ ['{{', '}}'] рдмрдирд╛ рд╣реБрдЖ рд╣реИред parse template ['{{', '}}'] parse template рдФрд░ рдЯреИрдЧ рдХреЗ рдЙрд╕ рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рдеред рдЗрд╕рд▓рд┐рдП рдпрд╣ template рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ['{{', '}}'] рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ v2.3.1 рд╕рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдореЗрдВ https://codepen.io/mbrodala/pen/QBJoOx рдореЗрдВ рдХреЛрдбрдкреЗрди рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рдирд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ v2.3.0 рдХреЗ рд╡рд┐рд░реБрджреНрдз рдЪрд▓рд╛рдирд╛ рд╣реИ:

var template = "[[item.title]] [[item.value]]";
Mustache.parse(template, ['[[', ']]']);
var output = Mustache.render(
  template,
  {
    item: {
      title: "TEST",
      value: 1
    }
  }
);
alert(output);

рдЖрдЙрдЯрдкреБрдЯ [[item.title]] [[item.value]] рд╣реИ, рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИред

рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ https://codepen.io/mbrodala/pen/NBEJjX рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреИрд╕реЗ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ Mustache.parse рдФрд░ Mustache.render рдХреЙрд▓ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдареАрдХ рдмрдЧрд▓ рдореЗрдВ рд╣реИрдВ рдФрд░ рдПрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╣ рднреА рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдХрд┐ Mustache.parse рднреА tags рддрд░реНрдХ рд▓реЗрддрд╛ рд╣реИред ( Mustache.parse рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ tags рддрд░реНрдХ рднреА рдХреНрдпреЛрдВ рд▓реЗрддрд╛ рд╣реИ? рдпрд╣ mustache.js рдореЗрдВ рдХрд╣реАрдВ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - parse рдХреЗрд╡рд▓ mustache.tags рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрддрд╛ рд╣реИред ..)

рдпрджрд┐ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдЧрдлрд┐рдХреНрд╕ рд░рд┐рд▓реАрдЬ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдзрддрд╛ рдмрддрд╛рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рдпрд╣ рд╣реИ рдХрд┐ #664 рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдмрдЧрдлрд┐рдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рднреА рдХреИрд╢рд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ (рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ #643 рдореЗрдВ, рд╕рднреА рдХреИрд╢ рд▓реБрдХрдЕрдк рдЫреВрдЯ рдЬрд╛рдПрдВрдЧреЗ)ред рдлрд┐рд░ рд╣рдо #664 рдХреЛ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╢реЛрдзрди рдореЗрдВ рд╡рд╛рдкрд╕ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдмрдЧрдлрд┐рдХреНрд╕ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╕рднреА рдХреИрд╢рд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдП (рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде mustache.js рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд), рдФрд░ рдлрд┐рд░ рд╕рднреА рдХреИрд╢рд┐рдВрдЧ рдХреЛ рдЕрдЧрд▓реЗ рдкреНрд░рдореБрдЦ рд╕рдВрд╢реЛрдзрди рдореЗрдВ рд╡рд╛рдкрд╕ рд░рдЦрд╛ рдЬрд╛рдПред рдкреВрд░реНрд╡ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рд╢рд╛рдпрдж рдХрдо рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдорд╛рддреНрд░рд╛) рд▓реЗрдХрд┐рди рдмрд╛рдж рд╡рд╛рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд╢рд╛рдпрдж рдЕрдзрд┐рдХ "рд╕рд╣реА" рд╣реИред @phillipj рд╡рд┐рдЪрд╛рд░?

рд╡рд┐рд╕реНрддреГрдд рд╢реЛрдз рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж рдЬреЛ рдореЗрд░реЗ рдкреАрдУрд╡реА рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдореБрдЭреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреИрд╢ рд╣рд┐рдЯ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП tags рд╕реЗ Mustache.render() рдкрд╛рд╕ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдФрд░ Mustache.parse() рдХреЛ template рдХреИрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ tags рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ) рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ Mustache.parse рдХреЛ tags рдХреЗ рдХрд╕реНрдЯрдо рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдпрд╣ рднреА рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ template рдЗрди рд╕реАрдорд╛рдВрдХрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (BTW, "рдЯреИрдЧ" рдмрдирд╛рдо "рд╕реАрдорд╛рдВрдХрдХ" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рднреА рд╕рд╛рдл рд╣реЛ рдЧрдпрд╛)ред рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдпрд╣ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Mustache.render рдкрд░ рдХреЙрд▓ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рднрд▓реЗ рд╣реА рджрд┐рдП рдЧрдП template рдХреЛ рдХреИрд╕реЗ рдФрд░ рдХреИрд╕реЗ рдХреИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ рдФрд░ рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдХреИрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрджрд┐ рдХрд╕реНрдЯрдо tags рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЕрднреА рдЗрд╕рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред

@mbrodala рд╣рд╛рдБ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ Mustache.parse(template, ['[[', ']]']); рдХреЗ рдмрд╛рдж Mustache.parse(template, ['((', '))']); рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдкрд░рд┐рдгрд╛рдо рджреЗрдирд╛ рдЕрднреА рднреА рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реЛрдЧрд╛ред

рдпрд╣рд╛рдВ рдПрдХ рд╕реНрдЯреНрд░реЙ-рдореИрди рд╕рдорд╛рдзрд╛рди/рд╕рдордЭреМрддрд╛ рд╣реИ ("рд╕реНрдЯреНрд░реЙ-рдореИрди" рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рджрд┐рдорд╛рдЧреА рддреВрдлрд╛рди рдХреЗ рд▓рд╛рдпрдХ рд╣реИ)ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдХреЗрд▓реЗ $# template 3$#$ рдФрд░ рдЯреИрдЧ рдХреЗ рд╕рд╛рде template рджреЛрдиреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл parse рдХреИрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм parse рдХреЛ tags рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ template рдФрд░ tags рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рд▓реБрдХрдЕрдк рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╣рдо render рдкрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ parse рдмрд┐рдирд╛ tags рдХреЗ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЕрдХреЗрд▓реЗ template рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рд▓реБрдХрдЕрдк рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдЪрд╛рд░?

рдзреНрд╡рдирд┐ рдмрдВрдж рд╣реИ рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рдХреНрд╕ рдХреЛ рдмрд░рдХрд░рд╛рд░ рд░рдЦрддреЗ рд╣реБрдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ред рдореЗрд░реЗ рдкреАрдУрд╡реА рд╕реЗ рдареАрдХ рд╣реИред

@mbrodala рдореБрдЦреНрдп рдореБрджреНрджрд╛ рд╣реИ рдХрд┐ рдЖрдк tags рдХреЛ render рдореЗрдВ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╣рдо рдХреЗрд╡рд▓ tags рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ render рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

@petrkoutnysw рдХреНрдпрд╛ рдпрд╣ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рд╡рд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЕрдиреБрднрд╡ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдпрд╣ рдХрдо рд╕реЗ рдХрдо parse() рдФрд░ render() рдХреЗ рдмреАрдЪ рдПрдХ рдЕрд╕рдВрдЧрддрд┐ рд╣реИред рд╣рдо parse() рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ render() рдкрд░ рдХрд╕реНрдЯрдо рдЯреИрдЧ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЕрдм рдЙрдЪрд┐рдд рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдпрд╣ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

+1 рдмрд╣реБрдд рд╕рд╛рд░реЗ рднреНрд░рдо рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрдВрдбрд░() рдореЗрдВ рдЯреИрдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП - рд╣рдореЗрдВ рдЗрд╕ рдмрджрд▓рд╛рд╡ рд╕реЗ рднреА рдереЛрдбрд╝рд╛ рд╕рд╛ рдорд┐рд▓рд╛ рдФрд░ рд▓рд┐рдВрдХ рдмреА/рдбрдмреНрд▓реНрдпреВ рдкрд╛рд░реНрд╕ рдФрд░ рд░реЗрдВрдбрд░ рд╣рдореЗрд╢рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрд╛рджреВ рдХреА рддрд░рд╣ рд▓рдЧ рд░рд╣рд╛ рдерд╛ред

рдареАрдХ рд╣реИ, рддреЛ рд╣рдо рдмрдЧ рдлрд┐рдХреНрд╕ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдХреИрд╢рд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рддреЗ рд╣реИрдВ, рддрддреНрдХрд╛рд▓ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЕрдЧрд▓реА рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдореЗрдВ render рд╡рд┐рдзрд┐ рдореЗрдВ рдЗрд╕реЗ рдФрд░ tags рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВ? (рдлрд┐рд░ рд╕реЗ, рдореИрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрдЯреНрд░реЙ-рдореИрди рд╕рдорд╛рдзрд╛рди рдХрд╛ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реВрдВред)

рдЙрд╕ рд╕рдВрдкреВрд░реНрдг рдкреВрд░реНрд╡рд╛рднреНрдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж @ рд░реЗрдордВрдб-рд▓реИрдо!

рдореИрдВ рд╕реБрдЭрд╛рдП рдЧрдП рдмрдЧ рдлрд┐рдХреНрд╕ рд░рд┐рд▓реАрдЬ рдХреА рдУрд░ рдЭреБрдХ рд░рд╣рд╛ рд╣реВрдВ, рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реЗрд╡рд░ рдЪрд┐рдВрддрд╛рдУрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдЬрд╣рд╛рдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЬрдВрдЧрд▓реА рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╡рд┐рдирд╛рд╢ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред

рдирд┐рдпреЛрдЬрд┐рдд рдЕрдЧрд▓реА рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдХреИрд╢рд┐рдВрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд░рд┐рд▓реАрдЬрд╝ рдиреЛрдЯреНрд╕ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@phillipj рдореИрдВрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз #670 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ #643 рдФрд░ #664 рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИред рд╕рднреА рдХреЛ рдПрдХ рд╕рд╛рде рдХреИрд╢рд┐рдВрдЧ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЬреЛрдЦрд┐рдо рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ v2.3.0 рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ (рдПрдХ рдмрдЧрдлрд┐рдХреНрд╕ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ) рдореВрдВрдЫреЗрдВ v2.xx рдкрд░ рдЖрд╢реНрд░рд┐рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд▓рдЧрддрд╛ рд╣реИ рдореИрдВ рдПрдХ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд░реВрдВрдЧрд╛ред

@phillipj #671 рдПрдХ рдкреНрд░рдореБрдЦ рд░рд┐рд▓реАрдЬрд╝ рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреИрд╢рд┐рдВрдЧ рдлрд╝рд┐рдХреНрд╕реЗрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред

tags рдХреЛ `рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ #672 рдмрдирд╛рдИ рдЧрдИред

рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рд▓реЛрдЧ рд░реЙрдХ рдХрд░реЗрдВред рдореИрдВ

рдЗрд╕рдХреЗ рд▓рд┐рдП @ рд░реЗрдордВрдб-рд▓реИрдо рдХреЛ рд╕рд▓рд╛рдо! рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдзрдиреНрдпрд╡рд╛рдж, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдЬрдВрдЧрд▓реА рдореЗрдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрдм рд╣реЛрддреЗ рд╣реИрдВред

v2.3.2 рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕