🪨 A simple obsidian plugin that links all modified files meeting certain criteria to a daily note

Overview

Obsidian List Modified

This plugin lists all modified files meeting certain criteria to a daily note.

plugin demo gif

Why?

As of now, dataview queries cannot be "frozen" in time. There are hacky solutions using templater, but I wanted something really simple.

How?

When a file is modified, the plugin checks if there is already a link to the modified file inside of your daily note. If so, it doesn't need to link it again. Otherwise, If this modified file meets the criteria, it appends a link to the daily note.

Criteria supported

Blacklist tags

Disables a modified note from linking if it contains a certain tag.

These tags will be recognized if they are in the note's content (#tag anywhere in your note)

or in its frontmatter in the following formats:

---
tags: ['#your', '#tags', '#here']

# OR

tags:
    - '#your'
    - '#tags'
    - '#here'
---

Instalation

  1. open your vault's folder in your file explorer
  2. make sure showing hidden files is enabled
  3. open the .obsidian folder
  4. create a new folder called obsidian-list-modified
  5. Head over to the releases page and dowmload the manifest.json and main.js
  6. Add these files to the new folder you've created
  7. Reload/restart Obsidian and enable the plugin in your community plugin settings

NOTE: You must have safe mode shut off to be able to install community plugins!

Usage

The only things you need to configure are in the settings tab! After this is configured, the plugin should be automatically working. Read the descriptions of each setting carefully!

Comments
  • Odd behavior when notes are duplicated

    Odd behavior when notes are duplicated

    If I make a copy of a note using the file explorer context menu, a second link to the original file is added to the daily note. The expected behavior would be to add a link to the copy.

    confirmed bug 
    opened by ScottKillen 25
  • Heading reverts to default if not found in file

    Heading reverts to default if not found in file

    Maybe one more piece of feedback: I expected that if I change the "Heading" setting, when there is no appropriate section in the daily note, the "default" value will be created using my configuration. But I was wrong, and every time the plugin does not detect the specified Heading, it re-creates the default "(h1) Modified Today" and reverts my configuration back to the default value.

    Originally posted by @sotakal in https://github.com/franciskafieh/obsidian-list-modified/issues/54#issuecomment-1302349563

    confirmed bug 
    opened by franciskafieh 15
  • Multiple copies of same link (probably when created by uri)

    Multiple copies of same link (probably when created by uri)

    Frequently, but not consistently, I will get multiple copies of the same link. This seems to happen most often when I use an obsidian uri to create the file from an external application. I'm 90% sure that is what is triggering this behavior, however I won't rule out the possibility that I may be missing some cases.

    The way this usually happens is by using a javascript bookmarklet, which I reproduce here in case there are any relevant details:

    javascript:(function(){  const title = document.title;         const file = title.replaceAll(/[^\w]/ig, '-').replaceAll(/[_-]+/g, '-'); const selectedText = window.getSelection().toString(); const url = document.location.href; const tag = '#bookmark';%20const%20content%20=%20%60#%20${title}%20${selectedText%20!=%20%22%22%20?%20%60${%22\n%22}%20%3E%20${selectedText.replaceAll(%22\n%22,%20%22\n%3E%20%22)}%60%20:%20%22%22}%20${%22\n\n%22}%20-%20[${title}](${url})%20${%22\n\n%22}%20${tag}%60;%20document.location.href%20=%20%60obsidian://new?name=${encodeURIComponent(file)}&content=${encodeURIComponent(content)}&vault=org-zettel%60%20})();
    

    While I'm here, please allow me to say thank you as well for this plugin, it has solved a problem I've been fighting with for some time now. Feel free to ping me if I can provide further information.

    confirmed bug help wanted question 
    opened by mediapathic 15
  • Possible more inclusive vocab than blacklist

    Possible more inclusive vocab than blacklist

    In case you are open to an alternative word to blacklist, here are some suggestions:

    https://english.stackexchange.com/questions/51088/alternative-terms-to-blacklist-and-whitelist

    feature request 
    opened by claremacrae 11
  • [BUG]

    [BUG]

    First Steps

    • [x] I've ensured that the issue does not already exist by using the search issues feature
    • [x] I've read the documentation (see the README)
    • [x] I'm on the latest release of obsidian-list-modified
    • [x] I've tried disabling any other plugins that may cause conflicts (recommended)

    Describe the bug

    Could not update from 1.x to 2.0.2 so I uninstalled, and now I cannot install version 2.0.2 on Obsidian v1.0.3 running a MacBookPro with Ventura.

    opened by JoelAnderson-UU 10
  • Allow using glob pattern to exclude folders

    Allow using glob pattern to exclude folders

    Currently, it seems that the full folder path must be provided. It would be interesting to use glob patterns, or at least a wildcard symbol at the end of a path to ignore it as well as all its children:

    Folder 01
      Folder 01-001
        File A
      Folder 01-002
        File B
    Folder 02
      File C
    Folder 03
      Folder 03-001
        Folder 03-001-001
          File D
    

    To exclude files A-D, I would like to be able to do write this exclusion rule: Folder 01\**,Folder 02,Folder 03\**

    confirmed bug 
    opened by dsebastien 10
  • [BUG] 2.0 Beta - previously created links in today's note deleted on upgrade

    [BUG] 2.0 Beta - previously created links in today's note deleted on upgrade

    First Steps

    • [x] I've ensured that the issue does not already exist by using the search issues feature
    • [x] I've read the documentation (see the README)
    • [x] I'm on the latest release of obsidian-list-modified
    • [ ] I've tried disabling any other plugins that may cause conflicts (recommended)

    Describe the bug

    I deactivated and uninstalled 1.3.3 and installed 2.0 via BRAT. At some point in that process (presumably on activation of 2.0), the existing list created by 1.3.3 was deleted in its entirety. It's not a huge deal if it only happens once on upgrade, but definitely something to be aware of.

    Expected behaviour

    existing links created by previous version should remain in current daily note file

    Reproducing

    My setup

    • What device are you on? Windows 11 PC
    • **What sync service are you using? (if relevant to bug) N/A

    Steps to reproduce bug

    Can you pinpoint when/why this bug happens? 1.

    Additional info?

    confirmed bug feature request 
    opened by Triquetra 9
  • [BUG] Beta 2.0.1 frequent rewriting list of files modified

    [BUG] Beta 2.0.1 frequent rewriting list of files modified

    Describe the bug

    As soon as any edit is made to a file, this version modifies the associated data.json, modifies the daily note by adding all files tracked in the data.json, then deletes all duplicates from the data.json (and, it seems, all files previously linked by 2.0). This happens so fast that it causes system slowdown and wreaks havoc on SyncThing, causing it to create a new conflict file every time both data.json and the daily note are changed.

    This appears to be a regression. I don't experience this issue with 2.0

    But since I noticed the writing (and subsequent deletion) of previously added links, it makes me wonder of this might be a solution to the other #issue. If the plugin added the pre-existing links under the specified header to the data.json, would it write new links for those files?

    Expected behaviour

    chill

    Reproducing

    My setup

    • What device are you on? Windows 11 PC
    • **What sync service are you using? SyncThing

    Additional info?

    This bug was experienced when I switched to my laptop from my desktop. When doing so, I noticed that 2.0.1 deleted the entire header block, including the header specified in this plugin, as well as previously linked files under that header.

    confirmed bug 
    opened by Triquetra 8
  • Feature Request: only update daily notes on the one computer that is currently seeing activity, to avoid backend sync issues

    Feature Request: only update daily notes on the one computer that is currently seeing activity, to avoid backend sync issues

    Enabling this plugin on multiple computers that I sync with SyncThing, I notice it ends up creating a lot of conflicts. My guess is that's because the plugin is running on multiple computers, making changes to the daily notes on each of them independently, and making conflict resolution hard/impossible for the underlying sync mechanism.

    I saw another issue that seemed similar on iCloud.

    I think one way the issue can be avoided is for the plugin to be aware of the Obsidian process being actively used or not in some way, so that only one copy at any point is getting updates.

    I don't know if obsidian exposes a useful signal of activity?

    question 
    opened by thomasvs 7
  • Unnecessary modification attention

    Unnecessary modification attention

    Hi thanks for developing this. Installed and noticed this issue.

    Opening iCloud synced vault on another device treats newly synced notes to that device as modified and adds them to daily note as if meaningfully modified.

    confirmed bug 
    opened by trijste 7
  • FR: Exclude notes automatically updated due to file renaming

    FR: Exclude notes automatically updated due to file renaming

    Sometimes I will rename a note which then updates all the notes linked to it. I only care about the note I touched manually. It would be great to exclude the auto-updated files

    confirmed bug help wanted 
    opened by maxhot 6
  • [FR] Track file size changes

    [FR] Track file size changes

    One absolutely amazing feature would be to make it possible to see how large of a change was made to each file.

    So let's say I create file1, modify file2 and file3, and delete file4. Let's say that file1 was created with 300 characters, file2 went from 500 to 1000 characters, file3 went from 400 to 250 characters, and file4 had 200 characters before being deleted (I'm using characters because I know it's straightforward to get the absolute size of the file, and more challenging to get the number of words, but words would work equally well).

    In this case, it would be awesome to get the following info:

    • file1 created with 300 chars
    • file2 modified: 500 chars added
    • file3 modified: 150 chars deleted
    • file4 deleted: 200 chars deleted
    • Total: 3 files modified, 450 chars added

    Ideally, this would be displayable in a table, but that's not a big deal. But the data would be fantastic.

    This would necessitate maintaining a cache of the starting file manifest, including the existing files and their file sizes at the start of a given day. That way you would be able to figure out which files were created or deleted vs being modified. And, of course, the sizes would be necessary to calculate the changes on that front.

    I don't think this would be trivial at all, but I also don't think it would be a massive amount of work.

    In particular, there is one other plugin that has implemented a lot of this work (although they still do not provide the functionality I'm asking for): https://github.com/dhruvik7/obsidian-daily-stats.

    So it might be possible to use some of the code from that plugin to build the cache.

    Right now, I'm writing a fork of https://github.com/dhruvik7/obsidian-daily-stats that will store the caches for more than one day (right now it only tracks the size changes for the current day - not for the past). Then I'm going to see if I can implement something like what I'm talking about.

    I have a ton of software engineering experience, but none with writing Obsidian plugins and pretty little with JS (mostly work in Python and used to use C++). But I think I can get this done if I make the time commitment.

    I mention all of this to say that, if you want to implement this yourself, that would be absolutely amazing. If not, I may be able to add some code to the daily stats plugin that would make it easier for you to port over. Or possibly, if I have enough time, I might be able to help you implement this functionality.

    Anyway, let me know what you think and if you're interested in this idea.

    Thanks very much for your work on this awesome plugin - I really appreciate it!

    Dan

    feature request 
    opened by danrthompson 1
  • Spam of notifications if daily note/heading does not exist

    Spam of notifications if daily note/heading does not exist

        to add to the issue.. the plugin is really spammy if this is the case.
    

    I'm not able to create my daily note without it at least spamming 20 times that the header doesn't exists after starting Obsidian or switching over to Obsidian on the next date. As I have to enter some information manually into my daily note I can't autocreate it.

    Originally posted by @MMoMM-org in https://github.com/franciskafieh/obsidian-list-modified/issues/55#issuecomment-1333608723

    basically, need to re-write the notification system to match interval better and be less annoying

    confirmed bug 
    opened by franciskafieh 0
  • [FR] Allow periodic notes other than daily (i.e. weekly, monthly, quarterly, yearly)

    [FR] Allow periodic notes other than daily (i.e. weekly, monthly, quarterly, yearly)

    First Steps

    • [x] I've ensured that this feature request does not already exist by using the search issues feature
    • [x] I've read the documentation (see the README)
    • [x] I'm on the latest release of obsidian-list-modified

    Describe the desired feature

    Please provide a clear description of the feature.

    • I'd like to have list modified post at the end of my weekly note instead of my daily one, as I'm switching to using weekly note. format could be like:

    Created date: yyyy-mm-dd

    • note x
    • y
    • z

    Possible alternatives

    What are some possible alternatives? Have you tried any of them?

    just maintaining daily notes for this plugin alone?

    Additional info?

    feature request 
    opened by brimwats 5
  • Option to have no heading or use a

    Option to have no heading or use a "body text" for heading

    I've had my output format set to - Edited [[link]] and I've liked this minimalist format. The new version of the plugin forces me to use a heading, and this is cumbersome. I rarely use headings in my notes because I find them huge and don't want to tinker with themes, CSS or styling.

    If headings really are mandatory, I'd prefer to only a heading formatted as bold body text that says Modified today:, without being forced to use an actual h1/h2/etc. heading. Unfortunately when I tried to specify my heading as **Modified today:** the plugin ignored my setting.

    feature request 
    opened by sotakal 3
  • [DOCUMENTATION] Things to add

    [DOCUMENTATION] Things to add

    Move README over to GitHub wiki or own documentation solution

    You will probably want to add to the documentation that data not created by this plugin under the specified heading will be deleted.

    Originally posted by @Triquetra in https://github.com/franciskafieh/obsidian-list-modified/issues/49#issuecomment-1216084127

    documentation 
    opened by franciskafieh 1
  • POSSIBLE BUG, NEED SOMEONE WITH LOTS OF DAILY NOTES TO TEST

    POSSIBLE BUG, NEED SOMEONE WITH LOTS OF DAILY NOTES TO TEST

    Not caching getAllDailyNotes may cause slow down if user has lots of daily notes.

    To test, please just edit a file. Observe how long it takes to update the list of links in your daily note. Please let me know if there is/is not a slowdown, and how many daily notes you have.

    confirmed bug help wanted question 
    opened by franciskafieh 10
Releases(2.0.3)
Owner
Francis Kafieh
Just some high schooler
Francis Kafieh
An obsidian toolbar plugin, modified from the Cmenu plugin

obsidian-editing-toolbar Plugin Thanks to the cmenu plugin, which gave me a lot of inspiration, but this plugin has not been maintained for more than

null 321 Dec 29, 2022
Hacktoberfest is all about meeting up all brains. In this repository we are planning to come with many ideas and works. You all can share your ides/works here.

Hacktoberfest Submit your Work Hacktoberfest is all about meeting up all brains. In this repository we are planning to come with many ideas and works.

Chinmay Patil 3 Oct 5, 2022
Obsidian plugin to sync Pinboard.in links to Daily Notes

Obsidian Pinboard Sync An Obsidian plugin that adds links you've saved with Pinboard to your Obsidian Daily Notes, synchronizing periodically. Why? I'

Mathew Spolin 35 Dec 1, 2022
To-Do List is a simple web based application that gives users an opportunity to note and organize their daily tasks. This app is built with JavaScript, HTML/CSS.

Project Name To-Do App Live Demo About Project In this feature, I built a to do list app which helps to list the tasks to be done at a particular time

Hatim Eddinani 8 Aug 18, 2022
A plugin for Obsidian (https://obsidian.md) that adds a button to its search view for copying the Obsidian search URL.

Copy Search URL This plugin adds a button to Obsidian's search view. Clicking it will copy the Obsidian URL for the current search to the clipboard. T

Carlo Zottmann 6 Dec 26, 2022
An Obsidian plugin to grab all yaml fields from all files into a dataframe

Metadataframe Metadataframe allows you to get all metadata from your vault into CSV file. With CSV in-hand, you can do any data analysis you want with

null 7 Sep 15, 2022
A quick capture plugin for Obsidian, all data from your daily notes.

Obsidian Memos 中文文档 A new way for you to quick capture an idea in Obsidian. Which is highly based on the awesome open source project: memos and awesom

Boninall 551 Jan 3, 2023
A plugin for the Obsidian markdown note application, adding functionality to render markdown documents with multiple columns of text.

Multi-Column Markdown Take your boring markdown document and add some columns to it! With Multi Column Markdown rather than limiting your document lay

Cameron Robinson 91 Jan 2, 2023
An Obsidian plugin to add (prepend or append) specified content to a note (existing or new) without opening another pane.

Obsidian Note Content Pusher An Obsidian plugin to add (prepend or append) specified content to a note (existing or new) without opening another pane.

Henry Gustafson 21 Nov 6, 2022
Obsidian plugin to open a note of your choice when creating a new tab, like in the browser.

New Tab Default Page Obsidian plugin to open a note of your choice when creating a new tab, like in the browser. Usage Set the note to open in new tab

pseudometa 20 Dec 27, 2022
Obsidian plugin that allows user to create a glossary of files, an index of files or both.

Obsidian Auto Glossary Auto Glossary is an Obsidian plugin to create a glossary, an index or a glossary with an index from the files you want. Feature

Ennio Italiano 29 Dec 30, 2022
A simple Next.JS based meeting app

LiveKit Meet This project is home for a simple video conferencing app built with LiveKit. Tech Stack This is a Next.js project bootstrapped with creat

LiveKit 7 Nov 17, 2022
This plugin for Obsidian enables you to quickly jump to internal and external links

Obsidian Quick Jump Plugin This plugin for Obsidian enables you to quickly jump to internal and external links. This plugin is inspired by Jump to lin

Tadashi Aikawa 9 Sep 24, 2022
This is a plugin for Obsidian to manage your frequently used links.

obsidian-links-keeper This is a plugin for Obsidian to manage your frequently used links. Install Prerequisites To install this plugin, you will need:

null 9 Nov 23, 2022
A simple daily news, used the api of Zhihu Daily, deployed on Vercel.

Daily News Introduction | 介绍 A simple daily news website, used the api of Zhihu Daily, deployed on Vercel. Inspired by @zkeq/news. 一个简单的,使用知乎日报api的,部署

Lockinwize Lolite 4 Jul 26, 2022
Publish your Obsidian note to a Telegraph page.

Obsidian Telegraph Publish Publish your Obsidian note to a Telegraph page. Features: Publish the active file to a new Telegraph page (create). Publish

Xiao Meng 21 Dec 12, 2022
A web interface/extension to create minutes of the meeting using A.I.

Inspiration Being in one of the technical chapters of VIT, I and my team realised how chapters and clubs need to continuously engage with their new re

Nanduri Jayant Vishnu 4 Sep 8, 2022
Hashlips NFT Mint Dapp modified by fazelpejmanfar (Compatible with ERC721A)

Welcome to HashLips ?? All the code in these repos was created and explained by HashLips on the main YouTube channel. Edited By Fazel Pejmanfar and co

Fazel Pejamanfar 27 Nov 30, 2022