76 votes

Qu'en est-il des sauts de ligne en Jade?

Je suis assez sûr que c'est une évidence, mais je n'ai pas trouvé l'extrait de code de l'échantillon. Quelle est la meilleure façon d'insérer des sauts de ligne (aka le bon ol' br/)?

Aussi loin que je puisse voir si je mets un "br" au début d'une ligne vide, il est rendu comme <br/> , mais si je dois afficher plusieurs lignes de texte, le code résultant est très longue:

.poem 
    p 
        | Si chiamava Tatiana, la sorella… 
        br 
        | Noi siamo i primi, almeno lo crediamo
        br 
        | Che un tale nome arditamente nella
        br 
        | Cornice d'un romanzo introduciamo.
        br 
        | E che dunque? E' piacevole, sonoro.
        br 
        | Lo so che a molti privo di decoro 
        br 
        | Apparirà, già fuori moda, e degno
        br 
        | Piuttosto d'un ancella, certo segno, 
        br 
        | confessiamolo pur senza paura,
        br 
        | di quanto s'è noialtri al gusto avversi
        br 
        | nei nostri nomi (a non parlar di versi). |br
        br 
        | Credemmo conquistare la cultura,
        br 
        | e non ne abbiamo preso, in conclusione,
        br 
        | che la ricerca dell'affettazione.

Est-il une meilleure façon de résoudre ce problème? (d'ailleurs je me demande la même chose avec la balise d'image...)

Je vous remercie à l'avance! Teo

61voto

Daniel Baulig Points 4849

La solution la plus propre et la plus simple consiste à utiliser l'attribut de style white-space: pre; par exemple:

 .poem 
    p(style='white-space:pre;')
        | Si chiamava Tatiana, la sorella… 
        | Noi siamo i primi, almeno lo crediamo
        | Che un tale nome arditamente nella
        | Cornice d'un romanzo introduciamo.
        | E che dunque? E' piacevole, sonoro.
        | Lo so che a molti privo di decoro 
        | Apparirà, già fuori moda, e degno
        | Piuttosto d'un ancella, certo segno, 
        | confessiamolo pur senza paura,
        | di quanto s'è noialtri al gusto avversi
        | nei nostri nomi (a non parlar di versi). |br
        | Credemmo conquistare la cultura,
        | e non ne abbiamo preso, in conclusione,
        | che la ricerca dell'affettazione.
 

7voto

haxxxton Points 1808

de sorte que vous êtes au courant.. si vous êtes en tirant cette information.. dire à partir d'une base de données SQL où vous avez déjà entré manuellement dans les sauts de ligne (disons dans un textarea d'un formulaire), vous pouvez effectuer les opérations suivantes sur le serveur de votre sortie

var contentParse = function(content){
    content = content.replace(/\n?\r\n/g, '<br />' );
    return content;
};

et puis en jade utilisation

!{content}

l' ! permet de jade savoir que vous êtes l'insertion de code html brut dans la variable que vous essayez de rendre

source: https://github.com/visionmedia/jade#tag-text

5voto

generalhenry Points 9763

robustement avec un div par ligne:

 p.poem 
  .line Si chiamava Tatiana, la sorella… 
  .line Noi siamo i primi, almeno lo crediamo
  .line Che un tale nome arditamente nella
  .line Cornice d'un romanzo introduciamo.
  .line E che dunque? E' piacevole, sonoro.
  .line Lo so che a molti privo di decoro 
  .line Apparirà, già fuori moda, e degno
  .line Piuttosto d'un ancella, certo segno, 
  .line confessiamolo pur senza paura,
  .line di quanto s'è noialtri al gusto avversi
  .line nei nostri nomi (a non parlar di versi).
  .line Credemmo conquistare la cultura,
  .line e non ne abbiamo preso, in conclusione,
  .line che la ricerca dell'affettazione.
 

ou simplement avec un pré:

style pre.poem {font-family: ariel}

 pre.poem 
  Si chiamava Tatiana, la sorella… 
  Noi siamo i primi, almeno lo crediamo
  Che un tale nome arditamente nella
  Cornice d'un romanzo introduciamo.
  E che dunque? E' piacevole, sonoro.
  Lo so che a molti privo di decoro 
  Apparirà, già fuori moda, e degno
  Piuttosto d'un ancella, certo segno, 
  confessiamolo pur senza paura,
  di quanto s'è noialtri al gusto avversi
  nei nostri nomi (a non parlar di versi). 
  Credemmo conquistare la cultura,
  e non ne abbiamo preso, in conclusione,
  che la ricerca dell'affettazione.
 

0voto

yolk Points 38

J'ai pu faire ce qui suit après @haxxxton

 app.use(function(req, res, next){
  var contentParse = function (content){
      content = content.replace(/\n?\r\n/g, '<br />' );
      return content;
  };
  res.locals.contentParse = contentParse;
  next();
});
 

Par exemple, il peut être utilisé dans un modèle de jade à l’aide de la fonction p!= contentParse(post.description)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X