Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0xrusowsky/bookmarks-to-obsidian

A lil project to sync Twitter bookmarks with an Obsidian vault.
https://github.com/0xrusowsky/bookmarks-to-obsidian

bookmarks obsidian-md twitter-api

Last synced: 17 days ago
JSON representation

A lil project to sync Twitter bookmarks with an Obsidian vault.

Awesome Lists containing this project

README

        

This basic local app allows you to sync your unprocessed Twitter bookmarks with your Obsidian vault.

## How does it work?

This app creates a standalone file for each bookmarked tweet. Each file has the following structure:
```
---
tags: tweet
author: author_name
date: YYYY-MM-DD
---
**Tweet URL**
https://twitter.com/jack/status/20

```

On top of that, it also maintains a file that tracks all the unprocessed bookmarks. The file has the following structure:

```
[[datetime-author]]

---

[[datetime-author]]

---
```

The idea is to delete the entries from `Unprocessed Bookmarks.md` once you have processed the standalone file that refers to the tweet (add the relevant tags, write some annotations, cross-reference it, etc.).
Every time that you sync your bookmarks, the app creates new files and entries for the tweets that belong to inexistent files.

## How to sync your bookmarks?

In the future I may create a public Obsidian plugin. But, as of now, you will have to host your own server.

#### Create a Twitter app
- If you don't have one yet, apply for a Twitter developer account [here](https://developer.twitter.com/en/portal/petition/essential/basic-info).
- Create a new app with the following settings:
- App permissions: `read`
- Type of app: `web app`
- App info: the only relevant field is the callback URI `http://127.0.0.1:5000/oauth/callback`
- Generate your keys and tokens. You will need the OAuth2.0 ones: `CLIENT_ID`, `CLIENT_SECRET`

#### Create the .env file
- Fill the information discussed in the previous step.
- Inform the `VAULT_PATH`.

#### Init the server
- Run the following command to build all the dependencies and start running the local server.
```
npm run dev
```
- Open the localhost and follow the UI.