Comments (4)
Wild guess: You are running into trouble because Templater does not create a new tp-object when you call tp.file.create_new
, so there are no seperate instances of tp
and thus tp.file.title
is not scoped differently per file.
However, I do not understand your template to begin with - why call that template file recursively when you are iterating over all folders anyway? What is the purpose of using both the for-loop and recursion?
To achieve what you are trying to do (maybe? possibly? who knows?), why not just use the loop to create the files and parse the content like this:
<%*
var folders = app.vault.getAllLoadedFiles().filter(x => x instanceof tp.obsidian.TFolder);
for (i in folders) {
var folder = folders[i];
var file = app.vault.getFileByPath(`${folder.path}/${folder.name}.md`);
if (folder.parent !== null && file === null) { // avoid duplicate generation
tp.file.create_new(`Title: ${folder.name}`, folder.name, false, folder);
}
}
-%>
from templater.
Thanks for your reply. Does this mean that Templater has no plans to support recursion?
from templater.
Templater does support recursion. The Templater file module does not support the concurrent creation of files. If you create the files in sequence, the template works fine. There are no plans to adjust how this works, unless someone wants to volunteer to try to fix this.
Title: <% tp.file.title %>
<%*
var folders = app.vault.getAllLoadedFiles().filter(x => x instanceof tp.obsidian.TFolder);
for (i in folders) {
var folder = folders[i];
var file = app.vault.getFileByPath(`${folder.path}/${folder.name}.md`);
if (folder.parent !== null && file === null) { // avoid duplicate generation
// ADD AWAIT BELOW
await tp.file.create_new(tp.file.find_tfile('template'), folder.name, false, folder);
}
}
-%>
from templater.
This is a duplicate of #1080 , marking as closed
from templater.
Related Issues (20)
- {{date}} fail to work after updating to 2.3.3 HOT 1
- Target file gets overwritten by processFrontMatter() HOT 1
- Note Creation with Core Plugin "Note Composer" Breaks Templater HOT 1
- Option to add ignored files to Templater settings HOT 2
- Copy existing file with templater HOT 1
- Ability to use {{date}} in Folder Templates HOT 2
- Folder Template overwrites non-empty note HOT 2
- Daily Quote errors HOT 9
- Template folder location should allow subfolders HOT 2
- Obsidian version 1.6.5 installs template. When creating a template, it will prompt that the relevant plug-in is not found. HOT 1
- Support for Folder Templates specific to subfolders
- [Feature Request] Mobile | tp.system.prompt with MULTILINE - Using a Keyboard Hotkey to SUBMIT
- When using tp.file.cursor inside an internal link, cursor is placed before the link HOT 1
- Embedded image causes Obsidian to lock up for 45 seconds in renderer HOT 1
- Link to a new file will trigger Templater in a specific folder HOT 2
- Feature request: allow for ordering which templater code is excuted first HOT 2
- Templater updates new file's last modified timestamp even if no templater code was run
- SImple syntax not displaying values correctly HOT 2
- Suggestion to Improve New Folder Template Addition Behavior in Templater Settings HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from templater.