问题描述
我开始尝试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>
|]