Info Bar Templates
A template allow you to customize the rendering of the Info Bar.
Templates can use Markdown syntax and/or a Nunjucks syntax. Templates can access all the attributes of an element with the syntax {{ myAttribute }}
Examples
Given this element
{
  // Mandatory fields
  "title": "GoGo Example",
  "geo": {
    "latitude":46.3252,
    "longitude":-0.0339
  },
  "taxonomy": [ 10427, 'Market' ],
  // Custom fields (can be any)
  "createdAt": "01/05/2018",
  "motivation": "Suspendisse at placerat nunc. Nam quis rhoncus est, eget aliquam lorem."
}
If I do not provide a custom template, then the result will be

Not very satisfying ! It is just using the title and the taxonomy attributes. So we will now use this custom body template
## Hello my custom template
{{ motivation }}
**Created at : {{ createdAt }}**
___________
{{ taxonomy|gogo_taxonomy }}

You can see that I used some mardown syntax (heading, bold, and horizontal rule) and also I used the Nunjuck syntax for variables {% raw %}{{ myAttribute }}. For the attribute taxonomy, I used a special filter called “gogo_taxonomy”, see list of filters below.
How to provide custom template to the configuration
From the above example, there is three options
Option 1 : inline
"infobar": {
    "bodyTemplate": {
      "content": "## Hello my custom template\n{{ motivation }}\n**Created at : {{ createdAt }}**\n_________\n{{ taxonomy|gogo_taxonomy}}",
    },
  }
Option 2 : string array
"infobar": {
    "bodyTemplate": {
      "content": [
        "## Hello my custom template",
        "{{ motivation }}",
        "",
        "**Created at : {{ createdAt }}**",
        "____________",
        "{{ taxonomy|gogo_taxonomy}}"
      ]
    }
  }
Option 3 : file
"infobar": {
    "bodyTemplate": { 
      "content": "http://path/to/custom-element-body-template.md",
      type: "url"
    },
  }
Header Template
You can also customize the header template, for example
"infobar": {
    "headerTemplate": {
      "content": "Motivation : {{ motivation }}"
    }
    "bodyTemplate": { 
      "content": "http://path/to/custom-element-body-template.md",
      "type": "url"
    },
  }

Filters
Nunjucks come with some builtin filters, see Documentation
GoGoCarto has also some custom filters
gogo_taxonomy Use it with the taxonomy atribute {{ taxonomy|gogo_taxonomy}}
gogo_textarea(truncate = 400) This is used to display long text. There is an optional parameter called truncate which truncate the texte around the given character length and add a “display more” button
{{ motivation|gogo_textarea(truncate = 400) }}

gogo_url Display urls
gogo_email Depending on configuration, it can hide the email and display a “Send Mail” button instead
gogo_tags display an array attributes
{
  // ...
  "blop": ["Open Source", "Réutilisable", "Awesome!"]
}
{{ blop|gogo_tags }}
