在Haskell中评论hsx blaze-html行

问题描述

我开始尝试IHP's webframework。我正在测试一些不同的页面布局,但在尝试设计时,似乎无法在hsx QuasiQuote(具有blaze-html语法)中找到注释掉html的正确方法。例如,我要在以下内容中临时注释指向“用户”的链接

 [hsx |
 <a class="nav-link active" href={UsersAction}> Users  </a>
 <a class="nav-link active" href={SitesAction}> Current Projects </a>
 <a class="nav-link active" href={NewSiteAction}> Add New Project </a>
 |]

我尝试注释html样式的行:

[hsx |
  <!-- <a class="nav-link active" href={UsersAction}> Users  </a> -->
|]

但是会产生编译错误

unexpected '!'

我也尝试过用大括号将其转义为haskell注释,但这会产生效果

compiletoHaskell(-- <a class="nav-link active" href={UsersAction}> Users  </a>   ): "0\nSrcLoc \"\" 1 65\nParse error: EOF\n"

本质上,我正在寻找一种在[hsx | ... |] QuasiQuote块中注释行或代码块的方法,但是我不确定我到底需要转义什么。

解决方法

HSX以前不支持HTML注释。我刚刚将其添加到HSX语法中:https://github.com/digitallyinduced/ihp/pull/349

将成为今天晚些时候发布的IHP下一版本的一部分。然后,此语法将起作用:

[hsx|
<div>
    <!-- Comment -->
</div>
|]