better-daily-notes-obsidian-plugin
better-daily-notes-obsidian-plugin copied to clipboard
Transform your daily note-taking experience with the "Better Daily Notes" Plugin. Seamlessly integrated, this plugin empowers you to organize and manage your daily notes effortlessly.
Better Daily Notes Plugin
正體中文版
Transform your daily note-taking experience with the Better Daily Notes Plugin.
Seamlessly integrated, this plugin empowers you to organize and manage your daily notes effortlessly.
View On Youtube :arrow_down:
Features
Features
-
Structured Daily Notes: Organizes daily notes in a structured folder format
[DailyNoteRootDirectory]/[Mon.]/[DateFormat].md
.- Customize the root directory and date format in the settings.
- Month represented in short form (e.g., Jan, Feb, Mar).
-
Files Management: Handle files dropped or pasted to your notes.
- Supported file format:
images
,json
,pdf
,zip
,.dill
,.dmg
,.kml
,.pickle
- Configuration of files handling scenario.
-
Disable All Handling
: No file handling. If you have another plugin such as automatic image upload, you should disable the handling from this plugin. -
Only in Daily Notes
: Only files added to a valid daily-note name will be handled. -
Handle in All Files
: Handle all files added to your notes.
-
- Images dropped or pasted are saved to a "image subdirectory" under the same parent of current note, and renamed to
[CurrentNoteBasename]-image#.[OriginalExt]
- Files other than images dropped or pasted are saved to "other files subdirectory" under the same parent of current note, and renamed to
[CurrentNoteBasename]-[OriginFileBaseName].[OriginalExt]
. If there exists a file with the same name, this plugin simply adds a link pointing to that file, no file will be added. - Customize image and other files' folder name in the settings.
- Images are compressed using browser-image-compression. Adjust compression settings like max image size and EXIF data removal.
- A command
Toggle image compression
to toggle image compression.
- A command
- Images and pdfs can be resized with markdown syntax to a specified width. Customize resizing width in the settings.
- Supported file format:
-
Assume Same Day Before Hour:
- Considers it the same day before a specified hour after midnight.
-
Create Daily Note From Template:
- Manually assign the full path of the template to use when creating a daily note.
-
Convenient Navigation:
- Adds a ribbon icon to quickly open today's daily note.
- Provides commands to open today's, yesterday's, and tomorrow's daily notes.
-
Summary Page (Optional)
- Added a ribbon icon and command to create/update the summary page of daily notes. This page will automatically update under the following conditions:
- When calling the
Open and update summary page
command or ribbon icon. - When creating a daily note.
- When removing a daily note.
- When renaming a daily note or renaming it as a daily note. (Note: Moving files also count as renaming)
- When calling the
- Added a ribbon icon and command to create/update the summary page of daily notes. This page will automatically update under the following conditions:
Commands
- Open yesterday's daily note: Opens yesterday's daily note.
- Open tomorrow's daily note: Opens tomorrow's daily note.
- Toggle image compression: Toggles image compression settings.
- Open and update summary page: Opens a summary page and updates it.
Compatibility
The compatibility feature is experimental and default set to enabled, but if it behaves unexpectedly, please feel free to disable it in the settings (, and it would be even better if you could provide feedback!).
Known Issues
- On MacOS, if your use a
oneDrive
to be the root of the vault, you might not be able to delete a daily note sinceoneDrive
on MacOS sometimes weirdly move deleted files to the root. Which means this plugin will still locate it and rename and move to the daily note folder. See this discussion for more information and possible solution. - (Fixed in 0.3.3) ~~
Dayjs
somehow parse every string and make it's best to guess a date from it, for example,summary 2
will be parsed as "2001-02-01", this might cause an issue if an automatically created file being parsed as a date. This will be fixed in the next version by adding a format user want to parse.~~
Tested Plugins
Calendar :white_check_mark:
Item | Compatible | Note |
---|---|---|
Create note from calendar | :white_check_mark: | Wait for 1 second, then rename and move the created file. |
Open daily note by clicking a date | :grey_exclamation: | Most date formats are compatible. |
Day Planner :white_check_mark:
Feature | Compatible | Note |
---|---|---|
Create note from day planner | :white_check_mark: | Wait for 1 second, then rename and move the created file. |
Create items from day planner | :grey_exclamation: | The date format of the original daily note plugin (and periodic notes plugin) needs to be identical to the date format in this plugin. If the item is created in note but not shown on timeline, try reload the app. |
Show items on day planner | :grey_exclamation: | The date format of the original daily note plugin (and periodic notes plugin) needs to be identical to the date format used in this plugin. If the item is created in note but not shown on timeline, try reload the app. |
Rollover Daily TODOs :x:
I'm planning to implement this functionality by myself.
Others
The above list includes plugins that have been tested and experimented with by me. If you are hesitant about the compatibility of a certain plugin and unsure about jumping into this plugin, please feel free to file an issue or find me on Discord.
Installation Guide
As this plugin is currently in beta, the installation process requires an additional plugin called BRAT. You can find the GitHub repository for BRAT here.
Steps
- Install BRAT by following one of these methods:
- Click this link.
- Navigate to the Community Plugins tab in Obsidian, search for BRAT, and install it. Then, enable it.
- Access the BRAT settings page and locate the
Beta Plugin List
section. Click on theAdd Beta Plugin
button. - Enter the following repository link:
https://github.com/showaykerker/better-daily-notes-obsidian-plugin
, then clickAdd Plugin
. - You should now find the configuration page for the
Better Daily Notes Plugin
in your Options menu.
Updating to latest version
It should be easy to update the version of this plugin if I correctly installed it through BRAT. Simply use the BRAT command to update.
Installing a specific version
If you want to install a specific version or a pre-release version of this plugin, you can use BRAT's Add Beta plugin with frozen version
feature.
Development
This plugin is built with TypeScript. Here's how to contribute:
- Clone the repository.
- Run
npm install
to install dependencies. - Make changes in
main.ts
or create new.ts
files. - Compile changes with
$ npm run dev
. - Reload Obsidian to load the updated plugin.
Roadmap of Features
- [ ] Migrating existed daily notes.
- [ ] Rollover daily notes TODOs.
- [ ] Handle create event and editor-drop event for file management.
- [ ] Improve settings interface.
- [ ] Language support.
Feature Ideas
- [ ] Support of customizing drag and paste behavior.
- [ ] Open daily note on startup.
- [ ] A modal to ask if image compression is required.
- [ ] Support of month directory custom naming.
- [ ] Daily note one line summary by LLM.
- [ ] Generate tags by LLM.
- [ ] Image one line summary by LLM.
- [x] ~~Create daily note for arbitrary date.~~ (Supported through external plugins from 0.3.2)
- [x] ~~Compatibility with other plugins. (Calendar, Day Planner, etc.)~~ (Supported from 0.3.2)
- [x] ~~Support of other file types. e.g.
.dill
.~~ (Supported from 0.2.6) - [x] ~~Commands to toggle image compression.~~ (Added 0.2.5)
- [x] ~~Create daily note with template.~~ (Added 0.2.2)
- [x] ~~Support of installing through BRAT.~~
- [x] ~~Support of other file types. e.g.
.pdf
,.zip
.~~ (Added 0.2.1)
Known Bugs
- [ ] Compressing very large images may occasionally cause the application to restart.
Likely to be resolved with the implementation of the roadmap feature -
Handle create event
. - [ ] Adding a significant quantity of images at once may result in some not being processed successfully.
Likely to be resolved with the implementation of the roadmap feature -
Handle create event
. - [x] ~~
dayjs
somehow thinkssummary 2
is a date2001-02-01
~~ (Fixed in 0.3.3) - [x] ~~Assume same day before hour logic error.~~
~~Will need to set actual value + 1 for now.~~
- [x] ~~Images will still be resized with markdown syntax in notes that's not wishes to handle images.~~
- [x] ~~Images are not compress to exact wished size.~~