This started off life as a link post to an interesting video on Matt Birchlers writing set up. However, it quickly spiralled out of control into me writing regular expressions, editing javascript and spending two days making this set up my own. If you're into doing anything like this, then the best place to start is his excellent video below.

I’ve been using Obsidian for a while and created quite a robust set-up for tasks, notes, and everything else. This lasted a while but started to fall away the longer it went on because I still had to use other apps to get things done, such as Ulysses. The thing I have found about being consistent is to remove as much resistance as possible. Cutting down on the chance that the idea will slip away, or the task just won’t be completed. So transferring fascinating links in Obsidian and then then into a writing app or Ghost was untenable.

So, thanks to Matt, and a few tweaks I have found something that really works and in the process I have even moved reading apps!

Matter

Despite being in the beta testers since really early on, Matter never really stuck with me. I was a hardcore Upnext user and nothing could tear me away. That was until the team kept updating and improving things to a point I had to go back. Matter allows me to read all the articles I want, highlight them, make notes on them and then push them straight into Obsidian (and Notion too is thats your thing).

By installing the Obsidian plugin, all of my notes and highlights are pulled in and displayed for later reference. I use this to refer to things, link notes together, and research some topics that come up whilst digesting my reading list. To make this my own, I had to edit the javascript to display things exactly as I wanted. My biggest desire was for the highlighted quotes to appear as markdown quotes and a title at the top. Matt walks you though how he did his, my changes are made in the same place as follows.

# ${feedEntry.content.title}
${this._renderMetadata(feedEntry)}
## Notes
${annotations.map(this._renderAnnotation).join("\n")}
`.trim();
  }
  _renderMetadata(feedEntry) {
    let metadata = `URL: ${feedEntry.content.url}`;
    if (feedEntry.content.publication_date) {
      const publicationDate = new Date(feedEntry.content.publication_date);
      const publicationDateStr = publicationDate.toISOString().slice(0, 10);
      metadata += `
Published Date: ${publicationDateStr}`;
    }
    if (feedEntry.content.author) {
      metadata += `
Author: ${feedEntry.content.author.any_name}`;
    }
    metadata += "\n";
    return metadata;
  }
  _renderAnnotation(annotation) {
    return `
> ${annotation.text}${annotation.note ? `
  * **Note**: ${annotation.note}` : "\n"}
`.trim();
  }
};

Shortcuts

If I decide that the quote, and my thoughts are interesting enough for a link post on my blog, then the second step is to get that into Ulysses. To achieve this, I use the MacStories Shortcut Launcher Obsidian Plugin and link this to my Link Post Apple Shortcut.

With thanks to Matt once agin for sharing his Shortcut with me, he got me quite far down the road. Due to me messing around with the way I wanted the information to be displayed in Obsidian, his regular expressions didn’t work, so I had to customise this quite a bit.

Shortcuts

This Shortcut looks for the title, URL, and Author. There’s also some customisation with the option to select the quote you wish to use and then the facility to add a different title to your post. It works on Mac and iOS; however text input is a bit finicky on macOS (as all Shortcuts seem to be). Regular expressions are the key here, so the shortcut is pretty messy and probably could be better, but the elements are as follows.

(?<=URL:)(.*?)(?=\n) finds everything after URL: and before a new line.

(?<=Author:)(.*?)(?=\n) does the same but with author.

^(\#)\s?(.+)\n{1,2} finds anything in the document that is H1, i.e. a title with a #.

>(.*?)(?=\n) finds all markdown quotes in the document.

It is unusual for me to show more than one quote in a post as I try and pick something that sums up the whole point. Or sometimes pick up smaller sections that hit me personally but don’t necessarily reflect the whole post. If you wish to pull out all quotes then deleting the ‘select from list’ section will transfer all into Ulysses.

All of this is rearranged into my set-up I publish link posts in and then opened in a new Ulysses sheet. I promise not to spam everyone with loads of link posts. In fact I don’t post many of them, but this set up has already meant that I have referred back to what I have been reading a lot more. Obviously, your millage may vary.