it-swarm.com.de

Was ist mit Line Breaks in Jade?

Ich bin mir ziemlich sicher, dass dies ein Kinderspiel ist, aber ich habe keine Codebeispiele gefunden. Was ist der beste Weg, um Zeilenumbrüche einzufügen (alias the good ol 'br /)?

Soweit ich sehen kann, ob ich ein "br" an den Anfang einer leeren Zeile setze, wird es als <br/> dargestellt. Wenn ich jedoch mehrere Textzeilen anzeigen muss, ist der resultierende Code recht ausführlich:

.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.

Gibt es einen besseren Weg, dies zu lösen? (Ändere ich übrigens mit dem Image-Tag das Gleiche ...)

63
Matteo

Die sauberste und einfachste Lösung ist die Verwendung des Stilattributs white-space: pre;, zB:

.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.
54
Daniel Baulig

Ich habe es herausgefunden. Machen Sie einfach weiter und werfen Sie einen guten, <br />-Tag hinein. Du wirst golden sein:)

p
 |hey this is my <br />
 |broken paragraph!

UPDATE: Jade unterstützt jetzt nur noch br für Zeilenumbrüche. 

50
Hacknightly

damit Sie wissen .. wenn Sie diese Informationen abrufen. Sagen Sie aus einer SQL-Datenbank, in die Sie bereits manuell Zeilenumbrüche eingegeben haben (beispielsweise in einem Textbereich eines Formulars) Ihre Ausgabe

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

und dann in Jade verwenden

!{content}

das ! lässt Jade wissen, dass Sie in die Variable, die Sie rendern möchten, unformatierte HTML-Dateien einfügen

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

6
haxxxton

robust mit einem div pro Zeile:

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.

oder einfach mit einem pre:

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.
5
generalhenry

Dies scheint keine Antwort zu sein, also:

Sie können dies auch tun, indem Sie inline br-Tags mit dem Inline-Tag-Format von Jade/Pug hinzufügen, z.

p.
    Some text on the first line.#[br]
    Some text on the second line.

Produziert:

  <p>Some text on the first line.<br>
    Some text on the second line.
  </p>
5
Jason C

Geben Sie Ihrem Absatz einen Stil, um die Zeilenumbrüche beizubehalten und die p-Linie mit einem Punkt zu beenden:

.poem 
  p(style="white-space: pre-line;").
    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.
0
Oliver Kötter

Nur für den Fall, dass Sie den Jahresfilter bei der ersten Suche nicht verwendet haben: So fügen Sie den br-Tag mit Jade HTML hinzu

Setzen Sie den Text in eine neue Zeile mit einem vorangestellten |:

p first line
br
| second line
0
Giuseppe Leo

Ich konnte folgendes nach @haxxxton machen

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();
});

Sie kann beispielsweise in einer Jade-Vorlage mit der Funktion p!= contentParse(post.description) verwendet werden. 

0
yolk

das funktioniert auch gut.

div
   pre
      | this is line 1
      | this is line 2
0
Krone