autost 1.0, now rebloggable with h-entry

>>> download <<<
[readme] [changes in 1.0.0]

autost is a cohost-compatible archive and blog engine, which i use right here on shuppy.org. for another autost blog, check out LotteMakesStuff dot PINK :D

your posts are now rebloggable, thanks to the microformats2 h-entry format! for the most consistent experience, be sure to set your [self_author] display_handle setting to a domain name.

you can now reblog posts with autost import. for example, to reblog Natalie’s post Reblogging posts with h-entry:

$ autost import https://nex-3.com/blog/reblogging-posts-with-h-entry/
2024-10-03T15:30:33.221087Z  INFO run_migrations: autost::migrations: hard linking attachments out of site/attachments
2024-10-03T15:30:33.411823Z  INFO autost::command::import: writing RelativePath { inner: "posts/imported/1.html", kind: Other }
2024-10-03T15:30:33.422458Z  INFO autost::command::import: click here to reply: http://[::1]:8420/posts/compose?reply_to=imported/1.html

you can now create attachments from local files with autost attach. for example:

$ autost attach ~/Downloads/atom{1,2}.png
2024-10-11T11:47:39.031943Z  INFO run_migrations: autost::migrations: hard linking attachments out of site/attachments
2024-10-11T11:47:39.137328Z  INFO autost::command::attach: created attachment: <attachments/d9c42006-07ca-4027-8abb-dfa670a7e637/atom1.png>
2024-10-11T11:47:39.137477Z  INFO autost::command::attach: created attachment: <attachments/887df41f-a1ce-4e66-8a9f-09ef1f6fedca/atom2.png>

warning: autost attach does not strip any exif data yet, so be careful not to leak your gps location in any photos you upload! use exiftool or a photo editor to check.

the atom output is also way better now! most importantly, threads with multiple posts are no longer an unreadable mess:

before: an unreadable mess
before
after: clearly delineating where each post starts and ends
after

note that your subscribers will need to convince their clients to redownload your posts, or unsubscribe and resubscribe, to see these effects on existing posts.

subscribe here for updates, or email me on autost@shuppy.org if you have any questions. enjoy :3

Natalie (nex-3.com) [archived]

Reblogging posts with h-entry

Natalie wrote:

Once I add the ability to embed arbitrary blog posts from other blogs on here it's over. I'm gonna be reblogging like a wild animal. Y'all are gonna have your eyes blown clean outta your heads.

Thrilled to announce that I now have this up and running, at least in its most basic aspect. The embed above is automatically generated and pulled down directly from the source post. Nothing in this is specific to my blog; I can also do it with someone else's. By way of example, please enjoy this post from my beautiful wife:

Liz wrote:

there is a very specific feeling of relief upon realizing I don’t need to hurry to finish a library book before it’s due, because I definitely will want to buy a copy for future reference and cross-checking.

(the book in question is Gossip Men: J. Edgar Hoover, Joe McCarthy, Roy Cohn, and the Politics of Insinuation by Christopher M. Elias)

Injecting embeds

Here's what the embed looks like in my blog source right now:

{% genericPost "https://nex-3.com/blog/once-i-add-the/",
    time: "2024-09-20T07:06:00Z",
    tags: "#meta",
    author: "Natalie",
    authorUrl: "/",
    authorAvatar: "/assets/avatar.webp" %}
  <p>
    Once I add the ability to embed arbitrary blog posts from other blogs on
    here it's over. I'm gonna be reblogging like a wild animal. Y'all are gonna
    have your eyes blown clean outta your heads.
  </p>
{% endgenericPost %}

I have a template for the embed, some CSS to style it, and a little custom Liquid tag to bring it all together. But the real magic is in how I generate the genericPost in the first place. Here's what the original source looks like before I run my embed injector on it:

 
https://nex-3.com/blog/once-i-add-the/

That's it! Just a URL surrounded by empty lines. The injector pulls down the webpage, extracts critical information about the blog post, and replaces the URL with a call to genericPost. My Letterboxd and Cohost embeds work the same way, with their own custom templates and metadata that let me match the style of the original websites.

Structured post data with h-entry

But I did say that this wasn't specific to my blog. With Letterboxd and Cohost, I've just hard-coded their HTML structure. I can't rely on that if I want to get information from any old blog, though. They all use different HTML structures!

So instead, I'm making use of the h-entry microformat. This is a tiny little specification that defines a way to mark up an existing post to indicate metadata in the existing HTML structure. At its simplest, it's just a few class names annotated with the HTML. Here's the simplified HTML for the post above:

<article class="h-entry">
  <p class="attribution">
    <a href="/blog/once-i-add-the/" rel="canonical" class="u-url">
      Posted
      <time datetime="2024-09-20T07:06:00Z" class="dt-published">
        20 September 2024
      </time>
      by
      <span class="p-author h-card">
        <span class="p-name">Natalie</span>
        <data class="u-url" value="/"></data>
        <data class="p-logo" value="/assets/avatar.webp"></data>
      </span>
    </a>
  </p>

  <div class="e-content">
    <p>
      Once I add the ability to embed arbitrary blog posts from other
      blogs on here it's over. I'm gonna be reblogging like a wild animal.
      Y'all are gonna have your eyes blown clean outta your heads.
    </p>
  </div>

  <ol class="tags"><li><a href="/tag/meta" class="p-category">meta</a></li></ol>
</article>

Here are the special class names I'm using:

  • h-entry wraps the entire thing, indicating that it's a post.
  • u-url goes on a link and indicates the post's canonical URL.
  • dt-published goes on a <time> element and indicates when the post was made.
  • p-author can just be the author's name, but I've made it into a whole h-card with the following metadata:
    • p-name is my name.
    • u-url is my personal URL, which is to say this website.
    • p-logo is the URL of my avatar, so people reblogging me have something to show by my posts.
  • p-name isn't used here because this post is untitled, but if it had a title that would be the class for it.
  • e-content is the HTML content of the post itself.
  • p-category is the name of a tag associated with the post.

Of these, only h-entry, u-url, and e-content are really critical. There are a handful of other features defined in the spec, including a way to indicate which post you're replying to, that you should check out if you're interested. But these are the most critical.

Make your posts rebloggable!

You should do this too! If you can edit your blog's post layout, it's extremely easy. Just add those classes to the appropriate places, and you're off to go. If you don't already have an HTML element for some piece of information, you can add invisible <data> tags like I did above to provide the info to consumers without changing the way your post looks to readers.

Even if your blog doesn't allow you to edit the layout, if you can add HTML to the posts you can do this by hand. There's no need to use the specific <article> or <p> tags I do above... just divs will work. You can even make your rebloggable content different than the original, which I'm planning to do to avoid having my embeds look too weird if they get reblogged.

If you end up adding h-entry support, or even better if you end up making use of mine, drop me a comment and let me know!

#meta#web
shuppy (shuppy.org)

i’ve started adding h-entry support to autost! still need to rewrite relative urls and cache embedded images, but i can already import and share/reply to posts:

$ autost import https://nex-3.com/blog/reblogging-posts-with-h-entry/
2024-10-03T15:30:33.221087Z  INFO run_migrations: autost::migrations: hard linking attachments out of site/attachments
2024-10-03T15:30:33.411823Z  INFO autost::command::import: writing RelativePath { inner: "posts/imported/1.html", kind: Other }
2024-10-03T15:30:33.422458Z  INFO autost::command::import: click here to reply: http://[::1]:8420/posts/compose?reply_to=imported/1.html

autost: archive your chosts, write new posts, reply to posts

>>> download <<<
[readme] [changes in 0.3.0]

autost is a cohost-compatible archive and blog engine. it’s pretty much a static site generator that can import chosts, but i plan to eventually add a rss/atom feed reader and chronological timeline.

you no longer need to know how to use git or cargo to use it! and now you can write posts and reply to posts in the composer!

cohost is shutting down soon, so go here for updates or email me on autost@shuppy.org if you have any questions. enjoy :3

shuppy (@delan) [archived]

autost: a cohost-compatible archive and blog engine

…and hopefully feed reader?

want to archive your chosts on your website but have too many for the cohost web component? want something like cohost-dl except you can keep posting?

autost is my take on that. you can see what it looks like on shuppy.org:

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags

it’s pretty much a static site generator that can import chosts. some features:


  • perfect html rendering of your chosts and css crimes
    (css things like bounce and spin work too, but not yet 100%)
  • include and exclude specific tags or chosts in your archive
  • tag your archived chosts without editing them on cohost
  • automatically rename and add tags based on the existing tags
  • make new posts with mostly-cohost-compatible markdown
    (there’s even a post composer with live preview! but it’s very much a wip)

i’ve only had a couple weeks to work on this, so it’s not the most polished, and for now you need a bit of command line knowledge to get it going.

but my goal here is to make a blog engine with the same posting and reading experience as cohost, where you can follow people with rss/atom feeds, see their posts on a chronological timeline, and share their posts on yours.

does that vibe with anyone? should i keep working on this? let me know!

#The Cohost Global Feed#cohost utilities#Cohost Shutdown#data export#autost
shuppy (@delan) [archived]

autost 0.2.0: it has a compose button now

some big usability improvements in this one, plus a couple of breaking changes!

breaking changes: cohost2autost no longer takes the ./posts and site/attachments arguments, and render no longer takes the site argument. these paths were always ./posts, site/attachments, and site (#8).

when viewing your site with the server, there’s a compose button now (#7).


in the server, you also get a link to your site in the terminal now, and you no longer get a NotFound error if your base_url setting is not /.

you no longer have to type RUST_LOG=info to see what’s happening (#5).

attachment filenames containing % and ? are now handled correctly (#4).

questions and contributions are welcome! if you run into any problems, or want to help out, let me know on github or email me on autost@shuppy.org.

oh and go here for updates once cohost noposts :)

#The Cohost Global Feed#cohost utilities#Cohost Shutdown#data export#autost
shuppy (@delan) [archived]

rebug for the morning crew! please let me know if autost works or doesn't work for you, and go here for updates ^w^

shuppy (@delan) [archived]

autost: a cohost-compatible archive and blog engine

…and hopefully feed reader?

want to archive your chosts on your website but have too many for the cohost web component? want something like cohost-dl except you can keep posting?

autost is my take on that. you can see what it looks like on shuppy.org:

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags

it’s pretty much a static site generator that can import chosts. some features:


  • perfect html rendering of your chosts and css crimes
    (css things like bounce and spin work too, but not yet 100%)
  • include and exclude specific tags or chosts in your archive
  • tag your archived chosts without editing them on cohost
  • automatically rename and add tags based on the existing tags
  • make new posts with mostly-cohost-compatible markdown
    (there’s even a post composer with live preview! but it’s very much a wip)

i’ve only had a couple weeks to work on this, so it’s not the most polished, and for now you need a bit of command line knowledge to get it going.

but my goal here is to make a blog engine with the same posting and reading experience as cohost, where you can follow people with rss/atom feeds, see their posts on a chronological timeline, and share their posts on yours.

does that vibe with anyone? should i keep working on this? let me know!

#The Cohost Global Feed#cohost utilities#Cohost Shutdown#data export#autost
shuppy (@delan) [archived]

shuppy (@delan) [archived]

autost 0.2.0: it has a compose button now

some big usability improvements in this one, plus a couple of breaking changes!

breaking changes: cohost2autost no longer takes the ./posts and site/attachments arguments, and render no longer takes the site argument. these paths were always ./posts, site/attachments, and site (#8).

when viewing your site with the server, there’s a compose button now (#7).


in the server, you also get a link to your site in the terminal now, and you no longer get a NotFound error if your base_url setting is not /.

you no longer have to type RUST_LOG=info to see what’s happening (#5).

attachment filenames containing % and ? are now handled correctly (#4).

questions and contributions are welcome! if you run into any problems, or want to help out, let me know on github or email me on autost@shuppy.org.

oh and go here for updates once cohost noposts :)

autost: a cohost-compatible archive and blog engine

…and hopefully feed reader?

want to archive your chosts on your website but have too many for the cohost web component? want something like cohost-dl except you can keep posting?

autost is my take on that. you can see what it looks like on shuppy.org:

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags

it’s pretty much a static site generator that can import chosts. some features:


  • perfect html rendering of your chosts and css crimes
    (css things like bounce and spin work too, but not yet 100%)
  • include and exclude specific tags or chosts in your archive
  • tag your archived chosts without editing them on cohost
  • automatically rename and add tags based on the existing tags
  • make new posts with mostly-cohost-compatible markdown
    (there’s even a post composer with live preview! but it’s very much a wip)

i’ve only had a couple weeks to work on this, so it’s not the most polished, and for now you need a bit of command line knowledge to get it going.

but my goal here is to make a blog engine with the same posting and reading experience as cohost, where you can follow people with rss/atom feeds, see their posts on a chronological timeline, and share their posts on yours.

does that vibe with anyone? should i keep working on this? let me know!

shuppy (@delan) [archived]

made a website so i can continue chosting

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags
>>> shuppy.org <<<
or add me to your feed reader!
>>> atom feed <<<
(need a feed reader? here are a bunch)
(it works well in FreshRSS and thunderbird)

oh and i’ve updated my contact details!! say hi and send me stuff :3

i had an old website, but for a variety of reasons it really didn’t feel like a good successor to my cohost page. i feel like what i really want is to Continue Chosting next month, just on my own website? (well no, what i really want is cohost, but failing that…)

so i made this! and many of my old chosts are there now too! i’ll need a bit more time to figure out how to actually make new posts (lol) and have them play nice with my old chosts, but hey, now you know where to find me once i do o/

#Cohost Shutdown#shuppy.org#autost
shuppy (@delan) [archived]

active ingredients: path manipulation 70% w/w

i gotta pay down this tech debt asafp or this thing is gonna burst into treats.

also, clicking “publish” in the composer redirects you to the post now, but i figured this would be funnier than posting a screenshot of a redirect.

shuppy (@delan) [archived]

made a website so i can continue chosting

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags
>>> shuppy.org <<<
or add me to your feed reader!
>>> atom feed <<<
(need a feed reader? here are a bunch)
(it works well in FreshRSS and thunderbird)

oh and i’ve updated my contact details!! say hi and send me stuff :3

i had an old website, but for a variety of reasons it really didn’t feel like a good successor to my cohost page. i feel like what i really want is to Continue Chosting next month, just on my own website? (well no, what i really want is cohost, but failing that…)

so i made this! and many of my old chosts are there now too! i’ll need a bit more time to figure out how to actually make new posts (lol) and have them play nice with my old chosts, but hey, now you know where to find me once i do o/

#Cohost Shutdown#shuppy.org#autost
shuppy (@delan) [archived]

farewell programmer art, hello cohost colors

shuppy.org now works in fluent-reader

eggbug asked…

I use (fluent-reader)[https://github.com/yang991178/fluent-reader]

before: images don’t loadafter: images do load

thanks, i’ve fixed that now!

fluent-reader seems to need a <base> tag in each <content> to tell it how to resolve relative urls. it doesn’t support xml:base, which i’ve now reported to the devs, but it turns out my feeds didn’t have that either. my bad!

Natalie (@nex3) [archived]

"Reblogging" as a Verb on the Modern Web

One of my main goals with my new blog is to preserve the concept of "reposting" that's both a successful and, I think, desirable aspect of the "social network" model. It's a great way to spread visibility of other people's work and engage in conversation across different blogs. It's a big part of why I'm putting so much work into the concept of "embeds", as for Cohost and Letterboxd.

These embeds are quite automated: I just drop a link in my blog and as long as it's one of the supported sites, a little post-processing tool automatically fetches the information and adds it as template params. All in all, I'm pretty happy with this flow, but there's one critical problem: it requires me to write a separate scraper for every website.

The great strength of independent websites for social interaction is that everyone's can be as different as they'd like, but that also means that there's no standard way to understand or interact with them. Even something as simple as "what is the text of the post at this URL" is difficult to answer in general. We'd all hope that everyone would use semantic HTML so perfectly that you could just read the contents of the outermost <article> tag on the page, but the real world is never so pristine. We need a more explicit way to indicate the critical prose and metadata for something that's considered a "post".

I've been rolling this problem around in my head for the past week, and I have what is at least the germ of an idea. The core observation is that RSS and Atom feeds already have all the metadata that's strictly necessary for something like this, but they suffer from being time-limited—their use-case is focused on syndication, so a website can only be expected to have its most recent posts available in such a nice format.

So imagine if we co-opted this format for use in something more persistent. Something like:

<link rel="somens:reblog" href="post.xml">
made with @nex3's syntax highlighter

where the XML file looks like

<?xml version="1.0" encoding="utf-8"?>
<reblog xmlns="https://nex-3.com/somens" xmlns:atom="http://www.w3.org/2005/Atom">
  <atom:link href="https://nex-3.com/blog/once-i-add-the/post.xml" rel="self"/>
  <atom:link href="https://nex-3.com/"/>
  <atom:entry>
    <atom:link href="https://nex-3.com/blog/once-i-add-the/" rel="alternate"/>
    <atom:id>https://nex-3.com/blog/once-i-add-the/</atom:id>
    <atom:published>2024-09-20T07:06:00Z</atom:published>
    <atom:updated>2024-09-20T07:06:00Z</atom:updated>
    <atom:author>
      <atom:name>Natalie</atom:name>
      <atom:uri>https://nex-3.com/</atom:uri>
    </atom:author>
    <atom:category>meta</atom:category>
    <atom:content type="html">&lt;p&gt;Once I add the ability to embed arbitrary blog posts from other blogs on here it&#39;s over. I&#39;m gonna be reblogging like a wild animal. Y&#39;all are gonna have your eyes blown clean outta your heads.&lt;/p&gt;</atom:content>
  </atom:entry>
</reblog>

Do you see my vision? This is mostly just stealing structure from Atom, but with the explicit guarantee that any logical "entries" on the page in question will also exist in the "reblog" XML. Maybe there should be some sort of way to explicitly link the two as well, idk. But in the general case, a page with one post would link to a single-post XML file which could then be used as the source for a reblog. Wouldn't that be neat?

Edit: Something like this already exists! Hooray!

#rss#atom#web
shuppy (@delan) [archived]

yes!! this is what we need!!

i’ve been working on something similar that will rely on this (see #shuppy.org, autost). my posts are in an html-fragment-based format, which looks something like this:

<link rel="references" href="7801740/7742758.html">
<link rel="references" href="7801740/7800234.html">
<meta name="title" content="the post hole works">
<meta name="published" content="2024-09-22T14:24:07.963Z">
<link rel="author" href="https://cohost.org/delan" name="shuppy (@delan)">
<meta name="tags" content="shuppy.org">

[post content in markdown or html here]
made with @nex3's syntax highlighter

this is not the best interchange format for others to reblog, though, because it relies on you rendering markdown the same way as me, and you would need to fetch the posts i’m replying to separately. your idea would really help with that!

one suggestion: it would be nice if the format you came up with was also usable in the “whole blog” feed, where each <atom:entry> is a post, including the posts it replies to. i started thinking about atom-compatible ways of doing that in this chost.

shuppy (@delan) [archived]

made a website so i can continue chosting

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags
>>> shuppy.org <<<
or add me to your feed reader!
>>> atom feed <<<
(need a feed reader? here are a bunch)
(it works well in FreshRSS and thunderbird)

oh and i’ve updated my contact details!! say hi and send me stuff :3

i had an old website, but for a variety of reasons it really didn’t feel like a good successor to my cohost page. i feel like what i really want is to Continue Chosting next month, just on my own website? (well no, what i really want is cohost, but failing that…)

so i made this! and many of my old chosts are there now too! i’ll need a bit more time to figure out how to actually make new posts (lol) and have them play nice with my old chosts, but hey, now you know where to find me once i do o/

#Cohost Shutdown#shuppy.org#autost
shuppy (@delan) [archived]

now working on the post hole

shuppy (@delan) [archived]

the post hole works

hello from autost

is this thing on?

shuppy (@delan) [archived]

made a website so i can continue chosting

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags
>>> shuppy.org <<<
or add me to your feed reader!
>>> atom feed <<<
(need a feed reader? here are a bunch)
(it works well in FreshRSS and thunderbird)

oh and i’ve updated my contact details!! say hi and send me stuff :3

i had an old website, but for a variety of reasons it really didn’t feel like a good successor to my cohost page. i feel like what i really want is to Continue Chosting next month, just on my own website? (well no, what i really want is cohost, but failing that…)

so i made this! and many of my old chosts are there now too! i’ll need a bit more time to figure out how to actually make new posts (lol) and have them play nice with my old chosts, but hey, now you know where to find me once i do o/

#Cohost Shutdown#shuppy.org#autost
shuppy (@delan) [archived]

now working on the post hole

shuppy (@delan) [archived]

made a website so i can continue chosting

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags
>>> shuppy.org <<<
or add me to your feed reader!
>>> atom feed <<<
(need a feed reader? here are a bunch)
(it works well in FreshRSS and thunderbird)

oh and i’ve updated my contact details!! say hi and send me stuff :3

i had an old website, but for a variety of reasons it really didn’t feel like a good successor to my cohost page. i feel like what i really want is to Continue Chosting next month, just on my own website? (well no, what i really want is cohost, but failing that…)

so i made this! and many of my old chosts are there now too! i’ll need a bit more time to figure out how to actually make new posts (lol) and have them play nice with my old chosts, but hey, now you know where to find me once i do o/

#Cohost Shutdown#shuppy.org#autost
shuppy (@delan) [archived]

tag synonyms and tag implications

to better curate my chosts even after cohost shuts down, i can not only tag chosts without editing them, but also rename tags and add related tags automatically. for example:

(the blog software is here, if you wanna play around with it)

eggbug asked…

Just thought I would let you know that your rss page uses relative urls for the photos, which prevents my rss reader from being able to display them. I am not sure if this is an issue with my own rss reader or if this is something that affects all rss readers.

thanks for the heads up! i've been testing with freshrss so far, if you can tell me what reader you use that would be really helpful

shuppy (@delan) [archived]

made a website so i can continue chosting

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags
>>> shuppy.org <<<
or add me to your feed reader!
>>> atom feed <<<
(need a feed reader? here are a bunch)
(it works well in FreshRSS and thunderbird)

oh and i’ve updated my contact details!! say hi and send me stuff :3

i had an old website, but for a variety of reasons it really didn’t feel like a good successor to my cohost page. i feel like what i really want is to Continue Chosting next month, just on my own website? (well no, what i really want is cohost, but failing that…)

so i made this! and many of my old chosts are there now too! i’ll need a bit more time to figure out how to actually make new posts (lol) and have them play nice with my old chosts, but hey, now you know where to find me once i do o/

#Cohost Shutdown#shuppy.org#autost
shuppy (@delan) [archived]

i can now add tags to my chosts without editing them >:3

next stop: tag synonyms and tag implications

jckarter (@jckarter) [archived]

what if rss or atom had a way to say that a post was in reply to another post from another feed. and feed readers let you display posts in threaded order

shuppy (@delan) [archived]

shuppy (@delan) [archived]

what if atom had a way to embed a copy of the post you're sharing or replying to, not just link to it? i would say just add a second <content>, but that’s forbidden :(

edit: hmm how about nesting <entry>, or putting an <entry> inside the <link> (instead of self-closing <link/>). per § 6.4.2, we may be able to nest <entry> as long as we have a foreign element in between, like <atom:entry><cohost:reply><atom:entry>

made a website so i can continue chosting

screenshot of the top of shuppy.org, with a bunch of tag links at the topscreenshot of some other posts on shuppy.org, one of them showing tags
>>> shuppy.org <<<
or add me to your feed reader!
>>> atom feed <<<
(need a feed reader? here are a bunch)
(it works well in FreshRSS and thunderbird)

oh and i’ve updated my contact details!! say hi and send me stuff :3

i had an old website, but for a variety of reasons it really didn’t feel like a good successor to my cohost page. i feel like what i really want is to Continue Chosting next month, just on my own website? (well no, what i really want is cohost, but failing that…)

so i made this! and many of my old chosts are there now too! i’ll need a bit more time to figure out how to actually make new posts (lol) and have them play nice with my old chosts, but hey, now you know where to find me once i do o/