Open remainstheday opened 6 months ago
I'm also experimenting with Obsidian integration and agree that this would be really helpful.
The primary reason for the format and folder structure is so that users have a straightforward way to access or recover their entries independently of the software. Given Pile maintains a index.json
that keeps track of entries and their storage paths it's technically possible to support configuring these filenames. I'm open to hearing a strategy to support it as long as this remains the default over which you can customize.
i am also experimenting with integrating pile for daily notes with obsidian
@UdaraJay this is probably a niche use case but it has potential to be a powerful workflow:
Thoughts/
.Thoughts/
folder.Thoughts/
folder.At the end of the day it's all just markdown so sharing files between these two apps allows me to quickly capture thoughts in Pile and then open Obsidian weekly for revisions/editing/publishing. The generated .json
files from Pile are ignored by obsidian so these don't have to change but the ability to modify the filename convention (e.g. ${year}-${month}-${day}.md
would allow for more automation.
Notes:
maybe a simple migration would help to migrate daily notes to pile?
i like this conceptually and get the use case- makes sense to provide some flexibility over the file naming. does make me wonder if it would have to account for entries being modified outside pile? given stuff like embeddings are generated for entries when they are created though pile that would have to be regenerated when entries are modified.
a daily migration would be an easy solution, even with a simple script you run independently of pile.
Adding the setting to modify how files are output would help integrate piles into existing workflows such as syncing with Obsidian and other apps.
currently this value is hardcoded in
https://github.com/UdaraJay/Pile/blob/v0.9.1/src/main/handlers/file.ts
:const fileName = '${year}${month}${day}-${hours}${minutes}${seconds}.${extension}';
This value could be dynamic and modified by the user.