问题标签 [shakespeare-text]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
291 浏览

haskell - 如何有效地阅读 Yesod 错误信息?

(新手提醒)

鉴于以下错误消息,找到错误源的最快方法是什么:

我正在使用一个简单的脚手架站点(没有 DB),并且故意弄乱了homepage.julius. 在这个特定的例子中,我确切地知道错误是什么,但是仅仅通过查看错误消息怎么能知道呢?

0 投票
2 回答
158 浏览

haskell - 如何在 defaultLayout 引用的 Widget/Hamlet 中进行 IO?

我是 Yesod 的新手,似乎完全迷失了小部件、处理程序、Hamlets、WHamlets 以及你有什么!这是我正在尝试做的事情:

  • 我网站上的每个页面都需要有一个导航栏,这让我相信实现它的正确位置应该是defaultLayout
  • 现在,这个导航栏需要显示一些从 IO 操作中获得的信息(更具体地说,它是一个提供这些数据的 RPC 调用)。

Foundation.hs因此,我尝试在(代码布局是基本的yesod-sqlite脚手架模板)中编写以下函数:

如下template/navbar.hamlet所示:

如下default-layout-wrapper.hamlet所示:

如下defaultLayout所示:

但是,代码拒绝编译一个又一个类型错误。我尝试了很多 , , ,的组合hametFile,甚至将 nav 功能放在里面,但似乎没有任何效果。根据我的说法,我当前的代码应该可以编译,但我显然不明白 Yesod-Core 类型是如何工作的。whamletFilehanderToWidgetliftIO defaultLayout

我怎样才能让它工作?更重要的是,我误解了什么概念?

编辑1:

已尝试将nav功能修改为以下内容:

但是,它会导致以下类型不defaultLayout匹配withUrlRenderer

编辑2:

尝试将类型签名更改nav为:

但它会在同一行中导致新的类型不匹配:

编辑3:

这是来自的相关片段-ddump-splices

(pageHead pc)和的类型(pageBody pc)HtmlUrl (Route App)

0 投票
1 回答
82 浏览

haskell - 莎士比亚拼接在哪里寻找他们的文件

我正在尝试启动并运行莎士比亚模板;特别是 Text.Hamlet。我有$(shamletFile "HTML/index.hamlet")(见注释),当我编译文件时,我收到一个错误,告诉我文件不存在。因此,我尝试了各种文件路径组合,试图猜测拼接器正在使用哪个工作目录,但没有成功。

莎士比亚拼接在哪里寻找他们的文件?这是在某处记录的吗?


笔记

  1. 此路径相对于使用模板的源文件。
  2. 我没有使用完整的 Yesod 框架,只是模板引擎。
0 投票
2 回答
79 浏览

haskell - Lucius mixins 导致“输入意外结束”,找不到块的结尾

我正在尝试在 Yesod 的 Lucius 中使用 mixins,但遇到了问题。目前,我的“中心”mixin 是唯一一个似乎有效的 mixin,它也恰好是唯一没有变量插值的 mixin,尽管我不确定这与问题有关。

卢修斯:

混合:

错误:

我遇到的问题:

  • 添加尾随分号 -> 无效
  • 删除除 'center' 之外的所有 mixins -> 编译
  • 删除除 'box_sizing' 之外的所有 mixins 并设为静态(无插值)-> 无效果

我很可能遗漏了一些明显的东西,而且我不想成为个人,但是对于这些类型的东西,文档的方式并不多。也许这可以帮助处于类似位置的其他人。

无论如何,任何和所有的帮助表示赞赏。

编辑

事实证明,在合并了一些单独的 lucius 文件后,'unlink' mixin 也可以毫无错误地编译。由于它在结构上与其他 mixin(例如“box_sizing”)基本相同,因此我现在知道插值不是罪魁祸首,也不是函数的格式(Guards vs. Equation)。

我越来越怀疑 Lucius 文件中的格式,因为 Haskell 代码似乎微不足道。我开始觉得问题可能只是基本的 css 语法错误,无论出于何种原因,我都对此视而不见。

编辑 2

我已经为我的导航栏合并了 Lucius 代码,这表明以前无法编译的 mixin 在某些(尽管未知)情况下可以成功。

相关代码:(
注意 'font_size' mixin 在此代码中成功编译)

0 投票
1 回答
233 浏览

haskell - 您可以在 yesod 的 hamlet 文件中加载带有参数的小部件吗?

如果您循环遍历数据集,从小部件加载 html 的最佳方法是什么?

即在一个小村庄文件中

0 投票
1 回答
229 浏览

haskell - Hamlet 模板中的紧凑 if-then-else

我试图理解 Yesod 的 Hamlet 中的变量插值,特别是实现 if-then-else-like 逻辑。假设我想根据整数的值添加 CSS 样式xx来自模板中的 for 循环,即我无法从 Haskell 代码中访问它。

期望的结果:

尝试内联if

尝试使用$with

两者都不起作用;两者都导致

显然,#{...}解析器中没有实现 Haskell 语法的一部分。有没有一种干净的方法可以做到这一点?我目前只能看到一种出路,而且非常丑陋:

0 投票
0 回答
103 浏览

haskell - Haskell 使用没有 Yesod 小部件的莎士比亚调用 HTML

像Yesod一样,如此深入。有一个问题:使用 Yesod 我可以打电话给例如。App带有Warp( warp 3000 App) 的数据类型。如何提供使用莎士比亚模板创建的 HTML(如下所示)。从迈克尔斯诺伊曼的书中得到这个。

0 投票
1 回答
76 浏览

haskell - “.hamlet”文件中的^{...}是什么意思

在这个“.hamlet”代码中,我想知道^{copyright}line的含义是什么

0 投票
0 回答
33 浏览

c - 如何在 C 中的 Makefile 中使用参数

我正在用 C 做一个作业,我需要从包含莎士比亚作品的文本文件中读取字符。我的教授希望我做以下事情:“编写一个可以编译和运行你编写的 C 程序的 make 文件。具体来说,当我键入

您的程序应该分析CompleteShakespeare.txt. 我真的不知道该怎么做。是在这里CompleteShakespeare.txt输入的argv[1]吗?任何帮助将不胜感激,谢谢!