问题标签 [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.
javascript - Pebble 应用程序未编译到由于图像菜单图标
这是我使用 nextbus api 编写的第一个 pebble 应用程序,用于为 pebble 创建一个公交车时间应用程序。当我点击编译时,我收到一条错误消息“menuIcon 资源 'IMAGE_MENU_ICON' 超出了 (25, 25) 的最大允许尺寸”。我正在使用 CloudPebble 并且正在使用 Pebble.js。
这是我的代码。
这是我的构建日志。
java - 在 Spring Boot 中使用 Pebble 模板引擎
所以我正在尝试将 Pebble 模板引擎集成到我的 Spring Boot 应用程序中,但我对如何实现这一点感到困惑。
所以我已经阅读了他们的网站关于如何实现它,但是它说的是 Spring MVC,我认为这与 Spring Boot 不相似。
我还访问了他们的 github 页面,然后尝试将他们的 maven 依赖项添加到 POM.xml,但我不知道我是否会配置某些东西,或者它与自动配置的 Thymeleaf 或 Mustache 相同。
链接到他们的网站: http: //mitchellbosecke.com/pebble/
pebble - Pebble 模板从键中获取对象
所以我对 Pebble 模板语法有一些经验,但是我在尝试通过键从 Map 检索条目时遇到问题,并且由于 Pebble 文档不是很直观,我一直在旋转我的轮子试图弄清楚出正确的语法。基本上,这是我的整体逻辑:
但是,segment 没有返回 Segments 的映射,因此 Start 和 End 只是空的。我已经能够通过如下所示的单独循环来获取设置的值,但是不会因为我需要它们而对 xml 元素进行排序:
任何建议表示赞赏。谢谢!
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 中有什么类似的东西。
弥敦道
pebble - 控制 Pebble 模板中的空白
我很难在 Pebble 模板中以我想要的方式获得空白控制。我目前正在使用 Pebble 生成 JSON,但是这个问题和我的用例并不特定于 JSON(否则我会使用 JSON 库,例如 Jackson)。
这是我的 Pebble 模板:
而且,这是生成的输出:
这有两个问题:
- 我必须在模板中有两个空行(一个在 . 之前
endfor
,一个在endfor
. - 我仍然在结束波浪括号之前的输出中得到额外的空白行,即
},
.
我希望模板看起来更像以下内容:
而且,我希望得到的输出是:
我尝试了许多whilespace control modifier的组合,但没有获得我想要的格式。
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 确实可以工作。
java - 如何检查 Pebble 模板中是否定义了变量?
使用 Pebble 版本 3.0.6。
我需要检查值 'v' 是否具有特定变量(翻译为 Java:如果 Object v 具有特定属性)。寻找类似的东西
或者
据我所知,两者都不可用。使用 Pebble 实现这一目标的最佳方法是什么?
更新
语境:
- 使用
strictVariables
=true
- 属性不是布尔值、字符串或数字
multithreading - freemarker 是否支持并行渲染为 pebble
Freemarker 可以支持多线程
在多线程环境配置实例中,模板实例和数据模型应作为不可变(只读)对象处理。
但是它可以在渲染时使用并行执行作为 pebblet 吗?
为 PebbleEngine 提供一个 ExecutorService 并利用并行标签,您可以让多个线程同时渲染模板的不同部分。如果您的模板的一部分成本很高,并且会阻止模板其余部分的呈现,这将特别有用。
我还发现了一个旧的Freemarker 扩展,我想知道它是否可以允许它:
这个库提供了两种渲染异步模型的方法:futures 和 callables。期货是异步计算结果,可调用是应该异步计算的任务。Callables 需要配置一个执行器服务
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 倍。
谢谢。
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 )
任何想法 ?