Estou tentando escrever alguns parágrafos com Jade, mas acho difícil quando há links dentro de um parágrafo.
O melhor que posso propor, e estou me perguntando se há uma maneira de fazer isso com menos marcação:
p
span.
this is the start
of the para.
a(href="http://example.com") a link
span.
and this is the rest of
the paragraph.
Você pode usar um filtro de redução e usar a redução (e HTML permitido) para escrever seu parágrafo.
Como alternativa, parece que você pode simplesmente produzir HTML sem problemas:
Eu não estava ciente disso e apenas testei usando a ferramenta de linha de comando jade. Parece funcionar muito bem.
EDITAR: Parece que realmente pode ser feito inteiramente em Jade da seguinte maneira:
Não se esqueça um espaço extra no final do Pará (embora você não pode vê-lo. E entre
| and
. Caso contrário, ele será parecido com estepara.a linkand
nãopara a link and
fonte
p This is a paragraph #[a(href="#") with a link] in it
. Veja github.com/visionmedia/jade/issues/936
no final da primeira linha, mas estou debatendo minhas abordagens no futuro.Outra maneira de fazer isso:
fonte
Outra abordagem completamente diferente seria criar um filtro, que primeiro tenta substituir os links e, em seguida, renderiza com jade segundo
Renderiza:
Exemplo completo de trabalho: index.js (executado com nodejs)
Uma solução mais geral seria renderizar mini sub-blocos de jade em um único bloco (talvez identificado por algo como
${jade goes here}
), então ...Isso poderia ser implementado exatamente da mesma maneira que acima.
Exemplo de trabalho de solução geral:
fonte
Se seus links vierem de uma fonte de dados, você pode usar:
Veja interpolação
fonte
Editar: este recurso foi implementado e o problema encerrado, consulte a resposta acima.
Eu postei um problema para adicionar esse recurso ao Jade
https://github.com/visionmedia/jade/issues/936
Ainda não tive tempo para implementá-lo, mais + 1s podem ajudar!
fonte
Este é o melhor que posso inventar
Renderiza ...
Funciona bem, mas parece um hack - deveria haver uma sintaxe para isso!
fonte
Não sabia que o jade requer uma linha por etiqueta. Achei que podemos economizar espaço. Muito melhor se isso puder ser entendido ul> li> a [class = "emmet"] {text}
fonte
Tive que adicionar um ponto final diretamente atrás de um link, assim:
This is your test [link].
Eu resolvi assim:
fonte
Como sugerido por Daniel Baulig, usado abaixo com parâmetros dinâmicos
fonte
Acontece que existe (pelo menos agora) uma opção perfeitamente simples
fonte
fonte
A coisa mais simples de todas;) mas eu estava lutando contra isso por alguns segundos. De qualquer forma, você precisa usar uma entidade HTML para o sinal "@" ->
@
Se quiser incluir um link, digamos que seu / algum endereço de e-mail use isto:fonte