It is currently April 27th, 2024, 4:35 pm

Obsidian Daily Notes Display: A Rainmeter Skin to Display Plaintext Notes with Markdown Formatting

Quote of the Day, To-Do List and other text-based skins
btderr
Posts: 1
Joined: December 26th, 2023, 4:59 am

Obsidian Daily Notes Display: A Rainmeter Skin to Display Plaintext Notes with Markdown Formatting

Post by btderr »

1. Motivation
I recently began using Obsidian to take notes, make to-do lists, etc. I use the Calendar community plugin to create daily notes for planning out my day. I wanted a Rainmeter skin that displayed each day's note from my Obsidian vault on my desktop. Such a skin did not exist, so I made it myself.

2. Functionality
- Read system time.
- Using on "YYYY-MM-DD" date format, read the matching file in a given folder (the same folder that the Calendar plugin points to).
- Display the contents of the file with markdown formatting.

3. Usage
- Download and install: https://github.com/btderr02/Obsidian-Daily-Notes-Rainmeter
- Left click on the skin and paste your daily note file location.

4. Creation Process for Those Who Care
I started the project from a forum answer from jsmorely: https://forum.rainmeter.net/viewtopic.php?t=6998

With the text now displayed on the Rainmeter skin, the next step was to translate the markdown formatting. This was slightly complicated because of the way that Rainmeter handles text as one string. In the Rainmeter .ini file, I used regular expression tags to select certain patterns in the text which match markdown formatting standards. Markdown formatting indicators are selected. Text associated with those indicators are assigned appropriate formatting. The indicators themselves are set to size 0.001 to effectively make them invisible. Most of the formatting options are native within Rainmeter. Checkboxes and bullets, however, were exceptions. I used regex tags in the lua script to find check boxes and replace them with unicode filled and unfilled squares. I used the same method for bullets. I then tweaked the design of the skin to match Obsidian's design as closely as possible. After implementing markdown formatting, I added the GUI for entering a folder path and adjusted line indentation.

Closing
Overall, I have really enjoyed the process of working on this project. It is something that I wanted for personal use and decided others might find it useful as well. The markdown -> Rainmeter formatting might be useful for other projects and further integration between Obsidian and Rainmeter. This took me about a week of off and on work as someone with almost no programming experience. I don't really plan on adding anything else to this specific skin. If anyone does have ideas for new features or similar projects, put them in the comments.