标签: hamlet

Yesod(hamlet)模板中的注释语法是什么?

我只是找不到如何在hamlet模板中注释行.是否有一些注释语法?喜欢

-- <p>Some code should be ignored by template
Run Code Online (Sandbox Code Playgroud)

或者其他的东西?

templates haskell yesod hamlet shakespeare-text

12
推荐指数
1
解决办法
594
查看次数

在没有Yesod的情况下在Haskell中使用Hamlet

谁能指点我一个如何使用没有Yesod的哈姆雷特的例子? http://www.yesodweb.com/book/templates是一个很好的文档,但我无法让我的ghci会话渲染一个简单的哈姆雷特模板而不会崩溃.

haskell hamlet

11
推荐指数
1
解决办法
2064
查看次数

编译时与Hamlet模板的运行时成本

对于Hamlet模板机制,我理解模板在编译时被解析,导致源代码包含对blaze-html组合器的调用(以及可能因插值而导致的其他表达式).因此,插值发生的点(子树)在编译时是已知的.

在运行时,我们需要计算内插值(当然),并在树中"插入",即应用html组合器.他们都是?实际上,这些应用程序中的一些可以在编译时进行评估(那些在它们下面没有插值的应用程序).这会发生吗?

haskell yesod hamlet

9
推荐指数
2
解决办法
168
查看次数

GHC cabal安装小区失败,出现了一个模糊的错误

我试图在webfaction共享服务器上安装一个Hamlet,这样我就可以在那里编译和运行我的Web应用程序.我正在使用Yesod来开发应用程序.

我设法从源代码和bootstrapped cabal安装编译GHC 7.接下来我做了cabal install hamlet并期望它能够工作.没运气!

我从cabal/GHC收到以下奇怪的错误消息.任何人都可以帮我吗?

$ cabal install hamlet                       Resolving dependencies...
Configuring hamlet-0.8.2...
Preprocessing library hamlet-0.8.2...
Building hamlet-0.8.2...
[ 1 of 14] Compiling Text.MkSizeType  ( Text/MkSizeType.hs, dist/build/Text/MkSizeType.o )
[ 2 of 14] Compiling Text.Shakespeare ( Text/Shakespeare.hs, dist/build/Text/Shakespeare.o )
[ 3 of 14] Compiling Text.Hamlet.Parse ( Text/Hamlet/Parse.hs, dist/build/Text/Hamlet/Parse.o )

Text/Hamlet/Parse.hs:113:13:
    Warning: A do-notation statement discarded a result of type String.
         Suppress this warning by saying "_ <- ($) try string "!--"",
         or by using the flag -fno-warn-unused-do-bind …
Run Code Online (Sandbox Code Playgroud)

haskell cabal yesod hamlet

7
推荐指数
1
解决办法
500
查看次数

如何用hamlet打印以逗号分隔的列表?

使用yesod附带的hamlet模板语言,打印逗号分隔列表的最佳方法是什么?

假设这个代码只打印一个接一个的条目,如何在元素之间插入逗号?或者甚至可能在最后一个条目之前添加"和":

The values in the list are
$ forall entry <- list
    #{entry}
and that is it.
Run Code Online (Sandbox Code Playgroud)

一些模板语言(如Template Toolkit)提供了检测第一次或最后一次迭代的指令.

templates haskell yesod hamlet

6
推荐指数
1
解决办法
436
查看次数

在hamlet模板中使用$ forall的麻烦

我和哈姆雷特有一个奇怪的问题.我正在尝试使用$ forall迭代列表,但我不断收到"不在范围内"错误.我在Win7上运行yesod 0.9.2.2.

抛开可怕的设计,任何人都知道我哪里出错了?删除"db"的变量插值可以使执行正常.

相关的小村庄:

 !!!
<h1> Database List
<hr>
<table>

  <tr>
       <td> Host
       <td> Status
  $forall db <- dbList
  <tr>
       <td> #{host db}
Run Code Online (Sandbox Code Playgroud)

相关的处理程序代码:

data Database = Database {dbType :: DBType,
                        host :: String,
                        user :: String,
                        password :: String
                       }


dbList = [Database Oracle "cpalmerws" "system" "***",
          Database Oracle "bdblnx" "system" "***",
          Database Postgres "localhost" "postgres" "***"]

getDBStatusR :: Handler RepHtml
getDBStatusR = do
  mu <- maybeAuth
  defaultLayout $ do
    setTitle "DB Status Page"
    addWidget $(widgetFile "dbstatus")
Run Code Online (Sandbox Code Playgroud)

运行yesod …

haskell yesod hamlet

5
推荐指数
1
解决办法
849
查看次数

是否有一个从纯HTML转换为哈姆雷特结构的函数?

我开始使用Yesod Web框架.我有一些已经存在的模板HTML代码,我想自动转换为哈姆雷特代码结构.有没有办法做到这一点?

haskell yesod hamlet

5
推荐指数
1
解决办法
404
查看次数

Yesod:你如何用路径片段插入路线?

如果我有一条路线,例如

/foo/#String FooR GET POST
Run Code Online (Sandbox Code Playgroud)

如何在 hamlet 文件中插入此路径(例如,要发布到?)

以下不起作用:

<form method=post action=@{FooR} ... >
<form method=post action=@{FooR}someString ... >
<form method=post action=@{FooR}#someString ... >
<form method=post action=@{FooR}#{some_variable} ... >
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑:明白了。它是

<form method=post action=@{FooR some_variable} ... >
Run Code Online (Sandbox Code Playgroud)

interpolation path yesod hamlet

5
推荐指数
0
解决办法
165
查看次数

如何在Yesod中导入莎士比亚模板?

我在Yesod中使用QuasiQuotations,并且一切正常。但是我的文件变得很大,看起来也不好看。另外,我的TextEditor不能正确突出显示此语法。这就是为什么这样分割我的文件:

getHomeR :: Handler Html
getHomeR = do
    webSockets chatApp
    defaultLayout $ do
        $(luciusFile "templates/chat.lucius")
        $(juliusFile "templates/chat.julius")
        $(hamletFile "templates/chat.hamlet")
Run Code Online (Sandbox Code Playgroud)

如果这是错误的,请告诉。这样做runghc myFile.hs会引发许多错误,例如:

chat_new.hs:115:9:
    Couldn't match expected type ‘t0 -> Css’
                with actual type ‘WidgetT App IO a0’
    The lambda expression ‘\ _render_ajFK
                             -> (shakespeare-2.0.7:Text.Css.CssNoWhitespace . (foldr ($) ...))
                                  ...’
    has one argument,
    but its type ‘WidgetT App IO a0’ has none
    In a stmt of a 'do' block:
      \ _render_ajFK
      ...
Run Code Online (Sandbox Code Playgroud)

和这个。

chat_new.hs:116:9:
    Couldn't match type ‘(url0 -> [(Text, …
Run Code Online (Sandbox Code Playgroud)

templates haskell ghc yesod hamlet

5
推荐指数
1
解决办法
133
查看次数

为不同的组件加载不同的JS库文件

我有一个用 ReactJS 制作的网站。在 中public/index.html,我有

<head>
  <script src="/lib/analyzejs-v1.js"></script>
  <script src="/lib/analyzejs-v2.js"></script>
</head>
<body>
  <div id="root"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

其中analyzejs-v1.js有 6Mo,并且analyzejs-v2.js有 3Mo;它们都是固定文件,我无法对其进行太多修改。

这两个文件不是模块;它们的功能已声明(例如,declare function f1(address: string): string;在 中src/defines/analyzejs-v1.d.ts)。analyzejs-v1.js因此,某些组件通过使用函数名称直接调用函数f1(...),无需任何命名空间、导入或导出。其余组件analyzejs-v2.js通过使用函数名称f2(...)直接调用函数,无需任何命名空间、导入或导出。

加载这两个js库文件需要时间。所以我正在寻找一种方法来加载analyzejs-v1.jsanalyzejs-v2.js根据组件(或 URL)。

那么有谁知道为不同组件加载不同JS库文件的常规方法吗?

script-tag hamlet reactjs webpack react-scripts

5
推荐指数
1
解决办法
763
查看次数