Has someone noted a successful snippet with dataviewjs or arbitrary js injected into a calling template?
A recall one of the local wizards planned to try a modular take on templates…
That will simplify writing js without all that \n one-liners
Me personally tried that, however, hit an exception about variable out of the scope.
That might be something evident for js mighty folks, whereas I myself percive tp.include
executes js before embedding the results.
Any smart way we can overcome that?
In other words, the truth is out there:
- To make templates easy to read… and less escaping with code fencing blocks and carriage return symbols
- To re-use popular snippets (like navigation bar for daily notes)
- Ideally to have a way to parametrize dataviewjs snippets
- that might be too much to ask
- it is seemingly easy to return output into tR var
- however, it is not so trivial how to push some data from “parent” template, to tune behavior, say, for dataview query string
Currently it is a struggle to put inline strings like that:
<%*
const taskPriorityStr = `TASK \r\nWHERE file.name = "${weekLink}" \r\nWHERE contains(string(section), "Priority") and !completed \r\nGROUP BY "${weekLinkPriority}" as subtitle`;
tR += "```dataview\r\n" + taskPriorityStr + "\r\n```";
%>
The closest I can think of is templater user function, which should be a js / dataviewjs and won’t work with plain queries like that:
TASK
WHERE file.name = "${weekLink}"
WHERE contains(string(section), "Priority") and !completed
GROUP BY "${weekLinkPriority}" as subtitle