jacobobryant / platypub

A publishing platform built with Biff
MIT License
65 stars 13 forks source link

Add a :post/sites attribute to the :post schema #39

Closed jacobobryant closed 2 years ago

jacobobryant commented 2 years ago

The type should be [:vector :site/id]. Add it as an optional key in the :post schema for backwards compatibility.

Then we need to update the UI. Posts should have an additional field somewhere on the sidebar in the edit post page. There are at least three ways we could do it:

I'm ok with any of those options--I probably lean towards using a single-select element for now.

Also we should update the Posts page to show the sites that posts belong to, similar to how currently tags are listed.

Then we need to update the theme code to use the new attribute. See this line: https://github.com/jacobobryant/platypub/blob/3808d4203a134528ea38dffb6f0d018be5326730/themes/default/common.bb#L206. For backwards compatibility we can continue checking for a match against the :site/tag attribute. We just wrap it in an or and have the other condition be "does the :post/sites attribute match the site's :xt/id".