gpt4 book ai didi

node.js - dust.js 通过函数格式化文本

转载 作者:可可西里 更新时间:2023-11-01 09:28:07 24 4
gpt4 key购买 nike

我有一个模糊文本的 javascript 函数:

function blurlines(data) {
var dataSplit = data.split(" ");
var lastWord = dataSplit.pop();
var toBlur = '<span class="blur">' + dataSplit.join(" ") + '</span>';
// Blur entire sentace, show only last word
var output = '<li>' + toBlur + lastWord + '</li>';
return output;
}

我试图通过尝试类似的方法让它与 dust.js 一起工作:

{#storylines}
<script>
blurlines("{text}");
</script>
{/storylines}

有没有办法通过 JS 函数轻松传递 {text} 值,然后渲染输出?

如果我在控制台中运行它,它似乎可以工作:

> blurlines("This is a test line")

> "<li><span class="blur">This is a test</span>line</li>"

最佳答案

我做了类似的事情,在我的全局上下文中创建了一个辅助函数:

var dustCtx = dust.makeBase({
blurText: function(chunk, context, bodies, params) {
var dataSplit = params.data.split(" ");
var lastWord = dataSplit.pop();
var toBlur = '<span class="blur">' + dataSplit.join(" ") + '</span>';
var output = '<li>' + toBlur + lastWord + '</li>';
return chunk.write(output);
}
});

在渲染时将其与本地上下文合并:

dust.render("template", dustCtx.push({storylines:...}), function(err, out) {});

然后这样调用它:

{#storylines}
{#blurText data=text/}
{/storylines}

例如,如果您想控制模糊,这种方法对于传递附加参数可能很方便。

关于node.js - dust.js 通过函数格式化文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13217906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com