Skip to content

Obsidian: Paste URL into selection

I have a few community plugins enabled in my Obsidian. One of them is "Paste URL into selection" - and it fits very well into the Markdown workflow. Also what you might know from other tools like Slack.

In Markdown, a link is created using square brackets and round brackets. The description text for the link goes into the square brackets, the URL into the round brackets:

[This is a link to the Obsidian website](

Now, usually I write the text first, and then later on add the link. Without this plugin, I have to add the square brackets manually, then add the round brackets and insert the link.
With the Paste URL into selection plugin, I copy the link, select the text in Obsidian and press Ctrl+V. The plugin creates the Markdown link automatically.

It's not much, but it's really useful when writing larger texts with many links!

Show me recent notes in my Obsidian Work Vault

In the previous Obsidian blog posting about managing tasks I showed a note which lists all open tasks in my Work vault. This gives me quick access to all open tasks.

In the same way I use another note quite often which shows me recently added and changed files in my Work vault.


Continue reading "Show me recent notes in my Obsidian Work Vault"

Show me all open Work tasks in Obsidian

My Obsidian vault is "all-in-one", personally I don't like switching between multiple vaults for work and private stuff, and I organize it in a way to keep things separated in one vault. Multiple templates I'm using automatically generate Tasks in my vault, therefore I need a convenient way to see open work tasks. This blog posting describes the approach I'm using.

In my vault I have a folder "Work", that's where all the work stuff lives, obviously. In this folder is a note named "Open Work Tasks". Here's the note, which is mostly DataView queries.

## Open Work Tasks

TABLE WITHOUT ID regexreplace(Tasks.text, "\[.*$", "") AS Task, choice(Tasks.completed, "🟢", "🔴") AS Status, AS "File"
FROM "Work"
FLATTEN file.tasks AS Tasks
WHERE file.tasks AND !Tasks.completed AND Tasks.text != ""

### Grouped list

FROM "Work"
WHERE !completed AND text != ""
GROUP BY section

### Dates for Tasks


- 📅 Due Date
- ⏳ Scheduled Date
- 🛫 Start Date
- ➕ Created Date
- ✅ Done Date

### Tasks with invalid dates

(created date is invalid) OR (done date is invalid) OR (due date is invalid) OR (scheduled date is invalid) OR (start date is invalid)

Let's go over this in detail:

Open Work Tasks

This DataView lists all open tasks, which have a text. Part of the templates is a "ready-to-go" task without text in the "Decisions" section, but such tasks are not listed here.

The query is limited to the "Work" folder, therefore excluding all other tasks somewhere else in the vault.

This list is flattened, which means that it shows all tasks, not grouped, no matter where in the vault under "Work". That's helpful to see where I still have work to do. At some point I may integrate this into Todoist, but so far it works well for me.

Grouped list

This list shows the same entries as the previous list, but groups the entries by source file. This gives me an idea if I have some "heavy work" open where multiple tasks require my attention for the same issue.

Dates for Tasks

This section is mostly documentation (for me). It helps me to quickly remember how to do all the different date forms the Task plugin can do.

Tasks with invalid dates

This last section is supposed to be empty at all times. It's simply a query which shows all Task entries (this time in the entire vault) which have invalid dates. The kind of mistakes which can happen when adding dates in free text form.


I try to work on open tasks as soon as possible, which means that I rarely have more than a few tasks open here - in contrary to my todo list in Todoist, which is quite large, but managed in a different way.

The two DataView queries provide me all the information I need to quickly find all remaining open Work tasks.


Photo by Glenn Carstens-Peters on Unsplash

Daily Notes in Obsidian

Obsidian is a note-taking software and knowledge base software, where the notes/files are written in Markdown. For quite a while I'm using it in my daily work.

One of the cool features it has is named "Daily Notes". As the name implies, there is a new note generated for every day. For me, this is used for writing down notes which do not deserve their own note. But also this is rather heavily used to share all kind of content from my mobile devides into the daily note in the first place. Content doesn't have to stay there, in fact most of it is either handled one way or another, or is moved to a different place. But it is a very nice collection point in the first place.

By default they are created in the main folder of the Obsidian vault - over time, these are hundreds of files, and no real structure. Which deserves to organize the Daily Notes in a better way.


Continue reading "Daily Notes in Obsidian"

Watch for changed files in SyncThing

For syncing files between my devices I'm using SyncThing. This tool is reliable, available on Linux, Android, Mac and iOS. And it encrypts the communication.

But sometimes I want to know when files in certain directories have changed - as example in my Obsidian vault. This allows me to post-process the files.

Some of the use cases I have in Obsidian:

  • Resolve links in Daily Notes: when I share a URL from my RSS reader or from other sources into Obsidian, the URL sometimes is just a link to a URL shortener. I then later need to resolve the link - or let a script do it right away for known shortlinks, and update the daily note.
  • Remove tracking information from URLs: many shared links include campaign and tracking information, and this can be removed straight away.
  • Extract content from certain Toots: I follow a couple interesting accounts on Mastodon, and when I share the Toot link into Obsidian, the script extracts the Toot content and adds it, along with the original link, to a pre-defined note.
  • Extract links from Toots: many news websites include a link (sometimes again with tracking information) in their Toots. When I share such a Toot into Obsidian, a script picks up the link, extract the target link and updates the daily note.

All of this is not very complicated, and a couple of lines in Python do the job. The main parts for the script are:

  • extract the API key from the SyncThing configuration
  • Open a connection to the local SyncThing instance
  • Watch for certain events


Continue reading "Watch for changed files in SyncThing"