Hi guys, not sure if this would be useful to anyone else but I wrote a python script to generate summary pages from historical daily notes by entries under each header, including a table to summarise e.g. tracked habits.
Demo: If your daily entries are generated from a template with set headers and look something like this:
The scripts generate summary reports like the following:
Example: Habit tracker and mood table (tick boxes from daily notes into monthly tables):
Example: Summary of “Grateful” header from dailies (with or without dates):
Example: Summary of To dos, simple view vs. full transclusion:
This might be useful if you have a template with set sections for your daily entries or use it “bullet journal” style and would like to see all the entries you made for each section.
There’s an option to use full transclusion if you want to edit in the summary page (e.g. check to-dos) and have it reflected back on the original daily note, or just want easy backlink navigation which is always handy. You can turn this off if you just want a summarised diary entry for a prettier view.
You do have to run the python file to generate these summaries and won’t update automatically with new daily entries, but there are ways to automate the scripts to run every day (e.g. using crontab on mac), I’ve added an example bash script I use to do everything in one go.
I wrote this script for fun but maybe this functionality already exists and I just don’t know about it - I only found out about Obsidian recently (loving it so far!) and don’t know the full extent of the functionalities it offers. So if there is an “official” way to look at summaries by header please do let me know since using that is probably better haha.
I haven’t tested this extensively (tested on URL and [[page links]]), feel free to play around and send PRs
Habit tracking only works for check boxes for now (but the code should be able to eventually adapt to habits tracked with numbers as well)
Code could definitely be refactored e.g. some hard-coding going on with string partitioning etc. (I’m not experienced in handling html and markdown in python…)
Known bugs (20/2/21): non-translusion display doesn’t work properly if you have a # tag right after a bullet point.
Here’s the code: GitHub - risaueno/obsidian_scripts