bluetinge.dev https://bluetinge.dev/blog BlueTinge's RSS feed Fri, 27 Sep 2024 19:32:00 GMT BlueTinge https://bluetinge.dev/favicon.png admin@bluetinge.dev (Blue Tinge) Sharing some updates I've made to make resharing RSS feeds as streamlined as possible resshare-updates https://bluetinge.dev/blog#resshare-updates

BlueTinge posted:

Sharing some updates I've made to make resharing RSS feeds as streamlined as possible

I figured I'd share a few more edits I've made to ReSShaRe (that's probably what I'll end up calling it, thanks for the suggestion @sutempest !)

The goal at this point is to make it as quick and easy to use as possible -- so to that end, I've added 2 things:

  1. you can save your feed once you've added a new post instead of having to download it, and it'll automatically load whatever the last saved feed was (and give you a chance to change it if you want to). So I could see a scenario where I'm browsing my feed (maybe on my phone), see posts I'd like to share and add them to my feed file, but wait until later in the day to post them when I have a minute to upload my RSS.
  2. When you click the share button, it'll try to open up ReSShaRe in the same tab, rather than making a new tab. Note that it'll default to opening in a new tab if it can't open it in the same window for whatever reason -- this is the default behavior in most feed readers I've tested, such as Feedly and Inoreader. At some point, though, I'd like to make a browser extension that would enable this as default behavior no matter where the button is located.

I do realize that "just go make your own website" is still a pretty high barrier of entry, but I figure that whatever tools we can make to adapt to using RSS feeds will help keep our community together as much as possible. To that end, there's two main things I want to add next:

  1. A notes / "Name reshared this post" feature -- basically a way to see who else has reshared a given post. This part is incredibly important for building community -- it lets you see who else is following you and interested in what you have to say, and makes it easier to start forming new connections! This will unfortunately require a little bit of server side stuff to make it work, but honestly I should be able to get it working pretty quickly now that I'm not forcing myself to do everything client-side. (Though I still dream of making it a big decentralized network…)
  2. An easier way for people to get started -- I kind of want to have a 1-click GitHub pages template that'll immediately put together an RSS feed and blog, complete with a default theme that's reminiscent of Cohost. The advantage of using GH pages for this is they have tools that could easily let me integrate it with ReSShaRe: so in other words, you could immediately update your feed by clicking a button, rather than having to download and re-upload your feed in order to make any posts. (Neocities integration looks possible too, as they have a pretty good REST API, though I'll probably do GH Pages first).

And on that note…

Honestly, I only started using Cohost recently, but it's already become something so close to my heart. It's been amazing to see how much effort people have put into making sure the community is able to stick together in some form, and my only wish is that I could have gotten something out to contribute to that effort sooner. Either way, I'll keep doing my best to update this project and work on whatever else I can think of to make RSS feeds feel a little more connected. Feel free to follow me at my feed or just read my blog if you would like to see more updates.

So long, Cohost, and thanks for everything.

]]>
original ReSShaRe rssr rss my tools Tue, 01 Oct 2024 05:06:11 GMT
admin@bluetinge.dev (Blue Tinge) Introducing: a Reblog button for your RSS Feeds https://bluetinge.dev/blog#introducing_a_reblog_button_for_your_rss_feeds https://bluetinge.dev/blog#introducing_a_reblog_button_for_your_rss_feeds

BlueTinge posted:

Can we recreate Cohost in a decentralized environment?

It's been great to see so many people planning to keep the Cohost community alive by sharing links to their own blogs following one another through RSS. In theory, something like Cohost should be entirely possible to recreate through decentralized networks — even as we move to different blogging platforms or create our own websites, we can use RSS to follow one another and stay in touch. The barrier of entry is incredibly low: platforms like WordPress and Tumblr already offer RSS feeds, and tools like the excellent RuSSHDown even let you create an RSS feed all on their own!

But there's still something missing… Or, well, there's plenty missing, but one thing in particular stuck out to me: reblogging. Sharing and reblogging content is a huge part of any Cohost-like system… is it possible to recreate it without relying on a centralized server?

Gif of scrolling and hitting reblog button

Note: the default styling is a bit basic but it's all easily customizable!

The above is a reblog button that I've created that's intended to work on as many different systems and platforms as possible. I have a widget for creating one on the main page at rssr.bluetinge.dev, which doubles as a tool to reblog any RSS feed on the internet, and a sample page of what the results could look like here, but if you don't mind, I'd like to explain a bit about how it works first and make a case for why people should give it a try! And if you don't have an RSS feed or blog yet, scroll to the bottom where I have a tutorial on how to get started! 


Okay, so, what is this thing?

RSS-Reblog— as I'm currently calling it, though admittedly it would be nice to have a catchier name — is basically just a link that you can embed at the bottom of your posts to let people reblog it (whether to another platform or your personal website of choice). You use rssr.bluetinge.dev to generate the link/button for your posts, or even to reblog other people's posts who don't have the link. (It keeps the original author data and links back to their original post and feed).

When you reblog a post — whether that's from the above webpage or by clicking on the reblog button — it brings you to the webpage below where you provide your own RSS feed, adjust how your display name and icon are presented, and (optionally) add your own text (in HTML or markdown), adjust tags (the reblog tag is provided automatically), and/or provide a link you want associated with the post:

Gif of generating the reblog

Once you hit generate, you're able to view a preview of the post. As we can see here, it's added a couple headers around the original post (replacing any pre-existing headers it's able to find), and same with a footer with a new Reblog button. Here, you have some options for what to do next depending on your personal preference.

  1. If you maintain your blog purely through your RSS feed — maybe you use RuSSHDown to make new posts, and use RSS2HTML to generate your blog webpage (if you even decide to have one!), then all you need to do next is download the new rss.xml with the new post item added to it. If you want to double-check the results or make any edits, you can take a look at the generated RSS file instead, and copy it to the clipboard when you're done. And if you're reblogging several posts at once, you can always save the file to local storage to reuse, so that you only need to download it once at the end (this feature should be live in a couple hours — I'll edit this post when it is).

  2. Already have your own blog site? No problem! For example, maybe you have a Neocities site where you have a blog you've worked super hard on to get custom styling you like. All you need to do is copy the newly generated HTML or markdown and put it as a new post in your blog, making any edits you'd like to make first. If you don't autogenerate your RSS feed, you should download the rss.xml as well, since the reblog button doesn't work unless it can find the post to be reblogged on your feed. You can always host this file as a separate rss feed specifically for reblogging posts, if you're nervous about overwriting the old one with something autogenerated or just want to keep things separate. If you do autogenerate your feed, well, see #3 below.

  3. Host your blog on WordPress, Tumblr, etc. and use that to generate your RSS feed? That's totally fine! In this case, you can just copy the markdown or HTML to make a new post, same as you would make any other post, and presto! There is one caveat — the reblog button at the bottom of your new post only works if you either A. Provide a link to your reblog of the new post now, which might not always be possible if the new link is autogenerated, or B. Download and host this rss.xml separately from your main one. In other words, you'll keep using your main, autogenerated RSS feed for everything else — it's the canonical feed that you give people to follow you, etc. — but for the reblog button specifically, it will find your posts from this separate feed in order to make sure the reblog button always works. (Hosting it is free and super simple — see how-to-get-started below).

I'll add that if you don't like the default style of what's been generated — the button, the colors, the fonts, whatever — the generated HTML has CSS classes you can use to format it to your heart's content! Keep in mind that feed readers will strip a lot of custom styling, so the generated code includes some basic inline styles to fall back on. See a guide to using the CSS hooks here.

Cool, but is it secure? Private? Does it have bugs that'll mess up my feed? Let me see the source!

Security: Since you're loading HTML from other users, by default it filters out dangerous elements such as scripts. It filters style blocks too — these can be disruptive if they redefine CSS classes you use elsewhere — though it keeps most inline CSS style options. You have the option to adjust this when reblogging — from disallowing all styles, to allowing style blocks, to fully allowing all scripts. It should be noted though that nothing is 100% secure, and if as a website owner you are hosting other people's content then you should double check the HTML for anything suspicious! I'm not a security expert or anything, so I use an existing library for this: let me know if you are an expert and have concerns!

Privacy: there's no cookies and it's all client-side! …Or at least, in theory. In practice, you can't actually access other people's RSS feeds to reblog them purely through client-side javascript (due to CORS), so I built a very simple proxy server to get around this — basically, it retrieves other people's RSS feeds and sends them to your browser. I do keep a log file on this server — mostly for debugging purposes, but also to see if people start actually using this thing — and if my server ever goes down, it uses the RSS2JSON service as a backup. If you'd like to avoid that though, hey, you can always just fork my repository and stick the relevant script files on your website somewhere! CORS protection only comes in to play when you need to access other people's RSS feeds — if you host the script yourself, on the same domain as your RSS feed, people should be able to reblog your posts without relying on any servers. I do ask that you sync your script when I make updates, though!

Bugs: There will be bugs! The main system seems to be working pretty well, and I'm careful to avoid e.g. deleting anything in the RSS files you upload. It's never a bad idea to keep backups, though! And with regards to less damaging bugs, well, let me know if you encounter any issues. I still have several planned updates and such that'll hopefully help it all work better, and if people end up using this then I would like to keep it maintained for a long time!

The project is open-source: see my repository here. But, uh, I may have written this whole thing in a frantic rush to make something at least nominally feature-complete before Cohost shuts down, so I do need to do some refactoring to make it more readable.

Okay, but, what how do I know when someone reblogs my post? And what about likes? Comments? Notes?

Yes, that's absolutely important! On a blogging site like Cohost, you receive notifications when someone reblogs your post. That's totally doable using a decentralized distributed network, and so are likes, comments, tumblr-style notes, etc. I'd argue it's actually very important for forming a community — you want to know when people reblog your posts, you want to interact with others through comments, you want to like others' posts without reblogging, you want to discover new people through tags… Unfortunately, this is all beyond the scope of where I'm at right now. I would really love to implement all of this, though, and I do have some ideas. Feel free to follow me at bluetinge.dev/rss.xml to get updated when I update this project, and you can always feel free to contact me on Discord if you'd like to chat or collaborate directly (I'm @BlueTinge).

Here's a shortlist of planned updates and what I'd like to do:

  1. Some minor usability updates, such as letting the button open a mini reblog frame in the existing page (if supported), and some better error handling and formatting controls.
  2. Making a tool to generate a blog webpage from your RSS feed, optionally adding the "posted by" header and reblog button — this will just be nice to have for my own site, frankly, to keep the styles consistent, though I'd like to make it for other people too. Basically just my own version of RSS2HTML, except it's a script you stick on your webpage (I like RSS2HTML but there's some areas I'd like to improve).
  3. Streamlining reblogging via integration with the NeoCities and GitHub Pages APIs — this will be optional, but it should make it a lot easier to use and friendlier for newcomers. I've looked into it and it looks doable.
  4. A cohost-like feed reader — I just think this'd be fun to make, and it could have the added benefit of putting the reblog button below all the posts and integrating it more easily. Let me know if this is something people would actually like.
  5. A way to do all the complicated features I talked about above: this is totally doable, and it comes with the advantage of not having to rely on some centralized server. I recognize that this is kinda just Fediverse, so maybe this would be an RSS-to-ActivityPub integration? I have a lot more reading to do to figure it out. Even without Fediverse I've got a few ideas on how I might be able to make some of those features working quickly and without too much of a high barrier to entry (fun fact: rss already supports comments through wfw:comments, so this already has a starting point of a sort).

Let me know if any of the above sounds interesting!

That's great but how do I do get started please tell me already

Yeah, okay! Here's a simple guide to getting started with RSS (using GitHub). If you already have your own blog (tumblr, your own site, whatever) and want to keep using that, you totally can: just follow the below steps to make an RSS feed that you can use to reblog other people's posts.

  1. Make a new RSS feed: You can use RuSSHDown for this! It's pretty self-explanatory: the only special note I'll make is, if you don't have a website yet, just put down "Link" or something for the website link and we'll edit it later.
  2. Host the feed: Make an account and new repository on GitHub. Once you've created the new repository, upload your rss.xml file to it get the "raw" link to the file. You can find this by clicking on the file, and clicking on the "raw" button in the upper-righthand corner (its behind the three-dots button on mobile). As an example, the link might look something like this: https://raw.githubusercontent.com/bluetinge/bluetinge.dev/refs/heads/main/rss.xml.
  3. Edit your rss.xml to have the correct link: Find the line that looks like this: <atom:link href="Link/rss.xml" rel="self" type="application/rss+xml"/> and change Link/rss.xml to the link you copied. If you are not planning to host a website, you can replace Link/rss.xml in the <link> tag with the raw github link as well — and you are done! Just use that raw link as the link to your feed (or, you know, make a bit.ly pointing to it or something).
  4. Host your site via github pages (optional): You can use rss2html to easily turn your RSS feed into an actual blog webpage — just follow the directions on the rss2html website, and embed it in an html page! I have an example of what this html page could look like here. I'm planning to update the style on this to make it look more like cohost, but hey, make it look like whatever you want!

And that's it! Please let me know if you think it's neat, or you have any questions comments or concerns! And again if you want to keep up with updates you can find me at bluetinge.dev/blog, or follow me at bluetinge.dev/rss. Thanks for reading!!

]]>
original ReSShaRe rssr rss my tools Fri, 27 Sep 2024 18:29:59 GMT
chaia.eran@protonmail.com (Chaia Eran) Introducing RuSShdown! https://chaiaeran.github.io/RuSShdown/ https://chaiaeran.github.io/RuSShdown/

BlueTinge reblogged a post from  Chaia's Cool RSS Feed


RuSShdown

An RSS feed generator for non-coders

Part of the Eggbug Memorial RSS Feed Project

Created by Chaia Eran

What is RuSShdown?

RuSShdown is a free, open-source, entirely browser-based RSS feed generator for non-coders. RuSShdown takes the Posting experience like you'd find on Cohost, where you type your gay little jokes and hit the button, and translates that into an RSS feed you can slap on your personal site. The whole site runs entirely client-side, so literally nothing ever leaves your browser to some server somewhere, it all runs on your computer, and it has zero tracking cookies or anything of the sort.

How do I use RuSShdown?

It's pretty simple. You go to RuSShdown's deployment page at https://chaiaeran.github.io/RuSShdown and simply fill out the form. If you're making an RSS feed for the first time, you use the Create New RSS Feed tab. If you already have one and want to Post to it, you use the Add Post tab. Either way, when you're done, you'll receive an RSS file that you can then put wherever you like, such as a Neocities page.

It's really that easy?

Well, yeah! RSS-posting isn't super technically difficult to begin with, and the purpose of RuSShdown is to simplify it even further so you don't have to touch a single line of XML or HTML code. The site does all that for you.

Can I use Markdown?

That's what the "down" in RuSShdown stands for! Standard Markdown is supported using Showdownjs. You can even input raw HTML if you wanna do CSS Crimes™! There's a live preview right beside your input box, so you can see what your Post will look like.

Why did you make this?

Because fuck social media, that's why. With Cohost shutting down, it feels like the last big space made for actual human connection is going away, and I have no desire to go back to the Tweet Zone, be it Twitter itself, Bluesky, or even the Fediverse. RSS feeds are really powerful, useful tech that lets you keep Posting the way we do here (minus likes and comments, admittedly), and I found there really wasn't a good tool to make them easier, so I did it myself.

Can I see the code?

Yep! Here it is! https://github.com/ChaiaEran/RuSShdown
It's honestly not very complicated, either.

OK but is there Eggbug

Eggbug!

I hope you all enjoy using RuSShdown.

Happy Posting!


BlueTinge added:

Neat!

]]>
reblog Tue, 24 Sep 2024 15:14:09 GMT
First Reblog Metatest Tue, 24 Sep 2024 07:58:33 GMT

BlueTinge reblogged a post from  eggbugger


BlueTinge posted:

First post!!


eggbugger added

Egg.

Bug?

Egg!!

]]>
admin@bluetinge.dev (Blue Tinge) https://bluetinge.dev/blog#firstpost firstreblog reblog egg bug eggbug
First Post Wed, 11 Sep 2024 18:14:00 GMT

BlueTinge posted:

First post!!

]]>
admin@bluetinge.dev (Blue Tinge) https://bluetinge.dev/blog#firstpost firstpost