Action

MustacheTest

Posted by sorashima, Last update over 2 years ago - Unlisted

Steps

  • script

    const ttA = [
    {
      name:"typical Mustache template",
      t: `Hello {{name}}
    You have just won {{value}} dollars!
    {{#in_ca}}
    Well, {{taxed_value}} dollars, after taxes.
    {{/in_ca}}`,
      data: {
        "name": "Chris",
        "value": 10000,
        "taxed_value": 10000 - (10000 * 0.4),
        "in_ca": true
      }
    },
    {
      name: "Variables",
      t: `* {{name}}
    * {{age}}
    * {{company}}
    * {{{company}}}`,
      data: {
        "name": "Chris",
        "company": "<b>GitHub</b>"
      }
    },
    {
      name: "False Values or Empty Lists",
      t: `Shown.
    {{#person}}
      Never shown!
    {{/person}}`,
      data: {
        "person": false
      }
    },
    {
      name: "Non-Empty Lists",
      t: `{{#repo}}
      <b>{{name}}</b>
    {{/repo}}`,
      data: {
        "repo": [
          { "name": "resque" },
          { "name": "hub" },
          { "name": "rip" }
        ]
      }
    },
    {
      name: "Lambdas",
      t: `{{#wrapped}}
      {{name}} is awesome.
    {{/wrapped}}`,
      data: {
        "name": "Willy",
        "wrapped": function() {
          return function(text, render) {
            return "<b>" + render(text) + "</b>"
          }
        }
      }
    },
    {
      name: "Non-False Values",
      t: `{{#person?}}
      Hi {{name}}!
    {{/person?}}`,
      data: {
        "person?": { "name": "Jon" }
      }
    },
    {
      name: "Inverted Sections",
      t: `{{#repo}}
      <b>{{name}}</b>
    {{/repo}}
    {{^repo}}
      No repos :(
    {{/repo}}`,
      data: {
        "repo": []
      }
    },
    {
      name: "Comments",
      t: `<h1>Today{{! ignore me }}.</h1>`,
      data: {}
    },
    {
      name: "Partials",
      t: `<h2>Names</h2>
    {{#names}}
      {{> user}}
    {{/names}}`,
      data: {
        names: [
          { "name": "resque" },
          { "name": "hub" },
          { "name": "rip" }
        ]
      }
    },
    {
      name: "Set Delimiter",
      t: `* {{default_tags}}
    {{=<% %>=}}
    * <% erb_style_tags %>
    <%={{ }}=%>
    * {{ default_tags_again }}`,
      data: {
        default_tags: "default_tags",
        erb_style_tags: "erb_style_tags",
        default_tags_again: "default_tags_again"
      }
    }
    ]
    
    //
    
    for (const tt of ttA) {
      const template = MustacheTemplate.createWithTemplate(tt.t)
      template.contentType = "html"
      const result = template.render(tt.data)
      draft.append(result, `
    
    ---
    
    ### ${tt.name}
    `)
    }
    draft.update()
    

Options

  • After Success Default
    Notification Info
    Log Level Info
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.