UdaraJay / Pile

Desktop app for digital journaling.
https://udara.io/pile
MIT License
1.71k stars 94 forks source link

Ability to customize the file output path #46

Open remainstheday opened 6 months ago

remainstheday commented 6 months ago

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.

GTruss commented 6 months ago

I'm also experimenting with Obsidian integration and agree that this would be really helpful.

UdaraJay commented 6 months ago

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.

iamrobmat commented 6 months ago

i am also experimenting with integrating pile for daily notes with obsidian

remainstheday commented 6 months ago

@UdaraJay this is probably a niche use case but it has potential to be a powerful workflow:

  1. Set up Obsidian sync in root notes folder (can be self hosted or paid through obsidian cloud)
  2. create a new folder titled Thoughts/.
  3. open Pile app and point it to the Thoughts/ folder.
  4. point Obsidian "daily notes" to the Thoughts/ folder.
  5. create some thoughts in Pile app and observe differences in file name conventions. CleanShot 2024-01-02 at 10 15 43

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:

iamrobmat commented 5 months ago

maybe a simple migration would help to migrate daily notes to pile?

UdaraJay commented 5 months ago

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.