Set up your own POSSE feed
Reads Feed helps you save and share your links/bookmarks without relying on external services.
Your links are indexed and stored locally in your computer until you decide to push to GitHub.
Once you push,
- A static site, built with Writ-CMS, will be deployed to GitHub pages
- The static site will enable subscription via RSS
- Links will be shared on your Twitter and Tumblr accounts
- Add some links to a json file, by using
./add
CLI helper - To preview your feed, run
npm start
- To finalize, run
npm run build
- Make it public by pushing to GitHub (
./add
will ask doing it for you)
Note: Publishing multiple/batch links at once is not tested.
Fork this repository to your account, and then:
# Clone
git clone [email protected]:<YOUR_USERNAME>/feed.git
cd feed
# You may optionally want to clean up git history at this point
# Install dependencies
npm i
# Reset the links
rm links.json
echo "[]" > links.json
# Add a link
./add
You will need to register OAUTH applications on Twitter and Tumblr for social sharing to work.
Then go to your repository settings and add the secrets as repository secrets:
The secrets are secrets, so make sure never to make them public
Adding a link looks like this:
adding-a-link.mov
Update: Now it will also confirm whether to push changes (and trigger publish) or not.
Run ./add
in the root of the project.
This will ask:
- Url
- Title
- Retweet quote (if link is a tweet)
- Tags
- Whether to publish now
If you choose to publish now, changes will be pushed to GitHub, triggering the workflows for social sharing and deploying to GitHub Pages.
And let's see the results.
Hashtags are omitted on Twitter to avoid the trashy/spammy look.
If you add a tweet link, you will be asked for an optional retweet quote.
adding-retweetable-link-480.mov
It will result in a retweet on Twitter, with the quote you entered. Elsewhere the link itself will be shared as usual.
Previously, feed was able to fetch the link in a tweet and share that link on Tumblr and static site. But, with the Twitter's current free API it's not possible any more. Similarly, the title can't be extracted from a tweet any more.
I hope my instructions are clear and helpful. If you get stuck, you can always open an issue or contact me and I'll be happily helping you ✌️
If you find this project helpful, please consider supporting me 💛