问题标签 [pebble]

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 回答
195 浏览

javascript - Pebble 应用程序未编译到由于图像菜单图标

这是我使用 nextbus api 编写的第一个 pebble 应用程序,用于为 pebble 创建一个公交车时间应用程序。当我点击编译时,我收到一条错误消息“menuIcon 资源 'IMAGE_MENU_ICON' 超出了 (25, 25) 的最大允许尺寸”。我正在使用 CloudPebble 并且正在使用 Pebble.js。

这是我的代码。

这是我的构建日志。

0 投票
1 回答
1598 浏览

java - 在 Spring Boot 中使用 Pebble 模板引擎

所以我正在尝试将 Pebble 模板引擎集成到我的 Spring Boot 应用程序中,但我对如何实现这一点感到困惑。

所以我已经阅读了他们的网站关于如何实现它,但是它说的是 Spring MVC,我认为这与 Spring Boot 不相似。

我还访问了他们的 github 页面,然后尝试将他们的 maven 依赖项添加到 POM.xml,但我不知道我是否会配置某些东西,或者它与自动配置的 Thymeleaf 或 Mustache 相同。

链接到他们的网站: http: //mitchellbosecke.com/pebble/

0 投票
0 回答
229 浏览

pebble - Pebble 模板从键中获取对象

所以我对 Pebble 模板语法有一些经验,但是我在尝试通过键从 Map 检索条目时遇到问题,并且由于 Pebble 文档不是很直观,我一直在旋转我的轮子试图弄清楚出正确的语法。基本上,这是我的整体逻辑:

但是,segment 没有返回 Segments 的映射,因此 Start 和 End 只是空的。我已经能够通过如下所示的单独循环来获取设置的值,但是不会因为我需要它们而对 xml 元素进行排序:

任何建议表示赞赏。谢谢!

0 投票
2 回答
1306 浏览

pebble - 如何检测 Pebble 模板中 for 循环中的最后一项?

如何在 Pebble 模板 ( http://www.mitchellbosecke.com/pebble/home ) 的 for 循环中检测列表中的最后一项?

我正在使用 Pebble 生成 JSON。我有一个需要迭代的对象列表,除了最后一个之外,我需要在每个对象之后包含一个逗号。

这是我厌倦了在 IF 语句中使用 loop.index 和 loop.length 的相关模板代码,但它不起作用(无论如何我都需要检查 loop.length -1)。

模板:

示例所需的输出:

我之前使用过 Jinja2 Python 模板引擎,它的语法类似于 Pebble。Jinja2 还有一个 index.last 属性,它是一个布尔值,可以在这样的 IF 语句中使用。我不知道 Pebble 中有什么类似的东西。

弥敦道

0 投票
1 回答
520 浏览

pebble - 控制 Pebble 模板中的空白

我很难在 Pebble 模板中以我想要的方式获得空白控制。我目前正在使用 Pebble 生成 JSON,但是这个问题和我的用例并不特定于 JSON(否则我会使用 JSON 库,例如 Jackson)。

这是我的 Pebble 模板:

而且,这是生成的输出:

这有两个问题:

  1. 我必须在模板中有两个空行(一个在 . 之前endfor,一个在endfor.
  2. 我仍然在结束波浪括号之前的输出中得到额外的空白行,即},.

我希望模板看起来更像以下内容:

而且,我希望得到的输出是:

我尝试了许多whilespace control modifier的组合,但没有获得我想要的格式。

0 投票
1 回答
592 浏览

java - Pebble 模板继承失败且没有错误

我在 Spring Boot 2 中使用 Pebble 模板引擎,在我开始使用继承之前一切正常。浏览器显示一个空白页面,根本没有返回任何内容。不幸的是,服务器和 Catalina(我使用的是 Tomcat 8.5)日志显示没有错误。

在我的 pom 中,我有以下依赖项:

  • Spring Boot 2.0.3(作为父级)
  • pebble-spring-boot-2-starter(试过 2.6.2 和 3.0.0.BETA01)
  • spring-boot-starter-数据-jpa
  • spring-boot-starter-web
  • spring-boot-starter-安全

我有以下 application.properties

  • pebble.suffix = .html.peb
  • pebble.cache = false(也试过了)

我的父模板 (resources/templates/base.html.peb)

我的子模板 (resources/templates/child.html.peb)

当我删除继承时,Pebble 工作正常,并且包含并显示模型,所以 Pebble 确实可以工作。

0 投票
1 回答
1394 浏览

java - 如何检查 Pebble 模板中是否定义了变量?

使用 Pebble 版本 3.0.6。

我需要检查值 'v' 是否具有特定变量(翻译为 Java:如果 Object v 具有特定属性)。寻找类似的东西

或者

据我所知,两者都不可用。使用 Pebble 实现这一目标的最佳方法是什么?

更新

语境:

  • 使用strictVariables=true
  • 属性不是布尔值、字符串或数字
0 投票
0 回答
100 浏览

multithreading - freemarker 是否支持并行渲染为 pebble

Freemarker 可以支持多线程

在多线程环境配置实例中,模板实例和数据模型应作为不可变(只读)对象处理。

但是它可以在渲染时使用并行执行作为 pebblet 吗?

为 PebbleEngine 提供一个 ExecutorService 并利用并行标签,您可以让多个线程同时渲染模板的不同部分。如果您的模板的一部分成本很高,并且会阻止模板其余部分的呈现,这将特别有用。

我还发现了一个旧的Freemarker 扩展,我想知道它是否可以允许它:

这个库提供了两种渲染异步模型的方法:futures 和 callables。期货是异步计算结果,可调用是应该异步计算的任务。Callables 需要配置一个执行器服务

0 投票
1 回答
862 浏览

python - Python Pebble ProcessPool如何设置max_tasks

Pebble 的进程池采用 max_workers 和 max_tasks 的参数。

https://pythonhosted.org/Pebble/#pools

max_tasks 的描述有点不清楚:

“如果 max_tasks 是一个大于零的数字,每个工作人员将在执行相同数量的任务后重新启动。”

我的问题是:

  • 如果它不大于零怎么办?那么它的表现如何?

  • 重启工人是什么意思?假设 max_tasks 为 5。那么每个进程会执行 5 次迭代,然后被杀死,并重新启动一个新进程吗?这样做有什么好处?

  • 我知道其他库允许您自定义池映射,具体取决于每个任务是否需要相似的时间才能完成。这与这里有关吗?

  • 一般来说,设置 max_tasks 有哪些指导方针?

我正在运行一个需要在长度 += 160 000 的列表的每个元素上运行的函数。它是完全可并行化的,我的服务器有 8 个内核。每个函数调用将花费大约相同的时间来完成,最多比平均时间长 3 倍。

谢谢。

0 投票
1 回答
672 浏览

java - 在 Pebble 模板中插入位于文件系统中任意位置的模板

我有一个 Spring Boot Java Web 应用程序。该应用程序可以使用 Pebble 生成网页。Pebble 使用的所有资源都位于application.war\WEB-INF\classes中。然后,在 Pebble 引擎中获取模板。在这个模板中,我需要包含一个可以位于文件系统中任何位置的 css,例如:

我无法包含 custom-css.css。错误是com.mitchellbosecke.pebble.error.LoaderException:找不到模板

我在文档( https://pebbletemplates.io/wiki/tag/include/)和这里(https://groups.google.com/forum/#!topic/pebble-templating-engine/ )中找不到任何帮助2gK9B1twwKw )

任何想法 ?