2016-05-16 8 views
1

Ich habe ein <a> Tag mit einem <svg> Tag innerhalb es.Wie erzwinge ich, dass Jade den Block-Tag nicht einrückt?

a(href='#') Link 
    svg 
     use(xlink:href="icons.svg#alert") 

Diese gibt als

<a href="#">Link 
    <svg> 
     <use xlink:href="icons.svg#alert"></use> 
    </svg> 
</a> 

Mein Problem dabei ist das Line-Break Jade schön mit Formaten bedeutet, dass der Link hat einen Raum zwischen dem Text und dem SVG unterstrichen. Ich habe gelesen, dass die Tag-Interpolationssyntax verwendet wird, um ein Tag innerhalb eines Blocks zu platzieren, aber für Block-Tags wie <svg> wird immer noch ein Zeilenumbruch eingefügt.

Welche Optionen habe ich, um diesen unterstrichenen Bereich zu entfernen und das SVG innerhalb des Tags <a> zu haben? Es scheint, dass ich nicht viel Kontrolle darüber habe, wie Jade Zeilenumbrüche macht. Möglicherweise muss es eine CSS-Lösung sein?

Antwort

1

Setzen Sie die Option pretty beim Kompilieren auf false. Von Jade API documentation:

pretty: Fügt boolean | string Leerzeichen zu dem resultierenden HTML, um es einfacher für einen Menschen mit ' ' als Vertiefung zu lesen. Wenn eine Zeichenfolge angegeben ist, wird diese stattdessen als Einrückung verwendet (z. B. '\t').

Dadurch wird effektiv das resultierende HTML minimiert.

+0

Ich bin gerade dazu gekommen, dieses Snippet zufällig zu lesen - kann ich diesen Wert setzen, um nur einen kleinen Abschnitt der Seite zu analysieren? – MattTreichelYeah

+1

@Stopdoor Sie müssten diesen Abschnitt in einer separaten Datei ablegen, mit 'pretty: false' kompilieren und dann die kompilierte Datei in einer anderen Datei einbinden (http://jade-lang.com/reference/includes/) Datei. –

+0

Ich denke, das ist das Beste, was ich durch Jade machen kann. Ein bisschen beteiligt für so eine einfache Sache, leider ... – MattTreichelYeah

Verwandte Themen