web-dev-qa-db-fra.com

Ajouter un espace à la fin de la ligne en Jade

J'ai ce jade code:

p
    | Avatar hosted by
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

Le problème est, il est rendu à

<p>Avatar hosted by<a href="http://www.gravatar.com/" target="_blank">Gravatar</a></p>

Ce qui ressemble à: "Avatar hébergé par Gravatar ".

Peu importe le nombre d'espaces que j'ai ajoutés à la fin de la ligne de texte, cela ressemble toujours à ceci. Les médecins ne pouvaient pas m'aider et je ne peux pas imaginer que ce soit un problème aussi inhabituel.

39
Lanbo

Si vous ne voulez pas d'inclure du HTML ou des entités HTML dans votre code, voici ce que vous pouvez faire:

p
    | Avatar hosted by
    =  ' '
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

ou c'est est plus court

p= 'Avatar hosted by '
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

Le plus propre est probablement ce

p Avatar hosted by #{''}
    a(href='http://www.gravatar.com/', target='_blank') Gravatar
55
iopq

Quelle version de jade utilisez-vous? Je viens de tester (avec 0.25.0) avec un seul espace après 'by', et cela a fonctionné correctement.

Les autres options sont:

p
    | Avatar hosted by&nbsp;
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

ou

p
    | Avatar hosted by
    |  <a href='http://www.gravatar.com/' target='_blank'>Gravatar</a>
39
jmar777

Jade prend désormais en charge l’interpolation des balises inline. 

p this is #[strong test] of how jade will treat #[i #[u inline tags]]... like #[a(href="/") anchor tags] and #[+a() mixins].

http://jade-lang.com/reference/interpolation/

18
Sean Gravener

Êtes-vous sûr que ce n'est pas votre éditeur? J'utilise Komodo et il était configuré pour effacer les espaces en fin de sauvegarde. Lorsque je sauvegardais le fichier, il effaçait l'espace à la fin de la ligne de texte. Le manque d'espace entre mon texte et mes liens me rendait dingue jusqu'à ce que je le sache. J'ai modifié les paramètres de Komodo (Préférences-> Editeur-> Options d'enregistrement) pour décocher la bande se terminant à la fin des espaces et le problème a disparu. 

6
Fred Polli

J'utilise la variable space à la nouvelle ligne. Ce:

p
    | You must follow
    =space
    a(href=default_url) this link

modifier:
Comme jmar777 l’a souligné, les versions récentes de jade doivent respecter les espaces en fin d’espace voir ici . C'est génial, et je vais peut-être essayer à nouveau le jade sur des projets futurs.

edit: Mise à jour du lien vers l'analyseur jade. Lien d'origine était pour jade 1.11.

1
Jim Schubert

Une solution rapide et propre consiste à utiliser cette syntaxe:

p
    | Avatar hosted by
    | 
    a(href='http://www.gravatar.com/', target='_blank') Gravatar

Notez l'espace après | sur la deuxième ligne de texte. Cela va ajouter un espace après le texte de la ligne précédente (et aussi cracher une erreur si vous oubliez de l'ajouter!).

Jusqu'à présent, c'est l'option la plus propre, à mon avis.

0

J'utilise Harp, et la solution avec deux tuyaux par Óscar Gómez renvoie une erreur, bien que cela ait l'air très élégant. 

Grâce à Даниил Пронин et à Sean Gravener, j'ai trouvé ces solutions efficaces:

p
  | Avatar hosted by #{' '}
  a(href='http://www.gravatar.com/', target='_blank') Gravatar

et

p
  | Avatar hosted by
  = ' '
  a(href='http://www.gravatar.com/', target='_blank') Gravatar

En outre, si vous rencontrez une sorte de situation inverse: texte span # {ref + ['']}

Voici plus d'informations sur l'interpolation de syntaxe en Pug (Jade): https://pugjs.org/language/interpolation.html

0
Alice Tribuleva