如何使用Pug从数组输出HTML链接列表?

时间:2017-12-29 06:46:43

标签: pug

我有一个JavaScript数组tweetStreams

var tweetStreams = ["ScalaCourses", "Promotion1", "Promotion2"];

我希望Pug(当前版本)输出链接列表,呈现为HTML,如下所示:

<a href='#ScalaCourses'>ScalaCourses</a> <a href='#Promotion1'>Promotion1</a> <a href='#Promotion2'>Promotion2</a>

这是我到目前为止所得到的:

for ts in tweetStreams
    a(href= ts) #{ts}&nbsp;

输出是:

<a href="ScalaCourses">ScalaCourses&nbsp;</a><a href="Promotion1">Promotion1&nbsp;</a><a href="Promotion2">Promotion2&nbsp;</a>

  1. 如何使用#为链接添加前缀,以便它是本地链接?
  2. 有没有办法避免使用&nbsp;
  3. 我想在链接之间留一个空格,而不是在它们之间
  4. 更新

    修改@gandreadis的答案,我有:

    a(href= "#" + ts) #{ts}
        | &nbsp;
    

    视觉上这给出了一个好的结果,这个解决方案解决了问题1和3.遗憾的是,使用带引号的空格而不是&nbsp;会在输出中产生引号。有没有办法解决问题2?

1 个答案:

答案 0 :(得分:1)

回答Q1:在链接前加#a(href= "#" + ts)

回答Q3: CSS可能是获取边距的最简洁方法,但如果您坚持使用Pug,请参阅我的CodePen。基本上,添加尾随| #{' '} - 行应该完成分隔内联元素的工作:

for ts in tweetStreams
    a(href= "#" + ts) #{ts}
    | #{' '}

(请注意,这也消除了您在 Q2 中询问的不间断空间的需要)