it-swarm.com.de

Fügen Sie am Ende der Zeile in Jade ein Leerzeichen ein

Ich habe diesen Jade Code:

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

Das Problem ist, es wird gerendert

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

Was aussieht: "Avatar gehostet von Gravatar ".

Egal wie viele Leerzeichen ich am Ende der Textzeile hinzugefügt habe, es sieht immer noch so aus. Die Docs konnten mir nicht helfen, und ich kann mir nicht vorstellen, dass dies ein so ungewöhnliches Problem ist.

39
Lanbo

Wenn Sie in Ihrem Code keine Inline-HTML- oder HTML-Entitäten wünschen, können Sie Folgendes tun:

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

oder das ist kürzer

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

Das sauberste ist wahrscheinlich das

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

Welche Jade-Version verwendest du? Ich habe gerade getestet (mit 0.25.0) mit einem einzelnen Leerzeichen gefolgt von "by", und es hat richtig funktioniert.

Andere Optionen sind:

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

oder

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

Jade unterstützt jetzt die Interpolation von Inline-Tags. 

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

Bist du sicher, dass es nicht dein Editor ist? Ich verwende Komodo, und es wurde festgelegt, um beim Speichern die nachgestellten Leerzeichen zu entfernen. Als ich die Datei gespeichert habe, wurde das Leerzeichen am Ende meiner Textzeile entfernt. Das Fehlen eines Leerzeichens zwischen meinem Text und den Links hat mich verrückt gemacht, bis ich das herausgefunden habe. Ich habe Komodos Einstellungen geändert (Preferences-> Editor-> Save Options), um das Kontrollkästchen hinter dem Leerzeichen zu deaktivieren. 

6
Fred Polli

Ich benutze die Variable space in der neuen Zeile. Diese:

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

edit:
Wie jmar777 hervorgehoben hat, sollten neuere Versionen von Jade nachgestellte Leerzeichen siehe hier berücksichtigen. Das ist großartig und ich werde Jade möglicherweise bei zukünftigen Projekten erneut versuchen.

edit: Aktualisierter Link zum Jade-Parser. Original link war für Jade 1.11.

1
Jim Schubert

Eine schnelle und saubere Lösung ist die Verwendung dieser Syntax:

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

Beachten Sie das Leerzeichen nach | in der zweiten Textzeile. Dies fügt nach dem Text der vorherigen Zeile ein Leerzeichen hinzu (und spuckt auch einen unangenehmen Fehler aus, wenn Sie vergessen, ihn hinzuzufügen!).

Bisher ist dies meiner Meinung nach die sauberste Option.

Ich verwende Harfe und die Lösung mit zwei Pfeifen von Óscar Gómez wirft einen Fehler aus, obwohl sie sehr elegant aussieht. 

Dank Даниил Пронин und Sean Gravener fand ich die folgenden Lösungen für mich:

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

und

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

Auch wenn Sie eine umgekehrte Situation haben: span text # {ref + ['']}

Hier ist mehr zur Syntaxinterpolation in Pug (Jade): https://pugjs.org/language/interpolation.html

0
Alice Tribuleva