Skip to content

Commit

Permalink
Merge branch 'master' into verbatim-tag
Browse files Browse the repository at this point in the history
Conflicts:
	CHANGELOG.md
  • Loading branch information
jbmoelker committed Oct 18, 2016
2 parents bd89154 + 42cbbd2 commit e122ce8
Show file tree
Hide file tree
Showing 7 changed files with 104 additions and 29 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Expand Up @@ -26,6 +26,10 @@ Changelog
* Fix handling of macro arg with default value which shares a name with another
macro. Merge of [#791](https://github.com/mozilla/nunjucks/pull/791).

* Add support for the spaces parameter in the dump template filter.
Merge of [#868](https://github.com/mozilla/nunjucks/pull/868).
Thanks Jesse Eikema

* Add `verbatim` as an alias of `raw` for compatibility with Twig.
Merge of [#874](https://github.com/mozilla/nunjucks/pull/874).

Expand Down
2 changes: 1 addition & 1 deletion docs/_layouts/page.html
Expand Up @@ -18,7 +18,7 @@

<ul class="nav navbar-nav navbar-right pull-right">
<li><a href="{{ site.baseurl }}#download" class="download">Download</a></li>
<li><a href="https://github.com/mozilla/nunjucks">Github</a></li>
<li><a href="https://github.com/mozilla/nunjucks">GitHub</a></li>
<li class="dropdown">
<a href="getting-started.html" data-toggle="dropdown">Docs</a>

Expand Down
47 changes: 25 additions & 22 deletions docs/fr/templating.md
Expand Up @@ -17,7 +17,7 @@ Ceci est un aperçu des caractéristiques des templates disponibles dans Nunjuck
## Extensions de fichier

Bien que vous soyez libre d'utiliser n'importe quelle extension de fichier pour vos
fichiers de template Nunjucks, la communauté de Nunjucks a adopté `.njk`.
fichiers de template Nunjucks, la communauté de Nunjucks a adopté `.njk`.

Si vous développez des outils ou des aides de syntaxe pour éditeur pour Nunjucks,
veuillez inclure la reconnaissance de l'extension `.njk`.
Expand All @@ -30,6 +30,7 @@ Des plugins sont disponibles pour les différents éditeurs pour prendre en char
* vim <https://github.com/niftylettuce/vim-jinja>
* brackets <https://github.com/axelboc/nunjucks-brackets>
* sublime <https://github.com/mogga/sublime-nunjucks/blob/master/Nunjucks.tmLanguage>
* emacs <http://web-mode.org>

## Variables

Expand Down Expand Up @@ -179,7 +180,8 @@ exactement comme le `if` de javascript.
Si `variable` est défini et évalué à `true`, "C'est vrai"
s'affichera, sinon rien n'apparaitra.

Vous pouvez spécifier des conditions alternatives avec `elif` et `else` :
Vous pouvez spécifier des conditions alternatives avec `elif` (ou `elseif`, qui est simplement un alias de `elif`)
et `else` :

```jinja
{% if faim %}
Expand Down Expand Up @@ -670,8 +672,8 @@ moins (`-`) sur le tag de début ou de fin..
{%- endfor %}
```

L'affichage exact de l'exemple du dessus sera "12345". Le `-%}` enlève les espaces à
droite après le tag et le `{%-` enlève les espaces à gauche avant le tag.
L'affichage exact de l'exemple du dessus sera "12345". Le `{%-` enlève les espaces à
droite avant le tag et le `-%}` enlève les espaces à droite après le tag.

## Expressions

Expand Down Expand Up @@ -754,6 +756,12 @@ est particulièrement utile pour les valeurs par défaut comme celle-ci :
{{ baz(foo if foo else "default") }}
```

Contrairement à l'opérateur ternaire de javascript, le `else` est facultatif :

```jinja
{{ "true" if foo }}
```

### Appels de fonction

Si vous avez passé une méthode javascript à votre template, vous pouvez l'appeler
Expand Down Expand Up @@ -852,12 +860,9 @@ Si `tags` avait `["food", "beer", "dessert"]`, l'exemple ci-dessus afficherait `

## Filtres intégrés

Nunjucks a porté la plupart des filtres de jinja, et il a ses propres filtres. Nous avons besoin
de travailler sur notre documentation pour les filtres. Certains d'entre eux sont documentés
ci-dessous, pour le reste, vous pouvez cliquer sur le site de jinja.
Nunjucks a porté la plupart des [filtres de jinja](http://jinja.pocoo.org/docs/dev/templates/#builtin-filters), et il a ses propres filtres :

### abs

Retourne la valeur absolue de l'argument :

**Entrée**
Expand Down Expand Up @@ -939,7 +944,7 @@ etc)
valeur fausse retournait `default`. Dans la 2.0, le comportement par défaut retourne
`default` seulement pour une valeur `undefined`. Vous pouvez obtenir l'ancien
comportement en passant `true` à `boolean`, ou en utilisant simplement `value or default`.**

### dictsort

Tri un dictionnaire et rend des paires (clé, valeur) :
Expand All @@ -963,7 +968,6 @@ Tri un dictionnaire et rend des paires (clé, valeur) :
```jinja
a b c d e f
```

### dump (object)

Appelle `JSON.stringify` sur un objet et déverse le résultat dans le
Expand All @@ -987,7 +991,6 @@ Les résultats rendent la valeur comme une chaîne de balisage.
&lt;html&gt;
```


### first

Donne le premier élément dans un tableau :
Expand Down Expand Up @@ -1530,8 +1533,18 @@ Convertit un objet en une chaine :
**Sortie**

```jinja
1,2,3,4,```
1,2,3,4,
```

### striptags (value, [preserve_linebreaks])

C'est similaire à
[striptags](http://jinja.pocoo.org/docs/templates/#striptags) de jinja. Si
`preserve_linebreaks` est à false (par défaut), cela enlève les balises SGML/XML et remplace
les espaces adjacents par un seul espace. Si `preserve_linebreaks` est à true,
cela normalise les espaces, en essayant de préserver les sauts de lignes originaux. Utiliser le second
comportement si vous voulez utiliser ceci `{{ text | striptags | nl2br }}`. Sinon
utilisez le comportement par défaut.

### sum

Expand All @@ -1550,16 +1563,6 @@ Rend la somme des éléments dans le tableau :
6
```

### striptags (value, [preserve_linebreaks])

C'est similaire à
[striptags](http://jinja.pocoo.org/docs/templates/#striptags) de jinja. Si
`preserve_linebreaks` est à false (par défaut), cela enlève les balises SGML/XML et remplace
les espaces adjacents par un seul espace. Si `preserve_linebreaks` est à true,
cela normalise les espaces, en essayant de préserver les sauts de lignes originaux. Utiliser le second
comportement si vous voulez utiliser ceci `{{ text | striptags | nl2br }}`. Sinon
utilisez le comportement par défaut.

### title

Met la première lettre de chaque mot en majuscule :
Expand Down
2 changes: 1 addition & 1 deletion docs/index.html
Expand Up @@ -54,7 +54,7 @@ <h1>Browser</h1>
<section class="links">
<ul>
<li><a href="{{ site.baseurl }}#download" class="download">Download</a></li>
<li><a href="https://github.com/mozilla/nunjucks">Github</a></li>
<li><a href="https://github.com/mozilla/nunjucks">GitHub</a></li>
<li><a href="templating.html">Templating Docs</a></li>
<li><a href="api.html">API Docs</a></li>
<li><a href="faq.html">FAQ</a></li>
Expand Down
62 changes: 59 additions & 3 deletions docs/templating.md
Expand Up @@ -30,6 +30,7 @@ Plugins are available in various editors to support the `jinja` syntax highlight
* vim <https://github.com/niftylettuce/vim-jinja>
* brackets <https://github.com/axelboc/nunjucks-brackets>
* sublime <https://github.com/mogga/sublime-nunjucks/blob/master/Nunjucks.tmLanguage>
* emacs <http://web-mode.org>

## Variables

Expand Down Expand Up @@ -867,6 +868,7 @@ If `tags` was `["food", "beer", "dessert"]`, the above example would output `foo
Nunjucks has ported most of [jinja's filters](http://jinja.pocoo.org/docs/dev/templates/#builtin-filters), and has a few of its own:

### abs

Return the absolute value of the argument:

**Input**
Expand Down Expand Up @@ -972,10 +974,64 @@ Sort a dict and yield (key, value) pairs:
```jinja
a b c d e f
```
### dump (object)
### dump

Call [`JSON.stringify`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) on an object and dump the result into the
template. Useful for debugging: `{{ items | dump }}`.

**Input**

```jinja
{% set items = ["a", 1, { b : true}] %}
{{ items | dump }}
```

**Output**

```jinja
["a",1,{"b":true}]
```

Dump provides the spaces parameter to add spaces or tabs to the resulting
values. This makes the results more readable.

**Input**

```jinja
{% set items = ["a", 1, { b : true}] %}
{{ items | dump(2) }}
```

**Output**

```jinja
[
"a",
1,
{
"b": true
}
]
```
**Input**

```jinja
{% set items = ["a", 1, { b : true}] %}
{{ items | dump('\t') }}
```

Call `JSON.stringify` on an object and dump the result into the
template. Useful for debugging: `{{ foo | dump }}`.
**Output**

```jinja
[
"a",
1,
{
"b": true
}
]
```

### escape (aliased as e)

Expand Down
4 changes: 2 additions & 2 deletions src/filters.js
Expand Up @@ -111,8 +111,8 @@ var filters = {
return array;
},

dump: function(obj) {
return JSON.stringify(obj);
dump: function(obj, spaces) {
return JSON.stringify(obj, null, spaces);
},

escape: function(str) {
Expand Down
12 changes: 12 additions & 0 deletions tests/filters.js
Expand Up @@ -86,6 +86,18 @@
finish(done);
});

it('dump', function(done) {
equal('{{ [\'a\', 1, {b: true}] | dump }}',
'[&quot;a&quot;,1,{&quot;b&quot;:true}]');
equal('{{ [\'a\', 1, {b: true}] | dump(2) }}',
'[\n &quot;a&quot;,\n 1,\n {\n &quot;b&quot;: true\n }\n]');
equal('{{ [\'a\', 1, {b: true}] | dump(4) }}',
'[\n &quot;a&quot;,\n 1,\n {\n &quot;b&quot;: true\n }\n]' );
equal('{{ [\'a\', 1, {b: true}] | dump(\'\t\') }}',
'[\n\t&quot;a&quot;,\n\t1,\n\t{\n\t\t&quot;b&quot;: true\n\t}\n]');
finish(done);
});

it('escape', function(done) {
var res = render('{{ "<html>" | escape }}', {}, { autoescape: false });
expect(res).to.be('&lt;html&gt;');
Expand Down

0 comments on commit e122ce8

Please sign in to comment.